This is the mail archive of the java-patches@gcc.gnu.org mailing list for the Java project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Patch: update libgcj configury, try 2


Hello,

Here is an updated configury patch that fixes problems reported by
Andreas Tobler.

A big thank you to Andreas for testing this on darwin/ppc.

We've tested the patch with versions of automake from 1.6.3 to 1.7.9 and
autoconf 2.57 and 2.58.

These updates depend on Michael Koch's libltdl patch.  To test this
patch run the following commands:

aclocal -I .
automake -a
autoconf

Note: do NOT run autoheader.  I haven't updated configure.in to include
an AC_DEFINE for each of the #defines in include/config.h.in.  That will
come as a separate patch.

Please test and comment.

Tom

2003-12-12  Thomas Fitzsimmons  <fitzsim@redhat.com>
	    Andreas Tobler  <a.tobler@schweiz.ch>

	* acinclude.m4: Remove AC_CONFIG_AUX_DIR logic.  Add
	target_alias assignment and libstdc++ comments.  Replace
	LIB_AC_PROG_CXX with AC_PROG_CXX.
	* configure.in: Add AM_PROG_GCJ and AM_PROG_CC_C_O.
	(AC_CONFIG_SUBDIRS): Hard-code libltdl directory.
	Replace EXTRA_CC_FILES with SUPPLY_BACKTRACE conditional.
	Prefix .lo file names with libgcj-.
	* Makefile.am (AUTOMAKE_OPTIONS): Add subdir-objects.
	Handle SUPPLY_BACKTRACE conditional.
	Rename cond_x_ltlibrary cond_xlib_ltlibrary.
	(AM_CXXFLAGS): Move contents to libgcj_la_CXXFLAGS.
	(nat_files, x_nat_files, c_files, extra_cc_files, gtk_c_files,
	javao_files, x_javao_files): Remove variables.
	(libgcj_la_SOURCES): Add math_source_files, java_source_files,
	generated_java_source_files.
	(EXTRA_libgcj_la_SOURCES): Add BACKTRACE_SRC.  Remove
	extra_cc_files. Move c_source_files, java_source_files, and
	built_java_source_files	to math_source_files, java_source_files
	and generated_source_files in libgcj_la_SOURCES.
	(libgcj_la_CXXFLAGS): Move AM_CXXFLAGS here.
	(libgcj_la_GCJFLAGS): Add --encoding=UTF-8 and -Wno-deprecated
	flags.
	(libgcj_la_LIBADD): Remove javao_files, c_files,
	extra_cc_files.  Add LIBLTDL, LIBFFI, ZLIBS and GCLIBS.
	(libgcj_la_LDFLAGS): Remove SYS_ZLIBS.
	Rename gtk_c_headers gtk_jni_headers.
	(lib-gnu-java-awt-peer-gtk.la): Add workaround for dependencies.
	(lib_gnu_java_awt_peer_gtk_la_CFLAGS): Move flags here from old
	gtk_c_files rule.
	(lib_gnu_java_awt_peer_gtk_la_GCJFLAGS): Add -fjni,
	--encoding=UTF-8 and -Wno-deprecated flags.
	(lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES): Depend on JNI
	headers.
	(lib_org_w3c_dom_la_GCJFLAGS): Add --encoding=UTF-8 and
	-Wno-deprecated flags.
	(lib_org_xml_sax_la_GCJFLAGS): Likewise.
	(lib_org_w3c_dom_la_LINK): Set to $(LIBLINK).
	(lib_org_xml_sax_la_LINK): Likewise.
	(lib_gnu_awt_xlib_la_SOURCES): Add Java source files.
	(EXTRA_lib_gnu_awt_xlib_la_SOURCES): Remove.
	(lib_gnu_awt_xlib_la_DEPENDENCIES): Remove java object files.
	(lib_gnu_awt_xlib_la_GCJFLAGS): Add --encoding=UTF-8 and
	-Wno-deprecated flags.
	Rename all_java_source_files libgcj_jar_java_source_files.
	Rename built_java_source_files generated_java_source_files.
	Rename x_java_source_files xlib_java_source_files.
	(clean-nat, .class.lo, .java.lo, $(nat_files) $(x_nat_files),
	$(c_files), $(extra_cc_files), $(c_files), $(gtk_c_files),
	$(javao_files) $(x_javao_files) $(lib_org_w3c_dom_la_OBJECTS)
	$(lib_org_xml_sax_la_OBJECTS),
	$(gtk_awt_peer_sources:.java=.lo), libgcj.la: Remove targets.
	Consolidate all gen-from-JIS logic inside MAINTAINER_MODE block.
	(CONVERT_DIR): Remove.
	(EXTRA_jv_convert_SOURCES): Remove.
	(jv_convert_DEPENDENCIES): Remove
	$(convert_source_files:.java=.lo).
	(EXTRA_rmic_SOURCES): Remove.
	(EXTRA_rmiregistry_SOURCES): Remove.
	Rename built_java_source_files generated_java_source_files.
	Rename c_source_files math_source_files.
	(extra_cc_source_files): Remove.
	Rename x_java_source_files xlib_java_source_files.
	Rename x_nat_source_files xlib_nat_source_files.

Index: acinclude.m4
===================================================================
RCS file: /cvs/gcc/gcc/libjava/acinclude.m4,v
retrieving revision 1.25
diff -u -r1.25 acinclude.m4
--- acinclude.m4	24 Sep 2003 05:39:23 -0000	1.25
+++ acinclude.m4	12 Dec 2003 20:36:52 -0000
@@ -36,18 +36,26 @@
 libgcj_basedir=$srcdir/$toprel/$1/libjava
 AC_SUBST(libgcj_basedir)
 
-AC_CONFIG_AUX_DIR(${srcdir}/$toprel)
-if :; then :; else
-  # This overrides the previous occurrence for automake, but not for
-  # autoconf, which is exactly what we want.
-  AC_CONFIG_AUX_DIR(..)
-fi
-
 # This works around an automake problem.
 mkinstalldirs="`cd $ac_aux_dir && ${PWDCMD-pwd}`/mkinstalldirs"
 AC_SUBST(mkinstalldirs)
 
+# Gets build, host, target, *_vendor, *_cpu, *_os, etc.
+#
+# You will slowly go insane if you do not grok the following fact:  when
+# building v3 as part of the compiler, the top-level /target/ becomes the
+# library's /host/.  configure then causes --target to default to --host,
+# exactly like any other package using autoconf.  Therefore, 'target' and
+# 'host' will always be the same.  This makes sense both for native and
+# cross compilers, just think about it for a little while.  :-)
+#
+# Also, if v3 is being configured as part of a cross compiler, the top-level
+# configure script will pass the "real" host as $with_cross_host.
+#
+# Do not delete or change the following two lines.  For why, see
+# http://gcc.gnu.org/ml/libstdc++/2003-07/msg00451.html
 AC_CANONICAL_SYSTEM
+target_alias=${target_alias-$host_alias}
 
 dnl This shouldn't be needed, as long as top-level dependencies are
 dnl defined correctly and shared-library paths are set up so that
@@ -57,49 +65,7 @@
 
 AC_PROG_CC
 
-# We use the libstdc++-v3 version of LIB_AC_PROG_CXX, but use
-# glibjava_CXX instead of glibcpp_CXX.  That's because we're passed a
-# different definition of CXX than other directories, since we don't
-# depend on libstdc++-v3 having already been built.
-AC_DEFUN(LIB_AC_PROG_CXX,
-[AC_BEFORE([$0], [AC_PROG_CXXCPP])dnl
-dnl Fool anybody using AC_PROG_CXX.
-AC_PROVIDE([AC_PROG_CXX])
-# Use glibjava_CXX so that we do not cause CXX to be cached with the
-# flags that come in CXX while configuring libjava.  They're different
-# from those used for all other target libraries.  If CXX is set in
-# the environment, respect that here.
-glibjava_CXX=$CXX
-AC_CHECK_PROGS(glibjava_CXX, $CCC c++ g++ gcc CC cxx cc++, gcc)
-AC_SUBST(CXX)
-CXX=$glibjava_CXX
-test -z "$glibjava_CXX" && AC_MSG_ERROR([no acceptable c++ found in \$PATH])
-
-AC_PROG_CXX_GNU
-
-if test $ac_cv_prog_gxx = yes; then
-  GXX=yes
-dnl Check whether -g works, even if CXXFLAGS is set, in case the package
-dnl plays around with CXXFLAGS (such as to build both debugging and
-dnl normal versions of a library), tasteless as that idea is.
-  ac_test_CXXFLAGS="${CXXFLAGS+set}"
-  ac_save_CXXFLAGS="$CXXFLAGS"
-  CXXFLAGS=
-  AC_PROG_CXX_G
-  if test "$ac_test_CXXFLAGS" = set; then
-    CXXFLAGS="$ac_save_CXXFLAGS"
-  elif test $ac_cv_prog_cxx_g = yes; then
-    CXXFLAGS="-g -O2"
-  else
-    CXXFLAGS="-O2"
-  fi
-else
-  GXX=
-  test "${CXXFLAGS+set}" = set || CXXFLAGS="-g"
-fi
-])
-
-LIB_AC_PROG_CXX
+AC_PROG_CXX
 
 dnl version is pulled out to make it a bit easier to change using sed.
 version=0.0.7
Index: configure.in
===================================================================
RCS file: /cvs/gcc/gcc/libjava/configure.in,v
retrieving revision 1.176
diff -u -r1.176 configure.in
--- configure.in	2 Dec 2003 22:26:45 -0000	1.176
+++ configure.in	12 Dec 2003 20:36:52 -0000
@@ -39,7 +39,9 @@
 AC_SUBST(LIBLTDL)
 AC_SUBST(DIRLTDL)
 AM_PROG_LIBTOOL
-AC_CONFIG_SUBDIRS($DIRLTDL)
+AM_PROG_GCJ
+AM_PROG_CC_C_O
+AC_CONFIG_SUBDIRS(libltdl)
 
 if test -z "$with_target_subdir" || test "$with_target_subdir" = "."; then
    COMPPATH=.
@@ -252,8 +254,7 @@
 TARGET_ECOS="$with_ecos"
 )
 
