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

Michael Haubenwallner michael.haubenwallner at ssi-schaefer.com
Thu Nov 17 10:08:05 CET 2016


Hi Yutaka,

On 11/17/2016 06:36 AM, NIIBE Yutaka wrote:
> Hello,
> 
> 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.

Thanks a lot!

> 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.

While I'm fine with the no_undefined=-no-undefined workaround, would
you mind to elaborate why 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.

Indeed!

> The change will be in 1.26.

Thanks!
/haubi/



More information about the Gnupg-devel mailing list