diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 173 |
1 files changed, 166 insertions, 7 deletions
diff --git a/configure.ac b/configure.ac index efe1f802e..9e88b618b 100644 --- a/configure.ac +++ b/configure.ac @@ -27,7 +27,7 @@ AC_CONFIG_SRCDIR([src/common/cbasetypes.h]) AC_CONFIG_FILES([Makefile src/common/Makefile]) AC_CONFIG_FILES([3rdparty/mt19937ar/Makefile 3rdparty/libconfig/Makefile]) AC_CONFIG_FILES([src/char/Makefile src/login/Makefile]) -AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile src/tool/Makefile]) +AC_CONFIG_FILES([src/map/Makefile src/plugins/Makefile]) AC_CONFIG_FILES([src/test/Makefile]) AC_CONFIG_FILES([tools/HPMHookGen/Makefile]) AC_CONFIG_FILES([tools/doxygen/Makefile]) @@ -144,6 +144,67 @@ AC_ARG_ENABLE( # +# packetver-Zero +# +AC_ARG_ENABLE( + [packetver-zero], + AC_HELP_STRING( + [--enable-packetver-zero], + [Sets or unsets the PACKETVER_ZERO define - see src/common/mmo.h (currently disabled by default)] + ), + [ + enable_packetver_zero="$enableval" + case $enableval in + "no");; + "yes");; + *) AC_MSG_ERROR([[invalid argument --enable-packetver-zero=$enableval... stopping]]);; + esac + ], + [enable_packetver_zero="no"] +) + +# +# packetver-Sak +# +AC_ARG_ENABLE( + [packetver-sak], + AC_HELP_STRING( + [--enable-packetver-sak], + [Sets or unsets the PACKETVER_SAK define - see src/common/mmo.h (currently disabled by default)] + ), + [ + enable_packetver_sak="$enableval" + case $enableval in + "no");; + "yes");; + *) AC_MSG_ERROR([[invalid argument --enable-packetver-sak=$enableval... stopping]]);; + esac + ], + [enable_packetver_sak="no"] +) + +# +# packetver-Ad +# +AC_ARG_ENABLE( + [packetver-ad], + AC_HELP_STRING( + [--enable-packetver-ad], + [Sets or unsets the PACKETVER_AD define - see src/common/mmo.h (currently disabled by default)] + ), + [ + enable_packetver_ad="$enableval" + case $enableval in + "no");; + "yes");; + *) AC_MSG_ERROR([[invalid argument --enable-packetver-ad=$enableval... stopping]]);; + esac + ], + [enable_packetver_ad="no"] +) + + +# # Epoll # AC_ARG_ENABLE([epoll], @@ -577,7 +638,37 @@ AC_LANG([C]) # -Werror-implicit-function-declaration -Wtrampolines # -Wjump-misses-init -CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wextra -Wno-sign-compare -std=c99" +AC_MSG_CHECKING([whether $CC supports -std=c11]) +OLD_CFLAGS="$CFLAGS" +CFLAGS="$CFLAGS -std=c11" +AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([int foo;])], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + + AC_MSG_CHECKING([whether $CC supports -std=c1x]) + CFLAGS="$OLD_CFLAGS -std=c1x" + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([int foo;])], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no, falling back to -std=c99]) + CFLAGS="$OLD_CFLAGS -std=c99" + ] + ) + ], + [ + AC_MSG_RESULT([guessing no]) + CFLAGS="$OLD_CFLAGS -std=c99" + ] +) + +CFLAGS="$CFLAGS -pipe -ffast-math -Wall -Wextra -Wno-sign-compare" CPPFLAGS="$CPPFLAGS -I../common" LDFLAGS="$LDFLAGS" @@ -726,28 +817,57 @@ AC_LINK_IFELSE( if test "$enable_lto" != "no" ; then OLD_CFLAGS="$CFLAGS" - CFLAGS="$CFLAGS -flto" + CFLAGS="$CFLAGS -flto -ffat-lto-objects -Werror" OLD_LDFLAGS="$LDFLAGS" - LDFLAGS="$LDFLAGS -flto" + LDFLAGS="$LDFLAGS -flto -ffat-lto-objects" - AC_MSG_CHECKING([whether $CC supports -flto]) + AC_MSG_CHECKING([whether $CC supports -flto -ffat-lto-objects]) AC_RUN_IFELSE( [AC_LANG_SOURCE([ int main(int argc, char **argv){ + (void)argc; + (void)argv; return 0; } ])], [ AC_MSG_RESULT([yes]) + CFLAGS="$OLD_CFLAGS -flto -ffat-lto-objects" + LDFLAGS="$OLD_LDFLAGS -flto -ffat-lto-objects" ], [ AC_MSG_RESULT([no]) - CFLAGS="$OLD_CFLAGS" - LDFLAGS="$OLD_LDFLAGS" + CFLAGS="$OLD_CFLAGS -flto" + LDFLAGS="$OLD_LDFLAGS -flto" + AC_MSG_CHECKING([whether $CC supports -flto]) + AC_RUN_IFELSE( + [AC_LANG_SOURCE([ + int main(int argc, char **argv){ + (void)argc; + (void)argv; + return 0; + } + ])], + [ + AC_MSG_RESULT([yes]) + ], + [ + AC_MSG_RESULT([no]) + CFLAGS="$OLD_CFLAGS" + LDFLAGS="$OLD_LDFLAGS" + ], + [ + AC_MSG_RESULT([guessing no]) + CFLAGS="$OLD_CFLAGS" + LDFLAGS="$OLD_LDFLAGS" + ] + ) ], [ AC_MSG_RESULT([guessing no]) + CFLAGS="$OLD_CFLAGS" + LDFLAGS="$OLD_LDFLAGS" ] ) fi @@ -965,6 +1085,7 @@ AC_CHECK_COMPILER_WFLAG(redundant-decls) AC_CHECK_COMPILER_WFLAG(cast-qual) AC_CHECK_COMPILER_WFLAG(misleading-indentation) AC_CHECK_COMPILER_WFLAG(null-dereference) +AC_CHECK_COMPILER_WFLAG(vla) AC_CHECK_COMPILER_WNOFLAG(format-nonliteral) AC_CHECK_COMPILER_WNOFLAG(switch) AC_CHECK_COMPILER_WNOFLAG(missing-field-initializers) @@ -1196,6 +1317,42 @@ case $enable_packetver_re in esac # +# Packetver-Zero +# +case $enable_packetver_zero in + "yes") + CPPFLAGS="$CPPFLAGS -DENABLE_PACKETVER_ZERO" + ;; + "no") + # default value + ;; +esac + +# +# Packetver-Sak +# +case $enable_packetver_sak in + "yes") + CPPFLAGS="$CPPFLAGS -DENABLE_PACKETVER_SAK" + ;; + "no") + # default value + ;; +esac + +# +# Packetver-ad +# +case $enable_packetver_ad in + "yes") + CPPFLAGS="$CPPFLAGS -DENABLE_PACKETVER_AD" + ;; + "no") + # default value + ;; +esac + +# # Epoll # case $have_linux_epoll in @@ -1284,6 +1441,8 @@ case $enable_renewal in ;; esac +AC_CHECK_FLAG(-fno-var-tracking) + # # Host specific stuff # |