-EXTRA_CC_FILES=
-AC_SUBST(EXTRA_CC_FILES)
+AM_CONDITIONAL(SUPPLY_BACKTRACE, false)
 
 PLATFORMOBJS=
 case "$TARGET_ECOS" in
@@ -261,14 +262,14 @@
       *mingw*)
             PLATFORM=Win32
 	    PLATFORMNET=Win32
-            PLATFORMOBJS=win32.lo
+            PLATFORMOBJS=libgcj_la-win32.lo
 	    PLATFORMH=win32.h
         CHECK_FOR_BROKEN_MINGW_LD
       ;;
       *)
             PLATFORM=Posix
 	    PLATFORMNET=Posix
-            PLATFORMOBJS=posix.lo
+            PLATFORMOBJS=libgcj_la-posix.lo
 	    PLATFORMH=posix.h
       ;;
       esac
@@ -277,7 +278,7 @@
       PLATFORM=Ecos
       PLATFORMNET=NoNet
       AC_DEFINE(ECOS, 1, [Define if you're running eCos.])
-      PLATFORMOBJS=posix.lo
+      PLATFORMOBJS=libgcj_la-posix.lo
       PLATFORMH=posix.h
       ;;
 esac
@@ -434,14 +435,14 @@
     dnl We also want to pick up some cpp flags required when including
     dnl boehm-config.h.  Yuck.
     GCINCS="`cat ../boehm-gc/boehm-cflags`"
-    GCOBJS=boehm.lo
+    GCOBJS=libgcj_la-boehm.lo
     GCHDR=boehm-gc.h
     dnl The POSIX thread support needs to know this.
     AC_DEFINE(HAVE_BOEHM_GC, 1, [Define if Boehm GC in use.])
     ;;
  no)
     AC_MSG_RESULT(none)
-    GCOBJS=nogc.lo
+    GCOBJS=libgcj_la-nogc.lo
     GCHDR=no-gc.h
     ;;
  *)
