]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
configure.in: Check for gcc 2.95 -g jboolean bug...
authorAlexandre Oliva <oliva@dcc.unicamp.br>
Sat, 31 Jul 1999 23:59:12 +0000 (23:59 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Sat, 31 Jul 1999 23:59:12 +0000 (23:59 +0000)
1999-07-31  Alexandre Oliva  <oliva@dcc.unicamp.br>

* configure.in: Check for gcc 2.95 -g jboolean bug, that affects
Solaris/x86, adding -g0 to JCFLAGS and CXXFLAGS if needed.
AC_SUBST JCFLAGS.
* Makefile.am (JCFLAGS): Removed; automake will take care of it.
(JC1FLAGS): Replace -g with @JCFLAGS@.
* Makefile.in: Rebuilt.

From-SVN: r28366

libjava/ChangeLog
libjava/Makefile.am
libjava/Makefile.in
libjava/configure
libjava/configure.in
libjava/testsuite/Makefile.in

index d01adcdb59db4459eb941519f1be886d76614a41..d86449609ebb5a977cfbe74aac50affe73c1cd87 100644 (file)
@@ -1,3 +1,12 @@
+1999-07-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
+
+       * configure.in: Check for gcc 2.95 -g jboolean bug, that affects
+       Solaris/x86, adding -g0 to JCFLAGS and CXXFLAGS if needed.
+       AC_SUBST JCFLAGS.
+       * Makefile.am (JCFLAGS): Removed; automake will take care of it.
+       (JC1FLAGS): Replace -g with @JCFLAGS@.
+       * Makefile.in: Rebuilt.
+
 1999-07-31  Alexandre Oliva  <oliva@dcc.unicamp.br>
 
        * java/lang/natSystem.cc (arraycopy): Use bcopy if memmove is not
index 067f49bf6a5800847c13022ec4516677aa4c839f..e152cf5b9cbba7dae07fc1c482a34e91f0374234 100644 (file)
@@ -74,8 +74,7 @@ else
 AM_CFLAGS = @LIBGCJ_CFLAGS@
 endif
 
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+JC1FLAGS = @JCFLAGS@ @LIBGCJ_JAVAFLAGS@
 
 INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) \
        $(EH_COMMON_INCLUDE) $(ZINCS)
index d8836712512828024ab1c619423864d6cce3895d..3cc75ed1c21762ffbf45e1fd168234ee8360388b 100644 (file)
@@ -78,6 +78,7 @@ GCINCS = @GCINCS@
 GCLIBS = @GCLIBS@
 GCOBJS = @GCOBJS@
 GCSPEC = @GCSPEC@
+JCFLAGS = @JCFLAGS@
 LD = @LD@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@
@@ -153,8 +154,7 @@ AM_CXXFLAGS = -fno-rtti -fvtable-thunks @LIBGCJ_CXXFLAGS@ $(WARNINGS)
 @USING_GCC_FALSE@AM_CFLAGS = \
 @USING_GCC_FALSE@@LIBGCJ_CFLAGS@
 
-JCFLAGS = -g
-JC1FLAGS = -g @LIBGCJ_JAVAFLAGS@
+JC1FLAGS = @JCFLAGS@ @LIBGCJ_JAVAFLAGS@
 
 INCLUDES = -Iinclude -I$(top_srcdir)/include $(GCINCS) $(THREADINCS) \
        $(EH_COMMON_INCLUDE) $(ZINCS)
index eedeeb94eca980a14d4099cd096b29cf48453502..fc95e227f4cf47f93fcd9657fd1ec37fd43b359d 100755 (executable)
@@ -4826,12 +4826,62 @@ EOF
 fi
 
 
