summaryrefslogtreecommitdiff
path: root/configure.in
diff options
context:
space:
mode:
authorunknown <msvensson@shellback.(none)>2006-04-22 21:53:33 +0200
committerunknown <msvensson@shellback.(none)>2006-04-22 21:53:33 +0200
commit609e96e1db2599f2f4e279efb87342e40999ba36 (patch)
treeaafcf9a9e7a8c77152b58837f6d79123ce569879 /configure.in
parent8b123043371b0c0c642912a5b3548448d4e026ed (diff)
downloadmariadb-git-609e96e1db2599f2f4e279efb87342e40999ba36.tar.gz
Fix for building shared libraries on AIX with 64-bit mode
Set building of shared libraries on QNX to defatul OFF configure.in: -Libtool forgets to pass the -q64 and -X64 flags to "nm" and "xlc_r" when building for 64-bit on AIX. Add some hacks before we create libtool that fixes this. This test should be integrated into autoconf/libtool -Set default to not build shared librarues on QNX. When building libmysqlclient and libmysqlclient_r so many objects are passed to libtool that sh propably runs out of stack and segfaults.
Diffstat (limited to 'configure.in')
-rw-r--r--configure.in47
1 files changed, 47 insertions, 0 deletions
diff --git a/configure.in b/configure.in
index c10edbd841a..fe6ac7483ba 100644
--- a/configure.in
+++ b/configure.in
@@ -218,6 +218,46 @@ then
else
AC_PATH_PROG(AS, as, as)
fi
+
+# These checks has to be made befoe we buil libtool as they affect
+# what is written into libtool.
+case $SYSTEM_TYPE in
+ *aix5*)
+ # Find out which ABI we are using.
+ echo 'int i;' > conftest.$ac_ext
+ if AC_TRY_EVAL(ac_compile); then
+ case `/usr/bin/file conftest.$ac_objext` in
+ *"32-bit XCOFF"*)
+ # OBJECT_MODE=32
+ ;;
+ *"64-bit XCOFF"*)
+ AC_MSG_WARN([Setting 64-bit mode for AIX 5.*])
+ # It was detected that compiler is using 64-bit mode
+ # Set flags for CC and NM so that those tools will work
+ # in 64-bit mode when called from libtool
+ # The easiest way fix this is "export OBJECT_MODE=64"
+ CC="$CC -q64"
+ CXX="$CXX -q64"
+ if test "X${NM+set}" != Xset; then
+ NM="/usr/bin/nm -B -X64"
+ fi
+ ;;
+ esac
+ fi
+ rm -rf conftest*
+ ;;
+ *qnx*)
+ # Don't build shared libraries on QNX as it will run out of
+ # stack and segfault
+ AC_MSG_WARN([Turning off building of shared libraries])
+ AC_DISABLE_SHARED
+ ;;
+ *)
+ ;;
+esac
+
+LINK= "OBJECT_MODE=64 $LINK"
+
# Still need ranlib for readline; local static use only so no libtool.
AC_PROG_RANLIB
# We use libtool
@@ -229,6 +269,13 @@ AC_PROG_LIBTOOL
LIBTOOL="$LIBTOOL --preserve-dup-deps"
AC_SUBST(LIBTOOL)dnl
+AC_SUBST(NM)dnl
+
+# NM= "$NM -X64"
+#archive_expsym_cmds= `echo "$archive_expsym_cmds" | sed -e '/"$(CC)"//'`
+#archive_expsym_cmds= "$CC -q64 $archive_expsym_cmds"
+# CXXFLAGS=`echo "$CXXFLAGS -Werror" | sed -e 's/-fbranch-probabilities//; s/-Wall//; s/-ansi//; s/-pedantic//; s/-Wcheck//'`
+
#AC_LIBTOOL_DLOPEN AC_LIBTOOL_WIN32_DLL AC_DISABLE_FAST_INSTALL AC_DISABLE_SHARED AC_DISABLE_STATIC
# AC_PROG_INSTALL