[SCM] Samba Shared Repository - branch v3-2-test updated - initial-v3-2-unstable-1193-gea36c3a

Jelmer Vernooij jelmer at samba.org
Tue Jan 8 14:44:30 GMT 2008


The branch, v3-2-test has been updated
       via  ea36c3add588061cf338deabb2d8952f2213a8bd (commit)
       via  015cf6b6adfa87ff7c5bb1cec9f98237bad075e1 (commit)
       via  126cc075995ffaeb65317627acae05c1b96cebd0 (commit)
       via  5a30f6377d37d8a5cadce4fb9a2fc19b78fc1709 (commit)
       via  64ff1dad8664f14030c7d78c252d946216798a88 (commit)
      from  a3b348b113f248d2eccffd6073560619a97a2976 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit ea36c3add588061cf338deabb2d8952f2213a8bd
Merge: 015cf6b6adfa87ff7c5bb1cec9f98237bad075e1 a3b348b113f248d2eccffd6073560619a97a2976
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Tue Jan 8 15:43:11 2008 +0100

    Merge branch 'v3-2-test' of ssh://git.samba.org/data/git/samba into v3-2-test

commit 015cf6b6adfa87ff7c5bb1cec9f98237bad075e1
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun Jan 6 15:12:24 2008 +0100

    Review feedback from metze.

commit 126cc075995ffaeb65317627acae05c1b96cebd0
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sun Jan 6 01:12:56 2008 +0100

    Use metze's approach.

commit 5a30f6377d37d8a5cadce4fb9a2fc19b78fc1709
Merge: 64ff1dad8664f14030c7d78c252d946216798a88 3e3205309b75edf7d29633525adfdceb5f8856eb
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Jan 5 23:09:38 2008 +0100

    Merge branch 'v3-2-test' of ssh://git.samba.org/data/git/samba into v3-2-test

commit 64ff1dad8664f14030c7d78c252d946216798a88
Author: Jelmer Vernooij <jelmer at samba.org>
Date:   Sat Jan 5 23:09:25 2008 +0100

    selftest: Use platform-specific equivalents of LD_LIBRARY_PATH for Samba4's smbtorture.

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

Summary of changes:
 source/Makefile.in                  |    7 +-
 source/configure.in                 |    2 +
 source/lib/replace/libreplace_ld.m4 |  167 ++++++++++++++++++++++++++++++++---
 source/script/tests/tests_all.sh    |    6 +-
 4 files changed, 163 insertions(+), 19 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/Makefile.in b/source/Makefile.in
index 3e02b89..a3a7e56 100644
--- a/source/Makefile.in
+++ b/source/Makefile.in
@@ -21,6 +21,7 @@ smbtorture4_path=@smbtorture4_path@
 LIBS=@LIBS@
 CC=@CC@
 SHLD=@SHLD@
+LIB_PATH_VAR=@LIB_PATH_VAR@
 
 ## Dynamic shared libraries build settings
 DSO_EXPORTS_CMD=-Wl,--version-script,$(srcdir)/exports/`basename $@ | sed 's/@SHLIBEXT@$$/syms/'`
@@ -2155,16 +2156,18 @@ test_pam_modules: pam_modules
 			|| exit 1; \
 	done
 
+
 ##
 ## Targets for 'make test'
 ##
 test: all torture timelimit
 	@echo Running Test suite
-	@PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix}/st all "${smbtorture4_path}"
+	@LIB_PATH_VAR=$(LIB_PATH_VAR) PERL="$(PERL)" $(srcdir)/script/tests/selftest.sh ${selftest_prefix}/st all "${smbtorture4_path}"
 
 valgrindtest: all torture timelimit
 	@echo Running Test suite with valgrind
-	@NMBD_VALGRIND="xterm -n nmbd -e valgrind -q --db-attach=yes --num-callers=30" \
+	@LIB_PATH_VAR=$(LIB_PATH_VAR) \
+	 NMBD_VALGRIND="xterm -n nmbd -e valgrind -q --db-attach=yes --num-callers=30" \
 	 WINBINDD_VALGRIND="xterm -n winbindd -e valgrind -q --db-attach=yes --num-callers=30" \
 	 SMBD_VALGRIND="xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30" \
 	 VALGRIND="valgrind -q --num-callers=30 --log-file=${selftest_prefix}/st/valgrind.log" \
diff --git a/source/configure.in b/source/configure.in
index 934a994..5eb85c7 100644
--- a/source/configure.in
+++ b/source/configure.in
@@ -2037,6 +2037,8 @@ AC_MSG_RESULT([$PICFLAG])
 
 AC_DEFINE_UNQUOTED(SHLIBEXT, "$SHLIBEXT", [Shared library extension])
 
+AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR
+
 ################
 
 AC_CACHE_CHECK([for long long],samba_cv_have_longlong,[
diff --git a/source/lib/replace/libreplace_ld.m4 b/source/lib/replace/libreplace_ld.m4
index fd85ef9..cb8e214 100644
--- a/source/lib/replace/libreplace_ld.m4
+++ b/source/lib/replace/libreplace_ld.m4
@@ -1,3 +1,23 @@
+#
+# This offers a nice overview how to build shared libraries on all platforms
+#        http://www.fortran-2000.com/ArnaudRecipes/sharedlib.html
+#
+
+AC_DEFUN([AC_LIBREPLACE_STLD],
+[
+	AC_PATH_PROG(PROG_AR, ar)
+
+	STLD=${PROG_AR}
+
+	AC_SUBST(STLD)
+])
+
+AC_DEFUN([AC_LIBREPLACE_STLD_FLAGS],
+[
+	STLD_FLAGS="-rcs"
+	AC_SUBST(STLD_FLAGS)
+])
+
 AC_DEFUN([AC_LD_EXPORT_DYNAMIC],
 [
 saved_LDFLAGS="$LDFLAGS"
@@ -67,48 +87,102 @@ case "$host_os" in
 		PICFLAG="-KPIC"
 		;;
 	*darwin*)
+		PICFLAG="-fno-common"
 		;;
 esac
 AC_SUBST(PICFLAG)
 ])
 
-AC_DEFUN([AC_LD_SHLDFLAGS],
+AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_LINKER],
+[
+	LD_SHLIB_LINKER="${CC}"
+
+	case "$host_os" in
+		*irix*)
+			LD_SHLIB_LINKER="${PROG_LD}"
+			;;
+	esac
+
+	AC_SUBST(LD_SHLIB_LINKER)
+])
+
+AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_FLAGS],
 [
-	SHLD_FLAGS="-shared"
+	LD_SHLIB_FLAGS="-shared"
 
 	case "$host_os" in
 		*linux*)
-			SHLD_FLAGS="-shared -Wl,-Bsymbolic"
+			LD_SHLIB_FLAGS="-shared -Wl,-Bsymbolic"
 			;;
 		*solaris*)
-			SHLD_FLAGS="-G"
+			LD_SHLIB_FLAGS="-G"
 			if test "${GCC}" = "no"; then
 				## ${CFLAGS} added for building 64-bit shared 
 				## libs using Sun's Compiler
-				SHLD_FLAGS="-G \${CFLAGS}"
+				LD_SHLIB_FLAGS="-G \${CFLAGS}"
 			fi
 			;;
 		*sunos*)
-			SHLD_FLAGS="-G"
+			LD_SHLIB_FLAGS="-G"
 			;;
 		*irix*)
-			SHLD_FLAGS="-shared"
+			LD_SHLIB_FLAGS="-shared"
 			;;
 		*aix*)
-			SHLD_FLAGS="-Wl,-G,-bexpall,-bbigtoc"
+			LD_SHLIB_FLAGS="-Wl,-G,-bexpall,-bbigtoc"
 			;;
 		*hpux*)
 			if test "${GCC}" = "yes"; then
-				SHLD_FLAGS="-shared"
+				LD_SHLIB_FLAGS="-shared"
 			else
-				SHLD_FLAGS="-b"
+				LD_SHLIB_FLAGS="-b"
 			fi
 			;;
+		*osf*)
+			LD_SHLIB_FLAGS="-shared"
+			;;
 		*darwin*)
-			SHLD_FLAGS="-dynamiclib"
+			LD_SHLIB_FLAGS="-dynamiclib -Wl,-search_paths_first"
 			;;
 	esac
 
+	AC_SUBST(LD_SHLIB_FLAGS)
+])
+
+AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_DISALLOW_UNDEF_FLAG],
+[
+	LD_SHLIB_DISALLOW_UNDEF_FLAG=""
+
+	#
+	# TODO: enforce error not only warnings
+	#
+	# NOTE: -Wl,--no-allow-shlib-undefined isn't what we want...
+	#       as it bails out on broken system libraries
+	#
+	case "$host_os" in
+		*osf*)
+			LD_SHLIB_DISALLOW_UNDEF_FLAG="-warning_unresolved"
+			;;
+		*darwin*)
+			LD_SHLIB_DISALLOW_UNDEF_FLAG="-undefined error"
+			;;
+	esac
+
+	AC_SUBST(LD_SHLIB_DISALLOW_UNDEF_FLAG)
+])
+
+AC_DEFUN([AC_LIBREPLACE_SHLD],
+[
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])
+	SHLD="$LD_SHLIB_LINKER"
+	AC_SUBST(SHLD)
+])
+
+AC_DEFUN([AC_LIBREPLACE_SHLD_FLAGS],
+[
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_FLAGS])
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_DISALLOW_UNDEF_FLAG])
+	SHLD_FLAGS="$LD_SHLIB_FLAGS $LD_SHLIB_DISALLOW_UNDEF_FLAG"
 	AC_SUBST(SHLD_FLAGS)
 ])
 