@@ -530,7 +531,7 @@
 	THREADSPEC=-lpthread
 	;;
     esac
-    THREADOBJS=posix-threads.lo
+    THREADOBJS=libgcj_la-posix-threads.lo
     THREADH=posix-threads.h
     # MIT pthreads doesn't seem to have the mutexattr functions.
     # But for now we don't check for it.  We just assume you aren't
@@ -546,12 +547,12 @@
     ;;
 
  win32)
-    THREADOBJS=win32-threads.lo
+    THREADOBJS=libgcj_la-win32-threads.lo
     THREADH=win32-threads.h
     ;;
 
  none)
-    THREADOBJS=no-threads.lo
+    THREADOBJS=libgcj_la-no-threads.lo
     THREADH=no-threads.h
     ;;
 esac
@@ -634,7 +635,7 @@
        mips*-*-linux*)
          # Has broken backtrace(), but we supply our own.
          if test -d sysdep; then true; else mkdir -p sysdep; fi
-         EXTRA_CC_FILES="${EXTRA_CC_FILES} sysdep/dwarf2-backtrace.cc"
+	 AM_CONDITIONAL(SUPPLY_BACKTRACE, true)
          AC_DEFINE(HAVE_BACKTRACE, 1,
            [Define if your platform has a working backtrace() function.])
          ;;
Index: Makefile.am
===================================================================
RCS file: /cvs/gcc/gcc/libjava/Makefile.am,v
retrieving revision 1.337
diff -u -r1.337 Makefile.am
--- Makefile.am	9 Dec 2003 18:45:08 -0000	1.337
+++ Makefile.am	12 Dec 2003 20:36:53 -0000
@@ -1,9 +1,15 @@
 ## Process this file with automake to produce Makefile.in.
 
-AUTOMAKE_OPTIONS = foreign
+AUTOMAKE_OPTIONS = foreign subdir-objects
 
 ACLOCAL_AMFLAGS = -I .
 
+if SUPPLY_BACKTRACE
+BACKTRACE_SRC = sysdep/dwarf2-backtrace.cc
+else
+BACKTRACE_SRC =
+endif
+
 if TESTSUBDIR
 SUBDIRS = $(DIRLTDL) testsuite gcj include
 else
@@ -26,11 +32,11 @@
 ##
 
 if XLIB_AWT
-cond_x_ltlibrary = lib-gnu-awt-xlib.la
+cond_xlib_ltlibrary = lib-gnu-awt-xlib.la
 ## We require libstdc++-v3 to be in the same build tree.
 xlib_includes = -I../libstdc++-v3/include -I../libstdc++-v3/include/$(target_alias) -I$(srcdir)/../libstdc++-v3/libsupc++
 else
-cond_x_ltlibrary =
+cond_xlib_ltlibrary =
 xlib_includes =
 endif
 
@@ -41,7 +47,7 @@
 endif
 
 toolexeclib_LTLIBRARIES = libgcj.la lib-org-xml-sax.la lib-org-w3c-dom.la \
-    $(cond_gtk_ltlibrary) $(cond_x_ltlibrary)
+    $(cond_gtk_ltlibrary) $(cond_xlib_ltlibrary)
 toolexecmainlib_DATA = libgcj.spec
 
 pkgconfigdir = $(libdir)/pkgconfig
@@ -104,16 +110,7 @@
 GCC_UNWIND_INCLUDE = @GCC_UNWIND_INCLUDE@
 
 WARNINGS = -W -Wall
-## We need _GNU_SOURCE defined for some Linux builds.  It doesn't hurt
-## to always define it.
-AM_CXXFLAGS = -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) \
-## Some systems don't allow `$' in identifiers by default, so we force it.
-	-fdollars-in-identifiers \
-## Detect bugs in the verifier implementation, and maybe other places.
-	-Wswitch-enum \
-	@LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE \
-	-DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" \
-	-DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\""
+
 if USING_GCC
 AM_CFLAGS = @LIBGCJ_CFLAGS@ $(WARNINGS)
 else
@@ -135,36 +132,27 @@
 ## How to build libgcj.a and libgcj.jar
 ##
 
-## Objects from C++ sources in subdirs.
-nat_files = $(nat_source_files:.cc=.lo)
-x_nat_files = $(x_nat_source_files:.cc=.lo)
-## Objects from C sources in subdirs.
-c_files = $(c_source_files:.c=.lo)
-extra_cc_files = $(extra_cc_source_files:.cc=.lo)
-## Objects from gtk-related C sources in subdirs.
-gtk_c_files = $(gtk_c_source_files:.c=.lo)
-## Objects from Java sources in subdirs.
-javao_files = $(java_source_files:.java=.lo) \
-	$(built_java_source_files:.java=.lo)
-x_javao_files = $(x_java_source_files:.java=.lo)
-
 libgcj_la_SOURCES = prims.cc jni.cc exception.cc \
 	resolve.cc defineclass.cc interpret.cc verify.cc \
-	$(nat_source_files)
+	$(nat_source_files) $(math_source_files) $(java_source_files) \
+	$(generated_java_source_files)
 EXTRA_libgcj_la_SOURCES = boehm.cc nogc.cc posix-threads.cc no-threads.cc \
-	win32-threads.cc posix.cc win32.cc $(c_source_files) \
-	$(extra_cc_source_files) $(java_source_files) $(built_java_source_files)
-libgcj_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(javao_files) \
-	$(c_files) $(extra_cc_files) $(GCOBJS) $(THREADOBJS) \
-       $(PLATFORMOBJS) $(LIBLTDL) $(LIBFFI) $(ZLIBS) $(GCLIBS)
+	$(BACKTRACE_SRC) win32-threads.cc posix.cc win32.cc
+## We need _GNU_SOURCE defined for some Linux builds.  It doesn't hurt
+## to always define it.
+libgcj_la_CXXFLAGS = -I $(top_builddir)  -fno-rtti -fnon-call-exceptions $(THREADCXXFLAGS) -fdollars-in-identifiers -Wswitch-enum @LIBGCJ_CXXFLAGS@ @X_CFLAGS@ $(WARNINGS) -D_GNU_SOURCE -DPREFIX="\"$(prefix)\"" -DLIBDIR="\"$(libdir)\"" -DLT_NON_POSIX_NAMESPACE -DGCJVERSION="\"$(GCJVERSION)\"" -DBOOT_CLASS_PATH="\"$(jardir)/$(jar_DATA)\""
+libgcj_la_GCJFLAGS = --encoding=UTF-8 -Wno-deprecated
+libgcj_la_DEPENDENCIES = libgcj-@gcc_version@.jar \
+	$(GCOBJS) $(THREADOBJS) java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h \
+	$(PLATFORMOBJS) $(LIBLTDL) $(LIBFFI) $(ZLIBS) $(GCLIBS)
+libgcj_la_LIBADD = $(GCOBJS) \
+	$(THREADOBJS) $(PLATFORMOBJS) $(LIBLTDL) $(LIBFFI) $(ZLIBS) $(GCLIBS)
 
-libgcj_la_LIBADD = $(javao_files) $(c_files) $(extra_cc_files) $(GCOBJS) \
-	$(THREADOBJS) $(PLATFORMOBJS)
 # Include THREADLIBS here to ensure that the correct version of
 # certain linuxthread functions get linked:
+## The mysterious backslash in the grep pattern is consumed by make.
 libgcj_la_LDFLAGS = -rpath $(toolexeclibdir) $(THREADLDFLAGS) $(THREADLIBS) \
-	$(LIBLTDL) $(SYS_ZLIBS) \
-## The mysterious backslash is consumed by make.
+	$(SYS_ZLIBS) \
 	-version-info `grep -v '^\#' $(srcdir)/libtool-version`
 libgcj_la_LINK = $(LIBLINK)
 
@@ -247,13 +235,19 @@
 gnu/java/awt/peer/gtk/GtkToolkit.java \
 gnu/java/awt/peer/gtk/GtkWindowPeer.java
 
-gtk_c_headers = $(patsubst %.java,jniinclude/%.h,$(subst /,_,$(gtk_awt_peer_sources)))
+gtk_jni_headers = $(patsubst %.java,jniinclude/%.h,$(subst /,_,$(gtk_awt_peer_sources)))
 
-$(gtk_c_headers): $(gtk_awt_peer_sources)
+$(gtk_jni_headers): $(gtk_awt_peer_sources)
 	@input=`echo $@ | sed -e 's,jniinclude/,,' -e 's,_,.,g' -e 's,.h$$,,'`; \
 	echo "$(GCJH) -jni -d jniinclude -classpath '' -bootclasspath $(top_builddir) $$input"; \
 	$(GCJH) -jni -d jniinclude -classpath '' -bootclasspath $(top_builddir) $$input
 
+## FIXME: either libtool or automake puts DEPENDENCIES and OBJECTS in
+## the wrong order.  DEPENDENCIES need to come before OBJECTS so that
+## JNI headers are built before JNI C files.
+lib-gnu-java-awt-peer-gtk.la: $(lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES) $(lib_gnu_java_awt_peer_gtk_la_OBJECTS)
+	$(LIBLINK) -rpath $(toolexeclibdir) $(lib_gnu_java_awt_peer_gtk_la_LDFLAGS) $(lib_gnu_java_awt_peer_gtk_la_OBJECTS) $(lib_gnu_java_awt_peer_gtk_la_LIBADD) $(LIBS)
+
 lib_gnu_java_awt_peer_gtk_la_SOURCES = \
 $(gtk_awt_peer_sources) \
 $(gtk_c_source_files) \
@@ -263,8 +257,11 @@
 jni/classpath/jnilink.h	\
 jni/classpath/native_state.h \
 jni/classpath/primlib.h
-
+lib_gnu_java_awt_peer_gtk_la_CFLAGS = -Ijniinclude -I$(srcdir)/jni/classpath \
+	-I$(srcdir)/jni/gtk-peer $(GTK_CFLAGS) $(LIBART_CFLAGS)
+lib_gnu_java_awt_peer_gtk_la_GCJFLAGS = --encoding=UTF-8 -Wno-deprecated -fjni
 lib_gnu_java_awt_peer_gtk_la_LIBADD = $(GTK_LIBS) $(GLIB_LIBS) $(LIBART_LIBS)
+lib_gnu_java_awt_peer_gtk_la_DEPENDENCIES = $(gtk_jni_headers)
 
 lib_org_w3c_dom_la_SOURCES = org/w3c/dom/Attr.java \
 org/w3c/dom/CDATASection.java \
@@ -291,6 +288,8 @@
 org/w3c/dom/traversal/NodeFilter.java \
 org/w3c/dom/traversal/NodeIterator.java \
 org/w3c/dom/traversal/TreeWalker.java
+lib_org_w3c_dom_la_GCJFLAGS = --encoding=UTF-8 -Wno-deprecated
+lib_org_w3c_dom_la_LINK = $(LIBLINK)
 
 lib_org_xml_sax_la_SOURCES = org/xml/sax/ext/DeclHandler.java \
 org/xml/sax/ext/LexicalHandler.java \
@@ -322,33 +321,35 @@
 org/xml/sax/SAXParseException.java \
 org/xml/sax/XMLFilter.java \
 org/xml/sax/XMLReader.java
+lib_org_xml_sax_la_GCJFLAGS = --encoding=UTF-8 -Wno-deprecated
+lib_org_xml_sax_la_LINK = $(LIBLINK)
 
-lib_gnu_awt_xlib_la_SOURCES = $(x_nat_source_files)
-EXTRA_lib_gnu_awt_xlib_la_SOURCES = $(x_java_source_files)
-lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-@gcc_version@.jar $(x_javao_files)
-lib_gnu_awt_xlib_la_LIBADD = $(x_javao_files)
+lib_gnu_awt_xlib_la_SOURCES = $(xlib_nat_source_files) \
+	$(xlib_java_source_files)
+lib_gnu_awt_xlib_la_DEPENDENCIES = libgcj-@gcc_version@.jar
+lib_gnu_awt_xlib_la_GCJFLAGS = --encoding=UTF-8 -Wno-deprecated
+## The mysterious backslash in the grep pattern is consumed by make.
 lib_gnu_awt_xlib_la_LDFLAGS = ../libstdc++-v3/src/libstdc++.la \
 	@X_PRE_LIBS@ @X_LIBS@ -lX11 @X_EXTRA_LIBS@ \
         -rpath $(toolexeclibdir) \
-## The mysterious backslash is consumed by make.
         -version-info `grep -v '^\#' $(srcdir)/libtool-version`
 lib_gnu_awt_xlib_la_LINK = $(LIBLINK)
 
-all_java_source_files = \
+libgcj_jar_java_source_files = \
     $(java_source_files) \
-    $(built_java_source_files) \
+    $(generated_java_source_files) \
     $(lib_org_xml_sax_la_SOURCES) \
     $(lib_org_w3c_dom_la_SOURCES) \
     $(gtk_awt_peer_sources) \
-    $(x_java_source_files)
+    $(xlib_java_source_files)
 
-all_java_class_files = $(all_java_source_files:.java=.class)
+libgcj_jar_java_class_files = $(libgcj_jar_java_source_files:.java=.class)
 
 if ONESTEP
 
 # Compile all classfiles in one go.
 
-libgcj-@gcc_version@.jar: $(all_java_source_files)
+libgcj-@gcc_version@.jar: $(libgcj_jar_java_source_files)
 	-@rm -f libgcj-@gcc_version@.jar
 	@echo Compiling Java sourcefiles...
 	@: $(call write_entries_to_file,$?,libgcj.sourcelist)
@@ -363,7 +364,7 @@
 # libgcj jarfile is built and 2) anything which depends
 # on a particular .class file must wait until the jarfile
 # is built.
-$(all_java_class_files): libgcj-@gcc_version@.jar
+$(libgcj_jar_java_class_files): libgcj-@gcc_version@.jar
 
 else # !ONESTEP
 
@@ -372,7 +373,7 @@
 .java.class:
 	$(JAVAC) $(JCFLAGS) -classpath '' -bootclasspath $(here):$(srcdir) -d $(here) $<
 
-libgcj-@gcc_version@.jar: $(all_java_class_files)
+libgcj-@gcc_version@.jar: $(libgcj_jar_java_class_files)
 	-@rm -f libgcj-@gcc_version@.jar
 ## Note that we explicitly want to include directory information.
 	find java gnu javax org -type d -o -type f -name '*.class' | \
@@ -383,7 +384,7 @@
 
 # Note: The libtool objects are removed by mostlyclean-local
 # because of command-line-length issues.
-MOSTLYCLEANFILES = $(nat_headers) $(x_nat_headers)
+MOSTLYCLEANFILES = $(nat_headers) $(xlib_nat_headers)
 
 CLEANFILES = libgcj-@gcc_version@.jar
 
@@ -399,57 +400,8 @@
 ## Remove every .d file that was created.
 	find . -name '*.d' -print | xargs rm -f
 
-# Just remove the objects from C++ sources, for testing the C++ compiler.
-clean-nat:
-	rm -f $(nat_files) $(x_nat_files)
-
 SUFFIXES = .class .java .h
 
-.class.lo:
-	$(GCJCOMPILE) -o $@ $<
-
-.java.lo:
-	$(GCJCOMPILE) -o $@ $<
-
-## FIXME: For the .o files in subdirs, use a special rule.  The
-## standard automake rule can't be overridden (this is a bug in
-## automake), and it also won't put the .o files into subdirs.
-$(nat_files) $(x_nat_files): %.lo: %.cc
-	@echo '$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<'; \
-	$(LTCXXCOMPILE) -MD -MT $@ -MF $(@:.lo=.pp) -c -o $@ $<
-	@-mv $(@:.lo=.pp) $(@:.lo=.d)
-
-## FIXME: see above
-$(c_files): %.lo: %.c
-	$(LTCOMPILE) -c -o $@ $<
-
-$(extra_cc_files): %.lo: %.cc
-	$(LTCXXCOMPILE) -c -o $@ $<
-
-$(c_files): java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h
-
-## FIXME: see above
-$(gtk_c_files): %.lo: %.c
-	$(LTCOMPILE) -c -Ijniinclude -I$(srcdir)/jni/classpath -I$(srcdir)/jni/gtk-peer $(GTK_CFLAGS) $(LIBART_CFLAGS) -o $@ $<
-
-$(gtk_c_files): $(gtk_c_headers)
-
-## FIXME: see above.
-$(javao_files) $(x_javao_files) $(lib_org_w3c_dom_la_OBJECTS) $(lib_org_xml_sax_la_OBJECTS): %.lo: %.java
-	$(GCJCOMPILE) -o $@ $<
-
-$(gtk_awt_peer_sources:.java=.lo): %.lo: %.java
-	$(GCJCOMPILE) -fjni -o $@ $<
-
-## Pass the list of object files to libtool in a temporary file to 
-## avoid tripping platform command line length limits.
-libgcj.la: $(libgcj_la_OBJECTS) $(libgcj_la_DEPENDENCIES)
-	@echo Creating list of files to link...
-	@: $(call write_entries_to_file,$(libgcj_la_OBJECTS) $(libgcj_la_LIBADD),libgcj.objectlist)
-	$(libgcj_la_LINK) -objectlist libgcj.objectlist \
-	@GCLIBS@ @LIBFFI@ @ZLIBS@ \
-	-rpath $(toolexeclibdir) $(libgcj_la_LDFLAGS) $(LIBS)
-
 lib-gnu-awt-xlib.la: $(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_DEPENDENCIES)
 	@echo Creating list of files to link...
 	@: $(call write_entries_to_file,$(lib_gnu_awt_xlib_la_OBJECTS) $(lib_gnu_awt_xlib_la_LIBADD),lib_gnu_awt_xlib.objectlist)
@@ -467,7 +419,7 @@
 
 ## Header files used when compiling some of the nat* files.
 ordinary_nat_headers = $(ordinary_java_source_files:.java=.h) \
-	$(built_java_source_files:.java=.h)
+	$(generated_java_source_files:.java=.h)
 
 inner_nat_headers = java/io/ObjectOutputStream$$PutField.h \
 	java/io/ObjectInputStream$$GetField.h \
@@ -479,9 +431,9 @@
 nat_headers = $(ordinary_nat_headers) $(inner_nat_headers)
 nat_headers_install = $(ordinary_nat_headers)
 
-x_nat_headers = $(x_java_source_files:.java=.h)
+xlib_nat_headers = $(xlib_java_source_files:.java=.h)
 
-$(ordinary_nat_headers) $(x_nat_headers): %.h: %.class
+$(ordinary_nat_headers) $(xlib_nat_headers): %.h: %.class
 
 java/lang/ClassLoader.h: java/lang/ClassLoader.class
 	$(GCJH) -classpath '' -bootclasspath $(top_builddir) \
@@ -604,7 +556,7 @@
 	$(INSTALL_DATA) 'java/lang/reflect/Proxy$$ProxyType.h' $(DESTDIR)$(includedir)/java/lang/reflect/
 	$(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketInputStream.h' $(DESTDIR)$(includedir)/gnu/java/net/
 	$(INSTALL_DATA) 'gnu/java/net/PlainSocketImpl$$SocketOutputStream.h' $(DESTDIR)$(includedir)/gnu/java/net/
-	
+
 	$(INSTALL_DATA) $(srcdir)/java/util/logging/logging.properties $(DESTDIR)$(propdir)/logging.properties
 
 ## ################################################################
@@ -663,13 +615,62 @@
 if NATIVE
 if MAINTAINER_MODE
 noinst_PROGRAMS = gen-from-JIS
-endif
-endif 
 
-CONVERT_DIR = gnu/gcj/convert
+gen_from_JIS_SOURCES = \
+	gnu/gcj/convert/gen-from-JIS.c \
+	gnu/gcj/convert/make-trie.c
+
+gen_from_JIS_DEPENDENCIES = \
+	gnu/gcj/convert/JIS0201.h \
+	gnu/gcj/convert/JIS0208.h \
+	gnu/gcj/convert/JIS0212.h
+
+$(srcdir)/gnu/gcj/convert/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+	 ./gen-from-JIS JIS0208 >$(srcdir)/gnu/gcj/convert/JIS0208_to_Unicode.cc
+
+$(srcdir)/gnu/gcj/convert/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
+	 ./gen-from-JIS JIS0212 >$(srcdir)/gnu/gcj/convert/JIS0212_to_Unicode.cc
+
+$(srcdir)/gnu/gcj/convert/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
+	 ./gen-from-JIS toJIS >$(srcdir)/gnu/gcj/convert/Unicode_to_JIS.cc
+
+# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
+# You can get it from
+# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
+
+$(srcdir)/gnu/gcj/convert/JIS0201.h: # gnu/gcj/convert/JIS0201.TXT
+	echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
+	tr  -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0201.TXT \
+	| sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2)  /*\3 */|p' \
+	>> tmp-0201; \
+	mv tmp-0201 $(srcdir)/gnu/gcj/convert/JIS0201.h
+
+# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
+# You can get it from
+# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
+
+$(srcdir)/gnu/gcj/convert/JIS0208.h: # gnu/gcj/convert/JIS0208.TXT
+	echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
+	tr  -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0208.TXT \
+	| sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4)  /*\5 */|p' \
+	>> tmp-0208; \
+	mv tmp-0208 $(srcdir)/gnu/gcj/convert/JIS0208.h
+
+# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
+# You can get it from
+# ftp://ftp.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/JIS/
+
+$(srcdir)/gnu/gcj/convert/JIS0212.h: # gnu/gcj/convert/JIS0212.TXT
+	echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
+	tr  -d '\r' <$(srcdir)/gnu/gcj/convert/JIS0212.TXT \
+	| sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3)  /*\4 */|p' \
+	>> tmp-0212; \
+	mv tmp-0212 $(srcdir)/gnu/gcj/convert/JIS0212.h
+
+endif
+endif
 
 jv_convert_SOURCES =
-EXTRA_jv_convert_SOURCES = $(convert_source_files)
 ## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'.  We
 ## need this because we are explicitly using libtool to link using the
 ## `.la' file.
@@ -686,8 +687,7 @@
 jv_convert_LDADD = -L$(here)/.libs libgcj.la
 ## Depend on the spec file to make sure it is up to date before
 ## linking this program.
-jv_convert_DEPENDENCIES = $(convert_source_files:.java=.lo) \
-	libgcj.la libgcj.spec
+jv_convert_DEPENDENCIES = libgcj.la libgcj.spec
 
 gij_SOURCES = gij.cc
 ## We need -nodefaultlibs because we want to avoid gcj's `-lgcj'.  We
@@ -703,7 +703,6 @@
 
 rmic_SOURCES =
 ## This is a dummy definition.
-EXTRA_rmic_SOURCES = $(rmi_java_source_files)
 rmic_LDFLAGS = --main=gnu.java.rmi.rmic.RMIC \
 	-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS)
 rmic_LINK = $(GCJLINK)
@@ -715,7 +714,6 @@
 
 rmiregistry_SOURCES =
 ## This is a dummy definition.
-EXTRA_rmiregistry_SOURCES = $(rmi_java_source_files)
 rmiregistry_LDFLAGS = --main=gnu.java.rmi.registry.RegistryImpl \
 	-rpath $(toolexeclibdir) -shared-libgcc $(THREADLDFLAGS)
 rmiregistry_LINK = $(GCJLINK)
@@ -725,74 +723,6 @@
 ## linking this program.
 rmiregistry_DEPENDENCIES = libgcj.la libgcj.spec
 
