AC_INIT(config/makefile.inc.in) # Ray++ configure utility. # # If you want to modify this file, make sure you are editing # configure.in, and not configure. AC_LANG_CPLUSPLUS AC_PROG_CXX AC_SUBST(CXX) if test "$cross_compiling" = yes; then AC_MSG_ERROR([$CXX does not create working executables; are your paths properly set?]) fi LINKER=$CXX AC_SUBST(LINKER) AC_C_BIGENDIAN BIGENDIAN=0 if test "$ac_cv_c_bigendian" = yes; then BIGENDIAN=1; fi AC_SUBST(BIGENDIAN) RAYROOT=`(cd $srcdir; pwd)` AC_SUBST(RAYROOT) AC_CHECK_PROGS(MAKE,gmake make) AC_SUBST(MAKE) ENABLE_OPT=YES AC_ARG_ENABLE(opt, [ --disable-opt disable compiler optimization flags], [if test "$enableval" = no; then ENABLE_OPT=NO fi]) ENABLE_DEBUG=NO AC_ARG_ENABLE(debug, [ --enable-debug enable generation of debugging symbols], [if test "$enableval" = yes; then ENABLE_DEBUG=YES fi]) ENABLE_SHARED=NO AC_ARG_ENABLE(shared, [ --enable-shared enable generation of shared libraries], [if test "$enableval" = yes; then ENABLE_SHARED=YES fi]) AC_SUBST(ENABLE_SHARED) ENABLE_FAST_HANDLES=NO AC_ARG_ENABLE(fast_handles, [ --enable-fast-handles enable fast handle code (experimental)], [if test "$enableval" = yes; then ENABLE_FAST_HANDLES=YES fi]) SILENT_RULE=".SILENT:" AC_ARG_ENABLE(noisy-make, [ --enable-noisy-make enable detailed make output], [if test "$enableval" = yes; then SILENT_RULE="" fi]) AC_SUBST(SILENT_RULE) COMPILER_TYPE=unknown AC_ARG_WITH(cxx, [ --with-cxx=COMPILER specify the C++ compiler possible choices: gcc], [case "$withval" in gcc*) COMPILER_TYPE=gcc ;; *) AC_MSG_ERROR([--with-cxx: invalid option $withval]) ;; esac]) if test "$GXX" = yes; then COMPILER_TYPE=gcc fi case "$COMPILER_TYPE" in gcc*) echo "Configuring for GCC" INCLUDEFLAGS="-I$RAYROOT" OPTFLAGS="-O2 -frename-registers" DEBUGFLAGS=-g # -ansi removed for the time being because of gcc problems WARNFLAGS="-W -Wall -Woverloaded-virtual -Winline -pedantic -Wcast-qual -Wcast-align -Wpointer-arith -Wconversion -Wold-style-cast" FEATUREFLAGS="-fstrict-aliasing" SHARECXXFLAGS=-fpic SHARELFLAGS=-shared STRIPFLAGS=-s CXXFLAGS="$INCLUDEFLAGS $WARNFLAGS $FEATUREFLAGS" LFLAGS="" MAKEDEP="$CXX -E -MM -MG $INCLUDEFLAGS" ;; unknown) echo "Configuring for unknown compiler (hope for the best!)" INCLUDEFLAGS="-I$RAYROOT" OPTFLAGS=-O2 DEBUGFLAGS=-g WARNFLAGS="" FEATUREFLAGS="" SHARECXXFLAGS="" SHARELFLAGS="" STRIPFLAGS="" CXXFLAGS="$INCLUDEFLAGS $WARNFLAGS $FEATUREFLAGS" LFLAGS="" MAKEDEP="" ;; esac AC_SUBST(CXXFLAGS) AC_SUBST(LFLAGS) AC_SUBST(SHARELFLAGS) AC_SUBST(MAKEDEP) if test "$ENABLE_OPT" = YES; then CXXFLAGS="$CXXFLAGS $OPTFLAGS" fi if test "$ENABLE_SHARED" = YES; then CXXFLAGS="$CXXFLAGS $SHARECXXFLAGS" fi if test "$ENABLE_FAST_HANDLES" = YES; then CXXFLAGS="$CXXFLAGS -DRAYPP_FAST_HANDLES" fi if test "$ENABLE_DEBUG" = YES; then CXXFLAGS="$CXXFLAGS $DEBUGFLAGS" ENABLE_STRIPPING=NO else CXXFLAGS="$CXXFLAGS $STRIPFLAGS" ENABLE_STRIPPING=YES fi AC_SUBST(ENABLE_STRIPPING) CXXFLAGS="$CXXFLAGS $RAYPP_CXXFLAGS" AC_CHECK_SIZEOF(short int,0) SIZEOF_SHORT_INT=$ac_cv_sizeof_short_int AC_SUBST(SIZEOF_SHORT_INT) AC_CHECK_SIZEOF(int,0) SIZEOF_INT=$ac_cv_sizeof_int AC_SUBST(SIZEOF_INT) AC_CHECK_SIZEOF(long int,0) SIZEOF_LONG_INT=$ac_cv_sizeof_long_int AC_SUBST(SIZEOF_LONG_INT) AC_CHECK_SIZEOF(float,0) SIZEOF_FLOAT=$ac_cv_sizeof_float AC_SUBST(SIZEOF_FLOAT) AC_CHECK_SIZEOF(double,0) SIZEOF_DOUBLE=$ac_cv_sizeof_double AC_SUBST(SIZEOF_DOUBLE) AC_CHECK_SIZEOF(long double,0) SIZEOF_LONG_DOUBLE=$ac_cv_sizeof_long_double AC_SUBST(SIZEOF_LONG_DOUBLE) AC_OUTPUT(config/makefile.inc config/sizecalc.h)