[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Space separator missing in gnulib when building wget2
From: |
Tim Rühsen |
Subject: |
Re: Space separator missing in gnulib when building wget2 |
Date: |
Fri, 29 Nov 2019 13:11:59 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 |
On 11/28/19 11:11 PM, Bruno Haible wrote:
> Hi Dagobert,
>
> lib/gnulib.mk there is a suspicious addition to libgnu_la_LDFLAGS without
> space:
>>
>> libgnu_la_LDFLAGS += $(GETADDRINFO_LIB)$(LTLIBINTL)
>> ...
>> libgnu_la_LDFLAGS += $(LTLIBICONV)
>> libgnu_la_LDFLAGS += $(LTLIBINTL)
>> libgnu_la_LDFLAGS += $(LTLIBMULTITHREAD)
>> ```
>>
>> The file `lib/gnulib.mk` is generated during bootstrap.
>>
>> What is actually executed during bootstrap is
>>
>> gnulib/gnulib-tool.py --no-changelog --aux-dir=build-aux --doc-base=doc
>> --lib=libgnu --m4-base=m4/ --source-base=lib/ --tests-base=lib/tests
>> --local-dir=gl --makefile-name=gnulib.mk --libtool --import accept access
>> arpa_inet atoll bind c-strcase c-strcasestr c-ctype calloc-posix
>> canonicalize-lgpl clock-time close closedir cond connect crypto/md2
>> crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dirname dup dup2 errno
>> fclose fcntl fdopen fflush flock fnmatch-gnu fopen freopen fstat fsync
>> ftruncate futimens getaddrinfo getpass getsockname gettext-h gettime
>> gitlog-to-changelog glob iconv inet_pton inline inttypes ioctl isatty
>> lib-symbol-visibility limits-h link listen lock maintainer-makefile
>> malloc-posix memchr mkdir mkstemp msvc-nothrow nanosleep netdb netinet_in
>> nl_langinfo open opendir pclose pipe-posix progname popen poll posix_spawn
>> pwrite qsort_r random_r read readdir realloc-posix recv recvfrom regex
>> rename safe-read safe-write select send sendto servent setlocale setsockopt
>> socket sockets socklen spawn-pipe stdarg stdbool stddef stdint stat strcase
>> strchrnul strdup-posix strerror strndup strpbrk strstr strtoll sys_file
>> sys_socket sys_stat sys_time sys_types sys_uio thread time_r unistd unlink
>> update-copyright warnings wcwidth write xgethostname
>>
>> and this command reproduces the error in `lib/gnulib.mk`
>
> Thanks for the test case. When I run this command
> - once with gnulib-tool (shell script),
> - once with gnulib-tool.py,
> I see these differences in the generated lib/gnulib.mk:
>
> @@ -168,7 +35,7 @@
> EXTRA_libgnu_la_SOURCES =
> libgnu_la_LDFLAGS = $(AM_LDFLAGS)
> libgnu_la_LDFLAGS += -no-undefined
> -libgnu_la_LDFLAGS += $(GETADDRINFO_LIB)
> +libgnu_la_LDFLAGS += $(GETADDRINFO_LIB)$(LTLIBINTL)
> libgnu_la_LDFLAGS += $(GETHOSTNAME_LIB)
> libgnu_la_LDFLAGS += $(HOSTENT_LIB)
> libgnu_la_LDFLAGS += $(INET_NTOP_LIB)
> @@ -187,7 +54,7 @@
> libgnu_la_LDFLAGS += $(LTLIBMULTITHREAD)
> libgnu_la_LDFLAGS += $(LTLIBTHREAD)
> libgnu_la_LDFLAGS += $(SERVENT_LIB)
> -libgnu_la_LDFLAGS += @INTL_MACOSX_LIBS@
> +libgnu_la_LDFLAGS += @INTL_MACOSX_LIBS@$(LTLIBTHREAD)
>
> ## begin gnulib module absolute-header
>
> Lines
> libgnu_la_LDFLAGS += $(LTLIBINTL)
> and
> libgnu_la_LDFLAGS += $(LTLIBTHREAD)
> are already part of the output. Therefore the right fix is not to insert a
> space, but to have gnulib-tool.py generate the same lines as the shell script.
>
> FYI, in the shell script it is the line gnulib-tool:3856.
Attached is a diff for review that fixes the issue.
Indeed the 'space fix' above only worked for
Link:
$(LIB1)
$(LIB2) optional comment
The diff fixes this to also allow (even if not found in modules yet)
Link:
$(LIB1) optional comment 1
$(LIB2) optional comment 2
Then, the double $([LT]LIB...) entries are removed and sorted as
gnulib-tool does it by 'sort -u'.
Please review the patch - surely some of my python constructs could be
done more elegant.
Regards, Tim
pygnulib.diff
Description: Text Data
signature.asc
Description: OpenPGP digital signature
- Space separator missing in gnulib when building wget2, Dagobert Michelsen, 2019/11/28
- Re: Space separator missing in gnulib when building wget2, Bruno Haible, 2019/11/28
- Re: Space separator missing in gnulib when building wget2, Tim Rühsen, 2019/11/29
- Re: Space separator missing in gnulib when building wget2,
Tim Rühsen <=
- Re: Space separator missing in gnulib when building wget2, Bruno Haible, 2019/11/30
- Re: Space separator missing in gnulib when building wget2, Tim Rühsen, 2019/11/30
- Re: Space separator missing in gnulib when building wget2, Bruno Haible, 2019/11/30
- Re: Space separator missing in gnulib when building wget2, Tim Rühsen, 2019/11/30
- Re: Space separator missing in gnulib when building wget2, Dagobert Michelsen, 2019/11/30
- Re: Space separator missing in gnulib when building wget2, Tim Rühsen, 2019/11/30