Added VGCONF_ARCH_SEC.  This fixes problems with building libmpiwrap-*-*.so on
dual-build systems, and will also allow some cut+paste code in Makefile.am
files to be factored out.



git-svn-id: svn://svn.valgrind.org/valgrind/trunk@10195 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/configure.in b/configure.in
index c4361a3..d632153 100644
--- a/configure.in
+++ b/configure.in
@@ -343,6 +343,12 @@
 # -VGP_$(VGCONF_ARCH_PRI)_$(VGCONF_OS).
 AC_SUBST(VGCONF_ARCH_PRI)
 
+# VGCONF_ARCH_SEC is the arch for the secondary build target, eg. "x86".
+# It is passed in to compilation of many C files via -VGA_$(VGCONF_ARCH_SEC)
+# and -VGP_$(VGCONF_ARCH_SEC)_$(VGCONF_OS), if there is a secondary target.
+# It is empty if there is no secondary target.
+AC_SUBST(VGCONF_ARCH_SEC)
+
 # VGCONF_PLATFORM_PRI_CAPS is the primary build target, eg. "AMD64_LINUX".
 # The entire system, including regression and performance tests, will be
 # built for this target.  The "_CAPS" indicates that the name is in capital
@@ -367,6 +373,7 @@
 case "$ARCH_MAX-$VGCONF_OS" in
      x86-linux)
         VGCONF_ARCH_PRI="x86"
+        VGCONF_ARCH_SEC=""
 	VGCONF_PLATFORM_PRI_CAPS="X86_LINUX"
 	VGCONF_PLATFORM_SEC_CAPS=""
         valt_load_address_normal="0x38000000"
@@ -376,14 +383,17 @@
      amd64-linux)
 	if test x$vg_cv_only64bit = xyes; then
            VGCONF_ARCH_PRI="amd64"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="AMD64_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	elif test x$vg_cv_only32bit = xyes; then
 	   VGCONF_ARCH_PRI="x86"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="X86_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	else
            VGCONF_ARCH_PRI="amd64"
+           VGCONF_ARCH_SEC="x86"
 	   VGCONF_PLATFORM_PRI_CAPS="AMD64_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS="X86_LINUX"
 	fi
@@ -393,6 +403,7 @@
 	;;
      ppc32-linux)
         VGCONF_ARCH_PRI="ppc32"
+        VGCONF_ARCH_SEC=""
 	VGCONF_PLATFORM_PRI_CAPS="PPC32_LINUX"
 	VGCONF_PLATFORM_SEC_CAPS=""
         valt_load_address_normal="0x38000000"
@@ -402,14 +413,17 @@
      ppc64-aix5)
 	if test x$vg_cv_only64bit = xyes; then
            VGCONF_ARCH_PRI="ppc64"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="PPC64_AIX5"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	elif test x$vg_cv_only32bit = xyes; then
 	   VGCONF_ARCH_PRI="ppc32"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="PPC32_AIX5"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	else
 	   VGCONF_ARCH_PRI="ppc64"
+           VGCONF_ARCH_SEC="ppc32"
 	   VGCONF_PLATFORM_PRI_CAPS="PPC64_AIX5"
 	   VGCONF_PLATFORM_SEC_CAPS="PPC32_AIX5"
 	fi
@@ -420,15 +434,17 @@
      ppc64-linux)
 	if test x$vg_cv_only64bit = xyes; then
 	   VGCONF_ARCH_PRI="ppc64"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="PPC64_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	elif test x$vg_cv_only32bit = xyes; then
 	   VGCONF_ARCH_PRI="ppc32"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="PPC32_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS=""
-	   VGCONF_ARCH_PRI="ppc32"
 	else
 	   VGCONF_ARCH_PRI="ppc64"
+           VGCONF_ARCH_SEC="ppc32"
 	   VGCONF_PLATFORM_PRI_CAPS="PPC64_LINUX"
 	   VGCONF_PLATFORM_SEC_CAPS="PPC32_LINUX"
 	fi
@@ -438,6 +454,7 @@
 	;;
      x86-darwin)
         VGCONF_ARCH_PRI="x86"
+        VGCONF_ARCH_SEC=""
 	VGCONF_PLATFORM_PRI_CAPS="X86_DARWIN"
 	VGCONF_PLATFORM_SEC_CAPS=""
         valt_load_address_normal="0x0"
@@ -447,15 +464,18 @@
      amd64-darwin)
 	if test x$vg_cv_only64bit = xyes; then
            VGCONF_ARCH_PRI="amd64"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="AMD64_DARWIN"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	elif test x$vg_cv_only32bit = xyes; then
            VGCONF_ARCH_PRI="x86"
+           VGCONF_ARCH_SEC=""
 	   VGCONF_PLATFORM_PRI_CAPS="X86_DARWIN"
 	   VGCONF_PLATFORM_SEC_CAPS=""
 	   VGCONF_ARCH_PRI_CAPS="x86"
 	else
            VGCONF_ARCH_PRI="amd64"
+           VGCONF_ARCH_SEC="x86"
 	   VGCONF_PLATFORM_PRI_CAPS="AMD64_DARWIN"
 	   VGCONF_PLATFORM_SEC_CAPS="X86_DARWIN"
 	fi
@@ -465,6 +485,7 @@
 	;;
     *)
         VGCONF_ARCH_PRI="unknown"
+        VGCONF_ARCH_SEC="unknown"
 	VGCONF_PLATFORM_PRI_CAPS="UNKNOWN"
 	VGCONF_PLATFORM_SEC_CAPS="UNKNOWN"
         AC_MSG_RESULT([no (${ARCH_MAX}-${VGCONF_OS})])
@@ -1911,6 +1932,7 @@
 
          Maximum build arch: ${ARCH_MAX}
          Primary build arch: ${VGCONF_ARCH_PRI}
+       Secondary build arch: ${VGCONF_ARCH_SEC}
                    Build OS: ${VGCONF_OS}
        Primary build target: ${VGCONF_PLATFORM_PRI_CAPS}
      Secondary build target: ${VGCONF_PLATFORM_SEC_CAPS}