From 9b88d313fc4dfa1d1e34dbc000f6ae3b14089c07 Mon Sep 17 00:00:00 2001 From: LoRd_MuldeR Date: Sun, 27 Sep 2020 20:33:49 +0200 Subject: [PATCH] Improved the Makefile and added README file. --- Makefile | 99 ++++++++++++++++++++++++++--------------- README.md | 82 ++++++++++++++++++++++++++++++++++ build.cmd | 33 ++++++++++++++ etc/logo.png | Bin 0 -> 23430 bytes res/splash_screen.bmp | Bin 49078 -> 49078 bytes res/splash_screen.orig | Bin 0 -> 49078 bytes res/version.rc | 55 +++++++++++++++++++++++ src/head.c | 19 +++++--- 8 files changed, 245 insertions(+), 43 deletions(-) create mode 100644 README.md create mode 100644 build.cmd create mode 100644 etc/logo.png create mode 100644 res/splash_screen.orig create mode 100644 res/version.rc diff --git a/Makefile b/Makefile index 65f9c73..8549a35 100644 --- a/Makefile +++ b/Makefile @@ -11,10 +11,18 @@ # https://sourceforge.net/p/launch4j/ # ############################################################ -MARCH ?= i586 -MTUNE ?= intel +MTUNE ?= generic +OS_TYPE := $(shell $(CXX) -dumpmachine) -CFLAGS = -O3 -municode -mwindows -march=$(MARCH) -mtune=$(MTUNE) +ifeq ($(words $(filter x86_64-%,$(OS_TYPE))),0) + MARCH ?= i586 + L5J_ARCH = x86 +else + MARCH ?= x86-64 + L5J_ARCH = x64 +endif + +CFLAGS = -Os -static -municode -mwindows -march=$(MARCH) -mtune=$(MTUNE) .PHONY: all init headers resources clean @@ -25,42 +33,59 @@ init: mkdir -p obj resources: init - windres -o obj/icon.o res/icon.rc - windres -o obj/splash_screen.o res/splash_screen.rc + windres -o obj/icon.$(L5J_ARCH).o res/icon.rc + windres -o obj/splash_screen.$(L5J_ARCH).o res/splash_screen.rc + windres -o obj/version.$(L5J_ARCH).o res/version.rc headers: init resources - $(CC) $(CFLAGS) -o bin/head.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_nosplash.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_nowait.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_nowait_nosplash.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_wrapped.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_wrapped_nosplash.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_wrapped_nowait.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_registry.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_registry_nosplash.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_registry_nowait.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_registry_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_registry_wrapped.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_registry_wrapped_nosplash.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/icon.o - $(CC) $(CFLAGS) -o bin/head_registry_wrapped_nowait.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/icon.o obj/splash_screen.o - $(CC) $(CFLAGS) -o bin/head_registry_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/icon.o - strip bin/head.exe - strip bin/head_nosplash.exe - strip bin/head_nowait.exe - strip bin/head_nowait_nosplash.exe - strip bin/head_wrapped.exe - strip bin/head_wrapped_nosplash.exe - strip bin/head_wrapped_nowait.exe - strip bin/head_wrapped_nowait_nosplash.exe - strip bin/head_registry.exe - strip bin/head_registry_nosplash.exe - strip bin/head_registry_nowait.exe - strip bin/head_registry_nowait_nosplash.exe - strip bin/head_registry_wrapped.exe - strip bin/head_registry_wrapped_nosplash.exe - strip bin/head_registry_wrapped_nowait.exe - strip bin/head_registry_wrapped_nowait_nosplash.exe + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).nowait.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).nowait_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).wrapped.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).wrapped_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).wrapped_nowait.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=0 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_wrapped.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_wrapped_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_wrapped_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=0 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=0 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_wrapped.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=1 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nowait.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=1 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o obj/splash_screen.$(L5J_ARCH).o + $(CC) $(CFLAGS) -o bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nowait_nosplash.exe -DDETECT_REGISTRY=1 -DREQUIRE_JAVA11=1 -DJAR_FILE_WRAPPED=1 -DSTAY_ALIVE=0 -DENABLE_SPLASH=0 src/head.c obj/version.$(L5J_ARCH).o obj/icon.$(L5J_ARCH).o + strip bin/launch5j_$(L5J_ARCH).exe + strip bin/launch5j_$(L5J_ARCH).nosplash.exe + strip bin/launch5j_$(L5J_ARCH).nowait.exe + strip bin/launch5j_$(L5J_ARCH).nowait_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).wrapped.exe + strip bin/launch5j_$(L5J_ARCH).wrapped_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).wrapped_nowait.exe + strip bin/launch5j_$(L5J_ARCH).wrapped_nowait_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry.exe + strip bin/launch5j_$(L5J_ARCH).registry_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_nowait.exe + strip bin/launch5j_$(L5J_ARCH).registry_nowait_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_wrapped.exe + strip bin/launch5j_$(L5J_ARCH).registry_wrapped_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_wrapped_nowait.exe + strip bin/launch5j_$(L5J_ARCH).registry_wrapped_nowait_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_nowait.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_nowait_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_wrapped.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nosplash.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nowait.exe + strip bin/launch5j_$(L5J_ARCH).registry_java11_wrapped_nowait_nosplash.exe clean: init rm -f bin/*.exe diff --git a/README.md b/README.md new file mode 100644 index 0000000..37986ac --- /dev/null +++ b/README.md @@ -0,0 +1,82 @@ +![Launch5j](etc/logo.png) + +**Java JAR wrapper for creating Windows native executables +created by LoRd_MuldeR <>** + +# Introduction + +**Launch5j** is a reimagination of “Launch4j”, *with full Unicode support*. + +This is a tool for wrapping Java applications distributed as JARs in lightweight Windows native executables. The executable can be configured to search for a certain JRE version or use a bundled one. The wrapper also provides better user experience through an application icon, a native pre-JRE splash screen, and a Java download page in case the appropriate JRE cannot be found. + +# Usage + +There currently are two different ways to use Launch5j with your application code: + +* ***Use the launcher executable with a separate JAR file*** + + Simply put the launcher executable (`launch5j.exe`) and your JAR file into the same directory. Launch5j will automatically detect the path of the JAR file based on the location of the executable file. More specifically, Launch5j detects the full path of the executable file and then replaces the `.exe` file extension with a `.jar` file extension in order to determine the path of the JAR file. Of course, you can rename the `launch5j.exe` executable file to `my_program.exe` or whatever you like. + +* ***Combine the launcher executable and the JAR file (“wrapping”)*** + + In order to combine the launcher executable (`launch5j.wrapped.exe`) and the JAR file to a *single* file, you can simply concatenate these files. A simple way to achieve this is by running the following command-line in the terminal: + + copy /B launch5j.wrapped.exe + my_program.jar my_program.exe + + The resulting `my_program.exe` will be fully self-contained and is the only file you'll need to ship. + + **Warning:** Code signing, as with Microsoft®'s `SignTool`, probably does **not** work with the “wrapped” executable file! If code signing is a requirement, then we recommend using a separate JAR file and just sing the launcher executable. + +# Variants + +Launch5j executables come in a number of variants, allowing you to pick the most suitable one: + +* **`wrapped`** + Expects the JAR file and the executable launcher to be combined to a *single* file; default variant expects a separate JAR file in the same directory as the executable launcher. + +* **`registry`** + Tries to detect the install path of the JRE from the Windows registry; default variant expects the JRE to be located in a path relative to the executable launcher. + +* **`java11`** + When detecting JRE from the registry, accepts JRE version 11 or any newer JRE version; default variant accepts JRE version 8 (1.8.0) or any newer JRE version. + +* **`nosplash`** + Does **not** display a splash screen while the application is launching; default variant *does* display a splash screen while the application is launching. + +* **`nowait`** + Does **not** keep the launcher executable alive while the application is running and thus won't return a meaningful exit code; default variant keeps the launcher executable alive until the application terminates and forwards the application's exit code. + +# Customizations + +Launch5j comes with a *default* executable icon and a *default* splash screen bitmap. These just server as an example and you probably want to replace them with your own *application-specific* graphics. + +It is **not** necessary (though possible) to re-build the executable files for that purpose. Instead, you can use the excellent **Resource Hacker™** utility to “edit” the pre-compiled executable files as needed: + + +# Acknowledgment + +This project is partly inspired by the “Launch4j” project, even though it has been re-written from scratch: + + +# License + +This work has been released under the MIT license: + + Copyright 2020 LoRd_MuldeR + + Permission is hereby granted, free of charge, to any person obtaining a copy of + this software and associated documentation files (the "Software"), to deal in + the Software without restriction, including without limitation the rights to + use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of + the Software, and to permit persons to whom the Software is furnished to do so, + subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all + copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS + FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER + IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/build.cmd b/build.cmd new file mode 100644 index 0000000..cf0030d --- /dev/null +++ b/build.cmd @@ -0,0 +1,33 @@ +@echo off +setlocal enabledelayedexpansion +cd /d "%~dp0" + +set "MSYS2_DIR=C:\msys64" + +if not exist "%MSYS2_DIR%\msys2_shell.cmd" ( + echo MSYS2 SHELL not found. Please check MSYS2_DIR and try again^^! + pause + goto:eof +) + +echo ======================================================================== +echo Clean +echo ======================================================================== +echo. +call "%MSYS2_DIR%\msys2_shell.cmd" -mingw32 -no-start -defterm -where "%~dp0" -c "make clean" +echo. + +for %%m in (32,64) do ( + echo ======================================================================== + echo Build %%m-Bit + echo ======================================================================== + echo. + call "%MSYS2_DIR%\msys2_shell.cmd" -mingw%%m -no-start -defterm -where "%~dp0" -c "make -B" + if not "!ERRORLEVEL!"=="0" goto:build_completed + echo. +) + +echo ALL IS COMPLETED. + +:build_completed +pause diff --git a/etc/logo.png b/etc/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1faf9ad5d5c1799b20d8142bbaf0f5a936f7aea9 GIT binary patch literal 23430 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�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%0AVRBL1Y!=4LKwqjcxxeXYASiHnS)CqM%&Ke1e< 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 literal 49078 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" + VALUE "CompanyName", "Muldersoft" + VALUE "LegalTrademarks", "Muldersoft" + VALUE "Comments", "This work has been released under the MIT license!" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END diff --git a/src/head.c b/src/head.c index a65b28e..538b51f 100644 --- a/src/head.c +++ b/src/head.c @@ -28,12 +28,6 @@ // Resources #include "resource.h" -// Const -static const wchar_t *const JRE_RELATIVE_PATH = L"runtime\\bin\\javaw.exe"; -static const wchar_t *const JRE_DOWNLOAD_LINK = L"https://adoptopenjdk.net/"; -static const DWORD SPLASH_SCREEN_TIMEOUT = 30000U; -static const ULONGLONG JAVA_MINIMUM_VERSION = 0x0008000000000000ull; - // Options #ifndef ENABLE_SPLASH #define ENABLE_SPLASH 1 @@ -53,6 +47,19 @@ static const ULONGLONG JAVA_MINIMUM_VERSION = 0x0008000000000000ull; #ifndef PREFER_X64 #define PREFER_X64 1 #endif +#ifndef REQUIRE_JAVA11 +#define REQUIRE_JAVA11 0 +#endif + +// Const +static const wchar_t *const JRE_RELATIVE_PATH = L"runtime\\bin\\javaw.exe"; +static const wchar_t *const JRE_DOWNLOAD_LINK = L"https://adoptopenjdk.net/"; +static const DWORD SPLASH_SCREEN_TIMEOUT = 30000U; +#if REQUIRE_JAVA11 +static const ULONGLONG JAVA_MINIMUM_VERSION = 0x000B000000000000ull; +#else +static const ULONGLONG JAVA_MINIMUM_VERSION = 0x0008000000000000ull; +#endif /* ======================================================================== */ /* String routines */