[7d160bb] | 1 | AC_DEFUN([SING_SHOW_FLAGS], [ |
---|
| 2 | |
---|
| 3 | echo "/* --------------- $1 --------------- */"; |
---|
| 4 | |
---|
| 5 | AC_MSG_CHECKING([ CFLAGS?..]) |
---|
| 6 | AC_MSG_RESULT(${CFLAGS:-unset}) |
---|
| 7 | AC_MSG_CHECKING([CXXFLAGS?..]) |
---|
| 8 | AC_MSG_RESULT(${CXXFLAGS:-unset}) |
---|
| 9 | AC_MSG_CHECKING([CPPFLAGS?..]) |
---|
| 10 | AC_MSG_RESULT(${CPPFLAGS:-unset}) |
---|
| 11 | AC_MSG_CHECKING([ DEFS?..]) |
---|
| 12 | AC_MSG_RESULT(${DEFS:-unset}) |
---|
| 13 | AC_MSG_CHECKING([ LDFLAGS?..]) |
---|
| 14 | AC_MSG_RESULT(${LDFLAGS:-unset}) |
---|
| 15 | AC_MSG_CHECKING([ LIBS?..]) |
---|
| 16 | AC_MSG_RESULT(${LIBS:-unset}) |
---|
| 17 | AC_MSG_CHECKING([ GCC?..]) |
---|
| 18 | AC_MSG_RESULT(${GCC:-unset}) |
---|
| 19 | AC_MSG_CHECKING([ CC?..]) |
---|
| 20 | AC_MSG_RESULT(${CC:-unset}) |
---|
| 21 | AC_MSG_CHECKING([ GXX?..]) |
---|
| 22 | AC_MSG_RESULT(${GXX:-unset}) |
---|
| 23 | AC_MSG_CHECKING([ CXX?..]) |
---|
| 24 | AC_MSG_RESULT(${CXX:-unset}) |
---|
| 25 | |
---|
| 26 | # echo "/* =============== $1 =============== */"; |
---|
| 27 | ]) |
---|
| 28 | |
---|
| 29 | AC_DEFUN([SING_RESET_FLAGS], [ |
---|
| 30 | AC_MSG_WARN([Please note that we set empty defaults for \`CFLAGS' and \`CXXFLAGS' (instead of \`-g -O')]) |
---|
| 31 | : ${CFLAGS:=""} |
---|
| 32 | : ${CXXFLAGS:=""} |
---|
| 33 | ]) |
---|
| 34 | |
---|
| 35 | |
---|
| 36 | AC_DEFUN([SING_CHECK_SET_ARGS], [ |
---|
| 37 | # SING_SHOW_FLAGS([Initial state?...])dnl |
---|
| 38 | |
---|
| 39 | ENABLE_DEBUG="no" |
---|
| 40 | ENABLE_OPTIMIZATION="yes" |
---|
| 41 | |
---|
| 42 | AC_ARG_ENABLE([debug], |
---|
| 43 | AS_HELP_STRING([--enable-debug], [build the debugging version of the libraries]), |
---|
| 44 | [if test "x$enableval" = "xyes"; then |
---|
| 45 | ENABLE_DEBUG="yes" |
---|
| 46 | fi]) |
---|
| 47 | |
---|
| 48 | AC_ARG_ENABLE([optimizationflags], |
---|
| 49 | AS_HELP_STRING([--disable-optimizationflags], [build the without default optimization flags]), |
---|
| 50 | [if test "x$enableval" = "xno"; then |
---|
| 51 | ENABLE_OPTIMIZATION="no" |
---|
| 52 | fi]) |
---|
| 53 | |
---|
| 54 | AC_MSG_CHECKING([debugging checks should be embedded]) |
---|
| 55 | if test "x${ENABLE_DEBUG}" != xyes; then |
---|
| 56 | AC_MSG_RESULT([no]) |
---|
| 57 | else |
---|
| 58 | AC_MSG_RESULT([yes]) |
---|
| 59 | fi |
---|
| 60 | |
---|
| 61 | AC_MSG_CHECKING([whether optimization flags should be used]) |
---|
| 62 | if test "x${ENABLE_OPTIMIZATION}" == xyes; then |
---|
| 63 | AC_MSG_RESULT([yes]) |
---|
| 64 | else |
---|
| 65 | AC_MSG_RESULT([no]) |
---|
| 66 | fi |
---|
| 67 | |
---|
| 68 | AM_CONDITIONAL(WANT_DEBUG, test x"${ENABLE_DEBUG}" == xyes) |
---|
| 69 | AM_CONDITIONAL(WANT_OPTIMIZATIONFLAGS, test x"${ENABLE_OPTIMIZATION}" != xno) |
---|
| 70 | |
---|
| 71 | if test "x${ENABLE_DEBUG}" == xyes; then |
---|
| 72 | if test "x${ENABLE_OPTIMIZATION}" == xyes; then |
---|
| 73 | AC_MSG_ERROR([Please note that you have enabled the debug and optimization flags, which may not work well together (try \`--disable-optimizationflags')!]) |
---|
| 74 | fi |
---|
[e681f3] | 75 | # else |
---|
| 76 | # AC_DEFINE([OM_NDEBUG],1,"Disable OM Debug") |
---|
| 77 | # AC_DEFINE([NDEBUG],1,"Disable Debug") |
---|
[7d160bb] | 78 | fi |
---|
| 79 | |
---|
| 80 | # SING_SHOW_FLAGS([checking flags....]) |
---|
| 81 | |
---|
| 82 | FLAGS="-pipe" |
---|
| 83 | AC_LANG_PUSH([C]) |
---|
| 84 | AX_APPEND_COMPILE_FLAGS(${FLAGS}, [CFLAGS]) |
---|
| 85 | AC_LANG_POP([C]) |
---|
| 86 | |
---|
| 87 | AC_LANG_PUSH([C++]) |
---|
| 88 | AX_APPEND_COMPILE_FLAGS(${FLAGS}, [CXXFLAGS]) |
---|
[b7b2c5] | 89 | AX_APPEND_COMPILE_FLAGS([-fexceptions -frtti], [POLYMAKE_CXXFLAGS]) |
---|
[7d160bb] | 90 | AC_LANG_POP([C++]) |
---|
| 91 | |
---|
| 92 | AX_APPEND_LINK_FLAGS(${FLAGS}) |
---|
[b7b2c5] | 93 | |
---|
| 94 | AC_SUBST(POLYMAKE_CXXFLAGS) |
---|
| 95 | |
---|
[7d160bb] | 96 | if test "x${ENABLE_DEBUG}" == xyes; then |
---|
[ee15d5] | 97 | DBGFLAGS="-g -O0 -ftrapv -fdiagnostics-show-option -Wall -Wextra" |
---|
| 98 | # -pedantic too strict ??? -Wvla -Wno-long-long ??? |
---|
[7d160bb] | 99 | AC_LANG_PUSH([C]) |
---|
| 100 | AX_APPEND_COMPILE_FLAGS(${DBGFLAGS}, [CFLAGS]) |
---|
| 101 | AC_LANG_POP([C]) |
---|
| 102 | AC_LANG_PUSH([C++]) |
---|
| 103 | AX_APPEND_COMPILE_FLAGS(${DBGFLAGS}, [CXXFLAGS]) |
---|
| 104 | AC_LANG_POP([C++]) |
---|
| 105 | AX_APPEND_LINK_FLAGS(${DBGFLAGS}) |
---|
| 106 | fi |
---|
| 107 | |
---|
[99b54a] | 108 | if test "x${ENABLE_OPTIMIZATION}" != xno; then |
---|
[f30df9] | 109 | OPTFLAGS="-DOM_NDEBUG -DNDEBUG -O3 -Wno-unused-function -Wno-trigraphs -Wno-unused-parameter -Wno-unused-variable -fomit-frame-pointer -fwrapv -fvisibility=default -finline-functions -fno-exceptions -fno-rtti -fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space -funroll-loops" |
---|
[7d160bb] | 110 | # -O3 - crashes gcc???!!! |
---|
[75c73d] | 111 | # -fpermissive |
---|
[7d160bb] | 112 | AC_LANG_PUSH([C]) |
---|
| 113 | AX_APPEND_COMPILE_FLAGS(${OPTFLAGS}, [CFLAGS]) |
---|
| 114 | AC_LANG_POP([C]) |
---|
| 115 | AC_LANG_PUSH([C++]) |
---|
| 116 | AX_APPEND_COMPILE_FLAGS(${OPTFLAGS}, [CXXFLAGS]) |
---|
[75c73d] | 117 | # AX_APPEND_COMPILE_FLAGS([-fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space], [CXXFLAGS]) |
---|
| 118 | ### AX_APPEND_COMPILE_FLAGS([-fno-implicit-templates], [CXXFLAGS]) # problems due to STL |
---|
[7d160bb] | 119 | AC_LANG_POP([C++]) |
---|
| 120 | AX_APPEND_LINK_FLAGS(${OPTFLAGS}) |
---|
[75c73d] | 121 | # AX_APPEND_LINK_FLAGS([-fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space]) |
---|
| 122 | ### AX_APPEND_LINK_FLAGS([-fno-implicit-templates]) # see above :( |
---|
[ce9bfe] | 123 | # AX_APPEND_LINK_FLAGS([ ]) |
---|
[7d160bb] | 124 | fi |
---|
| 125 | |
---|
| 126 | # SING_SHOW_FLAGS([before PROG_C_CC]) |
---|
| 127 | |
---|
[ea5f3f6] | 128 | AC_PROG_CC |
---|
| 129 | AC_PROG_CXX |
---|
[7d160bb] | 130 | ]) |
---|