Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

PATCH: compiling on MacOS X 10.1



Sourceforge actually has both a MacOS X 10.1 and 10.2 system. Before I
had tried the 10.2 system but I just tried 10.1 and it had a problem.

Where configure used the preprocessor to get a list of signals, it gets
lines of this form:
#1 "/usr/include/sys/signal.h" 1

We expect a space or tab after the `#' in the sed expression. This
patch allows a number. I've checked the output on a few other systems
and the only other lines beginning with `#' I ever saw are `#pragma' so
this should be safe.

The patch also includes a section to avoid a large number of ugly
warnings on MacOS like the following:

  errtmp.c:3: undefined type, found `XXNAMES'
  errtmp.c:3: illegal external declaration, missing `;' after `XXEPERM'

They don't matter because at the end it does this:

  cpp-precomp: warning: errors during smart preprocessing, retrying in basic mode

But they are easily avoided by using -traditional-cpp.

zpty doesn't entirely work on Mac OS X: test Y03 hangs. Theres also a
test failure in C02 that I haven't yet understood.

Oliver

Index: configure.ac
===================================================================
RCS file: /cvsroot/zsh/zsh/configure.ac,v
retrieving revision 1.14
diff -u -r1.14 configure.ac
--- configure.ac	12 Mar 2004 16:29:30 -0000	1.14
+++ configure.ac	13 Mar 2004 21:48:27 -0000
@@ -412,6 +412,11 @@
 AC_PROG_GCC_TRADITIONAL     dnl Do we need -traditional flag for gcc.
 AC_C_CONST                  dnl Does compiler support `const'.
 
+dnl Default preprocessing on Mac OS X produces warnings
+case "$host_os" in
+  darwin*) CPP="$CPP -traditional-cpp" ;;
+esac
+
 fp_PROG_CC_STDC
 AC_MSG_CHECKING([whether to use prototypes])
 if test ."$ansi2knr" = .yes || test ."$ansi2knr" = .no; then
@@ -1232,7 +1237,7 @@
 echo "#include <errno.h>" > nametmp.c
 errfile_list="`$CPP nametmp.c |
 sed -n -e 's/^#line[ 	].*\"\(.*\)\"/\1/p' \
-       -e 's/^#[ 	].*\"\(.*\)\"/\1/p' |
+       -e 's/^#[ 	0-9].*\"\(.*\)\"/\1/p' |
 sed 's/\\\\\\\\/\//g' |
 $AWK '{ if (\$1 ~ \"err\") files[[\$1]] = \$1 }
   END { for (var in files) print var }'`"



Messages sorted by: Reverse Date, Date, Thread, Author