diff options
author | Andrei Karas <akaras@inbox.ru> | 2017-03-07 01:06:31 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2017-03-07 01:06:31 +0300 |
commit | e0b4ea2fd47d5281f66b0c92196296e2b133f388 (patch) | |
tree | dc9af6bb00c518877a7724bf7ce19d4b42e932ab | |
parent | 743f46105e1fc10acf08bd5c79cfbf3ca571282a (diff) | |
download | manaplus-e0b4ea2fd47d5281f66b0c92196296e2b133f388.tar.gz manaplus-e0b4ea2fd47d5281f66b0c92196296e2b133f388.tar.bz2 manaplus-e0b4ea2fd47d5281f66b0c92196296e2b133f388.tar.xz manaplus-e0b4ea2fd47d5281f66b0c92196296e2b133f388.zip |
Auto detect if librt usable for current compiler.
-rwxr-xr-x | configure.ac | 110 |
1 files changed, 57 insertions, 53 deletions
diff --git a/configure.ac b/configure.ac index 406fc3688..e7c32e112 100755 --- a/configure.ac +++ b/configure.ac @@ -3,6 +3,58 @@ AC_INIT([ManaPlus], [1.7.3.4], [akaras@inbox.ru], [manaplus]) AM_INIT_AUTOMAKE([1.9]) AC_LANG_CPLUSPLUS +AC_DEFUN([AC_CHECK_CXX_FLAG], + [ + AC_MSG_CHECKING([whether $CC supports $1]) + OLD_CXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS -Werror $1" + test_flag=no + AC_COMPILE_IFELSE( + [AC_LANG_SOURCE([int foo;])], + [ + AC_MSG_RESULT([yes]) + test_flag=yes + ], + [ + AC_MSG_RESULT([no]) + test_flag=no + ] + CXXFLAGS="$OLD_CXXFLAGS" + ) + AM_CONDITIONAL($2, test x$test_flag = xtrue) + ] +) + +AC_DEFUN([AC_CHECK_LD_FLAG], + [ + AC_MSG_CHECKING([whether $LD supports $1]) + OLD_CXXFLAGS="$CXXFLAGS" + OLD_LDFLAGS="$LDFLAGS" + CXXFLAGS="" + LDFLAGS="$LDFLAGS $1" + test_flag=no + AC_LINK_IFELSE( + [AC_LANG_SOURCE([ + int main(int argc, char **argv) + { + return 0; + } + ])], + [ + AC_MSG_RESULT([yes]) + test_flag=yes + ], + [ + AC_MSG_RESULT([no]) + test_flag=no + ] + CXXFLAGS="$OLD_CXXFLAGS" + LDFLAGS="$OLD_LDFLAGS" + ) + AM_CONDITIONAL($2, test x$test_flag = xyes) + ] +) + # Enable -Werror AC_ARG_ENABLE(werror, [ --enable-werror Fail build if warning present], @@ -456,8 +508,11 @@ if test "x$with_librt" == "xno"; then else if test "x$applebuild_enabled" == "xfalse"; then if test "x$androidbuild_enabled" == "xfalse"; then - AC_CHECK_LIB(rt, shm_open, , - AC_MSG_ERROR([ *** Unable to find librt library])) + AC_CHECK_LD_FLAG(-lrt, USE_LIBRT) + if test "x$test_flag" == "xyes"; then + AC_CHECK_LIB(rt, shm_open, , + AC_MSG_ERROR([ *** Unable to find librt library])) + fi fi fi without_librt=no @@ -580,57 +635,6 @@ if test "x$naclbuild_enabled" == "xtrue"; then AC_CHECK_SDL() fi -AC_DEFUN([AC_CHECK_CXX_FLAG], - [ - AC_MSG_CHECKING([whether $CC supports $1]) - OLD_CXXFLAGS="$CXXFLAGS" - CXXFLAGS="$CXXFLAGS -Werror $1" - test_flag=no - AC_COMPILE_IFELSE( - [AC_LANG_SOURCE([int foo;])], - [ - AC_MSG_RESULT([yes]) - test_flag=yes - ], - [ - AC_MSG_RESULT([no]) - test_flag=no - ] - CXXFLAGS="$OLD_CXXFLAGS" - ) - AM_CONDITIONAL($2, test x$test_flag = xtrue) - ] -) - -AC_DEFUN([AC_CHECK_LD_FLAG], - [ - AC_MSG_CHECKING([whether $LD supports $1]) - OLD_CXXFLAGS="$CXXFLAGS" - OLD_LDFLAGS="$LDFLAGS" - CXXFLAGS="" - LDFLAGS="$LDFLAGS $1" - test_flag=no - AC_LINK_IFELSE( - [AC_LANG_SOURCE([ - int main(int argc, char **argv) - { - return 0; - } - ])], - [ - AC_MSG_RESULT([yes]) - test_flag=yes - ], - [ - AC_MSG_RESULT([no]) - test_flag=no - ] - CXXFLAGS="$OLD_CXXFLAGS" - LDFLAGS="$OLD_LDFLAGS" - ) - AM_CONDITIONAL($2, test x$test_flag = xyes) - ] -) AC_CHECK_LD_FLAG(-rdynamic, HAVE_RDYNAMIC) |