# HG changeset patch # User wenzelm # Date 1441719433 -7200 # Node ID 80ac5e17772d83f9cf66f6b3d7022d5a4a88ce0c # Parent c6d62d092246066d8e8772cb36e688d67797ab01 clarified Java runtime options for 32 vs. 64 bit; diff -r c6d62d092246 -r 80ac5e17772d Admin/Linux/Isabelle.run --- 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 "$@" - diff -r c6d62d092246 -r 80ac5e17772d Admin/lib/Tools/makedist_bundle --- 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 "$OPT" diff -r c6d62d092246 -r 80ac5e17772d NEWS --- 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 ***