diff options
author | Bruno Haible <bruno@clisp.org> | 2021-12-15 19:18:20 +0100 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-12-15 19:18:20 +0100 |
commit | 766ec17a90f67e8cda78394e58a7fffb00f5a4b7 (patch) | |
tree | 708a91da6167234e2065b7b3701c92deea13ed91 /gnulib-tool | |
parent | 34e1754363b105180e7a85d319c2e1f464b93fb2 (diff) | |
download | gnulib-766ec17a90f67e8cda78394e58a7fffb00f5a4b7.tar.gz |
Fix creation of build directories with non-recursive-gnulib-prefix-hack.
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.
Diffstat (limited to 'gnulib-tool')
-rwxr-xr-x | gnulib-tool | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/gnulib-tool b/gnulib-tool index 58e1859c54..25df157dca 100755 --- a/gnulib-tool +++ b/gnulib-tool @@ -3737,9 +3737,9 @@ func_emit_lib_Makefile_am () echo "## begin gnulib module $module" if $gnu_make; then echo "ifeq (,\$(OMIT_GNULIB_MODULE_$module))" - convert_to_gnu_make='s/^if \(.*\)/ifneq (,$(\1))/' - else - convert_to_gnu_make= + convert_to_gnu_make_1='s/^if \(.*\)/ifneq (,$(\1))/' + convert_to_gnu_make_2='s|%reldir%/||g' + convert_to_gnu_make_3='s|%reldir%|.|g' fi echo if test "$cond_dependencies" = true; then @@ -3752,13 +3752,27 @@ func_emit_lib_Makefile_am () fi fi fi - sed "$convert_to_gnu_make" "$tmp"/amsnippet1 + if $gnu_make; then + sed -e "$convert_to_gnu_make_1" \ + -e "$convert_to_gnu_make_2" \ + -e "$convert_to_gnu_make_3" \ + "$tmp"/amsnippet1 + else + cat "$tmp"/amsnippet1 + fi if test "$cond_dependencies" = true; then if func_cond_module_p "$module"; then echo "endif" fi fi - sed "$convert_to_gnu_make" "$tmp"/amsnippet2 + if $gnu_make; then + sed -e "$convert_to_gnu_make_1" \ + -e "$convert_to_gnu_make_2" \ + -e "$convert_to_gnu_make_3" \ + "$tmp"/amsnippet2 + else + cat "$tmp"/amsnippet2 + fi if $gnu_make; then echo "endif" fi |