[SCM] Samba Shared Repository - branch master updated

Matthieu Patou mat at samba.org
Tue Dec 7 16:33:02 MST 2010


The branch, master has been updated
       via  994bcf3 build: fix hpux build pb
      from  a52a587 docs: clarify the idmap_rid manpage (bug #7788)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 994bcf35d2c547edc7f567a0f1b6e4db73a3ee73
Author: Matthieu Patou <mat at matws.net>
Date:   Tue Dec 7 23:42:15 2010 +0300

    build: fix hpux build pb
    
    Pair-Programmed-With: Thomas Nagy <tnagy2pow10 at gmail.com>
    
    Fix the library extension from .so to .sl
    Add full path to library when linking this is needed due to a strange
    behavior of HP-UX:
    
    This command: gcc demo demo.c -L dir1/dir2/ -lsomelib
    will give a binary with a hard coded lib like dir1/dir2/libsomelib.sl.
    Somehow like a partial rpath, it has the first impact of fooling waf
    detection of wether the plateform support libraries or not (leading to
    being unable to compile samba on HPUX) and the impact of having non
    functionnal binaries.
    
    Autobuild-User: Matthieu Patou <mat at samba.org>
    Autobuild-Date: Wed Dec  8 00:32:50 CET 2010 on sn-devel-104

-----------------------------------------------------------------------

Summary of changes:
 buildtools/wafsamba/hpuxcc.py   |   56 +++++++++++++++++++++++++++++++++++++++
 buildtools/wafsamba/wafsamba.py |    1 +
 2 files changed, 57 insertions(+), 0 deletions(-)
 create mode 100644 buildtools/wafsamba/hpuxcc.py


Changeset truncated at 500 lines:

diff --git a/buildtools/wafsamba/hpuxcc.py b/buildtools/wafsamba/hpuxcc.py
new file mode 100644
index 0000000..abdf2a8
--- /dev/null
+++ b/buildtools/wafsamba/hpuxcc.py
@@ -0,0 +1,56 @@
+# compiler definition for HPUX
+# based on suncc.py from waf
+
+import os, optparse, sys
+import Utils, Options, Configure
+import ccroot, ar
+from Configure import conftest
+import gcc
+
+
+ at conftest
+def gcc_modifier_hpux(conf):
+    v=conf.env
+    v['CCFLAGS_DEBUG']=['-g']
+    v['CCFLAGS_RELEASE']=['-O2']
+    v['CC_SRC_F']=''
+    v['CC_TGT_F']=['-c','-o','']
+    v['CPPPATH_ST']='-I%s'
+    if not v['LINK_CC']:v['LINK_CC']=v['CC']
+    v['CCLNK_SRC_F']=''
+    v['CCLNK_TGT_F']=['-o','']
+    v['LIB_ST']='-l%s'
+    v['LIBPATH_ST']='-L%s'
+    v['STATICLIB_ST']='-l%s'
+    v['STATICLIBPATH_ST']='-L%s'
+    v['RPATH_ST']='-Wl,-rpath,%s'
+    v['CCDEFINES_ST']='-D%s'
+    v['SONAME_ST']='-Wl,-h,%s'
+    v['SHLIB_MARKER']=['-Wl,-Bdynamic']
+#    v['STATICLIB_MARKER']='-Wl,-Bstatic'
+    v['FULLSTATIC_MARKER']='-static'
+    v['program_PATTERN']='%s'
+    v['shlib_CCFLAGS']=['-fPIC','-DPIC']
+    v['shlib_LINKFLAGS']=['-shared']
+    v['shlib_PATTERN']='lib%s.sl'
+#   v['staticlib_LINKFLAGS']=['-Wl,-Bstatic']
+    v['staticlib_PATTERN']='lib%s.a'
+
+gcc.gcc_modifier_hpux = gcc_modifier_hpux
+
+from TaskGen import feature, after
+ at feature('cprogram', 'cshlib')
+ at after('apply_link', 'apply_lib_vars', 'apply_obj_vars')
+def hpux_addfullpath(self):
+  if sys.platform == 'hp-ux11':
+    link = getattr(self, 'link_task', None)
+    if link:
+        lst = link.env.LINKFLAGS
+        buf = []
+        for x in lst:
+           if x.startswith('-L'):
+               p2 = x[2:]
+               if not os.path.isabs(p2):
+                   x = x[:2] + self.bld.srcnode.abspath(link.env) + "/../" + x[2:].lstrip('.')
+           buf.append(x)
+        link.env.LINKFLAGS = buf
diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py
index 5d13fa1..1d3ced1 100644
--- a/buildtools/wafsamba/wafsamba.py
+++ b/buildtools/wafsamba/wafsamba.py
@@ -23,6 +23,7 @@ import samba_conftests
 import samba_abi
 import tru64cc
 import irixcc
+import hpuxcc
 import generic_cc
 import samba_dist
 import samba_wildcard


-- 
Samba Shared Repository


More information about the samba-cvs mailing list