iconv: Make it possible again to use this module without 'iconv-h'.
[pspp] / Makefile
index 0596ba6a5739187669fdd42eb1f1d9b452bc775a..e40a77c7a14fe3bef7369fa567325d1f3fe60d42 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -13,7 +13,10 @@ info html dvi pdf:
        cd doc && $(MAKE) $@ && $(MAKE) mostlyclean
 
 # Perform some platform independent checks on the gnulib code.
-check: sc_prefer_ac_check_funcs_once
+check: \
+  sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT                    \
+  sc_pragma_columns                                                    \
+  sc_prefer_ac_check_funcs_once
 
 sc_prefer_ac_check_funcs_once:
        if test -d .git; then                                           \
@@ -22,6 +25,26 @@ sc_prefer_ac_check_funcs_once:
                    in modules/ 1>&2; exit 1; } || :                    \
        else :; fi
 
+sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT:
+       if test -d .git; then                                           \
+          url=http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/22874;        \
+         git grep '^[   ]*TESTS_ENVIRONMENT += PATH=' modules          \
+           && { printf '%s\n' 'Do not augment PATH via TESTS_ENVIRONMENT;' \
+                "  see <$$url>" 1>&2; exit 1; } || :                   \
+       else :; fi
+
+sc_pragma_columns:
+       if test -d .git; then                                           \
+          git ls-files|grep '\.in\.h$$'                                        \
+              | xargs grep -l '^@PRAGMA_SYSTEM_HEADER@'                        \
+              | xargs grep -L '^@PRAGMA_COLUMNS@'                      \
+              | grep .                                                 \
+           && { printf '%s\n'                                          \
+                   'the files listed above use @PRAGMA_SYSTEM_HEADER@' \
+                   'without also using @PRAGMA_COLUMNS@' 1>&2;         \
+                exit 1; } || :;                                        \
+       else :; fi
+
 # Regenerate some files that are stored in the repository.
 regen: MODULES.html