SUBDIRS = $(DIRLTDL) gcj include
endif
+## Darwin uses the jcr section, but doesn't use crtstuff.
+if USING_DARWIN_CRT
+DARWIN_CRT_SRC = darwin.cc
+else
+DARWIN_CRT_SRC =
+endif
+
# write_entries_to_file - writes each entry in a list
# to the specified file. Each entry is written individually
# to accomodate systems with severe command-line-length
$(BOEHMGC_SRC) $(NOGC_SRC) \
$(BACKTRACE_SRC) \
$(POSIX_PLATFORM_SRC) $(WIN32_PLATFORM_SRC) $(ECOS_PLATFORM_SRC) \
+ $(DARWIN_CRT_SRC) \
$(POSIX_THREAD_SRC) $(WIN32_THREAD_SRC) $(NO_THREAD_SRC)
libgcj_la_DEPENDENCIES = libgcj-@gcc_version@.jar \
java/lang/fdlibm.h java/lang/ieeefp.h java/lang/mprec.h \
$(LIBLTDL) $(LIBFFI) $(ZLIBS) $(GCLIBS) $(propertyo_files)
+## Objects from C++ sources in subdirs.
+nat_files = $(nat_source_files:.cc=.lo)
+xlib_nat_files = $(xlib_nat_source_files:.cc=.lo)
+
# 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.
all_java_class_files = $(all_java_source_files:.java=.class)
+all_property_files = $(property_files) $(jgss_property_files) \
+ java/util/logging/logging.properties
+
## Build property files into the library.
property_files = \
gnu/regexp/MessagesBundle.properties \
@: $(call write_entries_to_file,$?,libgcj.sourcelist)
$(JAVAC) $(JCFLAGS) -classpath '' -bootclasspath $(here):$(srcdir) -d $(here) @libgcj.sourcelist
## Note that we explicitly want to include directory information.
- find java gnu javax org -type d -o -type f -name '*.class' | \
- sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) cfM0E@ $@
+ (find java gnu javax org -type d -o -type f -name '*.class'; \
+## Ugly code to avoid "echo -C". Must separate each entry by a newline
+## Gross but easy.
+ for file in $(all_property_files); do \
+ echo "x-C" | sed -e 's/^.//'; \
+ echo $(srcdir); \
+ echo $$file; \
+ done) | \
+ sed -e '/\/xlib/d' -e '/\/\.libs/d' -e '/\/\.deps/d' | \
+ $(ZIP) -cfM0E@ $@
# This next rule seems backward, but reflects the fact
# that 1) all classfiles are compiled in one go when the
.java.class:
$(JAVAC) $(JCFLAGS) -classpath '' -bootclasspath $(here):$(srcdir) -d $(here) $<
-libgcj-@gcc_version@.jar: $(all_java_class_files)
+libgcj-@gcc_version@.jar: $(all_java_class_files) $(all_property_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' | \
- sed -e '/\/\./d' -e '/\/xlib/d' | \
- $(ZIP) cfM0E@ $@
+ (find java gnu javax org -type d -o -type f -name '*.class'; \
+## Ugly code to avoid "echo -C". Must separate each entry by a newline
+## Gross but easy.
+ for file in $(all_property_files); do \
+ echo "x-C" | sed -e 's/^.//'; \
+ echo $(srcdir); \
+ echo $$file; \
+ done) | \
+ sed -e '/\/xlib/d' -e '/\/\.libs/d' -e '/\/\.deps/d' | \
+ $(ZIP) -cfM0E@ $@
endif
gnu/gcj/runtime/StackTrace.lo: gnu/gcj/runtime/StackTrace.java
$(LTGCJCOMPILE) -fno-optimize-sibling-calls -o $@ -c $<
+## 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.objectlist)
+ $(libgcj_la_LINK) -objectlist libgcj.objectlist \
+ $(libgcj_la_LIBADD) \
+ -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)
## List of all .java files to be compiled. Please keep this list
## alphabetical. Please put files from java/lang, java/io, and java/util
-## into core_java_source_files. Please put files from gnu/gcj/convert
+## into core_java_source_files. Please put files from gnu/gcj/convert
## into convert_source_files and files from java/awt into
## awt_java_source_files. If the .java file has a hand-maintained
## header, please list it in special_java_source_files.
gnu/java/net/PlainSocketImpl.java \
gnu/java/net/URLParseError.java \
gnu/java/net/protocol/core/Connection.java \
-gnu/java/net/protocol/core/Handler.java \
gnu/java/net/protocol/core/CoreInputStream.java \
+gnu/java/net/protocol/core/Handler.java \
gnu/java/net/protocol/file/Connection.java \
gnu/java/net/protocol/file/Handler.java \
+gnu/java/net/protocol/gcjlib/Connection.java \
+gnu/java/net/protocol/gcjlib/Handler.java \
gnu/java/net/protocol/http/Connection.java \
gnu/java/net/protocol/http/Handler.java \
gnu/java/net/protocol/jar/Connection.java \
gnu/java/net/protocol/jar/Handler.java \
-gnu/java/net/protocol/gcjlib/Connection.java \
-gnu/java/net/protocol/gcjlib/Handler.java \
+gnu/java/nio/ChannelInputStream.java \
+gnu/java/nio/ChannelOutputStream.java \
gnu/java/nio/DatagramChannelImpl.java \
gnu/java/nio/DatagramChannelSelectionKey.java \
gnu/java/nio/FileLockImpl.java \
+gnu/java/nio/InputStreamChannel.java \
gnu/java/nio/NIOConstants.java \
gnu/java/nio/NIODatagramSocket.java \
gnu/java/nio/NIOServerSocket.java \
gnu/java/nio/NIOSocket.java \
-gnu/java/nio/ChannelInputStream.java \
-gnu/java/nio/ChannelOutputStream.java \
-gnu/java/nio/InputStreamChannel.java \
gnu/java/nio/OutputStreamChannel.java \
gnu/java/nio/PipeImpl.java \
gnu/java/nio/SelectionKeyImpl.java \
gnu/java/nio/charset/UTF_16Encoder.java \
gnu/java/nio/charset/UTF_16LE.java \
gnu/java/nio/charset/UTF_8.java \
-gnu/regexp/CharIndexed.java \
-gnu/regexp/CharIndexedCharArray.java \
-gnu/regexp/CharIndexedInputStream.java \
-gnu/regexp/CharIndexedString.java \
-gnu/regexp/CharIndexedStringBuffer.java \
-gnu/regexp/RE.java \
-gnu/regexp/REException.java \
-gnu/regexp/REFilterInputStream.java \
-gnu/regexp/REMatch.java \
-gnu/regexp/REMatchEnumeration.java \
-gnu/regexp/RESyntax.java \
-gnu/regexp/REToken.java \
-gnu/regexp/RETokenAny.java \
-gnu/regexp/RETokenBackRef.java \
-gnu/regexp/RETokenChar.java \
-gnu/regexp/RETokenEnd.java \
-gnu/regexp/RETokenEndSub.java \
-gnu/regexp/RETokenLookAhead.java \
-gnu/regexp/RETokenOneOf.java \
-gnu/regexp/RETokenPOSIX.java \
-gnu/regexp/RETokenRange.java \
-gnu/regexp/RETokenRepeated.java \
-gnu/regexp/RETokenStart.java \
-gnu/regexp/RETokenWordBoundary.java \
-gnu/regexp/UncheckedRE.java \
gnu/java/security/Engine.java \
gnu/java/security/OID.java \
+gnu/java/security/action/GetPropertyAction.java \
+gnu/java/security/action/SetAccessibleAction.java \
gnu/java/security/der/BitString.java \
gnu/java/security/der/DER.java \
gnu/java/security/der/DEREncodingException.java \
gnu/java/security/der/DERReader.java \
gnu/java/security/der/DERValue.java \
gnu/java/security/der/DERWriter.java \
-gnu/java/security/action/GetPropertyAction.java \
-gnu/java/security/action/SetAccessibleAction.java \
-gnu/java/security/provider/DefaultPolicy.java \
gnu/java/security/provider/DSAKeyFactory.java \
gnu/java/security/provider/DSAKeyPairGenerator.java \
gnu/java/security/provider/DSAParameterGenerator.java \
gnu/java/security/provider/DSAParameters.java \
gnu/java/security/provider/DSASignature.java \
+gnu/java/security/provider/DefaultPolicy.java \
gnu/java/security/provider/Gnu.java \
gnu/java/security/provider/GnuDSAPrivateKey.java \
gnu/java/security/provider/GnuDSAPublicKey.java \
gnu/java/security/provider/X509CertificateFactory.java \
gnu/java/security/util/Prime.java \
gnu/java/security/x509/X500DistinguishedName.java \
-gnu/java/security/x509/X509Certificate.java \
-gnu/java/security/x509/X509CRLEntry.java \
gnu/java/security/x509/X509CRL.java \
+gnu/java/security/x509/X509CRLEntry.java \
+gnu/java/security/x509/X509Certificate.java \
gnu/java/text/AttributedFormatBuffer.java \
gnu/java/text/BaseBreakIterator.java \
gnu/java/text/CharacterBreakIterator.java \
gnu/java/text/WordBreakIterator.java \
gnu/java/util/DoubleEnumeration.java \
gnu/java/util/EmptyEnumeration.java \
+gnu/java/util/prefs/FileBasedFactory.java \
gnu/java/util/prefs/MemoryBasedFactory.java \
-gnu/java/util/prefs/NodeReader.java \
gnu/java/util/prefs/MemoryBasedPreferences.java \
-gnu/java/util/prefs/FileBasedFactory.java \
+gnu/java/util/prefs/NodeReader.java \
gnu/java/util/prefs/NodeWriter.java \
+gnu/regexp/CharIndexed.java \
+gnu/regexp/CharIndexedCharArray.java \
+gnu/regexp/CharIndexedInputStream.java \
+gnu/regexp/CharIndexedString.java \
+gnu/regexp/CharIndexedStringBuffer.java \
+gnu/regexp/RE.java \
+gnu/regexp/REException.java \
+gnu/regexp/REFilterInputStream.java \
+gnu/regexp/REMatch.java \
+gnu/regexp/REMatchEnumeration.java \
+gnu/regexp/RESyntax.java \
+gnu/regexp/REToken.java \
+gnu/regexp/RETokenAny.java \
+gnu/regexp/RETokenBackRef.java \
+gnu/regexp/RETokenChar.java \
+gnu/regexp/RETokenEnd.java \
+gnu/regexp/RETokenEndSub.java \
+gnu/regexp/RETokenLookAhead.java \
+gnu/regexp/RETokenOneOf.java \
+gnu/regexp/RETokenPOSIX.java \
+gnu/regexp/RETokenRange.java \
+gnu/regexp/RETokenRepeated.java \
+gnu/regexp/RETokenStart.java \
+gnu/regexp/RETokenWordBoundary.java \
+gnu/regexp/UncheckedRE.java \
java/lang/ref/PhantomReference.java \
java/lang/ref/Reference.java \
java/lang/ref/ReferenceQueue.java \
java/net/DatagramSocketImplFactory.java \
java/net/FileNameMap.java \
java/net/HttpURLConnection.java \
-java/net/InetAddress.java \
java/net/Inet4Address.java \
java/net/Inet6Address.java \
+java/net/InetAddress.java \
java/net/InetSocketAddress.java \
java/net/JarURLConnection.java \
java/net/MalformedURLException.java \
java/nio/channels/UnresolvedAddressException.java \
java/nio/channels/UnsupportedAddressTypeException.java \
java/nio/channels/WritableByteChannel.java \
-java/nio/channels/spi/AbstractSelectableChannel.java \
java/nio/channels/spi/AbstractInterruptibleChannel.java \
+java/nio/channels/spi/AbstractSelectableChannel.java \
java/nio/channels/spi/AbstractSelectionKey.java \
java/nio/channels/spi/AbstractSelector.java \
java/nio/channels/spi/SelectorProvider.java \
-java/nio/charset/Charset.java \
java/nio/charset/CharacterCodingException.java \
+java/nio/charset/Charset.java \
java/nio/charset/CharsetDecoder.java \
java/nio/charset/CharsetEncoder.java \
java/nio/charset/CoderMalfunctionError.java \
java/security/AccessControlException.java \
java/security/AccessController.java \
java/security/AlgorithmParameterGenerator.java \
-java/security/AlgorithmParameters.java \
java/security/AlgorithmParameterGeneratorSpi.java \
+java/security/AlgorithmParameters.java \
java/security/AlgorithmParametersSpi.java \
java/security/AllPermission.java \
java/security/BasicPermission.java \
java/security/Certificate.java \
java/security/CodeSource.java \
java/security/DigestException.java \
-java/security/DigestOutputStream.java \
-java/security/DummyKeyPairGenerator.java \
-java/security/DummySignature.java \
java/security/DigestInputStream.java \
+java/security/DigestOutputStream.java \
java/security/DomainCombiner.java \
+java/security/DummyKeyPairGenerator.java \
java/security/DummyMessageDigest.java \
+java/security/DummySignature.java \
java/security/GeneralSecurityException.java \
java/security/Guard.java \
java/security/GuardedObject.java \
java/security/InvalidKeyException.java \
java/security/InvalidParameterException.java \
java/security/Key.java \
-java/security/KeyFactorySpi.java \
-java/security/KeyPairGenerator.java \
-java/security/KeyStoreException.java \
java/security/KeyException.java \
-java/security/KeyManagementException.java \
-java/security/KeyPairGeneratorSpi.java \
-java/security/KeyStoreSpi.java \
java/security/KeyFactory.java \
+java/security/KeyFactorySpi.java \
+java/security/KeyManagementException.java \
java/security/KeyPair.java \
+java/security/KeyPairGenerator.java \
+java/security/KeyPairGeneratorSpi.java \
java/security/KeyStore.java \
+java/security/KeyStoreException.java \
+java/security/KeyStoreSpi.java \
java/security/MessageDigest.java \
java/security/MessageDigestSpi.java \
java/security/NoSuchAlgorithmException.java \
java/security/NoSuchProviderException.java \
java/security/Permission.java \
-java/security/Principal.java \
-java/security/PrivilegedExceptionAction.java \
-java/security/PublicKey.java \
java/security/PermissionCollection.java \
-java/security/PrivateKey.java \
-java/security/ProtectionDomain.java \
java/security/Permissions.java \
-java/security/PrivilegedAction.java \
-java/security/Provider.java \
java/security/Policy.java \
+java/security/Principal.java \
+java/security/PrivateKey.java \
+java/security/PrivilegedAction.java \
java/security/PrivilegedActionException.java \
+java/security/PrivilegedExceptionAction.java \
+java/security/ProtectionDomain.java \
+java/security/Provider.java \
java/security/ProviderException.java \
+java/security/PublicKey.java \
java/security/SecureClassLoader.java \
-java/security/SecureRandomSpi.java \
-java/security/SecurityPermission.java \
-java/security/SignatureException.java \
-java/security/SignedObject.java \
java/security/SecureRandom.java \
+java/security/SecureRandomSpi.java \
java/security/Security.java \
+java/security/SecurityPermission.java \
java/security/Signature.java \
+java/security/SignatureException.java \
java/security/SignatureSpi.java \
+java/security/SignedObject.java \
java/security/Signer.java \
java/security/UnrecoverableKeyException.java \
java/security/UnresolvedPermission.java \
java/security/acl/Acl.java \
-java/security/acl/AclNotFoundException.java \
-java/security/acl/LastOwnerException.java \
-java/security/acl/Owner.java \
java/security/acl/AclEntry.java \
+java/security/acl/AclNotFoundException.java \
java/security/acl/Group.java \
+java/security/acl/LastOwnerException.java \
java/security/acl/NotOwnerException.java \
+java/security/acl/Owner.java \
java/security/acl/Permission.java \
java/security/cert/CRL.java \
java/security/cert/CRLException.java \
java/security/cert/CRLSelector.java \
-java/security/cert/Certificate.java \
-java/security/cert/CertificateEncodingException.java \
-java/security/cert/CertificateException.java \
-java/security/cert/CertificateExpiredException.java \
-java/security/cert/CertificateFactory.java \
-java/security/cert/CertificateFactorySpi.java \
-java/security/cert/CertificateNotYetValidException.java \
-java/security/cert/CertificateParsingException.java \
java/security/cert/CertPath.java \
java/security/cert/CertPathBuilder.java \
java/security/cert/CertPathBuilderException.java \
java/security/cert/CertStoreException.java \
java/security/cert/CertStoreParameters.java \
java/security/cert/CertStoreSpi.java \
+java/security/cert/Certificate.java \
+java/security/cert/CertificateEncodingException.java \
+java/security/cert/CertificateException.java \
+java/security/cert/CertificateExpiredException.java \
+java/security/cert/CertificateFactory.java \
+java/security/cert/CertificateFactorySpi.java \
+java/security/cert/CertificateNotYetValidException.java \
+java/security/cert/CertificateParsingException.java \
java/security/cert/CollectionCertStoreParameters.java \
java/security/cert/LDAPCertStoreParameters.java \
java/security/cert/PKIXBuilderParameters.java \
java/security/cert/X509CRL.java \
java/security/cert/X509CRLEntry.java \
java/security/cert/X509CRLSelector.java \
-java/security/cert/X509Certificate.java \
java/security/cert/X509CertSelector.java \
+java/security/cert/X509Certificate.java \
java/security/cert/X509Extension.java \
java/security/interfaces/DSAKey.java \
java/security/interfaces/DSAKeyPairGenerator.java \
java/sql/Ref.java \
java/sql/ResultSet.java \
java/sql/ResultSetMetaData.java \
-java/sql/Savepoint.java \
java/sql/SQLData.java \
java/sql/SQLException.java \
java/sql/SQLInput.java \
java/sql/SQLOutput.java \
java/sql/SQLPermission.java \
java/sql/SQLWarning.java \
+java/sql/Savepoint.java \
java/sql/Statement.java \
java/sql/Struct.java \
java/sql/Time.java \