X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/4fab92fbc2b63bac2d89c1dae69fa1845cb640b7..afdb5e9cf07fa49e26e128d8d5d2e3cab7a5fe42:/src/scripts/Configure-Makefile?ds=sidebyside diff --git a/src/scripts/Configure-Makefile b/src/scripts/Configure-Makefile index 3e486a6bb..7e0bf38db 100755 --- a/src/scripts/Configure-Makefile +++ b/src/scripts/Configure-Makefile @@ -1,11 +1,13 @@ #! /bin/sh +LC_ALL=C +export LC_ALL # Shell script to build Makefile in a build directory. It must be called # from inside the directory. It does its own checking of when to rebuild; it # just got too horrendous to get it right in "make", because of the optionally # existing configuration files. # -# Copyright (c) The Exim Maintainers 2016 +# Copyright (c) The Exim Maintainers 1995 - 2018 # First off, get the OS type, and check that there is a make file for it. @@ -78,6 +80,8 @@ fi mf=Makefile mft=$mf-t mftt=$mf-tt +mftepcp=$mf-tepcp +mftepcp2=$mf-tepcp2 look_mf=lookups/Makefile look_mf_pre=${look_mf}.predynamic @@ -86,7 +90,7 @@ look_mf_post=${look_mf}.postdynamic # Ensure the temporary does not exist and start the new one by setting # the OSTYPE and ARCHTYPE variables. -rm -f $mft $mftt $look_mf-t +rm -f $mft $mftt $mftepcp $mftepcp2 $look_mf-t (echo "OSTYPE=$ostype"; echo "ARCHTYPE=$archtype"; echo "") > $mft || exit 1 # Now concatenate the files to the temporary file. Copy the files using sed to @@ -116,9 +120,33 @@ done \ | sed 's/^TMPDIR=/EXIM_&/' \ >> $mft || exit 1 +# handle PKG_CONFIG_PATH because we need it in our env, and we want to handle +# wildcards; note that this logic means all setting _appends_ values, never +# replacing; if that's a problem, we can revisit. +sed -n "s/^[$st]*PKG_CONFIG_PATH[$st]*[+]*=[$st]*//p" $mft | \ + sed "s/[$st]*\$//" >> $mftepcp +if test -s ./$mftepcp +then + # expand any wildcards and strip spaces, to make it a real PATH-like variable + ( IFS=":${IFS-$st}"; for P in `cat ./$mftepcp`; do echo "$P"; done ) | xargs | sed "s/[$st]/:/g" >./$mftepcp2 + sed "s/^/PKG_CONFIG_PATH='/" < ./$mftepcp2 | sed "s/\$/'/" > ./$mftepcp + . ./$mftepcp + export PKG_CONFIG_PATH + egrep -v "^[$st]*PKG_CONFIG_PATH[$st]*=" ./$mft > ./$mftt + rm -f ./$mft + ( + echo "# Collapsed PKG_CONFIG_PATH in build-prep:" + sed "s/'//g" ./$mftepcp + echo "# End of collapsed PKG_CONFIG_PATH" + echo "" + cat ./$mftt + ) > ./$mft + rm -f ./$mftt +fi +rm -f ./$mftepcp ./$mftepcp2 + # handle pkg-config # beware portability of extended regexps with sed. - egrep "^[$st]*(AUTH|LOOKUP)_[A-Z0-9_]*[$st]*=[$st]*" $mft | \ sed "s/[$st]*=/='/" | \ sed "s/\$/'/" > $mftt @@ -165,8 +193,8 @@ then echo "CFLAGS += $tls_include" echo "LDFLAGS += $tls_libs" else - echo "CFLAGS += $(libgcrypt-config --cflags)" - echo "LDFLAGS += $(libgcrypt-config --libs)" + echo "CFLAGS += `libgcrypt-config --cflags`" + echo "LDFLAGS += `libgcrypt-config --libs`" fi fi fi