support for jdk-7u6 component;
authorwenzelm
Thu, 16 Aug 2012 14:05:50 +0200
changeset 48825 3a9721d4ccae
parent 48824 45d0e40b07af
child 48826 b19ba23e70c5
support for jdk-7u6 component;
Admin/java/README
Admin/java/build
Admin/java/build_linux
Admin/java/settings
--- a/Admin/java/README	Wed Aug 15 23:06:17 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-This is JDK 1.6.0_31 for Linux and Windows from
-http://www.oracle.com/technetwork/java/javase/downloads/index.html
-
-On Mac OS X the version provided by Apple is used instead.
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Admin/java/build	Thu Aug 16 14:05:50 2012 +0200
@@ -0,0 +1,117 @@
+#!/usr/bin/env bash
+
+## diagnostics
+
+function fail()
+{
+  echo "$1" >&2
+  exit 2
+}
+
+
+## parameters
+
+ARCHIVE_LINUX32="jdk-7u6-linux-i586.tar.gz"
+ARCHIVE_LINUX64="jdk-7u6-linux-x64.tar.gz"
+ARCHIVE_DARWIN="jdk1.7.0_06.jdk.tar.gz"
+ARCHIVE_WINDOWS="jdk1.7.0_06.tar.gz"
+
+VERSION="7u6"
+
+
+## variations on version
+
+case "$VERSION" in
+  *u?)
+    MAJOR="$(echo "$VERSION" | cut -du -f1)"
+    MINOR="0$(echo "$VERSION" | cut -du -f2)"
+    ;;
+  *u??)
+    MAJOR="$(echo "$VERSION" | cut -du -f1)"
+    MINOR="$(echo "$VERSION" | cut -du -f2)"
+    ;;
+  *)
+    fail "Bad version identifier: \"$VERSION\""
+    ;;
+esac
+
+FULL_VERSION="1.${MAJOR}.0_${MINOR}"
+
+
+## main
+
+DIR="jdk-${VERSION}"
+mkdir "$DIR" || fail "Cannot create fresh directory: \"$DIR\""
+
+
+# README
+
+cat >> "$DIR/README" << EOF
+This is JDK $FULL_VERSION for Linux, Mac OS X, Windows.
+
+See http://www.oracle.com/technetwork/java/javase/downloads/index.html
+for the original downloads, which are covered by the Oracle Binary
+Code License Agreement for Java SE.
+
+Note that Java 1.7 requires 64bit hardware on Mac OS X.
+EOF
+
+
+# settings
+
+mkdir "$DIR/etc"
+cat >> "$DIR/etc/settings" << EOF
+# -*- shell-script -*- :mode=shellscript:
+
+case "\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM32}" in
+  x86-darwin)
+    echo "### Java 1.7 unavailable on 32bit Macintosh!" >&2
+    ;;
+  x86_64-darwin)
+    ISABELLE_JDK_HOME="\$COMPONENT/\$ISABELLE_PLATFORM64/jdk${FULL_VERSION}.jdk/Contents/Home"
+    ;;
+  *)
+    ISABELLE_JDK_HOME="\$COMPONENT/\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM32}/jdk${FULL_VERSION}"
+    ;;
+esac
+
+if [ -n "\$ISABELLE_JDK_HOME" ]; then
+  ISABELLE_JAVA_EXT="\${ISABELLE_JDK_HOME}/jre/lib/ext"
+fi
+EOF
+
+
+# content
+
+mkdir "$DIR/x86-linux" "$DIR/x86_64-linux" "$DIR/x86_64-darwin" "$DIR/x86-cygwin"
+
+tar -C "$DIR/x86-linux" -xf "$ARCHIVE_LINUX32"
+tar -C "$DIR/x86_64-linux" -xf "$ARCHIVE_LINUX64"
+tar -C "$DIR/x86_64-darwin" -xf "$ARCHIVE_DARWIN"
+tar -C "$DIR/x86-cygwin" -xf "$ARCHIVE_WINDOWS"
+
+chgrp -R isabelle "$DIR"
+chmod -R a+r "$DIR"
+chmod -R a+X "$DIR"
+
+(
+  cd "$DIR/x86-linux/jdk${FULL_VERSION}"
+  for FILE in $(find . -type f)
+  do
+    for OTHER in \
+      "../../x86_64-linux/jdk${FULL_VERSION}/$FILE" \
+      "../../x86_64-darwin/jdk${FULL_VERSION}.jdk/Contents/Home/$FILE" \
+      "../../x86-cygwin/jdk${FULL_VERSION}/$FILE"
+    do
+      if cmp -s "$FILE" "$OTHER"
+      then
+        ln -f "$FILE" "$OTHER"
+      fi
+    done
+  done
+)
+
+
+# create archive
+
+tar -cz -f "${DIR}.tar.gz" "$DIR"
--- a/Admin/java/build_linux	Wed Aug 15 23:06:17 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-#!/usr/bin/env bash
-
-
-## diagnostics
-
-PRG="$(basename "$0")"
-THIS="$(cd $(dirname "$0"); pwd)"
-
-function usage()
-{
-  cat <<EOF
-
-Usage: $PRG [VERSION]
-
-  Build hybrid Isabelle component for JDK on x86-linux/x86_64-linux.
-
-  VERSION is 7u4 for 1.7.0_04 etc.
-EOF
-  exit 1
-}
-
-function fail()
-{
-  echo "$1" >&2
-  exit 2
-}
-
-
-## process command line
-
-# args
-
-VERSION=""
-[ "$#" -gt 0 ] && { VERSION="$1"; shift; }
-
-[ "$#" -gt 0 ] && usage
-
-case "$VERSION" in
-  *u?)
-    MAJOR="$(echo "$VERSION" | cut -du -f1)"
-    MINOR="0$(echo "$VERSION" | cut -du -f2)"
-    ;;
-  *u??)
-    MAJOR="$(echo "$VERSION" | cut -du -f1)"
-    MINOR="$(echo "$VERSION" | cut -du -f2)"
-    ;;
-  *)
-    fail "Bad version identifier: \"$VERSION\""
-    ;;
-esac
-
-FULL_VERSION="1.${MAJOR}.0_${MINOR}"
-
-
-## main
-
-DIR="jdk${FULL_VERSION}_x86-linux"
-mkdir "$DIR" || fail "Cannot create fresh directory: \"$DIR\""
-
-
-# README
-
-cat >> "$DIR/README" << EOF
-This is JDK $FULL_VERSION for x86-linux and x86_64-linux
-
-See http://www.oracle.com/technetwork/java/javase/downloads/index.html
-for the original downloads, which are covered by the Oracle Binary
-Code License Agreement for Java SE.
-EOF
-
-
-# settings
-
-mkdir "$DIR/etc"
-cat >> "$DIR/etc/settings" << EOF
-# -*- shell-script -*- :mode=shellscript:
-
-ISABELLE_JDK_HOME="\$COMPONENT/\${ISABELLE_PLATFORM64:-\$ISABELLE_PLATFORM}"
-EOF
-
-
-# content
-
-tar -C "$DIR" -x -f "jdk-$VERSION-linux-i586.tar.gz" || \
-  fail "Bad archive: \"jdk-$VERSION-linux-i586.tar.gz\""
-mv "$DIR/jdk$FULL_VERSION" "$DIR/x86-linux"
-
-tar -C "$DIR" -x -f "jdk-$VERSION-linux-x64.tar.gz" || \
-  fail "Bad archive: \"jdk-$VERSION-linux-x64.tar.gz\""
-mv "$DIR/jdk$FULL_VERSION" "$DIR/x86_64-linux"
-
-(
-  cd "$DIR/x86-linux"
-  for FILE in $(find . -type f)
-  do
-    if cmp -s "$FILE" "../x86_64-linux/$FILE"
-    then
-      ln -f "$FILE" "../x86_64-linux/$FILE"
-    fi
-  done
-)
-
-
-# create archive
-
-tar -cz -f "${DIR}.tar.gz" "$DIR" && rm -rf "$DIR"
--- a/Admin/java/settings	Wed Aug 15 23:06:17 2012 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,10 +0,0 @@
-# -*- shell-script -*- :mode=shellscript:
-
-case "$ISABELLE_PLATFORM" in
-  *-darwin)
-    ISABELLE_JDK_HOME="$(/usr/libexec/java_home -v 1.6)"
-    ;;
-  *)
-    ISABELLE_JDK_HOME="$COMPONENT/${ISABELLE_PLATFORM64:-$ISABELLE_PLATFORM}/jdk1.6.0_31"
-    ;;
-esac