svn commit: samba r26026 - in branches/SAMBA_4_0/source/lib/replace: .

metze at samba.org metze at samba.org
Mon Nov 19 11:34:26 GMT 2007


Author: metze
Date: 2007-11-19 11:34:26 +0000 (Mon, 19 Nov 2007)
New Revision: 26026

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=26026

Log:
libreplace: split some linker macros

create:
AC_LIBREPLACE_LD_SHLIB_LINKER
AC_LIBREPLACE_LD_SHLIB_FLAGS
AC_LIBREPLACE_LD_SHLIB_DISALLOW_UNDEF_FLAG

and prerequire them for:
AC_LIBREPLACE_SHLD
AC_LIBREPLACE_SHLD_FLAGS
AC_LIBREPLACE_MDLD
AC_LIBREPLACE_MDLD_FLAGS

metze

Modified:
   branches/SAMBA_4_0/source/lib/replace/libreplace_ld.m4


Changeset:
Modified: branches/SAMBA_4_0/source/lib/replace/libreplace_ld.m4
===================================================================
--- branches/SAMBA_4_0/source/lib/replace/libreplace_ld.m4	2007-11-19 10:07:29 UTC (rev 26025)
+++ branches/SAMBA_4_0/source/lib/replace/libreplace_ld.m4	2007-11-19 11:34:26 UTC (rev 26026)
@@ -93,59 +93,96 @@
 AC_SUBST(PICFLAG)
 ])
 
-AC_DEFUN([AC_LIBREPLACE_SHLD],
+AC_DEFUN([AC_LIBREPLACE_LD_SHLIB_LINKER],
 [
-	SHLD="${CC}"
+	LD_SHLIB_LINKER="${CC}"
 
 	case "$host_os" in
 		*irix*)
-			SHLD="${PROG_LD}"
+			LD_SHLIB_LINKER="${PROG_LD}"
 			;;
 	esac
 
-	AC_SUBST(SHLD)
+	AC_SUBST(LD_SHLIB_LINKER)
 ])
 
-AC_DEFUN([AC_LIBREPLACE_SHLD_FLAGS],
+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*)
-			SHLD_FLAGS="-shared -warning_unresolved"
+			LD_SHLIB_FLAGS="-shared"
 			;;
 		*darwin*)
-			SHLD_FLAGS="-bundle -flat_namespace -undefined warning -Wl,-search_paths_first"
+			LD_SHLIB_FLAGS="-bundle -flat_namespace -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 warning"
+			;;
+	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)
 ])
 
@@ -214,8 +251,8 @@
 
 AC_DEFUN([AC_LIBREPLACE_MDLD],
 [
-	AC_LIBREPLACE_SHLD()
-	MDLD=$SHLD
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_LINKER])
+	MDLD="$LD_SHLIB_LINKER"
 	AC_SUBST(MDLD)
 ])
 
@@ -240,9 +277,9 @@
 
 AC_DEFUN([AC_LIBREPLACE_MDLD_FLAGS],
 [
-	AC_LIBREPLACE_SHLD_FLAGS()
-	AC_LIBREPLACE_LD_ALLOW_SHLIB_UNDEF_FLAG()
-	MDLD_FLAGS="$SHLD_FLAGS $LD_ALLOW_SHLIB_UNDEF_FLAG"
+	AC_REQUIRE([AC_LIBREPLACE_LD_SHLIB_FLAGS])
+	AC_REQUIRE([AC_LIBREPLACE_LD_ALLOW_SHLIB_UNDEF_FLAG])
+	MDLD_FLAGS="$LD_SHLIB_FLAGS $LD_ALLOW_SHLIB_UNDEF_FLAG"
 	AC_SUBST(MDLD_FLAGS)
 ])
 



More information about the samba-cvs mailing list