summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjörn Jacke <bj@sernet.de>2010-05-12 18:17:30 +0200
committerBjörn Jacke <bj@sernet.de>2010-05-24 13:51:35 +0200
commit8e069e245bdda1303e9c2bd3b9e30be98f9d8680 (patch)
tree61d2a8f8d09fec7e74edac1a77b7f58a4e85f14c
parent4c659433c09823c2ea34ac73fad3686f917ac609 (diff)
downloadsamba-8e069e245bdda1303e9c2bd3b9e30be98f9d8680.tar.gz
samba-8e069e245bdda1303e9c2bd3b9e30be98f9d8680.tar.bz2
samba-8e069e245bdda1303e9c2bd3b9e30be98f9d8680.zip
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...
-rw-r--r--source3/configure.in36
1 files changed, 27 insertions, 9 deletions
diff --git a/source3/configure.in b/source3/configure.in
index 1928490630..0de524db17 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])
;;