[ping] [PATCH] Use EXEEXT and -no-undefined flag even on Unix.

NIIBE Yutaka gniibe at fsij.org
Thu Nov 17 06:36:37 CET 2016


Thank you for your notification.

On 11/17/2016 12:16 AM, Michael Haubenwallner wrote:
> Ohw, Cygwin actually requires _no_ undefined symbols for shared libraries.

I understand your points for Cygwin.  For EXEEXT thing, I applied a
part of your change, it's pushed to repo.

On 05/20/2016 05:19 PM, Michael Haubenwallner wrote:
> * src/Makefile.am: Always use the -no-undefined libtool flag.
> Use EXEEXT with gen-posix-lock-obj in extra make target.
> Cygwin is not identified as W32 system, but requires undefined symbols
> to create a shared library.  As the shared library should not have
> undefined symbols anywhere at all, we can use the -no-undefined libtool
> flag unconditionally.
> Although Cygwin tries to hide the .exe extension in general, automake
> uses EXEEXT with PROGRAMS targets, which we have to match here.

Your change effects not only Cygwin but also other POSIX systems,
because you remove the Make variable of no_undefined to force
-no-undefined flag.   It's good for Cygwin, but it's too radical
for other systems.

> @@ -288,8 +286,8 @@ else
>  pre_mkheader_cmds = :
>  parts_of_gpg_error_h += ./lock-obj-pub.native.h
> -./lock-obj-pub.native.h: Makefile gen-posix-lock-obj posix-lock-obj.h
> -       ./gen-posix-lock-obj >$@
> +./lock-obj-pub.native.h: Makefile gen-posix-lock-obj$(EXEEXT) posix-lock-obj.h
> +       ./gen-posix-lock-obj$(EXEEXT) >$@
>  endif

$(EXEEXT) is not needed to be invoked.

The change will be in 1.26.

More information about the Gnupg-devel mailing list