diff options
author | Phil Pennock <pdp@exim.org> | 2017-02-12 21:22:02 -0500 |
---|---|---|
committer | Phil Pennock <pdp@exim.org> | 2017-02-12 21:25:59 -0500 |
commit | 856d1e16b3386ce51b73986b9d7aaf1fbf95aba9 (patch) | |
tree | 8c95500528bc21426a4c815c435d169208b82bbb /src/scripts | |
parent | 8b2b948009b466beb73844aea00180a561144716 (diff) |
Handle PKG_CONFIG_PATH in Local/Makefile
Handle PKG_CONFIG_PATH, stripping whitespace expanding globs, collecting
multiple sets and just build one variable, and use it in environment at
configure time so that the libraries are found.
Diffstat (limited to 'src/scripts')
-rwxr-xr-x | src/scripts/Configure-Makefile | 34 |
1 files changed, 30 insertions, 4 deletions
diff --git a/src/scripts/Configure-Makefile b/src/scripts/Configure-Makefile index 3e486a6bb..b6f2e2e09 100755 --- a/src/scripts/Configure-Makefile +++ b/src/scripts/Configure-Makefile @@ -78,6 +78,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 +88,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 +118,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 +191,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 |