Cygwin: Remove weak symbols attributes due to semantic differences
[lttng-ust.git] / configure.ac
index 39530db4e0d16ae6213df9fe718c24266f4a455f..73c7b897e522e169437437bba582ffe90e2f6ca7 100644 (file)
@@ -1,7 +1,7 @@
 #                                               -*- Autoconf -*-
 # Process this file with autoconf to produce a configure script.
 
-AC_INIT([lttng-ust],[2.0.5],[mathieu dot desnoyers at efficios dot com])
+AC_INIT([lttng-ust],[2.0.6],[mathieu dot desnoyers at efficios dot com])
 
 # Following the numbering scheme proposed by libtool for the library version
 # http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
@@ -64,6 +64,8 @@ AS_IF([test "x$libtool_fixup" = "xyes"],
                  ])
            ])
 
+AM_CONDITIONAL([NO_SHARED], [test "x$enable_shared" = "xno"])
+
 # Checks for programs.
 AC_PROG_CC
 AC_PROG_CXX
@@ -75,9 +77,25 @@ AC_CHECK_LIB([dl], [dlopen])
 AC_CHECK_LIB([pthread], [pthread_create])
 
 # Check for libuuid
-AC_CHECK_LIB([uuid], [uuid_generate], [],
-       [AC_MSG_ERROR([Cannot find libuuid. Use [LDFLAGS]=-Ldir to specify its location.])]
+AC_CHECK_LIB([uuid], [uuid_generate],
+[
+       AC_DEFINE_UNQUOTED([LTTNG_UST_HAVE_LIBUUID], 1, [Has libuuid support.])
+       have_libuuid=yes
+],
+[
+       # libuuid not found, check for uuid_create in libc.
+       AC_CHECK_LIB([c], [uuid_create],
+       [
+               AC_DEFINE_UNQUOTED([LTTNG_UST_HAVE_LIBC_UUID], 1, [Has libc uuid support.])
+               have_libc_uuid=yes
+       ],
+       [
+               AC_MSG_ERROR([Cannot find libuuid uuid_generate nor libc uuid_create. Use [LDFLAGS]=-Ldir to specify its location.])
+       ])
+]
 )
+AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBUUID], [test "x$have_libuuid" = "xyes"])
+AM_CONDITIONAL([LTTNG_UST_BUILD_WITH_LIBC_UUID], [test "x$have_libc_uuid" = "xyes"])
 
 # Checks for header files.
 #AC_CHECK_HEADERS([fcntl.h stdint.h stdlib.h string.h sys/socket.h sys/time.h unistd.h])
@@ -151,6 +169,10 @@ got it
                     [ust_cv_i386_is_x86_64=no])
                     CPPFLAGS="$save_CPPFLAGS"])
     ;;
+    # All symbols must be resolved at link time on Cygwin/MinGW/Windows,
+    # else libtool will not be able to build shared libraries.
+    *-*-cygwin*)
+    LDFLAGS="-Wl,-no-undefined $LDFLAGS";;
 esac
 
 AC_MSG_CHECKING([library format for the host system])
@@ -259,6 +281,13 @@ AS_IF([test "x$with_sdt" = "xyes"],[
 
 #      liblttng-ust-java/Makefile
 
+# Disabled for now, because these libraries
+# rely on the dlsym(3) RTLD_NEXT GNU extension.
+# This is not implemented in Cygwin.
+#liblttng-ust-fork/Makefile
+#liblttng-ust-libc-wrapper/Makefile
+#tests/fork/Makefile
+
 AC_CONFIG_FILES([
        Makefile
        doc/Makefile
@@ -270,15 +299,12 @@ AC_CONFIG_FILES([
        liblttng-ust-comm/Makefile
        liblttng-ust/Makefile
        liblttng-ust-ctl/Makefile
-       liblttng-ust-fork/Makefile
-       liblttng-ust-libc-wrapper/Makefile
        tools/Makefile
        tests/Makefile
        tests/hello/Makefile
        tests/hello-static-lib/Makefile
        tests/hello.cxx/Makefile
        tests/demo/Makefile
-       tests/fork/Makefile
        tests/ust-basic-tracing/Makefile
        tests/ust-multi-test/Makefile
        lttng-ust.pc
This page took 0.024438 seconds and 4 git commands to generate.