diff options
author | Mateusz Łukasik <mati75@linuxmint.pl> | 2015-06-05 16:46:36 +0200 |
---|---|---|
committer | Mateusz Łukasik <mati75@linuxmint.pl> | 2015-06-05 16:46:36 +0200 |
commit | b541fedc97ad4ed5e658ce34ee50c74ad756f330 (patch) | |
tree | 5da244a1063a2529a5419083b2ea23f8fa76cb63 /acinclude.m4 | |
parent | 5f4fd4397e8b75ad152aec919f59ecb039ac6105 (diff) |
Imported Upstream version 3.6.2
Diffstat (limited to 'acinclude.m4')
-rw-r--r-- | acinclude.m4 | 124 |
1 files changed, 109 insertions, 15 deletions
diff --git a/acinclude.m4 b/acinclude.m4 index 157258c..cccd411 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -1,5 +1,5 @@ dnl Add $1 to CFLAGS and CXXFLAGS if supported -dnl ------------------------------------------ +dnl ========================================== AC_DEFUN([AUD_CHECK_CFLAGS],[ AC_MSG_CHECKING([whether the C/C++ compiler supports $1]) @@ -15,25 +15,30 @@ AC_DEFUN([AUD_CHECK_CFLAGS],[ ]) ]) +dnl Add $1 to CXXFLAGS if supported +dnl =============================== + +AC_DEFUN([AUD_CHECK_CXXFLAGS],[ + AC_MSG_CHECKING([whether the C++ compiler supports $1]) + AC_LANG_PUSH([C++]) + OLDCXXFLAGS="$CXXFLAGS" + CXXFLAGS="$CXXFLAGS $1 -Werror" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],[return 0;])],[ + AC_MSG_RESULT(yes) + CXXFLAGS="$OLDCXXFLAGS $1" + ],[ + AC_MSG_RESULT(no) + CXXFLAGS="$OLDCXXFLAGS" + ]) + AC_LANG_POP([C++]) +]) + dnl ** dnl ** Common checks dnl ** AC_DEFUN([AUD_COMMON_PROGS], [ -dnl Check for C and C++ compilers -dnl ============================= -AC_REQUIRE([AC_PROG_CC]) -AC_REQUIRE([AC_PROG_CXX]) -AC_REQUIRE([AC_C_BIGENDIAN]) -AC_REQUIRE([AC_SYS_LARGEFILE]) - -if test "x$GCC" = "xyes"; then - CFLAGS="$CFLAGS -std=gnu99 -ffast-math -Wall -pipe" - CXXFLAGS="$CXXFLAGS -Wall -pipe" - AUD_CHECK_CFLAGS(-Wtype-limits) -fi - dnl Check platform dnl ============== @@ -44,6 +49,7 @@ AC_MSG_CHECKING([operating system type]) HAVE_LINUX=no HAVE_MSWINDOWS=no +HAVE_DARWIN=no case "$target" in *linux*) @@ -54,6 +60,10 @@ case "$target" in AC_MSG_RESULT(Windows) HAVE_MSWINDOWS=yes ;; + *darwin*) + AC_MSG_RESULT(Darwin) + HAVE_DARWIN=yes + ;; *) AC_MSG_RESULT(other UNIX) ;; @@ -61,6 +71,38 @@ esac AC_SUBST(HAVE_MSWINDOWS) AC_SUBST(HAVE_LINUX) +AC_SUBST(HAVE_DARWIN) + +dnl Check for C and C++ compilers +dnl ============================= +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_CXX]) +AC_REQUIRE([AC_C_BIGENDIAN]) +AC_REQUIRE([AC_SYS_LARGEFILE]) + +if test "x$GCC" = "xyes"; then + CFLAGS="$CFLAGS -std=gnu99 -ffast-math -Wall -pipe" + if test "x$HAVE_DARWIN" = "xyes"; then + CXXFLAGS="$CXXFLAGS -stdlib=libc++ -std=gnu++11 -ffast-math -Wall -pipe" + LDFLAGS="$LDFLAGS -lc++ -stdlib=libc++" + else + CXXFLAGS="$CXXFLAGS -std=gnu++11 -ffast-math -Wall -pipe" + fi + AUD_CHECK_CFLAGS(-Wtype-limits) + AUD_CHECK_CXXFLAGS(-Woverloaded-virtual) +fi + +dnl On Mac, check for Objective-C and -C++ compilers +dnl ================================================ + +if test "x$HAVE_DARWIN" = "xyes"; then + AC_PROG_OBJC + AC_PROG_OBJCPP + AC_PROG_OBJCXX + AC_PROG_OBJCXXCPP + + OBJCXXFLAGS="$OBJCXXFLAGS -stdlib=libc++ -std=c++11" +fi dnl Enable "-Wl,-z,defs" only on Linux dnl ================================== @@ -74,6 +116,26 @@ if test $HAVE_MSWINDOWS = yes ; then CFLAGS="$CFLAGS -march=i686" fi +dnl Byte order +dnl ========== +AC_C_BIGENDIAN([BIGENDIAN=1], [BIGENDIAN=0], + [AC_MSG_ERROR([Unknown machine byte order])], + [AC_MSG_ERROR([Universal builds are not supported, sorry])]) +AC_SUBST([BIGENDIAN]) + +dnl Prevent symbol collisions +dnl ========================= +if test "x$HAVE_MSWINDOWS" = "xyes" ; then + EXPORT="__declspec(dllexport)" +elif test "x$GCC" = "xyes" ; then + CFLAGS="$CFLAGS -fvisibility=hidden" + CXXFLAGS="$CXXFLAGS -fvisibility=hidden" + EXPORT="__attribute__((visibility(\"default\")))" +else + AC_MSG_ERROR([Unknown syntax for EXPORT keyword]) +fi +AC_DEFINE_UNQUOTED([EXPORT], [$EXPORT], [Define to compiler syntax for public symbols]) + dnl Checks for various programs dnl =========================== AC_PROG_LN_S @@ -93,7 +155,20 @@ dnl ======================= PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.32) PKG_CHECK_MODULES(GMODULE, gmodule-2.0 >= 2.32) -PKG_CHECK_MODULES(GTK, gtk+-3.0 >= 3.4) + +dnl GTK+ support +dnl ============= + +AC_ARG_ENABLE(gtk, + AS_HELP_STRING(--disable-gtk, [Disable GTK+ support (default=enabled)]), + USE_GTK=$enableval, USE_GTK=yes) + +if test $USE_GTK = yes ; then + PKG_CHECK_MODULES(GTK, gtk+-2.0 >= 2.24) + AC_DEFINE(USE_GTK, 1, [Define if GTK+ support enabled]) +fi + +AC_SUBST(USE_GTK) if test $HAVE_MSWINDOWS = yes ; then PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.32) @@ -110,4 +185,23 @@ AC_SUBST(GMODULE_LIBS) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) +dnl Qt support +dnl ========== + +AC_ARG_ENABLE(qt, + AS_HELP_STRING(--enable-qt, [Enable Qt support (default=disabled)]), + USE_QT=$enableval, USE_QT=no) + +if test $USE_QT = yes ; then + PKG_CHECK_MODULES([QT], [Qt5Core Qt5Gui Qt5Widgets]) + AC_DEFINE(USE_QT, 1, [Define if Qt support enabled]) + + # needed if Qt was built with -reduce-relocations + QT_CFLAGS="$QT_CFLAGS -fPIC" +fi + +AC_SUBST(USE_QT) +AC_SUBST(QT_CFLAGS) +AC_SUBST(QT_LIBS) + ]) |