classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: environment and compiling with jikes


From: Mark Wielaard
Subject: Re: environment and compiling with jikes
Date: 09 Mar 2002 01:01:29 +0100

Hi,

On Fri, 2002-03-08 at 17:53, Eric Blake wrote:
> Someone with a little more autoconf knowledge than me should figure out
> how to make the default command-line arguments to Jikes include an
> explicit -bootclasspath to override any environment variable.  The
> cleanest way to guarantee that Jikes is only compiling Classpath files,
> and not mixing in some other library because of the environment, is to
> compile with these flags:
> 
> jikes -bootclasspath '' -extdirs '' -sourcepath '' -classpath <path to
> all Classpath files> @classes

That was actually easy:

--- lib/Makefile.am     18 Feb 2002 20:52:17 -0000      1.41
+++ lib/Makefile.am     8 Mar 2002 23:51:20 -0000
@@ -45,7 +45,7 @@
 # handling javac definition including programs like jikes here
 #-----------------------------------------------------------------
 if FOUND_JIKES
-JAVAC = $(JIKES) +F $(ARG_CLASSPATH_JAVAC) 
$(top_srcdir):$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -d . @classes
+JAVAC = $(JIKES) +F -bootclasspath '' -extdirs '' -sourcepath '' 
$(ARG_CLASSPATH_JAVAC) 
$(top_srcdir):$(top_builddir)/vm/current:.:$(USER_CLASSLIB) -d . @classes
 else
 if FOUND_GCJ
 JAVAC = $(GCJ) -C -d . @classes

So the actual jikes command that is run from lib during the build is:

/usr/bin/jikes +F -bootclasspath '' -extdirs '' -sourcepath ''
-classpath ..:../vm/current:.: -d . @classes

If I followed the gcj mailinglist correctly then the next version of gcj
will also know about these flags. And I believe the latest kjc also
handles them so we might want to do this for all compilers in the
future.

(Note to Debian loving people: Jikes Version 1.15b(CVS) - 9 Feb 2002
just entered unstable!)

I also added the following stub to Socket.java so java.util.logging can
actually compile:

--- java/net/Socket.java        22 Jan 2002 22:27:00 -0000      1.11
+++ java/net/Socket.java        8 Mar 2002 23:51:20 -0000
@@ -667,4 +667,13 @@
 
     factory = fac;
   }
+
+  public void shutdownInput() throws IOException
+  {
+  }
+
+  public void shutdownOutput() throws IOException
+  {
+  }
+
 }

And this small reversal of a Class.java change that made it impossible
to use it with Orp 1.0.9.

--- vm/reference/java/lang/Class.java   23 Feb 2002 09:19:52 -0000      1.19
+++ vm/reference/java/lang/Class.java   8 Mar 2002 23:51:21 -0000
@@ -136,11 +136,15 @@
    * @throws ExceptionInInitializerError if the class loads, but an exception
    *         occurs during initialization
    */
-  public static Class forName(String name) throws ClassNotFoundException
+  //XXX This does not need to be native.
+  public static native Class forName(String name)
+    throws ClassNotFoundException;
+  /*
   {
     return forName(name, true,
                    VMSecurityManager.getClassContext()[1].getClassLoader());
   }
+  */
 
   /**
    * Use the specified classloader to load and link a class. If the loader


Cheers,

Mark



reply via email to

[Prev in Thread] Current Thread [Next in Thread]