]> git.saurik.com Git - wxWidgets.git/commitdiff
Check for xlC and add -qunique to CXXFLAGS if we're using it.
authorDavid Elliott <dfe@tgwbd.org>
Sat, 19 Feb 2005 08:16:00 +0000 (08:16 +0000)
committerDavid Elliott <dfe@tgwbd.org>
Sat, 19 Feb 2005 08:16:00 +0000 (08:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32169 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

acinclude.m4
aclocal.m4
configure
configure.in

index 18ea55aad3dd7772f1d542a35fbcd76fecc79fb2..05197a1d7cc2ff46cc65871f3a8b115e9c435de8 100644 (file)
@@ -48,6 +48,37 @@ fi
 ]) dnl AC_DEFUN
 
 
+dnl Based on autoconf _AC_LANG_COMPILER_GNU
+AC_DEFUN([_AC_WX_LANG_COMPILER_XLC],
+[AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler],
+    [wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc],
+    [AC_TRY_COMPILE([],[#ifndef __xlC__
+       choke me
+#endif
+],
+        [wx_compiler_xlc=yes],
+        [wx_compiler_xlc=no])
+    wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$wx_compiler_xlc
+    ])
+])
+
+dnl Loosely based on autoconf AC_PROG_CC
+AC_DEFUN([AC_WX_PROG_XLCC],
+[AC_LANG_PUSH(C)
+_AC_WX_LANG_COMPILER_XLC
+XLCC=`test $wx_compiler_xlc = yes && echo yes`
+AC_LANG_POP(C)
+])
+
+dnl Loosely based on autoconf AC_PROG_CXX
+AC_DEFUN([AC_WX_PROG_XLCXX],
+[AC_LANG_PUSH(C++)
+_AC_WX_LANG_COMPILER_XLC
+XLCXX=`test $wx_compiler_xlc = yes && echo yes`
+AC_LANG_POP(C++)
+])
+
+
 dnl ===========================================================================
 dnl macros to find the a file in the list of include/lib paths
 dnl ===========================================================================
index 5bcaf0d3b9b8d52252aa673aff4e1858860ce65c..e1a2a8af6541a343a2c96183ac1ff950a19b14b5 100644 (file)
@@ -61,6 +61,37 @@ fi
 ]) dnl AC_DEFUN
 
 
+dnl Based on autoconf _AC_LANG_COMPILER_GNU
+AC_DEFUN([_AC_WX_LANG_COMPILER_XLC],
+[AC_CACHE_CHECK([whether we are using the IBM xlC _AC_LANG compiler],
+    [wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc],
+    [AC_TRY_COMPILE([],[#ifndef __xlC__
+       choke me
+#endif
+],
+        [wx_compiler_xlc=yes],
+        [wx_compiler_xlc=no])
+    wx_cv_[]_AC_LANG_ABBREV[]_compiler_xlc=$wx_compiler_xlc
+    ])
+])
+
+dnl Loosely based on autoconf AC_PROG_CC
+AC_DEFUN([AC_WX_PROG_XLCC],
+[AC_LANG_PUSH(C)
+_AC_WX_LANG_COMPILER_XLC
+XLCC=`test $wx_compiler_xlc = yes && echo yes`
+AC_LANG_POP(C)
+])
+
+dnl Loosely based on autoconf AC_PROG_CXX
+AC_DEFUN([AC_WX_PROG_XLCXX],
+[AC_LANG_PUSH(C++)
+_AC_WX_LANG_COMPILER_XLC
+XLCXX=`test $wx_compiler_xlc = yes && echo yes`
+AC_LANG_POP(C++)
+])
+
+
 dnl ===========================================================================
 dnl macros to find the a file in the list of include/lib paths
 dnl ===========================================================================
index 42fe59d96a77da7f8184689104298df0999d63e2..e871b3418170e0124a508f26cd237c9b64c51b9b 100755 (executable)
--- a/configure
+++ b/configure
@@ -11656,6 +11656,79 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+echo "$as_me:$LINENO: checking whether we are using the IBM xlC C compiler" >&5
+echo $ECHO_N "checking whether we are using the IBM xlC C compiler... $ECHO_C" >&6
+if test "${wx_cv_c_compiler_xlc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __xlC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_c_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  wx_compiler_xlc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+wx_compiler_xlc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+    wx_cv_c_compiler_xlc=$wx_compiler_xlc
+
+fi
+echo "$as_me:$LINENO: result: $wx_cv_c_compiler_xlc" >&5
+echo "${ECHO_T}$wx_cv_c_compiler_xlc" >&6
+
+XLCC=`test $wx_compiler_xlc = yes && echo yes`
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -12529,6 +12602,79 @@ ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ex
 ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
 
 
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+echo "$as_me:$LINENO: checking whether we are using the IBM xlC C++ compiler" >&5
+echo $ECHO_N "checking whether we are using the IBM xlC C++ compiler... $ECHO_C" >&6
+if test "${wx_cv_cxx_compiler_xlc+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+
+int
+main ()
+{
+#ifndef __xlC__
+       choke me
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
+  (eval $ac_compile) 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } &&
+        { ac_try='test -z "$ac_cxx_werror_flag"
+                        || test ! -s conftest.err'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; } &&
+        { ac_try='test -s conftest.$ac_objext'
+  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
+  (eval $ac_try) 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  wx_compiler_xlc=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+wx_compiler_xlc=no
+fi
+rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
+    wx_cv_cxx_compiler_xlc=$wx_compiler_xlc
+
+fi
+echo "$as_me:$LINENO: result: $wx_cv_cxx_compiler_xlc" >&5
+echo "${ECHO_T}$wx_cv_cxx_compiler_xlc" >&6
+
+XLCXX=`test $wx_compiler_xlc = yes && echo yes`
+ac_ext=cc
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
 
 
 
+if test "x$XLCXX" = "xyes"; then
+    CXXFLAGS="$CXXFLAGS -qunique"
+fi
+
+
 case "${host}" in
   powerpc-*-darwin* )
     echo "$as_me:$LINENO: checking if __POWERPC__ is already defined" >&5
index 107823cab32148b90ff872b59001fbfe1e096db3..b887677eb92c014b5b7150f72b6122a1b83f9ba5 100644 (file)
@@ -1367,6 +1367,7 @@ if test "x$wx_cv_c_exto" '!=' "x"; then
     _AC_PROG_CC_G
 fi
 AC_BAKEFILE_PROG_MWCC
+AC_WX_PROG_XLCC
 
 dnl is -traditional needed for correct compilations
 dnl   adds -traditional for gcc if needed
@@ -1390,6 +1391,7 @@ if test "x$wx_cv_cxx_exto" '!=' "x"; then
     _AC_PROG_CXX_G
 fi
 AC_BAKEFILE_PROG_MWCXX
+AC_WX_PROG_XLCXX
 
 AC_LANG_RESTORE
 
@@ -1504,6 +1506,13 @@ dnl ------------------------------------------------------------------------
 dnl Platform specific tests
 dnl ------------------------------------------------------------------------
 
+dnl xlC needs -qunique (at least on AIX) so that one source file can be
+dnl compiled to multiple object files and safely linked together.
+if test "x$XLCXX" = "xyes"; then
+    CXXFLAGS="$CXXFLAGS -qunique"
+fi
+
+
 dnl This case is for OS X vs. everything else
 case "${host}" in
   powerpc-*-darwin* )