diff options
author | Björn Jacke <bj@sernet.de> | 2010-05-12 18:17:30 +0200 |
---|---|---|
committer | Björn Jacke <bj@sernet.de> | 2010-05-24 13:51:35 +0200 |
commit | 8e069e245bdda1303e9c2bd3b9e30be98f9d8680 (patch) | |
tree | 61d2a8f8d09fec7e74edac1a77b7f58a4e85f14c | |
parent | 4c659433c09823c2ea34ac73fad3686f917ac609 (diff) | |
download | samba-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.in | 36 |
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]) ;; |