summaryrefslogtreecommitdiff
path: root/modules/configmake
Commit message (Collapse)AuthorAgeFilesLines
* configmake: Add support for $build_os != $host_os.Bruno Haible2023-02-181-28/+29
| | | | | | | | | | | * m4/build-to-host.m4: New file. * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Provide a configure-time definition for pkgdatadir, pkgincludedir, pkglibdir. (gl_CONFIGMAKE): New macro. * modules/configmake (Files): Add m4/build-to-host.m4. (configure.ac): Invoke gl_CONFIGMAKE instead of gl_CONFIGMAKE_PREP. (Makefile.am): For creating configmake.h, use the various *prefix_c_make and *dir_c_make variables.
* configmake: Prepare for using directory names with backslashes.Bruno Haible2023-02-181-28/+28
| | | | * modules/configmake (Makefile.am): Use printf instead of echo.
* maint: avoid empty lines in recipesPaul Eggert2021-12-241-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | AIX 7.2 ‘make’ complains about recipe lines that are empty after macro expansion, and I suppose there’s a good chance some non-POSIX ‘make’ would prohibit them. Rework macros so that we can avoid them. * gnulib-tool (func_emit_lib_Makefile_am) (func_emit_lib_Makefile_am): Support @!NMD@ too. * modules/gen-header (@gl_V_at): New macro. * modules/alloca-opt, modules/argz, modules/assert-h: * modules/byteswap, modules/configmake, modules/ctype: * modules/dirent, modules/errno, modules/execinfo, modules/fcntl-h: * modules/float, modules/fnmatch-h, modules/getopt-posix: * modules/glob-h, modules/iconv-h, modules/ieee754-h: * modules/inttypes-incomplete, modules/langinfo: * modules/libtextstyle-optional, modules/limits-h, modules/locale: * modules/malloc-h, modules/math, modules/monetary, modules/netdb: * modules/openmp-init, modules/poll-h, modules/posix-shell: * modules/pthread-h, modules/pty, modules/sched, modules/search: * modules/signal-h, modules/sigsegv, modules/snippet/link-warning: * modules/spawn, modules/stdalign, modules/stdarg, modules/stdbool: * modules/stddef, modules/stdint, modules/stdio, modules/stdlib: * modules/stdnoreturn, modules/string, modules/strings: * modules/sysexits, modules/termios, modules/threads-h: * modules/time, modules/uchar, modules/unicase/base: * modules/uniconv/base, modules/unictype/base, modules/unigbrk/base: * modules/unilbrk/base, modules/uniname/base, modules/uninorm/base: * modules/unistd, modules/unistdio/base, modules/unistr/base: * modules/unitypes, modules/uniwbrk/base, modules/uniwidth/base: * modules/utime-h, modules/wchar, modules/wctype-h: Use it.
* maint: break out '&& mv $@-t $@'Paul Eggert2021-12-241-2/+2
| | | | | | | * build-aux/git-version-gen, config/argz.mk, modules/configmake: * modules/posix_spawnp-tests, modules/snippet/link-warning: Break out '&& mv $@-t $@' to a separate line in the Make recipe, as this makes things a bit easier to debug.
* maint: omit unnecessary ‘rm -f $@-t $@’Paul Eggert2021-12-221-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/assert-h, modules/byteswap, modules/configmake: * modules/ctype, modules/dirent, modules/dynarray, modules/errno: * modules/execinfo, modules/fcntl-h, modules/float: * modules/fnmatch-h, modules/getopt-posix, modules/glob-h: * modules/iconv-h, modules/ieee754-h, modules/inttypes-incomplete: * modules/langinfo, modules/libtextstyle-optional: * modules/limits-h, modules/langinfo, modules/libgmp, modules/limits-h: * modules/locale, modules/malloc-h, modules/math, modules/monetary: * modules/net_if, modules/netdb, modules/netinet_in: * modules/openmp-init, modules/poll-h, modules/posix-shell: * modules/posix_spawnp-tests, modules/pthread-h, modules/pty: * modules/sched, modules/scratch_buffer, modules/search: * modules/selinux-h, modules/signal-h, modules/sigsegv: * modules/snippet/link-warning, modules/spawn, modules/stdalign: * modules/stdarg, modules/stdbool, modules/stddef, modules/stdint: * modules/stdio, modules/stdlib, modules/stdnoreturn: * modules/string, modules/strings, modules/sys_file: * modules/sys_ioctl, modules/sys_random, modules/sys_resource: * modules/sys_select, modules/sys_socket, modules/sys_stat: * modules/sys_time, modules/sys_times, modules/sys_types: * modules/sys_uio, modules/sys_utsname, modules/sys_wait: * modules/sysexits, modules/termios, modules/threads-h: * modules/time, modules/uchar, modules/unicase/base: * modules/unicase/special-casing, modules/uniconv/base: * modules/unictype/base, modules/unigbrk/base, modules/unilbrk/base: * modules/uniname/base, modules/uninorm/base, modules/unistd: * modules/unistdio/base, modules/unistr/base, modules/unitypes: * modules/uniwbrk/base, modules/uniwidth/base, modules/utime-h: * modules/wchar, modules/wctype-h: Don’t bother to do a ‘rm -f $@-t $@’ at the start of recipes that create .h and similar files. This is a revenant of a style in which the files were created read-only. Also, consistently use use plain ‘mv $@-t $@’ afterwards, instead of usually using ‘mv -f’ but sometimes plain ‘mv’.
* Optimize redundant 'mkdir -p .' invocations.Bruno Haible2021-12-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Reported by Paul Eggert. * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Eliminate @NMD@ tokens. * modules/alloca-opt (Makefile.am): Prefix the "$(MKDIR_P) '%reldir%'" line with @NMD@. * modules/argz (Makefile.am): Likewise. * modules/assert-h (Makefile.am): Likewise. * modules/byteswap (Makefile.am): Likewise. * modules/configmake (Makefile.am): Likewise. * modules/ctype (Makefile.am): Likewise. * modules/dirent (Makefile.am): Likewise. * modules/errno (Makefile.am): Likewise. * modules/execinfo (Makefile.am): Likewise. * modules/fcntl-h (Makefile.am): Likewise. * modules/float (Makefile.am): Likewise. * modules/fnmatch-h (Makefile.am): Likewise. * modules/getopt-posix (Makefile.am): Likewise. * modules/glob-h (Makefile.am): Likewise. * modules/iconv-h (Makefile.am): Likewise. * modules/ieee754-h (Makefile.am): Likewise. * modules/inttypes-incomplete (Makefile.am): Likewise. * modules/langinfo (Makefile.am): Likewise. * modules/libtextstyle-optional (Makefile.am): Likewise. * modules/limits-h (Makefile.am): Likewise. * modules/locale (Makefile.am): Likewise. * modules/malloc-h (Makefile.am): Likewise. * modules/math (Makefile.am): Likewise. * modules/monetary (Makefile.am): Likewise. * modules/netdb (Makefile.am): Likewise. * modules/openmp-init (Makefile.am): Likewise. * modules/poll-h (Makefile.am): Likewise. * modules/posix-shell (Makefile.am): Likewise. * modules/pthread-h (Makefile.am): Likewise. * modules/pty (Makefile.am): Likewise. * modules/sched (Makefile.am): Likewise. * modules/search (Makefile.am): Likewise. * modules/signal-h (Makefile.am): Likewise. * modules/sigsegv (Makefile.am): Likewise. * modules/snippet/link-warning (Makefile.am): Likewise. * modules/spawn (Makefile.am): Likewise. * modules/stdalign (Makefile.am): Likewise. * modules/stdarg (Makefile.am): Likewise. * modules/stdbool (Makefile.am): Likewise. * modules/stddef (Makefile.am): Likewise. * modules/stdint (Makefile.am): Likewise. * modules/stdio (Makefile.am): Likewise. * modules/stdlib (Makefile.am): Likewise. * modules/stdnoreturn (Makefile.am): Likewise. * modules/string (Makefile.am): Likewise. * modules/strings (Makefile.am): Likewise. * modules/sysexits (Makefile.am): Likewise. * modules/termios (Makefile.am): Likewise. * modules/threads-h (Makefile.am): Likewise. * modules/time (Makefile.am): Likewise. * modules/uchar (Makefile.am): Likewise. * modules/unicase/base (Makefile.am): Likewise. * modules/uniconv/base (Makefile.am): Likewise. * modules/unictype/base (Makefile.am): Likewise. * modules/unigbrk/base (Makefile.am): Likewise. * modules/unilbrk/base (Makefile.am): Likewise. * modules/uniname/base (Makefile.am): Likewise. * modules/uninorm/base (Makefile.am): Likewise. * modules/unistd (Makefile.am): Likewise. * modules/unistdio/base (Makefile.am): Likewise. * modules/unistr/base (Makefile.am): Likewise. * modules/unitypes (Makefile.am): Likewise. * modules/uniwbrk/base (Makefile.am): Likewise. * modules/uniwidth/base (Makefile.am): Likewise. * modules/utime-h (Makefile.am): Likewise. * modules/wchar (Makefile.am): Likewise. * modules/wctype-h (Makefile.am): Likewise.
* Fix creation of build directories with non-recursive-gnulib-prefix-hack.Bruno Haible2021-12-151-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary for executing "make" in a VPATH build of a package that uses prefix-gnulib-mk and a module such as alloca-opt. * modules/alloca-opt (Makefile.am): Before generating the .h-t file, ensure that the directory in which we want to create it exists. (configure.ac): Invoke AC_PROG_MKDIR_P. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/assert-h: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/ctype: Likewise. * modules/dirent: Likewise. * modules/dynarray: Likewise. * modules/errno: Likewise. * modules/execinfo: Likewise. * modules/fcntl-h: Likewise. * modules/float: Likewise. * modules/fnmatch-h: Likewise. * modules/getopt-posix: Likewise. * modules/glob-h: Likewise. * modules/iconv-h: Likewise. * modules/ieee754-h: Likewise. * modules/inttypes-incomplete: Likewise. * modules/langinfo: Likewise. * modules/libgmp: Likewise. * modules/libtextstyle-optional: Likewise. * modules/limits-h: Likewise. * modules/locale: Likewise. * modules/malloc-h: Likewise. * modules/math: Likewise. * modules/monetary: Likewise. * modules/net_if: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/openmp-init: Likewise. * modules/poll-h: Likewise. * modules/posix-shell: Likewise. * modules/pthread-h: Likewise. * modules/pty: Likewise. * modules/sched: Likewise. * modules/scratch_buffer: Likewise. * modules/search: Likewise. * modules/selinux-h: Likewise. * modules/signal-h: Likewise. * modules/sigsegv: Likewise. * modules/snippet/link-warning: Likewise. * modules/spawn: Likewise. * modules/stdalign: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/stdnoreturn: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_random: Likewise. * modules/sys_resource: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_types: Likewise. * modules/sys_uio: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/termios: Likewise. * modules/threads-h: Likewise. * modules/time: Likewise. * modules/uchar: Likewise. * modules/unicase/base: Likewise. * modules/unicase/special-casing: Likewise. * modules/uniconv/base: Likewise. * modules/unictype/base: Likewise. * modules/unigbrk/base: Likewise. * modules/unilbrk/base: Likewise. * modules/uniname/base: Likewise. * modules/uninorm/base: Likewise. * modules/unistd: Likewise. * modules/unistdio/base: Likewise. * modules/unistr/base: Likewise. * modules/unitypes: Likewise. * modules/uniwbrk/base: Likewise. * modules/uniwidth/base: Likewise. * modules/utime-h: Likewise. * modules/wchar: Likewise. * modules/wctype-h: Likewise. * gnulib-tool (func_emit_lib_Makefile_am): When producing output for GNU make, eliminate %reldir% tokens.
* configmake: Update advice on usage.Eric Blake2019-08-101-1/+0
| | | | | * modules/configmake (Include): No longer necessary to include last, since configmake.h itself worries about collision avoidance.
* configmake: Avoid namespace pollution issue on mingw.Eric Blake2019-08-081-0/+3
| | | | | | | | | | | | | | Mingw includes a header that declares an enum typedef named DATADIR, pulled in when including <winsock2.h>; compilation fails if DATADIR has already been defined as a macro expanding to a string prior to that inclusion. Although the configmake module documents that it should generally be included only after system headers, it is just as easy to make configmake.h robust to this particular issue by including the system header first if it exists. * modules/configmake (Makefile.am): If the project uses <winsock2.h>, include that header before defining DATADIR. Reported by libvirt: https://lists.gnu.org/archive/html/bug-gnulib/2019-07/msg00089.html
* configmake: support new --runstatedir optionEric Blake2013-09-231-1/+2
| | | | | | | | | | | | | | | | | | | | http://lwn.net/Articles/436012/ documents that many distros are now preferring to use /run rather than /var/run for storage of pid files and other per-process temporary files that must not be cleaned out during arbitrary TMPDIR sweeps. As such, the GNU Coding Standards were recently changed to recommend a new configure option to make it easy to choose this directory at configure time, and autoconf 2.70 will support the new directory by default. This patch adds support for propagating results of the new option (for new enough autotools) or providing a sane default (for older autotools) into C code. * m4/configmake.m4 (gl_CONFIGMAKE_PREP): Substitute runstatedir even if autoconf was too old to provide the command line option. * modules/configmake (Makefile.am): Propagate it to .h file. Signed-off-by: Eric Blake <eblake@redhat.com>
* configmake: correct minor inconsistency in Makefile ruleJim Meyering2012-04-161-1/+1
| | | | | | | | * modules/configmake (Makefile.am): All other rules like this one run the final "mv -f ..." in the same backslash-continued command as the one that does everything else. This one put the mv -f ... command on a separate, non-backslash-continued line. Make it like the others.
* configmake: fix make -q problemPaul Eggert2011-08-111-6/+2
| | | | | | | * modules/configmake (configmake.h): Update configmake.h's time stamp even if the file does not change. Otherwise, 'make -q' fails. Problem reported by Simon Josefsson in <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
* document configmake in the manual instead of the sourceKarl Berry2011-01-091-15/+1
|
* configmake: provide fallbacks for oldest supported autotoolsEric Blake2010-12-141-1/+4
| | | | | | | | * m4/configmake.m4: New file. * modules/configmake (Files): Ship it. (configure.ac): Use it to guarantee fallbacks. Signed-off-by: Eric Blake <eblake@redhat.com>
* maint: make Include sections of modules consistentEric Blake2009-09-171-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Done with "sed -i 's/^#include //' `git grep -l ^#include modules`". * modules/alloca: Use only header name; no need to list #include. * modules/alloca-opt: Likewise. * modules/arpa_inet: Likewise. * modules/canon-host: Likewise. * modules/configmake: Likewise. * modules/dirent: Likewise. * modules/eealloc: Likewise. * modules/environ: Likewise. * modules/fchdir: Likewise. * modules/fcntl: Likewise. * modules/fcntl-h: Likewise. * modules/gethrxtime: Likewise. * modules/gettime: Likewise. * modules/ignore-value: Likewise. * modules/inet_ntop: Likewise. * modules/inet_pton: Likewise. * modules/inttypes: Likewise. * modules/isnand-nolibm: Likewise. * modules/isnanf-nolibm: Likewise. * modules/mbchar: Likewise. * modules/mbfile: Likewise. * modules/mbiter: Likewise. * modules/mbuiter: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/nproc: Likewise. * modules/pagealign_alloc: Likewise. * modules/poll: Likewise. * modules/printf-frexp: Likewise. * modules/pthread: Likewise. * modules/putenv: Likewise. * modules/random_r: Likewise. * modules/relocatable-prog: Likewise. * modules/search: Likewise. * modules/select: Likewise. * modules/selinux-h: Likewise. * modules/settime: Likewise. * modules/signal: Likewise. * modules/size_max: Likewise. * modules/socklen: Likewise. * modules/ssize_t: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/time: Likewise. * modules/times: Likewise. * modules/tmpfile: Likewise. * modules/trim: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)Jim Meyering2009-08-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it so packages using automake-1.11's silent-rules option can print e.g., a single "GEN configmake.h" line, rather than the 30+ statements that perform the job. If you want to see the actual commands, you can still run "make V=1". Improved-by: Bruno Haible <bruno@clisp.org> * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes so that make output is abbreviated when those variables are defined appropriately. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/dirent: Likewise. * modules/errno: Likewise. * modules/fcntl: Likewise. * modules/float: Likewise. * modules/fnmatch: Likewise. * modules/getopt-posix: Likewise. * modules/glob: Likewise. * modules/iconv_open: Likewise. * modules/inttypes: Likewise. * modules/localcharset: Likewise. * modules/locale: Likewise. * modules/math: Likewise. * modules/netdb: Likewise. * modules/netinet_in: Likewise. * modules/poll: Likewise. * modules/posix_spawnp-tests: Likewise. * modules/sched: Likewise. * modules/search: Likewise. * modules/selinux-h: Likewise. * modules/signal: Likewise. * modules/spawn: Likewise. * modules/stdarg: Likewise. * modules/stdbool: Likewise. * modules/stddef: Likewise. * modules/stdint: Likewise. * modules/stdio: Likewise. * modules/stdlib: Likewise. * modules/string: Likewise. * modules/strings: Likewise. * modules/sys_file: Likewise. * modules/sys_ioctl: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sys_time: Likewise. * modules/sys_times: Likewise. * modules/sys_utsname: Likewise. * modules/sys_wait: Likewise. * modules/sysexits: Likewise. * modules/time: Likewise. * modules/unistd: Likewise. * modules/wchar: Likewise. * modules/wctype: Likewise.
* Don't touch configmake.h if it has not actually changed.Bruno Haible2009-04-191-2/+7
|
* Fix a clash between the type DATADIR on Windows and the macro DATADIR.Bruno Haible2008-10-261-1/+2
|
* Use the synonymous term "LGPLv2+".Bruno Haible2007-07-131-1/+1
|
* * modules/configmake (Makefile.am): Add pkglibexecdir support, toEric Blake2006-10-161-3/+4
| | | | match Automake 1.10a.
* Mark generated files as "DO NOT EDIT".Bruno Haible2006-10-071-2/+2
|
* * modules/configmake (Makefile.am): Add support for thePaul Eggert2006-09-151-0/+5
| | | | Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
* Don't make generated files read-only. That would bother too manyJim Meyering2006-09-081-1/+0
| | | | | | | | | | | | | people. However, do retain the ability to work when targets are read-only: remove the destination and temporary files before writing them (when generated via sed or echo), or by using the -f option for both cp and mv commands. Suggestion to use -f from Paul Eggert. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/byteswap, modules/configmake, modules/fcntl: * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: * modules/localcharset, modules/netinet_in, modules/poll: * modules/stdbool, modules/stdint, modules/sys_select: * modules/sys_socket, modules/sys_stat, modules/sysexits:
* Fix global typo in last change: use chmod u-w, not chmod u-x.Jim Meyering2006-09-071-1/+1
| | | | | | | | | | Spotted by Paul Eggert and Bruce Korb. * modules/alloca-opt, modules/argz, modules/arpa_inet: * modules/byteswap, modules/configmake, modules/fcntl: * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes: * modules/localcharset, modules/netinet_in, modules/poll: * modules/stdbool, modules/stdint, modules/sys_select: * modules/sys_socket, modules/sys_stat, modules/sysexits:
* Make generated files be read-only.Jim Meyering2006-09-061-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * modules/alloca-opt (Makefile.am): Work also when $@ is read-only. Ensure that each generated file is now read-only. * modules/argz: Likewise. * modules/arpa_inet: Likewise. * modules/byteswap: Likewise. * modules/configmake: Likewise. * modules/fcntl: Likewise. * modules/fnmatch: Likewise. * modules/getopt: Likewise. * modules/glob: Likewise. * modules/inttypes: Likewise. * modules/netinet_in: Likewise. * modules/poll: Likewise. * modules/stdbool: Likewise. * modules/stdint: Likewise. * modules/sys_select: Likewise. * modules/sys_socket: Likewise. * modules/sys_stat: Likewise. * modules/sysexits: Likewise. * modules/localcharset: Same as above, but continue using temporary file named "t-$@" (why different?) rather than the "$@-t" used everywhere else. * modules/sysexits (Makefile.am): Replace literal occurrences of "sysexit.h" more readable, and more consistent, "$@".
* * modules/configmake (Makefile.am): Make configmake.h depend onJim Meyering2006-08-291-1/+1
| | | | Makefile. Otherwise, a stale configmake.h could hang around.
* * modules/configmake (Makefile.am): Add a comment, and omitPaul Eggert2006-08-291-23/+37
| | | | | the CONFIGMAKE_ prefix from generated macro names. Suggested by Bruno Haible.
* New configmake module, so that "make" output needn't be clutteredPaul Eggert2006-08-251-0/+49
by fluff like '-DLIBDIR=\"/usr/local/lib\"'. * MODULES.html.sh (Support for building libraries and executables): Add configmake. * modules/configmake: New file.