Changeset 15357
- Timestamp:
- 07/30/20 14:09:10 (3 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/Keyword.java
r15028 r15357 94 94 IO = internKeyword("IO"), 95 95 J = internKeyword("J"), 96 // BEGIN deprecated: use "JAVA-<n>" instead 96 97 JAVA_1_4 = internKeyword("JAVA-1.4"), 97 98 JAVA_1_5 = internKeyword("JAVA-1.5"), … … 100 101 JAVA_1_8 = internKeyword("JAVA-1.8"), 101 102 JAVA_1_9 = internKeyword("JAVA-1.9"), 103 // END deprecated 102 104 KEY = internKeyword("KEY"), 103 105 KEY_AND_VALUE = internKeyword("KEY-AND-VALUE"), -
trunk/abcl/src/org/armedbear/lisp/Lisp.java
r15350 r15357 2367 2367 Symbol.READ_EVAL.initializeSpecial(T); 2368 2368 } 2369 2369 2370 2371 // 2370 2372 // ### *features* 2373 // 2371 2374 static 2372 2375 { … … 2374 2377 final String javaVersion = System.getProperty("java.version"); 2375 2378 final String osArch = System.getProperty("os.arch"); 2376 2379 2377 2380 // Common features 2378 2381 LispObject featureList = list(Keyword.ARMEDBEAR, Keyword.ABCL, 2379 2382 Keyword.COMMON_LISP, Keyword.ANSI_CL, 2380 Keyword.CDR6, Keyword.MOP, 2383 Keyword.CDR6, 2384 Keyword.MOP, 2381 2385 internKeyword("PACKAGE-LOCAL-NICKNAMES")); 2386 2387 // add the contents of version as a keyword symbol regardless of runtime value 2388 featureList = featureList.push(internKeyword("JVM-" + javaVersion)); 2389 { 2390 String platformVersion = null; 2391 if (javaVersion.startsWith("1.")) { 2392 // pre <https://openjdk.java.net/jeps/223> 2393 int i = javaVersion.indexOf(".", 2); 2394 platformVersion = javaVersion.substring(2, i); 2395 } else { 2396 int i = javaVersion.indexOf("."); 2397 platformVersion = javaVersion.substring(0, i); 2398 } 2399 featureList = featureList.push(internKeyword("JAVA-" + platformVersion)); 2400 } 2401 2402 { // Deprecated java version 2403 if (javaVersion.startsWith("1.5")) { 2404 featureList = new Cons(Keyword.JAVA_1_5, featureList); 2405 } else if (javaVersion.startsWith("1.6")) { 2406 featureList = new Cons(Keyword.JAVA_1_6, featureList); 2407 } else if (javaVersion.startsWith("1.7")) { 2408 featureList = new Cons(Keyword.JAVA_1_7, featureList); 2409 } else if (javaVersion.startsWith("1.8")) { 2410 featureList = new Cons(Keyword.JAVA_1_8, featureList); 2411 } 2412 } 2413 2414 2382 2415 // OS type 2383 2416 if (osName.startsWith("Linux")) 2384 2417 featureList = Primitives.APPEND.execute(list(Keyword.UNIX, 2385 2418 Keyword.LINUX), 2386 featureList);2419 featureList); 2387 2420 else if (osName.startsWith("SunOS")) 2388 2421 featureList = Primitives.APPEND.execute(list(Keyword.UNIX, … … 2390 2423 Keyword.SOLARIS), 2391 2424 featureList); 2392 else if (osName.startsWith("Mac OS X") ||2393 osName.startsWith("Darwin"))2425 else if (osName.startsWith("Mac OS X") 2426 || osName.startsWith("Darwin")) 2394 2427 featureList = Primitives.APPEND.execute(list(Keyword.UNIX, 2395 2428 Keyword.DARWIN), … … 2409 2442 else if (osName.startsWith("Windows")) 2410 2443 featureList = new Cons(Keyword.WINDOWS, featureList); 2411 // Java version 2412 if (javaVersion.startsWith("1.5")) { 2413 featureList = new Cons(Keyword.JAVA_1_5, featureList); 2414 } else if (javaVersion.startsWith("1.6")) { 2415 featureList = new Cons(Keyword.JAVA_1_6, featureList); 2416 } else if (javaVersion.startsWith("1.7")) { 2417 featureList = new Cons(Keyword.JAVA_1_7, featureList); 2418 } else if (javaVersion.startsWith("1.8")) { 2419 featureList = new Cons(Keyword.JAVA_1_8, featureList); 2420 } else if (javaVersion.startsWith("1.9")) { 2421 featureList = new Cons(Keyword.JAVA_1_9, featureList); 2422 } 2444 2423 2445 // Processor architecture 2424 if(osArch != null) { 2425 if (osArch.equals("amd64") || osArch.equals("x86_64")) 2426 featureList = new Cons(Keyword.X86_64, featureList); 2427 else if (osArch.equals("x86") || osArch.equals("i386")) 2428 featureList = new Cons(Keyword.X86, featureList); 2446 if (osArch != null) { 2447 if (osArch.equals("amd64") || osArch.equals("x86_64")) { 2448 featureList = featureList.push(Keyword.X86_64); 2449 } else if (osArch.equals("x86") || osArch.equals("i386")) { 2450 featureList = featureList.push(Keyword.X86); 2451 } else { 2452 // just push the value of 'os.arch' as a keyword 2453 featureList = featureList.push(internKeyword(osArch)); 2454 } 2429 2455 } 2430 2456 Symbol.FEATURES.initializeSpecial(featureList);
Note: See TracChangeset
for help on using the changeset viewer.