Thorsten Glaser
2017-01-25 16:57:03 UTC
Looking at the source, AC_SYS_LARGEFILE calls AC_DEFINE_UNQUOTED,
which appends to DEFS (which I agree with Tom Dickey is wrong) as
Florian Weimer said, but — even more confusingly — only when
AC_CONFIG_HEADERS is not used.
If AC_CONFIG_HEADERS is used, the definition is only written to
its output file (config.h by default).
This is even more unfortunate, because now, if any program includes
a glibc system header before "config.h", the definition will be
ignored, because it comes too late.
CPPFLAGS is r̲e̲a̲l̲l̲y̲ the correct place for this. Again.
Let’s keep track of t̲h̲i̲s̲ bug here <***@bugs.debian.org>.which appends to DEFS (which I agree with Tom Dickey is wrong) as
Florian Weimer said, but — even more confusingly — only when
AC_CONFIG_HEADERS is not used.
If AC_CONFIG_HEADERS is used, the definition is only written to
its output file (config.h by default).
This is even more unfortunate, because now, if any program includes
a glibc system header before "config.h", the definition will be
ignored, because it comes too late.
CPPFLAGS is r̲e̲a̲l̲l̲y̲ the correct place for this. Again.
Again, please forward this upstream, too.
The workaround I was forced to use in a real-world package is thus:
https://anonscm.debian.org/cgit/pkg-remote/xrdp.git/plain/debian/patches/lfs.diff?id=e17430063641d44f5596b5bfc1b32ac4ba39f9f1
This feels completely wrong (and breaks with nōn-GCC compilers).
Thanks in advance,
//mirabilos (current hat: Debian Developer)
--
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg