From 01b02b11de52b69b3755883975b1cc8d183a5891 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Fri, 7 May 1999 18:44:38 +0000 Subject: acconfig.h (GCJVERSION): New undef. * acconfig.h (GCJVERSION): New undef. * java/lang/natSystem.cc (init_properties): Define java.version, java.class.version, os.name, os.arch, os.version. Include if required. * configure: Rebuilt. * configure.in: Compute and define GCJVERSION. * java/lang/natSystem.cc (default_file_encoding): Now static. From-SVN: r26830 --- libjava/java/lang/natSystem.cc | 31 +++++++++++++++++++++++++------ 1 file changed, 25 insertions(+), 6 deletions(-) (limited to 'libjava/java') diff --git a/libjava/java/lang/natSystem.cc b/libjava/java/lang/natSystem.cc index 742696e..7e2de31 100644 --- a/libjava/java/lang/natSystem.cc +++ b/libjava/java/lang/natSystem.cc @@ -34,6 +34,10 @@ details. */ #endif #include +#ifdef HAVE_UNAME +#include +#endif + #include #include #include @@ -220,7 +224,7 @@ java::lang::System::identityHashCode (jobject obj) #ifndef DEFAULT_FILE_ENCODING #define DEFAULT_FILE_ENCODING "8859_1" #endif -char *default_file_encoding = DEFAULT_FILE_ENCODING; +static char *default_file_encoding = DEFAULT_FILE_ENCODING; void java::lang::System::init_properties (void) @@ -237,16 +241,15 @@ java::lang::System::init_properties (void) // A convenience define. #define SET(Prop,Val) \ properties->put(JvNewStringLatin1 (Prop), JvNewStringLatin1 (Val)) - SET ("java.version", "FIXME"); + SET ("java.version", VERSION); SET ("java.vendor", "Cygnus Solutions"); SET ("java.vendor.url", "http://www.cygnus.com/"); + SET ("java.class.version", GCJVERSION); + // FIXME: how to set these given location-independence? // SET ("java.home", "FIXME"); - // SET ("java.class.version", "FIXME"); // SET ("java.class.path", "FIXME"); - SET ("os.name", "FIXME"); - SET ("os.arch", "FIXME"); - SET ("os.version", "FIXME"); SET ("file.encoding", default_file_encoding); + #ifdef WIN32 SET ("file.separator", "\\"); SET ("path.separator", ";"); @@ -258,6 +261,22 @@ java::lang::System::init_properties (void) SET ("line.separator", "\n"); #endif +#ifdef HAVE_UNAME + struct utsname u; + if (! uname (&u)) + { + SET ("os.name", u.sysname); + SET ("os.arch", u.machine); + SET ("os.version", u.release); + } + else + { + SET ("os.name", "unknown"); + SET ("os.arch", "unknown"); + SET ("os.version", "unknown"); + } +#endif /* HAVE_UNAME */ + #ifdef HAVE_PWD_H uid_t user_id = getuid (); struct passwd *pwd_entry; -- cgit v1.1