diff options
author | Tom Tromey <tromey@cygnus.com> | 1999-05-07 18:44:38 +0000 |
---|---|---|
committer | Tom Tromey <tromey@gcc.gnu.org> | 1999-05-07 18:44:38 +0000 |
commit | 01b02b11de52b69b3755883975b1cc8d183a5891 (patch) | |
tree | 3c7e678010bc865faccba1f6bca2abae141985a4 /libjava/java/lang/natSystem.cc | |
parent | c59c5e9a6508d3a72fe058126482083ad2e5ceeb (diff) | |
download | gcc-01b02b11de52b69b3755883975b1cc8d183a5891.zip gcc-01b02b11de52b69b3755883975b1cc8d183a5891.tar.gz gcc-01b02b11de52b69b3755883975b1cc8d183a5891.tar.bz2 |
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 <sys/utsname.h> if required.
* configure: Rebuilt.
* configure.in: Compute and define GCJVERSION.
* java/lang/natSystem.cc (default_file_encoding): Now static.
From-SVN: r26830
Diffstat (limited to 'libjava/java/lang/natSystem.cc')
-rw-r--r-- | libjava/java/lang/natSystem.cc | 31 |
1 files changed, 25 insertions, 6 deletions
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 <errno.h> +#ifdef HAVE_UNAME +#include <sys/utsname.h> +#endif + #include <cni.h> #include <jvm.h> #include <java/lang/System.h> @@ -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; |