# HG changeset patch # User wenzelm # Date 1488363979 -3600 # Node ID b5bf76cf2b4e1bbd8f56d2ba2182218029d77252 # Parent 36c650d1a90d7f6b6c5a0117b59498a53dfff06d more uniform platform settings; diff -r 36c650d1a90d -r b5bf76cf2b4e Admin/PLATFORMS --- a/Admin/PLATFORMS Tue Feb 28 23:12:52 2017 +0100 +++ b/Admin/PLATFORMS Wed Mar 01 11:26:19 2017 +0100 @@ -57,12 +57,13 @@ libraries, so native x86_64-linux needs to be used by default, despite its doubled space requirements for Poly/ML heaps. For Mac OS X, the x86-darwin personality usually works seamlessly for C/C++ programs, -but the Java platform is only available for x86_64-darwin. +but the Java platform is always for x86_64-darwin. Add-on executables are expected to work without manual user configuration. Each component settings script needs to determine the platform details appropriately. + The Isabelle settings environment provides the following variables to help configuring platform-dependent tools: @@ -77,6 +78,21 @@ "${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}" + +There is a second set of settings for native Windows (instead of the +POSIX emulation of Cygwin used before): + + ISABELLE_WINDOWS_PLATFORM64 (potentially empty) + ISABELLE_WINDOWS_PLATFORM32 + ISABELLE_WINDOWS_PLATFORM + +It can be used like this: + + "${ISABELLE_WINDOWS_PLATFORM:-$ISABELLE_PLATFORM}" + + "${ISABELLE_WINDOWS_PLATFORM64:-${ISABELLE_WINDOWS_PLATFORM32:-${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}}}" + + Moreover note that ML and JVM usually have a different idea of the platform, depending on the respective binaries that are actually run. Poly/ML 5.6.x performs best in 32 bit mode, even for large diff -r 36c650d1a90d -r b5bf76cf2b4e NEWS --- a/NEWS Tue Feb 28 23:12:52 2017 +0100 +++ b/NEWS Wed Mar 01 11:26:19 2017 +0100 @@ -142,10 +142,11 @@ * ISABELLE_SCALA_BUILD_OPTIONS has been renamed to ISABELLE_SCALAC_OPTIONS. Rare INCOMPATIBILITY. -* Isabelle settings ISABELLE_WINDOWS_PLATFORM32 and -ISABELLE_WINDOWS_PLATFORM64 indicate the native Windows platform -(independently of the Cygwin installation). This is analogous to -ISABELLE_PLATFORM32 and ISABELLE_PLATFORM64. +* Isabelle settings ISABELLE_WINDOWS_PLATFORM, +ISABELLE_WINDOWS_PLATFORM32, ISABELLE_WINDOWS_PLATFORM64 indicate the +native Windows platform (independently of the Cygwin installation). This +is analogous to ISABELLE_PLATFORM, ISABELLE_PLATFORM32, +ISABELLE_PLATFORM64. diff -r 36c650d1a90d -r b5bf76cf2b4e lib/scripts/isabelle-platform --- a/lib/scripts/isabelle-platform Tue Feb 28 23:12:52 2017 +0100 +++ b/lib/scripts/isabelle-platform Wed Mar 01 11:26:19 2017 +0100 @@ -44,6 +44,7 @@ i?86 | x86_64) ISABELLE_PLATFORM32=x86-cygwin if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" -o "$PROCESSOR_ARCHITEW6432" = "AMD64" ]; then + ISABELLE_WINDOWS_PLATFORM32="x86-windows" ISABELLE_WINDOWS_PLATFORM64="x86_64-windows" else ISABELLE_WINDOWS_PLATFORM32="x86-windows" @@ -62,4 +63,4 @@ esac ISABELLE_PLATFORM="$ISABELLE_PLATFORM32" - +ISABELLE_WINDOWS_PLATFORM="$ISABELLE_WINDOWS_PLATFORM32"