]> git.saurik.com Git - wxWidgets.git/blobdiff - build/aclocal/bakefile.m4
Fix install_name_tool calls in OS X "make install".
[wxWidgets.git] / build / aclocal / bakefile.m4
index 7d05c48b9d3a1a04a8b89dcdfe787cdbfd6bbc4d..6c0d8d7b8a50b202a5365cea54cde7e71dab5991 100644 (file)
@@ -21,8 +21,6 @@ dnl  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 dnl  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 dnl  DEALINGS IN THE SOFTWARE.
 dnl
-dnl  $Id$
-dnl
 dnl  Support macros for makefiles generated by BAKEFILE.
 dnl
 
@@ -126,8 +124,7 @@ AC_DEFUN([AC_BAKEFILE_PLATFORM],
                 PLATFORM_BEOS=1
             ;;
             * )
-                dnl wxWidgets-specific: allow unknown Unix systems
-                dnl AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
+                AC_MSG_ERROR([Unknown platform: $BAKEFILE_FORCE_PLATFORM])
             ;;
         esac
     fi
@@ -208,6 +205,10 @@ AC_DEFUN([AC_BAKEFILE_SUFFIXES],
     dlldir="$libdir"
 
     case "${BAKEFILE_HOST}" in
+        dnl PA-RISC HP systems used .sl but IA64 use ELF-64 and so use the
+        dnl standard .so extension
+        ia64-hp-hpux* )
+        ;;
         *-hp-hpux* )
             SO_SUFFIX="sl"
             SO_SUFFIX_MODULE="sl"
@@ -309,7 +310,9 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
       ;;
 
       *-*-linux* )
-        if test "$INTELCC" = "yes"; then
+        dnl newer icc versions use -fPIC just as gcc does and, in fact, the
+        dnl newest (v10+) ones don't even understand -KPIC any longer
+        if test "$INTELCC" = "yes" -a "$INTELCC8" != "yes"; then
             PIC_FLAG="-KPIC"
         elif test "x$SUNCXX" = "xyes"; then
             SHARED_LD_CC="${CC} -G -o"
@@ -331,7 +334,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
         chmod +x shared-ld-sh
 
         SHARED_LD_MODULE_CC="`pwd`/shared-ld-sh -bundle -headerpad_max_install_names -o"
-        SHARED_LD_MODULE_CXX="CXX=\$(CXX) $SHARED_LD_MODULE_CC"
+        SHARED_LD_MODULE_CXX="CXX=\"\$(CXX)\" $SHARED_LD_MODULE_CC"
 
         dnl Most apps benefit from being fully binded (its faster and static
         dnl variables initialized at startup work).
@@ -438,7 +441,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_LD],
       ;;
 
       powerpc-apple-macos* | \
-      *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-k*bsd*-gnu | \
+      *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | *-*-gnu* | *-*-k*bsd*-gnu | \
       *-*-mirbsd* | \
       *-*-sunos4* | \
       *-*-osf* | \
@@ -484,13 +487,13 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
     USE_SOVERLINUX=0
     USE_SOVERSOLARIS=0
     USE_SOVERCYGWIN=0
-    USE_SOSYMLINKS=0
+    USE_SOTWOSYMLINKS=0
     USE_MACVERSION=0
     SONAME_FLAG=
 
     case "${BAKEFILE_HOST}" in
       *-*-linux* | *-*-freebsd* | *-*-openbsd* | *-*-netbsd* | \
-      *-*-k*bsd*-gnu | *-*-mirbsd* )
+      *-*-k*bsd*-gnu | *-*-mirbsd* | *-*-gnu* )
         if test "x$SUNCXX" = "xyes"; then
             SONAME_FLAG="-h "
         else
@@ -498,20 +501,19 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
         fi
         USE_SOVERSION=1
         USE_SOVERLINUX=1
-        USE_SOSYMLINKS=1
+        USE_SOTWOSYMLINKS=1
       ;;
 
       *-*-solaris2* )
         SONAME_FLAG="-h "
         USE_SOVERSION=1
         USE_SOVERSOLARIS=1
-        USE_SOSYMLINKS=1
       ;;
 
       *-*-darwin* )
         USE_MACVERSION=1
         USE_SOVERSION=1
-        USE_SOSYMLINKS=1
+        USE_SOTWOSYMLINKS=1
       ;;
 
       *-*-cygwin* )
@@ -525,7 +527,7 @@ AC_DEFUN([AC_BAKEFILE_SHARED_VERSIONS],
     AC_SUBST(USE_SOVERSOLARIS)
     AC_SUBST(USE_SOVERCYGWIN)
     AC_SUBST(USE_MACVERSION)
-    AC_SUBST(USE_SOSYMLINKS)
+    AC_SUBST(USE_SOTWOSYMLINKS)
     AC_SUBST(SONAME_FLAG)
 ])
 
@@ -554,16 +556,7 @@ AC_DEFUN([AC_BAKEFILE_DEPS],
 
         if test "x$GCC" = "xyes"; then
             DEPSMODE=gcc
-            case "${BAKEFILE_HOST}" in
-                *-*-darwin* )
-                    dnl -cpp-precomp (the default) conflicts with -MMD option
-                    dnl used by bk-deps (see also http://developer.apple.com/documentation/Darwin/Conceptual/PortingUnix/compiling/chapter_4_section_3.html)
-                    DEPSFLAG="-no-cpp-precomp -MMD"
-                ;;
-                * )
-                    DEPSFLAG="-MMD"
-                ;;
-            esac
+            DEPSFLAG="-MMD"
             AC_MSG_RESULT([gcc])
         elif test "x$MWCC" = "xyes"; then
             DEPSMODE=mwcc
@@ -640,21 +633,8 @@ AC_DEFUN([AC_BAKEFILE_CHECK_BASIC_STUFF],
     AC_CHECK_TOOL(STRIP, strip, :)
     AC_CHECK_TOOL(NM, nm, :)
 
-    dnl This check is necessary because "install -d" doesn't exist on
-    dnl all platforms (e.g. HP/UX), see http://www.bakefile.org/ticket/80
-    AC_MSG_CHECKING([for command to install directories])
-    INSTALL_TEST_DIR=acbftest$$
-    $INSTALL -d $INSTALL_TEST_DIR > /dev/null 2>&1
-    if test $? = 0 -a -d $INSTALL_TEST_DIR; then
-        rmdir $INSTALL_TEST_DIR
-        dnl we must refer to makefile's $(INSTALL) variable and not
-        dnl current value of shell variable, hence the single quoting:
-        INSTALL_DIR='$(INSTALL) -d'
-        AC_MSG_RESULT([$INSTALL -d])
-    else
-        INSTALL_DIR="mkdir -p"
-        AC_MSG_RESULT([mkdir -p])
-    fi
+    dnl Don't use `install -d`, see http://trac.wxwidgets.org/ticket/13452
+    INSTALL_DIR="mkdir -p"
     AC_SUBST(INSTALL_DIR)
 
     LDFLAGS_GUI=
@@ -743,20 +723,19 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
                     GCC_PCH=1
                 ],
                 [
-                    AC_TRY_COMPILE([],
-                        [
-                            #if !defined(__INTEL_COMPILER) || \
-                                (__INTEL_COMPILER < 800)
-                                There is no PCH support
-                            #endif
-                        ],
-                        [
-                            AC_MSG_RESULT([yes])
-                            ICC_PCH=1
-                        ],
-                        [
-                            AC_MSG_RESULT([no])
-                        ])
+                    if test "$INTELCXX8" = "yes"; then
+                        AC_MSG_RESULT([yes])
+                        ICC_PCH=1
+                        if test "$INTELCXX10" = "yes"; then
+                            ICC_PCH_CREATE_SWITCH="-pch-create"
+                            ICC_PCH_USE_SWITCH="-pch-use"
+                        else
+                            ICC_PCH_CREATE_SWITCH="-create-pch"
+                            ICC_PCH_USE_SWITCH="-use-pch"
+                        fi
+                    else
+                        AC_MSG_RESULT([no])
+                    fi
                 ])
             if test $GCC_PCH = 1 -o $ICC_PCH = 1 ; then
                 USE_PCH=1
@@ -772,6 +751,8 @@ AC_DEFUN([AC_BAKEFILE_PRECOMP_HEADERS],
 
     AC_SUBST(GCC_PCH)
     AC_SUBST(ICC_PCH)
+    AC_SUBST(ICC_PCH_CREATE_SWITCH)
+    AC_SUBST(ICC_PCH_USE_SWITCH)
     AC_SUBST(BK_MAKE_PCH)
 ])
 
@@ -832,7 +813,7 @@ AC_DEFUN([AC_BAKEFILE],
     AC_SUBST(OBJCXXFLAGS)
 
 
-    BAKEFILE_BAKEFILE_M4_VERSION="0.2.5"
+    BAKEFILE_BAKEFILE_M4_VERSION="0.2.9"
 
     dnl includes autoconf_inc.m4:
     $1
@@ -938,7 +919,7 @@ elif test ${D}DEPSMODE = mwcc ; then
         fi
         prevarg="${D}arg"
     done
-    
+
     objfilebase=\`basename ${D}objfile\`
     builddir=\`dirname ${D}objfile\`
     depsdir=${D}builddir/${D}DEPSDIRBASE
@@ -967,12 +948,12 @@ elif test ${D}DEPSMODE = unixcc; then
         esac
         shift
     done
-    
+
     objfilebase=\`basename ${D}objfile\`
     builddir=\`dirname ${D}objfile\`
     depsdir=${D}builddir/${D}DEPSDIRBASE
     mkdir -p ${D}depsdir
-    
+
     eval "${D}cmd ${D}DEPSFLAG" | sed "s|.*:|${D}objfile:|" >${D}{depsdir}/${D}{objfilebase}.d
     exit 0
 
@@ -1128,7 +1109,7 @@ while test ${D}{#} -gt 0; do
                 headerfile="${D}{incdir}/${D}{header}"
             fi
         ;;
-        -use-pch|-use_pch )
+        -use-pch|-use_pch|-pch-use )
             shift
             add_to_cmdline=0
         ;;
@@ -1160,7 +1141,7 @@ else
 #include "${D}header"
 EOT
         # using -MF icc complains about differing command lines in creation/use
-        ${D}compiler -c -create_pch ${D}outfile -MMD ${D}file && \\
+        ${D}compiler -c ${ICC_PCH_CREATE_SWITCH} ${D}outfile -MMD ${D}file && \\
           sed -e "s,^.*:,${D}outfile:," -e "s, ${D}file,," < ${D}dfile > ${D}depsfile && \\
           rm -f ${D}file ${D}dfile ${D}{filename}.o
     fi