[ping] [PATCH] Use EXEEXT and -no-undefined flag even on Unix.
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) >$@
$(EXEEXT) is not needed to be invoked.
The change will be in 1.26.
More information about the Gnupg-devel