+echo $ac_n "checking for g++ -g jboolean bug""... $ac_c" 1>&6
+echo "configure:4831: checking for g++ -g jboolean bug" >&5
+if eval "test \"`echo '$''{'libjava_cv_gxx_debug_jboolean_bug'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+   
+  ac_ext=C
+# CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cxx_cross
+
+  cat > conftest.$ac_ext <<EOF
+#line 4844 "configure"
+#include "confdefs.h"
+typedef __java_boolean jboolean;
+int main() {
+
+; return 0; }
+EOF
+if { (eval echo configure:4851: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
+  rm -rf conftest*
+  libjava_cv_gxx_debug_jboolean_bug=no
+else
+  echo "configure: failed program was:" >&5
+  cat conftest.$ac_ext >&5
+  rm -rf conftest*
+  libjava_cv_gxx_debug_jboolean_bug=yes
+fi
+rm -f conftest*
+  ac_ext=c
+# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
+ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
+cross_compiling=$ac_cv_prog_cc_cross
+
+
+fi
+
+echo "$ac_t""$libjava_cv_gxx_debug_jboolean_bug" 1>&6
+if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+  JCFLAGS="$JCFLAGS -g0"
+          
+else
+  JCFLAGS="$JCFLAGS -g"
+fi
+
+
 for ac_prog in perl
 do
 # Extract the first word of "$ac_prog", so it can be a program name with args.
 set dummy $ac_prog; ac_word=$2
 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:4835: checking for $ac_word" >&5
+echo "configure:4885: checking for $ac_word" >&5
 if eval "test \"`echo '$''{'ac_cv_prog_PERL'+set}'`\" = set"; then
   echo $ac_n "(cached) $ac_c" 1>&6
 else
@@ -5095,6 +5145,7 @@ s%@USE_LIBDIR_FALSE@%$USE_LIBDIR_FALSE%g
 s%@EH_COMMON_INCLUDE@%$EH_COMMON_INCLUDE%g
 s%@AM_RUNTESTFLAGS@%$AM_RUNTESTFLAGS%g
 s%@ALLOCA@%$ALLOCA%g
+s%@JCFLAGS@%$JCFLAGS%g
 s%@PERL@%$PERL%g
 s%@here@%$here%g
 
@@ -5352,6 +5403,7 @@ done
 EOF
 cat >> $CONFIG_STATUS <<EOF
 
+libjava_cv_gxx_debug_jboolean_bug=$libjava_cv_gxx_debug_jboolean_bug
 srcdir=${srcdir}
 host=${host}
 target=${target}
@@ -5365,6 +5417,17 @@ CXX="${CXX}"
 EOF
 cat >> $CONFIG_STATUS <<\EOF
 test -z "$CONFIG_HEADERS" || echo timestamp > include/stamp-h
+case " $CONFIG_FILES " in " Makefile ")
+     if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+      rm -f Makefile.new
+      sed < Makefile > Makefile.new \
+       -e '/^CXXCOMPILE = / s/$/ -g0/' \
+       -e '/^LTCXXCOMPILE = / s/$/ -g0/'
+      mv Makefile.new Makefile ||
+      { rm -f Makefile && mv Makefile.new Makefile; }
+    fi
+  ;;
+  esac
 if test -n "$CONFIG_FILES"; then
   ac_file=Makefile . ${libgcj_basedir}/../config-ml.in
 fi
index a686a0bcf155345f57a6a6a64bced7e8cc3f1b64..9f926a072cc581c7c07df1faaea7c8b94d870140 100644 (file)
@@ -497,6 +497,38 @@ AC_TRY_COMPILE([#include <time.h>], [struct tm tim; tim.tm_gmtoff = 0;],
 
 AC_FUNC_ALLOCA
 
+dnl On Solaris/x86, gcc 2.95 ICEs on this testcase
+AC_CACHE_CHECK([for g++ -g jboolean bug], [libjava_cv_gxx_debug_jboolean_bug],
+[ AC_LANG_SAVE
+  AC_LANG_CPLUSPLUS
+  AC_TRY_COMPILE([typedef __java_boolean jboolean;], [],
+    [libjava_cv_gxx_debug_jboolean_bug=no],
+    [libjava_cv_gxx_debug_jboolean_bug=yes])
+  AC_LANG_RESTORE
+])
+if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+  JCFLAGS="$JCFLAGS -g0"
+  dnl Top-leve Makefile overrides CXXFLAGS, and AM_CXXFLAGS is before it,
+  dnl so we have to use this dirty hack
+  dnl Note that, even though this code is within an if statement, it is
+  dnl unconditionally added to config.status, so we have to test again.
+  AC_OUTPUT_COMMANDS([case " $CONFIG_FILES " in " Makefile ")
+     if test "x$libjava_cv_gxx_debug_jboolean_bug" = xyes; then
+      rm -f Makefile.new
+      sed < Makefile > Makefile.new \
+       -e '/^CXXCOMPILE = / s/$/ -g0/' \
+       -e '/^LTCXXCOMPILE = / s/$/ -g0/'
+      mv Makefile.new Makefile ||
+      { rm -f Makefile && mv Makefile.new Makefile; }
+    fi
+  ;;
+  esac],
+  [libjava_cv_gxx_debug_jboolean_bug=$libjava_cv_gxx_debug_jboolean_bug])
+else
+  JCFLAGS="$JCFLAGS -g"
+fi
+AC_SUBST(JCFLAGS)
+
 AC_CHECK_PROGS(PERL, perl, false)
 
 case "${host}" in
index cd20bc9133ff9d4adb0bdea598fda85efdefae83..ca6352e7e3ec3c8dfed7fe13defed9ca96d1bd1a 100644 (file)
@@ -79,6 +79,7 @@ GCINCS = @GCINCS@
 GCLIBS = @GCLIBS@
 GCOBJS = @GCOBJS@
 GCSPEC = @GCSPEC@
+JCFLAGS = @JCFLAGS@
 LD = @LD@
 LIBGCJ_CFLAGS = @LIBGCJ_CFLAGS@
 LIBGCJ_CXXFLAGS = @LIBGCJ_CXXFLAGS@