summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
159f52d)
It appears some make(1)s are not complaining about variables defined
with leading whitespace on the line. Permit that where we can, for the
lookups, but it's not tenable for CFLAGS_DYNAMIC.
Some people are specifying knobs on the make command-line, so we get
them via the environment.
Tested: indented LOOKUP_CDB and commented out LOOKUP_DNSDB, supplying it
via { make LOOKUP_DNSDB=yes }. { exim -d --version } shows both are
built-in, no results from { fgrep DNSDB build-*/Makefile }.
TF/02 Bugzilla 139: Avoid using the += operator in the modular lookup
makefiles for portability to HP-UX and POSIX correctness.
TF/02 Bugzilla 139: Avoid using the += operator in the modular lookup
makefiles for portability to HP-UX and POSIX correctness.
+PP/01 Permit LOOKUP_foo enabling on the make command-line.
+ Also via indented variable definition in the Makefile.
+ (Debugging by Oliver Heesakkers).
+
Exim version 4.74
-----------------
Exim version 4.74
-----------------
# We always do something now, since there should always be a lookup,
# and now we need to run in order to put the OBJ=$(OBJ)+ rules in.
# We always do something now, since there should always be a lookup,
# and now we need to run in order to put the OBJ=$(OBJ)+ rules in.
+# nb: do not permit leading whitespace for this, as CFLAGS_DYNAMIC is exported
+# to the lookups subdir via a line with leading whitespace which otherwise
+# matches
if grep -q "^CFLAGS_DYNAMIC[ $tab]*=" "$defs_source"
then
# we have a definition, we're good to go
if grep -q "^CFLAGS_DYNAMIC[ $tab]*=" "$defs_source"
then
# we have a definition, we're good to go
+# For the want_ checks, we need to let the user override values from the make
+# command-line, not just check the Makefile.
+
want_dynamic() {
local dyn_name="$1"
want_dynamic() {
local dyn_name="$1"
- grep -q "^LOOKUP_${dyn_name}[ $tab]*=[ $tab]*2" "$defs_source"
+ local re="LOOKUP_${dyn_name}[ $tab]*=[ $tab]*2"
+ env | grep -q "^$re"
+ if [ $? -eq 0 ]; then return 0; fi
+ grep -q "^[ $tab]*$re" "$defs_source"
}
want_at_all() {
local want_name="$1"
}
want_at_all() {
local want_name="$1"
- grep -q "^LOOKUP_${want_name}[ $tab]*=[ $tab]*." "$defs_source"
+ local re="LOOKUP_${want_name}[ $tab]*=[ $tab]*."
+ env | grep -q "^$re"
+ if [ $? -eq 0 ]; then return 0; fi
+ grep -q "^[ $tab]*$re" "$defs_source"
}
# The values of these variables will be emitted into the Makefile.
}
# The values of these variables will be emitted into the Makefile.