Cygwin: Remove weak symbols attributes due to semantic differences
[lttng-ust.git] / configure.ac
index b442a81dc271eb7bb1f10739d6e0defb04b49931..73c7b897e522e169437437bba582ffe90e2f6ca7 100644 (file)
@@ -77,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])
@@ -153,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])
@@ -261,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
@@ -272,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.02877 seconds and 4 git commands to generate.