re PR libgcj/7416 (java.security startup refs "GNU libgcj.security")

Fix for PR libgcj/7416:
	* javax/naming/InitialContext.java (init): Use
	gnu.classpath.home.url.
	* java/security/Security.java: Use new properties.
	(loadProviders): Accept base url; use it.
	* java/lang/System.java: Document gnu.classpath.vm.shortname, and
	gnu.classpath.home.url.
	(gnu.classpath.home.url): Define.
	(gnu.classpath.vm.shortname): Likewise.

From-SVN: r60722
This commit is contained in:
Tom Tromey 2002-12-31 22:50:10 +00:00 committed by Tom Tromey
parent 3d1252a94a
commit 9f17a7afd2
4 changed files with 61 additions and 27 deletions

View file

@ -73,15 +73,32 @@ public final class System
loadLibrary("javalang");
Properties defaultProperties = Runtime.defaultProperties;
defaultProperties.put("gnu.cpu.endian",
isWordsBigEndian() ? "big" : "little");
// Set base URL if not already set.
if (defaultProperties.get("gnu.classpath.home.url") == null)
defaultProperties.put("gnu.classpath.home.url",
"file://"
+ defaultProperties.get("gnu.classpath.home")
+ "/lib");
// Set short name if not already set.
if (defaultProperties.get("gnu.classpath.vm.shortname") == null)
{
String value = defaultProperties.getProperty("java.vm.name");
int index = value.lastIndexOf(' ');
if (index != -1)
value = value.substring(index + 1);
defaultProperties.put("gnu.classpath.vm.shortname", value);
}
defaultProperties.put("gnu.cpu.endian",
isWordsBigEndian() ? "big" : "little");
// XXX FIXME - Temp hack for old systems that set the wrong property
if (defaultProperties.get("java.io.tmpdir") == null)
defaultProperties.put("java.io.tmpdir",
defaultProperties.get("java.tmpdir"));
}
/**
* Stores the current system properties. This can be modified by
* {@link #setProperties(Properties)}, but will never be null, because
@ -101,7 +118,7 @@ public final class System
* however.
*/
public static final InputStream in
= new BufferedInputStream (new FileInputStream(FileDescriptor.in));
= new BufferedInputStream(new FileInputStream(FileDescriptor.in));
/**
* The standard output PrintStream. This is assigned at startup and
* starts its life perfectly valid. Although it is marked final, you can
@ -113,7 +130,7 @@ public final class System
* you, however.
*/
public static final PrintStream out
= new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.out)), true);
= new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.out)), true);
/**
* The standard output PrintStream. This is assigned at startup and
* starts its life perfectly valid. Although it is marked final, you can
@ -125,7 +142,7 @@ public final class System
* you, however.
*/
public static final PrintStream err
= new PrintStream(new BufferedOutputStream (new FileOutputStream(FileDescriptor.err)), true);
= new PrintStream(new BufferedOutputStream(new FileOutputStream(FileDescriptor.err)), true);
/**
* This class is uninstantiable.
@ -312,6 +329,10 @@ public final class System
* In addition, gnu defines several other properties, where ? stands for
* each character in '0' through '9':
* <dl>
* <dl> gnu.classpath.vm.shortname <dd> Succinct version of the VM name;
* used for finding property files in file system
* <dl> gnu.classpath.home.url <dd> Base URL; used for finding
* property files in file system
* <dt> gnu.cpu.endian <dd>big or little
* <dt> gnu.java.io.encoding_scheme_alias.ISO-8859-? <dd>8859_?
* <dt> gnu.java.io.encoding_scheme_alias.iso-8859-? <dd>8859_?