summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/doc/install.texi7
-rw-r--r--libjava/ChangeLog14
-rw-r--r--libjava/Makefile.am13
-rw-r--r--libjava/Makefile.in11
-rwxr-xr-xlibjava/configure91
-rw-r--r--libjava/configure.ac9
-rw-r--r--libjava/gcj/Makefile.in2
-rw-r--r--libjava/include/Makefile.in2
-rw-r--r--libjava/testsuite/Makefile.in2
10 files changed, 123 insertions, 32 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7bbb1cf6bf3..60c89affb86 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2008-09-05 David Daney <ddaney@avtrex.com>
+
+ * doc/install.texi (--enable-reduced-reflection): Document new option.
+
2008-09-05 Bob Wilson <bob.wilson@acm.org>
* config/xtensa/predicates.md (nonimmed_operand, mem_operand): Use
diff --git a/gcc/doc/install.texi b/gcc/doc/install.texi
index e3560c80138..b51a2405aaa 100644
--- a/gcc/doc/install.texi
+++ b/gcc/doc/install.texi
@@ -1582,6 +1582,13 @@ these options. This allows the compile-time linker to resolve
dependencies when statically linking to libgcj. However it makes it
impossible to override the affected portions of libgcj at run-time.
+@item --enable-reduced-reflection
+Build most of libgcj with @option{-freduced-reflection}. This reduces
+the size of libgcj at the expense of not being able to do accurate
+reflection on the classes it contains. This option is safe if you
+know that code using libgcj will never use reflection on the standard
+runtime classes in libgcj (including using serialization, RMI or CORBA).
+
@item --with-ecos
Enable runtime eCos target support.
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 268c02cf6be..728dc982b3a 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,17 @@
+2008-09-05 David Daney <ddaney@avtrex.com>
+
+ * configure.ac (reduced-reflection): New AC_ARG_ENABLE.
+ (build_libgcj_reduced_reflection): New variable.
+ (BUILD_LIBGCJ_REDUCED_REFLECTION): New AM_CONDITIONAL.
+ * Makefile.am (LIBGCJ_REDUCED_REFLECTION_FLAGS): New variable.
+ (%.lo: %.list): Add LIBGCJ_REDUCED_REFLECTION_FLAGS to compile
+ command.
+ (java/util/concurrent.lo, java/util/concurrent/atomic.lo,
+ java/util/concurrent/locks.lo): Override
+ LIBGCJ_REDUCED_REFLECTION_FLAGS.
+ * Makefile.in, include/Makefile.in, testsuite/Makefile.in,
+ gcj/Makefile.in, configure: Regenerate.
+
2008-08-22 Andrew Haley <aph@redhat.com>
PR libgcj/8995:
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index ce6dbd201f7..9b778f543b2 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -173,6 +173,12 @@ else
LIBGCJ_BC_FLAGS = -findirect-dispatch -fno-indirect-classes
endif
+if BUILD_LIBGCJ_REDUCED_REFLECTION
+LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
+else
+LIBGCJ_REDUCED_REFLECTION_FLAGS =
+endif
+
## Extra CFLAGS used for JNI C sources shared with GNU Classpath.
PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
@@ -401,8 +407,13 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND
## Compiling a list of java sources to a single .o.
+# Concurrent things use reflection internally.
+java/util/concurrent.lo \
+java/util/concurrent/atomic.lo \
+java/util/concurrent/locks.lo: LIBGCJ_REDUCED_REFLECTION_FLAGS =
+
%.lo: %.list
- $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$<
+ $(LTGCJCOMPILE) $(LIBGCJ_REDUCED_REFLECTION_FLAGS) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$<
java/lang/Object.lo: classpath/lib/java/lang/Object.class
$(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $<
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index 4aab2bcc835..365c2c579aa 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -588,6 +588,8 @@ AWK = @AWK@
BACKTRACESPEC = @BACKTRACESPEC@
BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@
BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE = @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE = @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@
BUILD_VERSION = @BUILD_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
@@ -936,6 +938,8 @@ AM_GCJFLAGS = \
AM_CFLAGS = @LIBGCJ_CFLAGS@ $(am__append_7)
@SUPPRESS_LIBGCJ_BC_FALSE@LIBGCJ_BC_FLAGS = -findirect-dispatch -fno-indirect-classes
@SUPPRESS_LIBGCJ_BC_TRUE@LIBGCJ_BC_FLAGS =
+@BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@LIBGCJ_REDUCED_REFLECTION_FLAGS =
+@BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@LIBGCJ_REDUCED_REFLECTION_FLAGS = -freduced-reflection
PEDANTIC_CFLAGS = -ansi -pedantic -Wall -Wno-long-long
JCFLAGS = -g
JC1FLAGS = @LIBGCJ_JAVAFLAGS@ $(GCJFLAGS)
@@ -10392,8 +10396,13 @@ lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPEND
$(lib_gnu_awt_xlib_la_LINK) -objectlist lib_gnu_awt_xlib.objectlist \
-rpath $(toolexeclibdir) $(lib_gnu_awt_xlib_la_LDFLAGS) $(LIBS)
+# Concurrent things use reflection internally.
+java/util/concurrent.lo \
+java/util/concurrent/atomic.lo \
+java/util/concurrent/locks.lo: LIBGCJ_REDUCED_REFLECTION_FLAGS =
+
%.lo: %.list
- $(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$<
+ $(LTGCJCOMPILE) $(LIBGCJ_REDUCED_REFLECTION_FLAGS) -c -o $@ -fsource-filename=$(here)/classpath/lib/classes -MT $@ -MD -MP -MF $(basename $@).deps @$<
java/lang/Object.lo: classpath/lib/java/lang/Object.class
$(LTGCJCOMPILE) -c -o $@ -fsource-filename=$(srcdir)/$(basename $@).java $<
diff --git a/libjava/configure b/libjava/configure
index 3547e9d1601..e5931371406 100755
--- a/libjava/configure
+++ b/libjava/configure
@@ -459,7 +459,7 @@ ac_includes_default="\
#endif"
ac_subdirs_all="$ac_subdirs_all classpath libltdl"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_libsubdir build_subdir host_subdir target_subdir multi_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJ_LD_SYMBOLIC_FUNCTIONS LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE X_AWT_TRUE X_AWT_FALSE GCJ_FOR_ECJX GCJH host_exeext INCLTDL LIBLTDL DIRLTDL LIBTOOL SED EGREP FGREP GREP DUMPBIN ac_ct_DUMPBIN NM lt_ECHO CPP CPPFLAGS CXXCPP GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE ECJ_BUILD_JAR ECJ_JAR BUILD_ECJ1_TRUE BUILD_ECJ1_FALSE INSTALL_ECJ_JAR_TRUE INSTALL_ECJ_JAR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME SUPPRESS_LIBGCJ_BC_TRUE SUPPRESS_LIBGCJ_BC_FALSE INTERPRETER INTERPRETER_TRUE INTERPRETER_FALSE LIBFFI LIBFFIINCS PLATFORM USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS extra_ldflags_libjava extra_gij_ldflags extra_ldflags LIBSTDCXXSPEC LIBGCJTESTSPEC GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADSTARTFILESPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV PKG_CONFIG GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE ENABLE_SHARED_TRUE ENABLE_SHARED_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir GCJVERSION dbexecdir gcjsubdir gxx_include_dir libstdcxx_incdir PERL SYSDEP_SOURCES ANONVERSCRIPT_TRUE ANONVERSCRIPT_FALSE LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here python_mod_dir python_mod_dir_expanded MAKE INSTALL_AOT_RPM_TRUE INSTALL_AOT_RPM_FALSE CREATE_JAVA_HOME_TRUE CREATE_JAVA_HOME_FALSE gcc_suffix JAVA_VERSION BUILD_VERSION JVM_ROOT_DIR JVM_JAR_ROOT_DIR JVM_JAR_DIR JRE_DIR SDK_DIR JRE_LNK SDK_LNK SDK_BIN_DIR SDK_LIB_DIR SDK_INCLUDE_DIR JRE_BIN_DIR JRE_LIB_DIR GCJ_BIN_DIR CPU OS LIBDIR LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os build_libsubdir build_subdir host_subdir target_subdir multi_basedir host host_cpu host_vendor host_os target target_cpu target_vendor target_os target_noncanonical LN_S mkinstalldirs JAVA_MAINTAINER_MODE_TRUE JAVA_MAINTAINER_MODE_FALSE CC ac_ct_CC EXEEXT OBJEXT CXX ac_ct_CXX CFLAGS CXXFLAGS LDFLAGS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE AS ac_ct_AS LD ac_ct_LD AR ac_ct_AR RANLIB ac_ct_RANLIB JAR ZIP UNZIP MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LIBGCJ_CFLAGS LIBGCJ_CXXFLAGS LIBGCJ_JAVAFLAGS LIBGCJ_LD_SYMBOLIC LIBGCJ_LD_SYMBOLIC_FUNCTIONS LIBGCJDEBUG TOOLKIT XLIB_AWT_TRUE XLIB_AWT_FALSE X_AWT_TRUE X_AWT_FALSE GCJ_FOR_ECJX GCJH host_exeext INCLTDL LIBLTDL DIRLTDL LIBTOOL SED EGREP FGREP GREP DUMPBIN ac_ct_DUMPBIN NM lt_ECHO CPP CPPFLAGS CXXCPP GCJ GCJFLAGS GCJDEPMODE am__fastdepGCJ_TRUE am__fastdepGCJ_FALSE subdirs TESTSUBDIR_TRUE TESTSUBDIR_FALSE ECJ_BUILD_JAR ECJ_JAR BUILD_ECJ1_TRUE BUILD_ECJ1_FALSE INSTALL_ECJ_JAR_TRUE INSTALL_ECJ_JAR_FALSE JAVA_HOME_SET_TRUE JAVA_HOME_SET_FALSE JAVA_HOME SUPPRESS_LIBGCJ_BC_TRUE SUPPRESS_LIBGCJ_BC_FALSE BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE INTERPRETER INTERPRETER_TRUE INTERPRETER_FALSE LIBFFI LIBFFIINCS PLATFORM USING_WIN32_PLATFORM_TRUE USING_WIN32_PLATFORM_FALSE USING_POSIX_PLATFORM_TRUE USING_POSIX_PLATFORM_FALSE USING_DARWIN_CRT_TRUE USING_DARWIN_CRT_FALSE SYSTEMSPEC ZLIBSPEC ZLIBTESTSPEC X_CFLAGS X_PRE_LIBS X_LIBS X_EXTRA_LIBS extra_ldflags_libjava extra_gij_ldflags extra_ldflags LIBSTDCXXSPEC LIBGCJTESTSPEC GCLIBS GCINCS GCDEPS GCSPEC JC1GCSPEC GCTESTSPEC USING_BOEHMGC_TRUE USING_BOEHMGC_FALSE USING_NOGC_TRUE USING_NOGC_FALSE THREADLIBS THREADINCS THREADDEPS THREADSPEC THREADSTARTFILESPEC THREADLDFLAGS THREADCXXFLAGS USING_POSIX_THREADS_TRUE USING_POSIX_THREADS_FALSE USING_WIN32_THREADS_TRUE USING_WIN32_THREADS_FALSE USING_NO_THREADS_TRUE USING_NO_THREADS_FALSE USE_LIBGCJ_BC_TRUE USE_LIBGCJ_BC_FALSE LIBGCJ_SPEC HASH_SYNC_SPEC USING_GCC_TRUE USING_GCC_FALSE LIBICONV LTLIBICONV PKG_CONFIG GTK_CFLAGS GTK_LIBS GLIB_CFLAGS GLIB_LIBS LIBART_CFLAGS LIBART_LIBS CLASSPATH_SEPARATOR ZLIBS SYS_ZLIBS ZINCS DIVIDESPEC CHECKREFSPEC EXCEPTIONSPEC BACKTRACESPEC IEEESPEC NATIVE_TRUE NATIVE_FALSE ENABLE_SHARED_TRUE ENABLE_SHARED_FALSE NEEDS_DATA_START_TRUE NEEDS_DATA_START_FALSE GCC_UNWIND_INCLUDE toolexecdir toolexecmainlibdir toolexeclibdir GCJVERSION dbexecdir gcjsubdir gxx_include_dir libstdcxx_incdir PERL SYSDEP_SOURCES ANONVERSCRIPT_TRUE ANONVERSCRIPT_FALSE LD_START_STATIC_SPEC LD_FINISH_STATIC_SPEC here python_mod_dir python_mod_dir_expanded MAKE INSTALL_AOT_RPM_TRUE INSTALL_AOT_RPM_FALSE CREATE_JAVA_HOME_TRUE CREATE_JAVA_HOME_FALSE gcc_suffix JAVA_VERSION BUILD_VERSION JVM_ROOT_DIR JVM_JAR_ROOT_DIR JVM_JAR_DIR JRE_DIR SDK_DIR JRE_LNK SDK_LNK SDK_BIN_DIR SDK_LIB_DIR SDK_INCLUDE_DIR JRE_BIN_DIR JRE_LIB_DIR GCJ_BIN_DIR CPU OS LIBDIR LIBOBJS LTLIBOBJS'
ac_subst_files=''
ac_pwd=`pwd`
@@ -1038,6 +1038,9 @@ Optional Features:
use global hash table for monitor locks
--enable-libgcj-bc enable(default) or disable BC ABI for portions of
libgcj
+ --enable-reduced-reflection
+ enable or disable(default) -freduced-reflection when
+ building portions of libgcj
--enable-gc-debug include full support for pointer backtracing etc.
--enable-interpreter enable interpreter
--enable-sjlj-exceptions
@@ -6021,13 +6024,13 @@ if test "${lt_cv_nm_interface+set}" = set; then
else
lt_cv_nm_interface="BSD nm"
echo "int some_variable = 0;" > conftest.$ac_ext
- (eval echo "\"\$as_me:6024: $ac_compile\"" >&5)
+ (eval echo "\"\$as_me:6027: $ac_compile\"" >&5)
(eval "$ac_compile" 2>conftest.err)
cat conftest.err >&5
- (eval echo "\"\$as_me:6027: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
+ (eval echo "\"\$as_me:6030: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
(eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
cat conftest.err >&5
- (eval echo "\"\$as_me:6030: output\"" >&5)
+ (eval echo "\"\$as_me:6033: output\"" >&5)
cat conftest.out >&5
if $GREP 'External.*some_variable' conftest.out > /dev/null; then
lt_cv_nm_interface="MS dumpbin"
@@ -7071,7 +7074,7 @@ ia64-*-hpux*)
;;
*-*-irix6*)
# Find out which ABI we are using.
- echo '#line 7074 "configure"' > conftest.$ac_ext
+ echo '#line 7077 "configure"' > conftest.$ac_ext
if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
(eval $ac_compile) 2>&5
ac_status=$?
@@ -8772,11 +8775,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:8775: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:8778: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:8779: \$? = $ac_status" >&5
+ echo "$as_me:8782: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9094,11 +9097,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9097: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9100: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:9101: \$? = $ac_status" >&5
+ echo "$as_me:9104: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -9199,11 +9202,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9202: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9205: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9206: \$? = $ac_status" >&5
+ echo "$as_me:9209: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -9254,11 +9257,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:9257: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:9260: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:9261: \$? = $ac_status" >&5
+ echo "$as_me:9264: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -12106,7 +12109,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12109 "configure"
+#line 12112 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12206,7 +12209,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12209 "configure"
+#line 12212 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -14244,11 +14247,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14247: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14250: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:14251: \$? = $ac_status" >&5
+ echo "$as_me:14254: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -14343,11 +14346,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14346: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14349: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14350: \$? = $ac_status" >&5
+ echo "$as_me:14353: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -14395,11 +14398,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:14398: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:14401: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:14402: \$? = $ac_status" >&5
+ echo "$as_me:14405: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -15783,11 +15786,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:15786: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:15789: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:15790: \$? = $ac_status" >&5
+ echo "$as_me:15793: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16099,11 +16102,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16102: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16105: $lt_compile\"" >&5)
(eval "$lt_compile" 2>conftest.err)
ac_status=$?
cat conftest.err >&5
- echo "$as_me:16106: \$? = $ac_status" >&5
+ echo "$as_me:16109: \$? = $ac_status" >&5
if (exit $ac_status) && test -s "$ac_outfile"; then
# The compiler can only warn and ignore the option if not recognized
# So say no if there are warnings other than the usual output.
@@ -16198,11 +16201,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16201: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16204: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16205: \$? = $ac_status" >&5
+ echo "$as_me:16208: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -16250,11 +16253,11 @@ else
-e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-e 's:$: $lt_compiler_flag:'`
- (eval echo "\"\$as_me:16253: $lt_compile\"" >&5)
+ (eval echo "\"\$as_me:16256: $lt_compile\"" >&5)
(eval "$lt_compile" 2>out/conftest.err)
ac_status=$?
cat out/conftest.err >&5
- echo "$as_me:16257: \$? = $ac_status" >&5
+ echo "$as_me:16260: \$? = $ac_status" >&5
if (exit $ac_status) && test -s out/conftest2.$ac_objext
then
# The compiler can only warn and ignore the option if not recognized
@@ -18510,6 +18513,25 @@ else
fi
+build_libgcj_reduced_reflection=no
+# Check whether --enable-reduced-reflection or --disable-reduced-reflection was given.
+if test "${enable_reduced_reflection+set}" = set; then
+ enableval="$enable_reduced_reflection"
+ if test "$enable_reduced_reflection" = "yes"; then
+ build_libgcj_reduced_reflection=yes
+ fi
+fi;
+
+
+if test "$build_libgcj_reduced_reflection" = "yes"; then
+ BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE=
+ BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE='#'
+else
+ BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE='#'
+ BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE=
+fi
+
+
# What is the native OS API for MinGW?
# Check whether --with-win32-nlsapi or --without-win32-nlsapi was given.
@@ -18606,7 +18628,7 @@ if test "${enable_sjlj_exceptions+set}" = set; then
:
else
cat > conftest.$ac_ext << EOF
-#line 18609 "configure"
+#line 18631 "configure"
struct S { ~S(); };
void bar();
void foo()
@@ -28367,6 +28389,13 @@ echo "$as_me: error: conditional \"SUPPRESS_LIBGCJ_BC\" was never defined.
Usually this means the macro was only invoked conditionally." >&2;}
{ (exit 1); exit 1; }; }
fi
+if test -z "${BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE}" && test -z "${BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE}"; then
+ { { echo "$as_me:$LINENO: error: conditional \"BUILD_LIBGCJ_REDUCED_REFLECTION\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"BUILD_LIBGCJ_REDUCED_REFLECTION\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+ { (exit 1); exit 1; }; }
+fi
if test -z "${INTERPRETER_TRUE}" && test -z "${INTERPRETER_FALSE}"; then
{ { echo "$as_me:$LINENO: error: conditional \"INTERPRETER\" was never defined.
Usually this means the macro was only invoked conditionally." >&5
@@ -29613,6 +29642,8 @@ s,@JAVA_HOME_SET_FALSE@,$JAVA_HOME_SET_FALSE,;t t
s,@JAVA_HOME@,$JAVA_HOME,;t t
s,@SUPPRESS_LIBGCJ_BC_TRUE@,$SUPPRESS_LIBGCJ_BC_TRUE,;t t
s,@SUPPRESS_LIBGCJ_BC_FALSE@,$SUPPRESS_LIBGCJ_BC_FALSE,;t t
+s,@BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@,$BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE,;t t
+s,@BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@,$BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE,;t t
s,@INTERPRETER@,$INTERPRETER,;t t
s,@INTERPRETER_TRUE@,$INTERPRETER_TRUE,;t t
s,@INTERPRETER_FALSE@,$INTERPRETER_FALSE,;t t
diff --git a/libjava/configure.ac b/libjava/configure.ac
index 6b7949f689f..fc2083f81dc 100644
--- a/libjava/configure.ac
+++ b/libjava/configure.ac
@@ -526,6 +526,15 @@ AC_ARG_ENABLE(libgcj-bc,
fi])
AM_CONDITIONAL(SUPPRESS_LIBGCJ_BC, test "$suppress_libgcj_bc" = "yes")
+build_libgcj_reduced_reflection=no
+AC_ARG_ENABLE(reduced-reflection,
+ AS_HELP_STRING([--enable-reduced-reflection],
+ [enable or disable(default) -freduced-reflection when building portions of libgcj]),
+ [if test "$enable_reduced_reflection" = "yes"; then
+ build_libgcj_reduced_reflection=yes
+ fi])
+AM_CONDITIONAL(BUILD_LIBGCJ_REDUCED_REFLECTION, test "$build_libgcj_reduced_reflection" = "yes")
+
# What is the native OS API for MinGW?
AC_ARG_WITH(win32-nlsapi,
AS_HELP_STRING([--with-win32-nlsapi=ansi or unicows or unicode],
diff --git a/libjava/gcj/Makefile.in b/libjava/gcj/Makefile.in
index 3a1c18f4a76..f7db6a013d4 100644
--- a/libjava/gcj/Makefile.in
+++ b/libjava/gcj/Makefile.in
@@ -99,6 +99,8 @@ AWK = @AWK@
BACKTRACESPEC = @BACKTRACESPEC@
BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@
BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE = @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE = @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@
BUILD_VERSION = @BUILD_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
diff --git a/libjava/include/Makefile.in b/libjava/include/Makefile.in
index 765b9d8ac7d..3041bc329f9 100644
--- a/libjava/include/Makefile.in
+++ b/libjava/include/Makefile.in
@@ -98,6 +98,8 @@ AWK = @AWK@
BACKTRACESPEC = @BACKTRACESPEC@
BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@
BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE = @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE = @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@
BUILD_VERSION = @BUILD_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
diff --git a/libjava/testsuite/Makefile.in b/libjava/testsuite/Makefile.in
index ba058d6c4ea..1a91b22197b 100644
--- a/libjava/testsuite/Makefile.in
+++ b/libjava/testsuite/Makefile.in
@@ -87,6 +87,8 @@ AWK = @AWK@
BACKTRACESPEC = @BACKTRACESPEC@
BUILD_ECJ1_FALSE = @BUILD_ECJ1_FALSE@
BUILD_ECJ1_TRUE = @BUILD_ECJ1_TRUE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE = @BUILD_LIBGCJ_REDUCED_REFLECTION_FALSE@
+BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE = @BUILD_LIBGCJ_REDUCED_REFLECTION_TRUE@
BUILD_VERSION = @BUILD_VERSION@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
OpenPOWER on IntegriCloud