From 8e069e245bdda1303e9c2bd3b9e30be98f9d8680 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bj=C3=B6rn=20Jacke?= Date: Wed, 12 May 2010 18:17:30 +0200 Subject: [PATCH] s3: major overhaul of compiler and linker flags for HP-UX builds this will fix a number of things like shared library builds. That in turn will probably trigger some other build bugs... --- source3/configure.in | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/source3/configure.in b/source3/configure.in index 19284906308..0de524db175 100644 --- a/source3/configure.in +++ b/source3/configure.in @@ -1650,25 +1650,43 @@ DSO_EXPORTS="" AC_DEFINE(BROKEN_STRNDUP,1,[Does strndup work correctly]) ;; *hpux*) AC_DEFINE(HPUX,1,[Whether the host os is HPUX]) - # Use special PIC flags for the native HP-UX compiler. - BLDSHARED="true" - SHLD="cc" - LDSHFLAGS="-b -Wl,-B,symbolic,-b,-z" - SONAMEFLAG="-Wl,+h " - PICFLAG="+z" + # ia64: 64bit build using gcc with CFLAGS="-mpl64" + # 64bit build using HP's cc with CFLAGS="+DD64" + # hppa: 64bit build unsupported by gcc + # 64bit build using HP's cc with CFLAGS="+DA2.0w" + # HP-UX 11.00 ld needs PHSS_33034 + BLDSHARED="true" if test "${GCC}" = "yes"; then PICFLAG="-fPIC" + LDSHFLAGS="-shared" else - PICFLAG="+z +ESnolit" + PICFLAG="+z" + LDSHFLAGS="-Wl,-B,symbolic,-b" + if test "$host_cpu" != "ia64"; then + # "don't store literals in read-only memory" (?): + PICFLAG="$PICFLAG +ESnolit" + fi fi if test "$host_cpu" = "ia64"; then SHLIBEXT="so" - PICFLAG="+z" - DYNEXP="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32" + # TODO: does the linker find the right 32/64 bit version of the libs? : + DYNEXP="-Wl,-E,+b/usr/local/lib/hpux32:/usr/lib/hpux32:/usr/local/lib/hpux64:/usr/lib/hpux64" else SHLIBEXT="sl" DYNEXP="-Wl,-E,+b/usr/local/lib:/usr/lib" fi + if test "$ac_cv_prog_gnu_ld" = "yes"; then + SONAMEFLAG="-Wl,-soname=" + else + SONAMEFLAG="-Wl,+h," + fi + # PIE/PIC flags at link time are required on HP-UX because + # linking requires a temporary source file, which is being + # compiled with the indicated flags - which need to contain + # PIC flags when we don't support PIE flags: + if test "$PIE_LDFLAGS" = "" ; then + PIE_LDFLAGS=\${PICFLAG} + fi AC_DEFINE(STAT_ST_BLOCKSIZE,8192,[The size of a block]) AC_DEFINE(POSIX_ACL_NEEDS_MASK,1,[Does a POSIX ACL need a mask element]) ;; -- 2.11.4.GIT