clarified Java runtime options for 32 vs. 64 bit;
--- a/Admin/Linux/Isabelle.run Tue Sep 08 13:52:13 2015 +0200
+++ b/Admin/Linux/Isabelle.run Tue Sep 08 15:37:13 2015 +0200
@@ -17,15 +17,23 @@
source "$ISABELLE_HOME/lib/scripts/isabelle-platform"
+# Java runtime options
+
+ISABELLE_NAME="$(basename "$0" .run)"
+if [ -z "$ISABELLE_PLATFORM64" ]; then
+ declare -a JAVA_OPTIONS=($(perl -p -e 's,#.*$,,g;' "$ISABELLE_HOME/${ISABELLE_NAME}.options32"))
+else
+ declare -a JAVA_OPTIONS=($(perl -p -e 's,#.*$,,g;' "$ISABELLE_HOME/${ISABELLE_NAME}.options64"))
+fi
+
+
# main
#paranoia setting -- avoid problems of Java/Swing versus XIM/IBus etc.
unset XMODIFIERS
exec "$ISABELLE_HOME/contrib/jdk/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM32}/jre/bin/java" \
- "-Disabelle.home=$ISABELLE_HOME" \
- {JAVA_ARGS} \
+ "-Disabelle.home=$ISABELLE_HOME" "${JAVA_OPTIONS[@]}" \
-classpath "{CLASSPATH}" \
"-splash:$ISABELLE_HOME/lib/logo/isabelle.gif" \
isabelle.Main "$@"
-
--- a/Admin/lib/Tools/makedist_bundle Tue Sep 08 13:52:13 2015 +0200
+++ b/Admin/lib/Tools/makedist_bundle Tue Sep 08 15:37:13 2015 +0200
@@ -187,6 +187,23 @@
purge_jdk "x86-linux"
purge_jdk "x86_64-linux"
+ for PLATFORM in 32 64
+ do
+ (
+ echo "# Java runtime options for ${PLATFORM}bit platform"
+ declare -a JAVA_ARGS
+ if [ "$PLATFORM" = 32 ]; then
+ eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS32)"
+ else
+ eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
+ fi
+ for ARG in "${JAVA_ARGS[@]}"
+ do
+ echo "$ARG"
+ done
+ ) > "$ISABELLE_TARGET/${ISABELLE_NAME}.options${PLATFORM}"
+ done
+
LINUX_CLASSPATH=""
for ENTRY in "${DISTRIBITION_CLASSPATH[@]}"
do
@@ -196,9 +213,9 @@
LINUX_CLASSPATH="$LINUX_CLASSPATH:\\\$ISABELLE_HOME/$ENTRY"
fi
done
+
cat "$ISABELLE_HOME/Admin/Linux/Isabelle.run" | \
- perl -p > "$ISABELLE_TARGET/${ISABELLE_NAME}.run" \
- -e "s,{JAVA_ARGS},$JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS,g; s,{CLASSPATH},$LINUX_CLASSPATH,;"
+ perl -p > "$ISABELLE_TARGET/${ISABELLE_NAME}.run" -e "s,{CLASSPATH},$LINUX_CLASSPATH,;"
chmod +x "$ISABELLE_TARGET/${ISABELLE_NAME}.run"
mv "$ISABELLE_TARGET/contrib/linux_app" "$TMP/."
@@ -240,9 +257,14 @@
"$ISABELLE_TARGET/src/Tools/jEdit/dist/properties/jEdit.props"
(
- echo -e "# Java runtime options\r"
declare -a JAVA_ARGS=()
- eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)"
+ if [ "$PLATFORM_FAMILY" = windows ]; then
+ echo -e "# Java runtime options for 32bit platform\r"
+ eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS32)"
+ else
+ echo -e "# Java runtime options for 64bit platform\r"
+ eval "JAVA_ARGS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
+ fi
for ARG in "${JAVA_ARGS[@]}"
do
echo -e "$ARG\r"
@@ -335,7 +357,7 @@
cat "$APP_TEMPLATE/Info.plist-part1"
declare -a OPTIONS=()
- eval "OPTIONS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS)"
+ eval "OPTIONS=($ISABELLE_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_SYSTEM_OPTIONS $JEDIT_JAVA_OPTIONS64)"
for OPT in "${OPTIONS[@]}"
do
echo "<string>$OPT</string>"
--- a/NEWS Tue Sep 08 13:52:13 2015 +0200
+++ b/NEWS Tue Sep 08 15:37:13 2015 +0200
@@ -21,6 +21,12 @@
At least one Debugger view needs to be active to have any effect on the
running ML program.
+* Java runtime options are determined separately for 32 vs. 64 bit
+platforms. The "isabelle jedit" command-line tool is subject to settings
+variables JEDIT_JAVA_SYSTEM_OPTIONS and JEDIT_JAVA_OPTIONS32 /
+JEDIT_JAVA_OPTIONS64. The desktop application uses a separate option
+file, depending on the platform family.
+
*** Isar ***