[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 | AC_ARG_ENABLE([debug], |
---|
| 40 | AS_HELP_STRING([--enable-debug], [build the debugging version of the libraries]), |
---|
[048a5f] | 41 | [ENABLE_DEBUG="$enableval"], [ENABLE_DEBUG=""]) |
---|
[7d160bb] | 42 | |
---|
| 43 | AC_MSG_CHECKING([debugging checks should be embedded]) |
---|
| 44 | if test "x${ENABLE_DEBUG}" != xyes; then |
---|
| 45 | AC_MSG_RESULT([no]) |
---|
| 46 | else |
---|
| 47 | AC_MSG_RESULT([yes]) |
---|
| 48 | fi |
---|
| 49 | |
---|
[048a5f] | 50 | AC_ARG_ENABLE([optimizationflags], |
---|
| 51 | AS_HELP_STRING([--disable-optimizationflags], [build the without default optimization flags]), |
---|
| 52 | [ENABLE_OPTIMIZATION="$enableval"], [ENABLE_OPTIMIZATION="yeah"]) |
---|
| 53 | |
---|
[7d160bb] | 54 | if test "x${ENABLE_DEBUG}" == xyes; then |
---|
[276a00] | 55 | SINGULAR_CFLAGS="" |
---|
[048a5f] | 56 | if test "x${ENABLE_OPTIMIZATION}" == xyeah; then |
---|
| 57 | ENABLE_OPTIMIZATION="no" |
---|
| 58 | AC_MSG_WARN([Please note that we disable implicit (default) optimization flags since you have enabled the debug flags... ]) |
---|
| 59 | fi |
---|
[276a00] | 60 | else |
---|
| 61 | SINGULAR_CFLAGS="-DSING_NDEBUG -DOM_NDEBUG" |
---|
| 62 | # for now let '-DSING_NDEBUG -DOM_NDEBUG' be here... |
---|
| 63 | AC_DEFINE([OM_NDEBUG],1,"Disable OM Debug") |
---|
| 64 | AC_DEFINE([SING_NDEBUG],1,"Disable Singular Debug") |
---|
[7d160bb] | 65 | fi |
---|
[048a5f] | 66 | |
---|
| 67 | if test "x${ENABLE_OPTIMIZATION}" == xyeah; then |
---|
| 68 | ENABLE_OPTIMIZATION="yes" |
---|
| 69 | fi |
---|
| 70 | |
---|
| 71 | if test "x${ENABLE_OPTIMIZATION}" == xyes; then |
---|
| 72 | if test "x${ENABLE_DEBUG}" == xyes; then |
---|
| 73 | AC_MSG_WARN([Please note that you will be using our optimization flags together with debug flags... ]) |
---|
| 74 | fi |
---|
| 75 | fi |
---|
| 76 | |
---|
| 77 | AC_MSG_CHECKING([whether optimization flags should be used]) |
---|
| 78 | if test "x${ENABLE_OPTIMIZATION}" == xyes; then |
---|
| 79 | AC_MSG_RESULT([yes]) |
---|
| 80 | else |
---|
| 81 | AC_MSG_RESULT([no]) |
---|
| 82 | fi |
---|
| 83 | |
---|
[276a00] | 84 | |
---|
[048a5f] | 85 | AM_CONDITIONAL(WANT_DEBUG, test x"${ENABLE_DEBUG}" == xyes) |
---|
| 86 | AM_CONDITIONAL(WANT_OPTIMIZATIONFLAGS, test x"${ENABLE_OPTIMIZATION}" == xyes) |
---|
| 87 | |
---|
[276a00] | 88 | AC_DEFINE_UNQUOTED([SINGULAR_CFLAGS],"$SINGULAR_CFLAGS",[SINGULAR_CFLAGS]) |
---|
| 89 | AC_SUBST(SINGULAR_CFLAGS) |
---|
[7d160bb] | 90 | |
---|
| 91 | # SING_SHOW_FLAGS([checking flags....]) |
---|
| 92 | |
---|
[6a6ae2] | 93 | FLAGS="-pipe -fno-common" |
---|
[7d160bb] | 94 | AC_LANG_PUSH([C]) |
---|
| 95 | AX_APPEND_COMPILE_FLAGS(${FLAGS}, [CFLAGS]) |
---|
| 96 | AC_LANG_POP([C]) |
---|
| 97 | |
---|
| 98 | AC_LANG_PUSH([C++]) |
---|
| 99 | AX_APPEND_COMPILE_FLAGS(${FLAGS}, [CXXFLAGS]) |
---|
[b7b2c5] | 100 | AX_APPEND_COMPILE_FLAGS([-fexceptions -frtti], [POLYMAKE_CXXFLAGS]) |
---|
[7d160bb] | 101 | AC_LANG_POP([C++]) |
---|
| 102 | |
---|
| 103 | AX_APPEND_LINK_FLAGS(${FLAGS}) |
---|
[b7b2c5] | 104 | |
---|
| 105 | AC_SUBST(POLYMAKE_CXXFLAGS) |
---|
| 106 | |
---|
[7d160bb] | 107 | if test "x${ENABLE_DEBUG}" == xyes; then |
---|
[6a6ae2] | 108 | DBGFLAGS="-g -ftrapv -fdiagnostics-show-option -Wall -Wextra" |
---|
[ee15d5] | 109 | # -pedantic too strict ??? -Wvla -Wno-long-long ??? |
---|
[7d160bb] | 110 | AC_LANG_PUSH([C]) |
---|
| 111 | AX_APPEND_COMPILE_FLAGS(${DBGFLAGS}, [CFLAGS]) |
---|
| 112 | AC_LANG_POP([C]) |
---|
| 113 | AC_LANG_PUSH([C++]) |
---|
| 114 | AX_APPEND_COMPILE_FLAGS(${DBGFLAGS}, [CXXFLAGS]) |
---|
| 115 | AC_LANG_POP([C++]) |
---|
| 116 | AX_APPEND_LINK_FLAGS(${DBGFLAGS}) |
---|
| 117 | fi |
---|
[1684c3] | 118 | |
---|
| 119 | ## for clang: -Wunneeded-internal-declaration |
---|
| 120 | |
---|
[276a00] | 121 | if test "x${ENABLE_OPTIMIZATION}" != xno; then |
---|
[9f7665] | 122 | OPTFLAGS="-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] | 123 | # -O3 - crashes gcc???!!! |
---|
[1684c3] | 124 | # -fpermissive |
---|
[7d160bb] | 125 | AC_LANG_PUSH([C]) |
---|
| 126 | AX_APPEND_COMPILE_FLAGS(${OPTFLAGS}, [CFLAGS]) |
---|
| 127 | AC_LANG_POP([C]) |
---|
| 128 | AC_LANG_PUSH([C++]) |
---|
| 129 | AX_APPEND_COMPILE_FLAGS(${OPTFLAGS}, [CXXFLAGS]) |
---|
[75c73d] | 130 | # AX_APPEND_COMPILE_FLAGS([-fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space], [CXXFLAGS]) |
---|
| 131 | ### AX_APPEND_COMPILE_FLAGS([-fno-implicit-templates], [CXXFLAGS]) # problems due to STL |
---|
[7d160bb] | 132 | AC_LANG_POP([C++]) |
---|
| 133 | AX_APPEND_LINK_FLAGS(${OPTFLAGS}) |
---|
[75c73d] | 134 | # AX_APPEND_LINK_FLAGS([-fno-threadsafe-statics -fno-enforce-eh-specs -fconserve-space]) |
---|
| 135 | ### AX_APPEND_LINK_FLAGS([-fno-implicit-templates]) # see above :( |
---|
[ce9bfe] | 136 | # AX_APPEND_LINK_FLAGS([ ]) |
---|
[7d160bb] | 137 | fi |
---|
| 138 | |
---|
[1684c3] | 139 | FLAGS2="-Qunused-arguments" |
---|
| 140 | AC_LANG_PUSH([C]) |
---|
| 141 | AX_APPEND_COMPILE_FLAGS(${FLAGS2}, [CFLAGS]) |
---|
| 142 | AC_LANG_POP([C]) |
---|
| 143 | |
---|
| 144 | AC_LANG_PUSH([C++]) |
---|
| 145 | AX_APPEND_COMPILE_FLAGS(${FLAGS2}, [CXXFLAGS]) |
---|
| 146 | AC_LANG_POP([C++]) |
---|
| 147 | |
---|
| 148 | AX_APPEND_LINK_FLAGS(${FLAGS2}) |
---|
| 149 | |
---|
[7d160bb] | 150 | # SING_SHOW_FLAGS([before PROG_C_CC]) |
---|
| 151 | |
---|
[276a00] | 152 | |
---|
[ea5f3f6] | 153 | AC_PROG_CC |
---|
| 154 | AC_PROG_CXX |
---|
[7d160bb] | 155 | ]) |
---|