Commit 609e96e1 authored by unknown's avatar unknown
Browse files

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.
parent 8b123043
Loading
Loading
Loading
Loading
+47 −0
Original line number Diff line number Diff line
@@ -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