-# The Unicode consortium does not permit re-distributing the file JIS0201.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0201.h:  # $(CONVERT_DIR)/JIS0201.TXT
-	echo '/* This file is automatically generated from Unicode tables */' > tmp-0201; \
-	tr  -d '\r' <$(CONVERT_DIR)/JIS0201.TXT \
-	| sed -n -e 's|\(0x..\).*\(0x....\).*#\(.*\)$$|MAP(0x00, \1, \2)  /*\3 */|p' \
-	>> tmp-0201; \
-	mv tmp-0201 $(srcdir)/$(CONVERT_DIR)/JIS0201.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0208.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0208.h:  # $(CONVERT_DIR)/JIS0208.TXT
-	echo '/* This file is automatically generated from Unicode tables */' > tmp-0208; \
-	tr  -d '\r' <$(CONVERT_DIR)/JIS0208.TXT \
-	| sed -n -e 's|\(0x....\).*0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\2, 0x\3, \4)  /*\5 */|p' \
-	>> tmp-0208; \
-	mv tmp-0208 $(srcdir)/$(CONVERT_DIR)/JIS0208.h
-
-# The Unicode consortium does not permit re-distributing the file JIS0212.TXT.
-# You can get it from ftp://ftp.unicode.org/Public/MAPPINGS/EASTASIA/JIS/.
-
-$(srcdir)/$(CONVERT_DIR)/JIS0212.h:  # $(CONVERT_DIR)/JIS0212.TXT
-	echo '/* This file is automatically generated from Unicode tables */' > tmp-0212; \
-	tr  -d '\r' <$(CONVERT_DIR)/JIS0212.TXT \
-	| sed -n -e 's|0x\(..\)\(..\).*\(0x....\).*#\(.*\)$$|MAP(0x\1, 0x\2, \3)  /*\4 */|p' \
-	>> tmp-0212; \
-	mv tmp-0212 $(srcdir)/$(CONVERT_DIR)/JIS0212.h
-
-
-gen_from_JIS_SOURCES =
-EXTRA_gen_from_JIS_SOURCES = $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
-		$(srcdir)/$(CONVERT_DIR)/make-trie.c \
-		$(srcdir)/$(CONVERT_DIR)/JIS0201.h \
-		$(srcdir)/$(CONVERT_DIR)/JIS0208.h \
-		$(srcdir)/$(CONVERT_DIR)/JIS0212.h
-gen_from_JIS_LDADD = $(CONVERT_DIR)/gen-from-JIS.o $(CONVERT_DIR)/make-trie.o
-gen_from_JIS_DEPENDENCIES = $(CONVERT_DIR)/gen-from-JIS.o \
-		$(CONVERT_DIR)/make-trie.o
-
-$(CONVERT_DIR)/gen-from-JIS.o: $(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c \
-		$(srcdir)/$(CONVERT_DIR)/JIS0201.h \
-		$(srcdir)/$(CONVERT_DIR)/JIS0208.h \
-		$(srcdir)/$(CONVERT_DIR)/JIS0212.h
-	$(COMPILE) -c -o $(CONVERT_DIR)/gen-from-JIS.o \
-		$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.c
-
-$(CONVERT_DIR)/make-trie.o: $(srcdir)/$(CONVERT_DIR)/make-trie.c
-	$(COMPILE) -c -o $(CONVERT_DIR)/make-trie.o \
-		$(srcdir)/$(CONVERT_DIR)/make-trie.c
-
-if NATIVE
-if MAINTAINER_MODE
-
-$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
-	 ./gen-from-JIS JIS0208>$(srcdir)/$(CONVERT_DIR)/JIS0208_to_Unicode.cc
-
-$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc: ./gen-from-JIS$(EXEEXT)
-	 ./gen-from-JIS JIS0212>$(srcdir)/$(CONVERT_DIR)/JIS0212_to_Unicode.cc
-
-$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc: ./gen-from-JIS$(EXEEXT)
-	 ./gen-from-JIS toJIS>$(srcdir)/$(CONVERT_DIR)/Unicode_to_JIS.cc
-
-endif # MAINTAINER_MODE
-endif # NATIVE
-
-
 ## ################################################################
 
 ##
@@ -1604,7 +1534,7 @@
 gnu/java/rmi/dgc/DGCImpl.java \
 gnu/java/rmi/dgc/DGCImpl_Skel.java \
 gnu/java/rmi/dgc/DGCImpl_Stub.java \
-gnu/java/rmi/registry/RegistryImpl.java	\
+gnu/java/rmi/registry/RegistryImpl.java \
 gnu/java/rmi/registry/RegistryImpl_Skel.java \
 gnu/java/rmi/registry/RegistryImpl_Stub.java \
 gnu/java/rmi/rmic/Compile_gcj.java \
@@ -1780,7 +1710,7 @@
 
 ## Java files which are created by configure and thus are in the build
 ## directory.
-built_java_source_files = java/lang/ConcreteProcess.java \
+generated_java_source_files = java/lang/ConcreteProcess.java \
                           gnu/classpath/Configuration.java
 
 ## Java files in the core packages java.lang, java.io, and java.util.
@@ -2653,7 +2583,7 @@
 java_source_files = $(special_java_source_files) $(ordinary_java_source_files)
 
 ## Math library: C, not C++
-c_source_files = \
+math_source_files = \
   java/lang/dtoa.c        java/lang/k_rem_pio2.c  java/lang/s_tan.c       \
   java/lang/e_acos.c      java/lang/k_sin.c       java/lang/strtod.c      \
   java/lang/e_asin.c      java/lang/k_tan.c       java/lang/w_acos.c      \
@@ -2668,8 +2598,6 @@
   java/lang/e_sqrt.c      java/lang/s_scalbn.c    java/lang/sf_rint.c     \
   java/lang/k_cos.c       java/lang/s_sin.c       java/lang/sf_fabs.c
 
-extra_cc_source_files = $(EXTRA_CC_FILES)
-
 #java/awt/natToolkit.cc
 
 ## This lists all the C++ source files in subdirectories.
@@ -2734,7 +2662,7 @@
 java/util/zip/natDeflater.cc \
 java/util/zip/natInflater.cc
 
-x_java_source_files = \
+xlib_java_source_files = \
 gnu/gcj/xlib/Clip.java \
 gnu/gcj/xlib/Colormap.java \
 gnu/gcj/xlib/Display.java \
@@ -2769,7 +2697,7 @@
 gnu/awt/xlib/XPanelPeer.java \
 gnu/awt/xlib/XToolkit.java
 
-x_nat_source_files = \
+xlib_nat_source_files = \
 gnu/gcj/xlib/natClip.cc \
 gnu/gcj/xlib/natColormap.cc \
 gnu/gcj/xlib/natDisplay.cc \
@@ -2844,7 +2772,7 @@
 ## the C++ code whenever any .java file is touched.
 ## Also force all the class files to build first. This makes them build in
 ## the right order to improve performance.
-all-recursive: libgcj-@gcc_version@.jar $(nat_headers) $(x_nat_headers)
+all-recursive: libgcj-@gcc_version@.jar $(nat_headers) $(xlib_nat_headers)
 
 ## ################################################################
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]