diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2007-11-06 02:17:05 +0100 |
---|---|---|
committer | Stefan Metzmacher <metze@samba.org> | 2007-12-21 05:44:27 +0100 |
commit | dd66e34d416a95c1a1d36b032c72f781b14a13b7 (patch) | |
tree | ffda2adf6514a199b8a93932e04c911a82bf90d2 | |
parent | 6e561c7f7de2e1489033da40472311147a46c1f9 (diff) | |
download | samba-dd66e34d416a95c1a1d36b032c72f781b14a13b7.tar.gz samba-dd66e34d416a95c1a1d36b032c72f781b14a13b7.tar.bz2 samba-dd66e34d416a95c1a1d36b032c72f781b14a13b7.zip |
r25851: Move system-specific ldflags checks to libreplace so they can be used by ldb.
(This used to be commit d28c8b822e7b571f24542409376bba8701eeef79)
-rw-r--r-- | .bzrignore | 1 | ||||
-rw-r--r-- | source4/build/m4/check_ld.m4 | 14 | ||||
-rw-r--r-- | source4/lib/ldb/Makefile.in | 5 | ||||
-rw-r--r-- | source4/lib/ldb/configure.ac | 1 | ||||
-rw-r--r-- | source4/lib/replace/libreplace_ld.m4 | 38 |
5 files changed, 45 insertions, 14 deletions
diff --git a/.bzrignore b/.bzrignore index aabb1d9db4..f11092e899 100644 --- a/.bzrignore +++ b/.bzrignore @@ -204,3 +204,4 @@ source/rpc_server/lsa/proto.h source/torture/winbind/proto.h source/lib/ldb/tdbtest.ldb source/lib/ldb/tdbtest.ldb +*.po diff --git a/source4/build/m4/check_ld.m4 b/source4/build/m4/check_ld.m4 index 2d2b53e948..77c22bcfd6 100644 --- a/source4/build/m4/check_ld.m4 +++ b/source4/build/m4/check_ld.m4 @@ -31,7 +31,6 @@ STLD_FLAGS="-rcs" BLDSHARED="false" LD="${CC}" SHLD="${CC}" -SHLD_FLAGS="-shared" SHLIBEXT="so" SONAMEFLAG="" PICFLAG="" @@ -53,29 +52,22 @@ AC_MSG_CHECKING([whether to try to build shared libraries on $host_os]) case "$host_os" in *linux*) BLDSHARED="true" - SHLD_FLAGS="-shared -Wl,-Bsymbolic" SHLD_UNDEF_FLAGS="-Wl,--allow-shlib-undefined" LDFLAGS="$LDFLAGS -Wl,--export-dynamic" SONAMEFLAG="-Wl,-soname=" ;; *solaris*) BLDSHARED="true" - SHLD_FLAGS="-G" SONAMEFLAG="-h " if test "${GCC}" = "yes"; then SONAMEFLAG="-Wl,-soname=" if test "${ac_cv_prog_gnu_ld}" = "yes"; then LDFLAGS="$LDFLAGS -Wl,-E" fi - else - ## ${CFLAGS} added for building 64-bit shared - ## libs using Sun's Compiler - SHLD_FLAGS="-G \${CFLAGS}" fi ;; *sunos*) BLDSHARED="true" - SHLD_FLAGS="-G" SONAMEFLAG="-Wl,-h," ;; *netbsd* | *freebsd* | *dragonfly* ) @@ -92,21 +84,18 @@ case "$host_os" in *irix*) # disabled because us4 fails to link libtorture.so BLDSHARED="false" - SHLD_FLAGS="-set_version sgi1.0 -shared" SONAMEFLAG="-soname " SHLD="${PROG_LD}" ;; *aix*) # disabled because us4 fails to link libtorture.so BLDSHARED="false" - SHLD_FLAGS="-Wl,-G,-bexpall,-bbigtoc" LDFLAGS="$LDFLAGS -Wl,-brtl,-bexpall,-bbigtoc" ;; *hpux*) # Use special PIC flags for the native HP-UX compiler. if test $ac_cv_prog_cc_Ae = yes; then BLDSHARED="true" - SHLD_FLAGS="-b -Wl,-B,symbolic,-b,-z" SONAMEFLAG="-Wl,+h " elif test "${GCC}" = "yes"; then BLDSHARED="true" # I hope this is correct @@ -130,7 +119,6 @@ case "$host_os" in ;; *darwin*) BLDSHARED="true" - SHLD_FLAGS="-bundle -flat_namespace -undefined suppress" SHLIBEXT="dylib" ;; esac @@ -150,6 +138,8 @@ AC_MSG_CHECKING([STLD_FLAGS]) AC_MSG_RESULT([$STLD_FLAGS]) AC_LD_PICFLAG +AC_LD_EXPORT_DYNAMIC +AC_LD_SHLDFLAGS AC_ARG_ENABLE(shared, [ --disable-shared Disable testing for building shared libraries], diff --git a/source4/lib/ldb/Makefile.in b/source4/lib/ldb/Makefile.in index eb10311ccc..fd0caa4a5c 100644 --- a/source4/lib/ldb/Makefile.in +++ b/source4/lib/ldb/Makefile.in @@ -35,6 +35,7 @@ LDAP_LIBS = @LDAP_LIBS@ SHLIBEXT = @SHLIBEXT@ LD_EXPORT_DYNAMIC = @LD_EXPORT_DYNAMIC@ +SHLD_FLAGS = @SHLD_FLAGS@ PICFLAG = @PICFLAG@ CFLAGS=-g -I$(srcdir)/include -Iinclude -I$(srcdir) -I$(srcdir)/.. \ @@ -112,10 +113,10 @@ lib/libldb.a: $(OBJS) @-ranlib $@ lib/libnss_ldb.so.2: $(NSS_OBJ) $(LIBS) bin/libldb.a - $(CC) -shared -Wl,-soname,libnss_ldb.so.2 -o lib/libnss_ldb.so.2 $(NSS_OBJ) $(OBJS) $(LIB_FLAGS) + $(CC) $(SHLD_FLAGS) -Wl,-soname,libnss_ldb.so.2 -o lib/libnss_ldb.so.2 $(NSS_OBJ) $(OBJS) $(LIB_FLAGS) sample_module.$(SHLIBEXT): tests/sample_module.po - $(CC) -shared -o $@ tests/sample_module.po + $(CC) $(SHLD_FLAGS) -o $@ tests/sample_module.po bin/ldbadd: tools/ldbadd.o tools/cmdline.o $(LIBS) $(CC) -o bin/ldbadd tools/ldbadd.o tools/cmdline.o $(LIB_FLAGS) $(LD_EXPORT_DYNAMIC) diff --git a/source4/lib/ldb/configure.ac b/source4/lib/ldb/configure.ac index b4b8788253..ffa3f4f750 100644 --- a/source4/lib/ldb/configure.ac +++ b/source4/lib/ldb/configure.ac @@ -73,6 +73,7 @@ AC_SUBST(EXTRA_OBJ) AC_LD_EXPORT_DYNAMIC AC_LD_PICFLAG +AC_LD_SHLDFLAGS m4_include(libldb.m4) AC_OUTPUT(Makefile ldb.pc) diff --git a/source4/lib/replace/libreplace_ld.m4 b/source4/lib/replace/libreplace_ld.m4 index d3d3f9464f..07dd2db231 100644 --- a/source4/lib/replace/libreplace_ld.m4 +++ b/source4/lib/replace/libreplace_ld.m4 @@ -63,3 +63,41 @@ case "$host_os" in esac AC_SUBST(PICFLAG) ]) + +AC_DEFUN([AC_LD_SHLDFLAGS], +[ + SHLD_FLAGS="-shared" + + case "$host_os" in + *linux*) + SHLD_FLAGS="-shared -Wl,-Bsymbolic" + ;; + *solaris*) + SHLD_FLAGS="-G" + if test "${GCC}" = "no"; then + ## ${CFLAGS} added for building 64-bit shared + ## libs using Sun's Compiler + SHLD_FLAGS="-G \${CFLAGS}" + fi + ;; + *sunos*) + SHLD_FLAGS="-G" + ;; + *irix*) + SHLD_FLAGS="-set_version sgi1.0 -shared" + ;; + *aix*) + SHLD_FLAGS="-Wl,-G,-bexpall,-bbigtoc" + ;; + *hpux*) + if test $ac_cv_prog_cc_Ae = yes; then + SHLD_FLAGS="-b -Wl,-B,symbolic,-b,-z" + fi + ;; + *darwin*) + SHLD_FLAGS="-bundle -flat_namespace -undefined suppress" + ;; + esac + + AC_SUBST(SHLD_FLAGS) +]) |