aboutsummaryrefslogtreecommitdiff
path: root/libjava/java
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>1999-10-15 06:07:41 +0000
committerAnthony Green <green@gcc.gnu.org>1999-10-15 06:07:41 +0000
commitffccc6bee2b00018fd09b26a5ce5d0bbc6900e94 (patch)
treebbd6554459daad973191b77a62d0237b045595f3 /libjava/java
parent7901f53f77683ef41d462b2f554faad3c4ae9d76 (diff)
downloadgcc-ffccc6bee2b00018fd09b26a5ce5d0bbc6900e94.zip
gcc-ffccc6bee2b00018fd09b26a5ce5d0bbc6900e94.tar.gz
gcc-ffccc6bee2b00018fd09b26a5ce5d0bbc6900e94.tar.bz2
libtool-version: Catch up by incrementing current.
* libtool-version: Catch up by incrementing current. * configure.host: Disable use of GCJ_PROPERTIES for mips-tx39. * configure, include/config.h.in: Rebuilt. * acconfig.h (DISABLE_GETENV_PROPERTIES): Undefine. * configure.in: Added --disable-getenv-properties and new define `DISABLE_GETENV_PROPERTIES'. * prims.cc (PROCESS_GCJ_PROPERTIES): Define. (next_property_key): New function. (next_property_value): New function. (process_gcj_properties): New function. (JvRunMain): Call process_gcj_properties. (_JvRunMain): Ditto. * java/lang/natSystem.cc (init_properties): Set properties defined in GCJ_PROPERTIES. Also add 1.2 style versioning properties. * include/java-props.h: New file. * java/lang/natSystem.cc (init_properties): Add new properties to conform with Java Product Versioning Specification. From-SVN: r30007
Diffstat (limited to 'libjava/java')
-rw-r--r--libjava/java/lang/natSystem.cc28
1 files changed, 28 insertions, 0 deletions
diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc
index f453de0..f146f3e 100644
--- a/libjava/java/lang/natSystem.cc
+++ b/libjava/java/lang/natSystem.cc
@@ -40,6 +40,7 @@ details. */
#include <gcj/cni.h>
#include <jvm.h>
+#include <java-props.h>
#include <java/lang/System.h>
#include <java/lang/Class.h>
#include <java/lang/ArrayStoreException.h>
@@ -52,6 +53,7 @@ details. */
#define SystemClass _CL_Q34java4lang6System
extern java::lang::Class SystemClass;
+extern property_pair *_Jv_Environment_Properties;
#if defined (ECOS)
@@ -274,10 +276,23 @@ java::lang::System::init_properties (void)
// A convenience define.
#define SET(Prop,Val) \
properties->put(JvNewStringLatin1 (Prop), JvNewStringLatin1 (Val))
+
+ // A mixture of the Java Product Versioning Specification
+ // (introduced in 1.2), and earlier versioning properties.
SET ("java.version", VERSION);
SET ("java.vendor", "Cygnus Solutions");
SET ("java.vendor.url", "http://sourceware.cygnus.com/java/");
SET ("java.class.version", GCJVERSION);
+ SET ("java.vm.specification.version", "1.1");
+ SET ("java.vm.specification.name", "Java(tm) Virtual Machine Specification");
+ SET ("java.vm.specification.vendor", "Sun Microsystems Inc.");
+ SET ("java.vm.version", GCJVERSION);
+ SET ("java.vm.vendor", "Cygnus Solutions");
+ SET ("java.vm.name", "libgcj");
+ SET ("java.specification.version", "1.1");
+ SET ("java.specification.name", "Java(tm) Language Specification");
+ SET ("java.specification.vendor", "Sun Microsystems Inc.");
+
// FIXME: how to set these given location-independence?
// SET ("java.home", "FIXME");
// SET ("java.class.path", "FIXME");
@@ -363,4 +378,17 @@ java::lang::System::init_properties (void)
if (buffer != NULL)
free (buffer);
#endif
+
+ // Set the system properties from the user's environment.
+ if (_Jv_Environment_Properties)
+ {
+ size_t i = 0;
+
+ while (_Jv_Environment_Properties[i].key)
+ {
+ SET (_Jv_Environment_Properties[i].key,
+ _Jv_Environment_Properties[i].value);
+ i++;
+ }
+ }
}