@@ -157,7 +231,7 @@ AC_DEFUN([AC_LD_SONAMEFLAG],
 			SONAMEFLAG="-Wl,-soname,"
 			;;
 		*hpux*)
-			SONAMEFLAG="-Wl,+h "
+			SONAMEFLAG="-Wl,+h,"
 			;;
 		*osf*)
 			SONAMEFLAG="-Wl,-soname,"
@@ -166,7 +240,74 @@ AC_DEFUN([AC_LD_SONAMEFLAG],
 			SONAMEFLAG="-Wl,-soname,"
 			;;
 		*darwin*)
-			SONAMEFLAG="-install_name "
+			SONAMEFLAG="#"
+			;;
+		*aix*)
+			# Not supported
+			SONAMEFLAG="#"
 			;;
 		esac
 ])
+
+AC_DEFUN([AC_LIBREPLACE_MDLD],
+[
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])
+	MDLD="$LD_SHLIB_LINKER"
+	AC_SUBST(MDLD)
+])
+
+AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_ALLOW_UNDEF_FLAG],
+[
+	LD_ALLOW_SHLIB_UNDEF_FLAG=""
+
+	case "$host_os" in
+		*linux*)
+			LD_SHLIB_ALLOW_UNDEF_FLAG="-Wl,--allow-shlib-undefined"
+			;;
+		*osf*)
+			LD_SHLIB_ALLOW_UNDEF_FLAG="-expect_unresolved '*'"
+			;;
+		*darwin*)
+			LD_SHLIB_ALLOW_UNDEF_FLAG="-undefined dynamic_lookup"
+			;;
+	esac
+
+	AC_SUBST(LD_SHLIB_ALLOW_UNDEF_FLAG)
+])
+
+AC_DEFUN([AC_LIBREPLACE_MDLD_FLAGS],
+[
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_FLAGS])
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_ALLOW_UNDEF_FLAG])
+	MDLD_FLAGS="$LD_SHLIB_FLAGS $LD_SHLIB_ALLOW_UNDEF_FLAG"
+	AC_SUBST(MDLD_FLAGS)
+])
+
+AC_DEFUN([AC_LIBREPLACE_RUNTIME_LIB_PATH_VAR],
+[
+	case "$host_os" in
+		*linux*)
+			LIB_PATH_VAR=LD_LIBRARY_PATH
+		;;
+		*solaris*)
+			LIB_PATH_VAR=LD_LIBRARY_PATH
+		;;
+		*hpux*)
+			LIB_PATH_VAR=SHLIB_PATH
+		;;
+		*osf*)
+			LIB_PATH_VAR=LD_LIBRARY_PATH
+		;;
+		*aix*)
+			LIB_PATH_VAR=LIB_PATH
+			;;
+		*irix*)
+			LIB_PATH_VAR=LD_LIBRARY_PATH
+			;;
+		*darwin*)
+			LIB_PATH_VAR=DYLD_LIBRARY_PATH
+			;;
+	esac
+
+	AC_SUBST(LIB_PATH_VAR)
+])
diff --git a/source/script/tests/tests_all.sh b/source/script/tests/tests_all.sh
index 2edc025..259e28e 100755
--- a/source/script/tests/tests_all.sh
+++ b/source/script/tests/tests_all.sh
@@ -1,4 +1,3 @@
-
 $SCRIPTDIR/test_local_s3.sh || failed=`expr $failed + $?`
 $SCRIPTDIR/test_smbtorture_s3.sh //$SERVER_IP/tmp $USERNAME $PASSWORD "" || failed=`expr $failed + $?`
 echo "Testing encrypted"
@@ -8,9 +7,8 @@ echo "Testing encrypted"
 $SCRIPTDIR/test_smbclient_s3.sh $SERVER $SERVER_IP "-e" || failed=`expr $failed + $?`
 $SCRIPTDIR/test_wbinfo_s3.sh $WORKGROUP $SERVER $USERNAME $PASSWORD || failed=`expr $failed + $?`
 
-LD_LIBRARY_PATH="$SAMBA4SHAREDDIR:$LD_LIBRARY_PATH"
-echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH"
-export LD_LIBRARY_PATH
+eval "$LIB_PATH_VAR="\$SAMBA4SHAREDDIR:\$$LIB_PATH_VAR"; export $LIB_PATH_VAR"
+eval echo "$LIB_PATH_VAR=\$$LIB_PATH_VAR"
 SMBTORTURE4VERSION=`$SMBTORTURE4 --version`
 if [ -n "$SMBTORTURE4" -a -n "$SMBTORTURE4VERSION" ];then
 	echo "Running Tests with Samba4's smbtorture"


-- 
Samba Shared Repository


More information about the samba-cvs mailing list