summaryrefslogtreecommitdiffstats
path: root/configure
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2012-04-10 20:36:11 -0700
committerKaz Kylheku <kaz@kylheku.com>2012-04-10 20:36:11 -0700
commit7b825e541377fc8a6f6ec8e490187c7b19bda6c3 (patch)
tree2c6aa914a917c44ffd88e0d5afa0a4822728dbd6 /configure
parent38abf85defad8a15899687e35c7037bb2ddf42b0 (diff)
downloadtxr-7b825e541377fc8a6f6ec8e490187c7b19bda6c3.tar.gz
txr-7b825e541377fc8a6f6ec8e490187c7b19bda6c3.tar.bz2
txr-7b825e541377fc8a6f6ec8e490187c7b19bda6c3.zip
More NetBSD porting.
* Makefile (EXTRA_FLAGS): Handy new variable for additional ad-hoc CFLAGS. Needed by a new test in configure. * configure: Check for annoying warnings about char being used as an array subscript when calling the macros from <ctype.h>. If this occurs, suppress it by #undef-ing the macros. (lang_flags): Switching fromm _XOPEN_SOURCE to _XOPEN_SOURCE=2 because this is needed on NetBSD to obtain declarations of popen and pclose. * stream.c (pipe_close): If we don't have the WIFCONTINUED macro, then define it to expand to zero. It's absent on NetBSD and they already seem to have a hack for this because there is a warning about the function not being defined, but then the program links anyway. Let's do it properly and not rely on their hack.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure28
1 files changed, 27 insertions, 1 deletions
diff --git a/configure b/configure
index 6ef68942..c6552968 100755
--- a/configure
+++ b/configure
@@ -128,7 +128,7 @@ yacc_given=${yacc+y}
yacc=${yacc-'$(cross)$(tool_prefix)$(yaccname)'}
nm=${nm-'$(cross)$(tool_prefix)nm'}
opt_flags=${opt_flags--O2}
-lang_flags=${lang_flags--ansi -D_XOPEN_SOURCE}
+lang_flags=${lang_flags--ansi -D_XOPEN_SOURCE=2}
diag_flags=${diag_flags--Wall -Wmissing-prototypes -Wstrict-prototypes}
debug_flags=${debug_flags--g}
inline=${inline-}
@@ -666,6 +666,32 @@ done
printf "done\n"
#
+# Check for annoying warnings from ctype.h macros
+#
+
+printf "Checking for annoying warnings from <ctype.h> macros ... "
+
+cat > conftest.c <<!
+#include <ctype.h>
+
+int main(void)
+{
+ char x = '3';
+ return isdigit(x);
+}
+!
+if ! $make EXTRA_FLAGS=-Werror conftest > conftest.err 2>&1 || ! [ -x conftest ] ; then
+ printf "present\n"
+ cat >> config.h <<!
+$(for x in isalpha isupper islower isdigit isxdigit isalnum isspace \
+ ispunct isprint isgraph iscntrl isblank ; do \
+ printf "#undef %s\n" $x ; done)
+!
+else
+ printf "absent\n"
+fi
+
+#
# Check what kind of C type we have for integers wider than long,
# if any.
#