check for what flags to use for export dynamic
authorDana Jansens <danakj@orodu.net>
Fri, 11 Jan 2008 18:29:44 +0000 (13:29 -0500)
committerDana Jansens <danakj@orodu.net>
Fri, 11 Jan 2008 18:31:04 +0000 (13:31 -0500)
.gitignore
configure.ac
m4/exportdynamic.m4 [new file with mode: 0644]

index 3a8337a..99fa800 100644 (file)
@@ -13,7 +13,6 @@ config.sub
 configure
 depcomp
 install-sh
-m4
 missing
 po/Makefile
 po/Makefile.in
@@ -39,3 +38,33 @@ src/obconf
 *.o
 .deps
 *.bak
+m4/codeset.m4
+m4/gettext.m4
+m4/glibc2.m4
+m4/glibc21.m4
+m4/iconv.m4
+m4/intdiv0.m4
+m4/intmax.m4
+m4/inttypes-h.m4
+m4/inttypes-pri.m4
+m4/inttypes_h.m4
+m4/lcmessage.m4
+m4/lib-ld.m4
+m4/lib-link.m4
+m4/lib-prefix.m4
+m4/lock.m4
+m4/longdouble.m4
+m4/longlong.m4
+m4/nls.m4
+m4/po.m4
+m4/printf-posix.m4
+m4/progtest.m4
+m4/signed.m4
+m4/size_max.m4
+m4/stdint_h.m4
+m4/uintmax_t.m4
+m4/ulonglong.m4
+m4/visibility.m4
+m4/wchar_t.m4
+m4/wint_t.m4
+m4/xsize.m4
index 0c1d88c..bae2dfb 100644 (file)
@@ -13,7 +13,8 @@ AC_C_INLINE
 
 AC_PROG_INSTALL
 
-LDFLAGS="$LDFLAGS -export-dynamic"
+CHECK_EXPORT_DYNAMIC
+LDFLAGS="$LDFLAGS $EXPORT_DYNAMIC_FLAGS"
 
 ALL_LINGUAS=""
 AM_GNU_GETTEXT_VERSION(0.15)
@@ -62,5 +63,3 @@ AC_OUTPUT
 
 AC_MSG_RESULT
 AC_MSG_RESULT([configure complete, now type \"make\"])
-
-
diff --git a/m4/exportdynamic.m4 b/m4/exportdynamic.m4
new file mode 100644 (file)
index 0000000..a9eda79
--- /dev/null
@@ -0,0 +1,28 @@
+dnl Check how to export all functions, which is needed for libglade to set up
+dnl the event handlers.
+AC_DEFUN([CHECK_EXPORT_DYNAMIC],
+[
+  AC_MSG_CHECKING(for extra flags needed to export symbols)
+  case $host_os in
+    aix4*|aix5*)
+      EXPORT_DYNAMIC_FLAGS="-Wl,-bexpall,-brtl"
+      ;;
+    bsdi*)
+      EXPORT_DYNAMIC_FLAGS="-rdynamic"
+      ;;
+    *)
+      save_ldflags="$LDFLAGS"
+      LDFLAGS=-Wl,-export-dynamic
+      AC_TRY_LINK(,,[EXPORT_DYNAMIC_FLAGS="-Wl,-export-dynamic"],
+        [
+          LDFLAGS=-Wl,-Bexport
+          AC_TRY_LINK(,,[EXPORT_DYNAMIC_FLAGS="- Wl,-Bexport"],
+                      AC_MSG_RESULT(none))
+        ]
+      )
+      LDFLAGS="$save_ldflags"
+      ;;
+  esac
+  AC_SUBST(EXPORT_DYNAMIC_FLAGS)
+  test "x$EXPORT_DYNAMIC_FLAGS" != x && AC_MSG_RESULT([$EXPORT_DYNAMIC_FLAGS])
+])