diff options
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 200 |
1 files changed, 200 insertions, 0 deletions
diff --git a/acinclude.m4 b/acinclude.m4 new file mode 100644 index 0000000..d406121 --- /dev/null +++ b/acinclude.m4 @@ -0,0 +1,200 @@ +AC_DEFUN(AC_FIND_FILE, +[ +$2=NO +for i in $1; do + if test -r "$i" ; then + $2=$i + break 2 + fi +done +]) + +AC_DEFUN(AC_FIND_CDEV, +[ +$2=NO +for i in $1; do + if test -c "$i" ; then + $2=$i + break 2 + fi +done +]) + +AC_DEFUN(AC_CHECK_COMPILERS, +[ + dnl this is somehow a fat lie, but prevents other macros from double checking + AC_PROVIDE([AC_PROG_CC]) + AC_PROVIDE([AC_PROG_CPP]) + AC_ARG_ENABLE(debug,[ --enable-debug creates debugging code [default=no]], + [ + if test $enableval = "no"; dnl + then ac_use_debug_code="no" + else ac_use_debug_code="yes" + fi + ], [ac_use_debug_code="no"]) + + AC_ARG_ENABLE(strict,[ --enable-strict compiles with strict compiler options (may not work!)], + [ + if test $enableval = "no"; then + ac_use_strict_options="no" + else + ac_use_strict_options="yes" + fi + ], [ac_use_strict_options="no"]) + +dnl this was AC_PROG_CC. I had to include it manualy, since I had to patch it + AC_MSG_CHECKING(for a C-Compiler) + dnl if there is one, print out. if not, don't matter + AC_MSG_RESULT($CC) + + if test -z "$CC"; then AC_CHECK_PROG(CC, gcc, gcc) fi + if test -z "$CC"; then AC_CHECK_PROG(CC, cc, cc, , , /usr/ucb/cc) fi + if test -z "$CC"; then AC_CHECK_PROG(CC, xlc, xlc) fi + test -z "$CC" && AC_MSG_ERROR([no acceptable cc found in \$PATH]) + + AC_PROG_CC_WORKS + AC_PROG_CC_GNU + + if test $ac_cv_prog_gcc = yes; then + GCC=yes + else + GCC= + fi + + if test -z "$CFLAGS"; then + if test "$ac_use_debug_code" = "yes"; then + AC_PROG_CC_G + if test $ac_cv_prog_cc_g = yes; then + CFLAGS="-g" + fi + else + if test "$GCC" = "yes"; then + CFLAGS="-O2" + else + CFLAGS="" + fi + fi + + if test "$GCC" = "yes"; then + CFLAGS="$CFLAGS -Wall" + + if test "$ac_use_strict_options" = "yes"; then + CFLAGS="$CFLAGS -W -ansi -pedantic" + fi + fi + + fi + + case "$host" in + *-*-sysv4.2uw*) CFLAGS="$CFLAGS -D_UNIXWARE";; + esac + + if test -z "$LDFLAGS" && test "$ac_use_debug_code" = "no" && test "$GCC" = "yes"; then + LDFLAGS="-s" + fi + + +dnl this is AC_PROG_CPP. I had to include it here, since autoconf checks +dnl dependecies between AC_PROG_CPP and AC_PROG_CC (or is it automake?) + + AC_MSG_CHECKING(how to run the C preprocessor) + # On Suns, sometimes $CPP names a directory. + if test -n "$CPP" && test -d "$CPP"; then + CPP= + fi + if test -z "$CPP"; then + AC_CACHE_VAL(ac_cv_prog_CPP, + [ # This must be in double quotes, not single quotes, because CPP may get + # substituted into the Makefile and "${CC-cc}" will confuse make. + CPP="${CC-cc} -E" + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. + dnl Use a header file that comes with gcc, so configuring glibc + dnl with a fresh cross-compiler works. + AC_TRY_CPP([#include <assert.h> + Syntax Error], , + CPP="${CC-cc} -E -traditional-cpp" + AC_TRY_CPP([#include <assert.h> + Syntax Error], , CPP=/lib/cpp)) + ac_cv_prog_CPP="$CPP"])dnl + CPP="$ac_cv_prog_CPP" + else + ac_cv_prog_CPP="$CPP" + fi + AC_MSG_RESULT($CPP) + AC_SUBST(CPP)dnl + + + AC_MSG_CHECKING(for a C++-Compiler) + dnl if there is one, print out. if not, don't matter + AC_MSG_RESULT($CXX) + + if test -z "$CXX"; then AC_CHECK_PROG(CXX, g++, g++) fi + if test -z "$CXX"; then AC_CHECK_PROG(CXX, CC, CC) fi + if test -z "$CXX"; then AC_CHECK_PROG(CXX, xlC, xlC) fi + if test -z "$CXX"; then AC_CHECK_PROG(CXX, DCC, DCC) fi + test -z "$CXX" && AC_MSG_ERROR([no acceptable C++-compiler found in \$PATH]) + + AC_PROG_CXX_WORKS + AC_PROG_CXX_GNU + + if test $ac_cv_prog_gxx = yes; then + GXX=yes + else + AC_MSG_CHECKING(whether we are using SPARC CC) + GXX= + cat > conftest.C << EOF +#ifdef __SUNPRO_CC + yes; +#endif +EOF + + ac_try="$CXX -E conftest.C" + if { (eval echo configure:__online__: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | egrep yes >/dev/null 2>&1; then + ac_cv_prog_CC=yes + else + ac_cv_prog_CC=no + fi + AC_MSG_RESULT($ac_cv_prog_CC) + fi + + if test -z "$CXXFLAGS"; then + if test "$ac_use_debug_code" = "yes"; then + AC_PROG_CXX_G + if test $ac_cv_prog_cxx_g = yes; then + CXXFLAGS="-g" + fi + if test "$ac_cv_prog_CC" = "yes"; then + CXXFLAGS="$CXXFLAGS -pto" + fi + else + if test "$GXX" = "yes"; then + CXXFLAGS="-O2" + else + if test "$ac_cv_prog_CC" = "yes"; then + CXXFLAGS="-pto -O2" + else + CXXFLAGS="" + fi + fi + fi + + if test "$GXX" = "yes"; then + CXXFLAGS="$CXXFLAGS -Wall" + + if test "$ac_use_strict_options" = "yes"; then + CXXFLAGS="$CXXFLAGS -W -ansi -Wtraditional -Wpointer-arith -Wcast-qual -Wcast-align -Wwrite-strings -Woverloaded-virtual -Wbad-function-cast -Wsynth" + fi + + if test "$ac_very_strict" = "yes"; then + CXXFLAGS="$CXXFLAGS -Wold-style-cast -Wshadow -Wredundant-decls -Wconversion" + fi + fi + fi + + case "$host" in + *-*-sysv4.2uw*) CXXFLAGS="$CXXFLAGS -D_UNIXWARE";; + esac + +]) + |