dnl Process this file with autoconf to produce a configure script. AC_INIT(cccp.c) dnl Specify the autoconf file. AC_CONFIG_HEADER(autoconfig.h) dnl Check if we are forced to use the cxref-cpp WITH_CXREF_CPP=test AC_ARG_WITH(cxref-cpp, [ --with-cxref-cpp use the supplied cpp instead of trying to use gcc], [if test "$withval" = "yes"; then WITH_CXREF_CPP=yes; fi]) dnl Checks for programs. AC_PROG_CC AC_PROG_YACC AC_PROG_CPP AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl Checks for libraries. dnl Checks for header files. AC_HEADER_STDC AC_HEADER_TIME AC_CHECK_HEADERS(fcntl.h malloc.h sys/time.h unistd.h stdlib.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_TYPE_PID_T AC_STRUCT_TM AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) dnl Checks for library functions. AC_FUNC_ALLOCA AC_TYPE_SIGNAL AC_FUNC_VPRINTF AC_CHECK_FUNCS(strerror strstr bcmp) dnl Check the gcc version if test ! "x$GCC" = "x" ; then AC_MSG_CHECKING([if we can use gcc instead of cxref-cpp]) AC_TRY_RUN([ #if defined(__GNUC__) && ( ( __GNUC__==2 && __GNUC_MINOR__>=8 ) || __GNUC__>=3 ) int main() {exit(0);} #else int main() {exit(1);} #endif ], [newGCC=yes]) if test "x$newGCC" = "x" || test "$WITH_CXREF_CPP" = "yes" ; then if test "x$newGCC" = "x" ; then AC_MSG_RESULT(no) else AC_MSG_RESULT(yes but '-with-cxref-cpp' option overrides this) fi $CC -E -v -dM - < /dev/null > ./conftest.gcc 2>&1 changequote(<<, >>)dnl PREDEFINES=`egrep -e -lang-c ./conftest.gcc | tr ' ' '\012' | egrep -e '^-[AD]' | tr '\012' ' '` changequote([, ])dnl INCLUDE_DIR1=`awk '/include <.+> search/,/End of search/ {if(i==1)print $1;i++}' ./conftest.gcc` INCLUDE_DIR2=`awk '/include <.+> search/,/End of search/ {if(i==2)print $1;i++}' ./conftest.gcc` INCLUDE_DIR3=`awk '/include <.+> search/,/End of search/ {if(i==3)print $1;i++}' ./conftest.gcc` CXREF_CPP=cxref-cpp else AC_MSG_RESULT(yes) fi else AC_MSG_WARN(----------------------------------------) AC_MSG_WARN(the C compiler is not gcc, you may have problems!) AC_MSG_WARN(the configure script is trying to compensate,) AC_MSG_WARN(read the file cpp/README and check cpp/Makefile.) AC_MSG_WARN(----------------------------------------) PREDEFINES="" INCLUDE_DIR1=/usr/local/include INCLUDE_DIR2=/usr/include INCLUDE_DIR3=/usr/local/include CXREF_CPP=cxref-cpp fi AC_SUBST(PREDEFINES) AC_SUBST(INCLUDE_DIR1) AC_SUBST(INCLUDE_DIR2) AC_SUBST(INCLUDE_DIR3) AC_SUBST(CXREF_CPP) dnl Create the output files. AC_OUTPUT(Makefile)