merged;
authorwenzelm
Mon, 05 Feb 2024 22:03:43 +0100
changeset 79581 163b554af747
parent 79576 157de27b0863 (current diff)
parent 79580 37e57ac55559 (diff)
child 79582 7822b55b26ce
merged;
--- a/Admin/components/bundled-windows	Fri Jan 19 13:56:26 2024 +0100
+++ b/Admin/components/bundled-windows	Mon Feb 05 22:03:43 2024 +0100
@@ -1,3 +1,3 @@
 #additional components to be bundled for release
 cygwin-20230711-1
-windows_app-20240204
+windows_app-20240205
--- a/Admin/components/components.sha1	Fri Jan 19 13:56:26 2024 +0100
+++ b/Admin/components/components.sha1	Mon Feb 05 22:03:43 2024 +0100
@@ -542,6 +542,7 @@
 9e96ba128a0617a9020a178781df49d48c997e19 windows_app-20181006.tar.gz
 4883f93efb27ae51fb2cc0e1f52309728f2dc407 windows_app-20240202.tar.gz
 5269b9e38fe58be10272d6817dbfd08b67b312e7 windows_app-20240204.tar.gz
+94fecdab25ddc52b5afde4ab3f017a3c14c656c8 windows_app-20240205.tar.gz
 1c36a840320dfa9bac8af25fc289a4df5ea3eccb xz-java-1.2-1.tar.gz
 2ae13aa17d0dc95ce254a52f1dba10929763a10d xz-java-1.2.tar.gz
 c22196148fcace5443a933238216cff5112948df xz-java-1.5.tar.gz
--- a/src/Pure/Admin/component_windows_app.scala	Fri Jan 19 13:56:26 2024 +0100
+++ b/src/Pure/Admin/component_windows_app.scala	Mon Feb 05 22:03:43 2024 +0100
@@ -11,7 +11,7 @@
   /* resources */
 
   def tool_platform(): String = {
-    require(Platform.is_linux, "Linux platform required")
+    require(Platform.is_unix, "Linux or macOS platform required")
     Isabelle_Platform.self.ISABELLE_PLATFORM64
   }
 
@@ -34,7 +34,6 @@
     "https://github.com/chrislake/7zsfxmm/releases/download/1.7.1.3901/7zsd_extra_171_3901.7z"
 
   def build_windows_app(
-    build_binutils: Boolean = false,
     launch4j_url: String = default_launch4j_url,
     binutils_url: String = default_binutils_url,
     sfx_url: String = default_sfx_url,
@@ -67,23 +66,21 @@
 
       /* GNU binutils */
 
-      if (build_binutils) {
-        Isabelle_System.download_file(binutils_url, download_tar, progress = progress)
-        Isabelle_System.extract(download_tar, tmp_dir, strip = true)
+      Isabelle_System.download_file(binutils_url, download_tar, progress = progress)
+      Isabelle_System.extract(download_tar, tmp_dir, strip = true)
 
-        progress.echo("Building GNU binutils for " + platform_name + " ...")
-        val build_script =
-          List("""./configure --prefix="$PWD/target" --with-windres --with-ld --target=x86_64-w64-mingw32""",
-            "make", "make install")
-        Isabelle_System.bash(build_script.mkString(" && "), cwd = tmp_dir.file,
-          progress_stdout = progress.echo(_, verbose = true),
-          progress_stderr = progress.echo(_, verbose = true)).check
+      progress.echo("Building GNU binutils for " + platform_name + " ...")
+      val build_script =
+        List("""./configure --prefix="$PWD/target" --target=x86_64-w64-mingw32""",
+          "make", "make install")
+      Isabelle_System.bash(build_script.mkString(" && "), cwd = tmp_dir.file,
+        progress_stdout = progress.echo(_, verbose = true),
+        progress_stderr = progress.echo(_, verbose = true)).check
 
-        for (name <- List("ld", "windres")) {
-          Isabelle_System.copy_file(
-            tmp_dir + Path.explode("target/bin") + Path.basic("x86_64-w64-mingw32-" + name),
-              platform_bin_dir + Path.basic(name))
-        }
+      for (name <- List("ld", "windres")) {
+        Isabelle_System.copy_file(
+          tmp_dir + Path.explode("target/bin") + Path.basic("x86_64-w64-mingw32-" + name),
+            platform_bin_dir + Path.basic(name))
       }
 
 
@@ -106,7 +103,7 @@
 * Application launcher: http://launch4j.sourceforge.net
 
 * Platform binaries "ld" and "windres" from GNU binutils:
-  """ + binutils_url + """
+  """ + binutils_url + build_script.mkString("\n\n    ", "\n    ", "") + """
 
 * Self-extracting installer:
   """ + sfx_url + """
@@ -139,7 +136,6 @@
         "build windows_app component from GNU binutils and launch4j",
       Scala_Project.here,
       { args =>
-        var build_binutils = false
         var target_dir = Path.current
         var launch4j_url = default_launch4j_url
         var binutils_url = default_binutils_url
@@ -162,7 +158,6 @@
 
   Build Isabelle windows_app component from GNU binutils and launch4j.
 """,
-          "B" -> (_ => build_binutils = true),
           "D:" -> (arg => target_dir = Path.explode(arg)),
           "U:" -> (arg => launch4j_url = arg),
           "V:" -> (arg => binutils_url = arg),
@@ -174,8 +169,7 @@
 
         val progress = new Console_Progress(verbose = verbose)
 
-        build_windows_app(build_binutils = build_binutils,
-          launch4j_url = launch4j_url, binutils_url = binutils_url,
+        build_windows_app(launch4j_url = launch4j_url, binutils_url = binutils_url,
           sfx_url = sfx_url, progress = progress, target_dir = target_dir)
       })
 }