From c57a08d6c93a48f8742687c8f71bdf951210f4d8 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 10:46:03 +0100 Subject: [PATCH 01/76] windows build --- .github/workflows/xtracfg.yml | 50 ++++++++++++++++++----------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 6e112a6..8bdd29f 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -8,18 +8,18 @@ jobs: strategy: matrix: os: - - runner: ubuntu-24.04 - type: linux - platform: linux-amd64 - - runner: ubuntu-24.04-arm #buildjet-2vcpu-ubuntu-2204-arm - type: linux - platform: linux-arm64 - - runner: macos-14 - type: macos - platform: darwin-arm64 - #- runner: windows-2022 - # type: windows - # platform: windows-amd64 +# - runner: ubuntu-24.04 +# type: linux +# platform: linux-amd64 +# - runner: ubuntu-24.04-arm +# type: linux +# platform: linux-arm64 +# - runner: macos-14 +# type: macos +# platform: darwin-arm64 + - runner: windows-2022 + type: windows + platform: windows-amd64 steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -98,18 +98,18 @@ jobs: strategy: matrix: os: - - runner: ubuntu-24.04 - type: linux - platform: linux-amd64 - - runner: ubuntu-24.04-arm #buildjet-2vcpu-ubuntu-2204-arm - type: linux - platform: linux-arm64 - - runner: macos-14 - type: macos - platform: darwin-arm64 - #- runner: windows-2022 - # type: windows - # platform: windows-amd64 +# - runner: ubuntu-24.04 +# type: linux +# platform: linux-amd64 +# - runner: ubuntu-24.04-arm +# type: linux +# platform: linux-arm64 +# - runner: macos-14 +# type: macos +# platform: darwin-arm64 + - runner: windows-2022 + type: windows + platform: windows-amd64 defaults: run: working-directory: ./xtracfg @@ -160,6 +160,7 @@ jobs: retention-days: 1 publish_npm: + if: ${{ github.ref_type == 'linux' }} runs-on: ubuntu-latest needs: build_libraries defaults: @@ -202,6 +203,7 @@ jobs: ls -lR ./**/build publish_docker: + if: ${{ github.ref_type == 'linux' }} runs-on: ubuntu-latest needs: build_binaries steps: From c5c6f2497c28affbe058361280e47bb68d310fff Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 14:17:36 +0100 Subject: [PATCH 02/76] windows build --- .github/workflows/xtracfg.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 8bdd29f..ff9577d 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -54,6 +54,10 @@ jobs: working-directory: ./libxtracfg/java run: | ./gradlew nativeCompile -PLIB=true + - name: log0 + run: | + ls -lR ./libxtracfg/java/build/native/nativeCompile + cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | ls -l ./libxtracfg/c/build From 1aa4df4a774b1d7ba769e5aea4526c2822de935a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 14:27:04 +0100 Subject: [PATCH 03/76] windows build --- .github/workflows/xtracfg.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index ff9577d..fc3f602 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -56,7 +56,8 @@ jobs: ./gradlew nativeCompile -PLIB=true - name: log0 run: | - ls -lR ./libxtracfg/java/build/native/nativeCompile + dir /s /a ./libxtracfg/java/build/native/nativeCompile + dir /s /a ./libxtracfg/java/build cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | From cee1d9aebfa6a2287b6e149c9e71a2cc64bceae8 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 14:35:47 +0100 Subject: [PATCH 04/76] windows build --- .github/workflows/xtracfg.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index fc3f602..045fc47 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -56,8 +56,8 @@ jobs: ./gradlew nativeCompile -PLIB=true - name: log0 run: | - dir /s /a ./libxtracfg/java/build/native/nativeCompile - dir /s /a ./libxtracfg/java/build + dir /s /a libxtracfg\\java\\build\\native\\nativeCompile + dir /s /a libxtracfg\\java\\build cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | From ffd6d607e572a43c03aa81b0eda9541d1dc9aff0 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 14:44:55 +0100 Subject: [PATCH 05/76] windows build --- .github/workflows/xtracfg.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 045fc47..0af17d3 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -56,8 +56,8 @@ jobs: ./gradlew nativeCompile -PLIB=true - name: log0 run: | - dir /s /a libxtracfg\\java\\build\\native\\nativeCompile - dir /s /a libxtracfg\\java\\build + ls -Recurse ./libxtracfg/java/build/native/nativeCompile + ls -Recurse ./libxtracfg/java/build cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | From e3bd8acf56e312f16bac29f62e738fe89397b755 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 14:57:13 +0100 Subject: [PATCH 06/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index f434a3c..28a8aeb 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -1,4 +1,4 @@ -@echo off +REM @echo off setlocal EnableDelayedExpansion REM This script intercepts compiler arguments generated by GraalVM's native-image for @@ -9,6 +9,7 @@ REM GraalVM jdk21.+35.1 on Windows 10 and may need to be modified for other vers REM REM Use with --native-compiler-path=${pathToThisScript}.bat set OUTPUT_PATH=%~dp0\..\..\target\image +echo %OUTPUT_PATH% REM Determine the library name based on the .dll argument. ~nP returns the filename REM without quotes, i.e., "path\myLibrary.dll" returns myLibrary From 4ab21dd30dde63840ec33b9f27964510bf76ed80 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 15:05:23 +0100 Subject: [PATCH 07/76] windows build --- .github/workflows/xtracfg.yml | 4 ++-- libxtracfg/c/native-image/static-compiler-windows.bat | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 0af17d3..d1724a6 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -57,8 +57,8 @@ jobs: - name: log0 run: | ls -Recurse ./libxtracfg/java/build/native/nativeCompile - ls -Recurse ./libxtracfg/java/build - cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt + ls -Recurse ./libxtracfg/target + cat ./libxtracfg/target/image/logs/compiler_commands.txt - name: log1 run: | ls -l ./libxtracfg/c/build diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 28a8aeb..f434a3c 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -1,4 +1,4 @@ -REM @echo off +@echo off setlocal EnableDelayedExpansion REM This script intercepts compiler arguments generated by GraalVM's native-image for @@ -9,7 +9,6 @@ REM GraalVM jdk21.+35.1 on Windows 10 and may need to be modified for other vers REM REM Use with --native-compiler-path=${pathToThisScript}.bat set OUTPUT_PATH=%~dp0\..\..\target\image -echo %OUTPUT_PATH% REM Determine the library name based on the .dll argument. ~nP returns the filename REM without quotes, i.e., "path\myLibrary.dll" returns myLibrary From 0cfc5a4f3c8b46ef3331df14f615ceff808c919e Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 15:43:20 +0100 Subject: [PATCH 08/76] windows build --- .github/workflows/xtracfg.yml | 4 ++-- libxtracfg/c/native-image/static-compiler-windows.bat | 5 +++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index d1724a6..817475e 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -57,8 +57,8 @@ jobs: - name: log0 run: | ls -Recurse ./libxtracfg/java/build/native/nativeCompile - ls -Recurse ./libxtracfg/target - cat ./libxtracfg/target/image/logs/compiler_commands.txt +# ls -Recurse ./libxtracfg/target + cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | ls -l ./libxtracfg/c/build diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index f434a3c..e381621 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -8,7 +8,7 @@ REM in a local temp directory and does not specify the output path anywhere. Tes REM GraalVM jdk21.+35.1 on Windows 10 and may need to be modified for other versions. REM REM Use with --native-compiler-path=${pathToThisScript}.bat -set OUTPUT_PATH=%~dp0\..\..\target\image +set OUTPUT_PATH=%~dp0\..\..\java\build\native\nativeCompile REM Determine the library name based on the .dll argument. ~nP returns the filename REM without quotes, i.e., "path\myLibrary.dll" returns myLibrary @@ -50,6 +50,7 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_s.lib +REM set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_s.lib +set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From 47fc179b26a8af0db04b296ae830490ab9fc863a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 15:44:07 +0100 Subject: [PATCH 09/76] windows build --- .github/workflows/xtracfg.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 817475e..c6095b6 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -57,7 +57,6 @@ jobs: - name: log0 run: | ls -Recurse ./libxtracfg/java/build/native/nativeCompile -# ls -Recurse ./libxtracfg/target cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | From f768f1e3f3dc1074951438a7e950d57bfbbd2a9b Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 16:04:01 +0100 Subject: [PATCH 10/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index e381621..2784a3d 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -50,6 +50,7 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% +if exist %OUTPUT_PATH%\%LIB_NAME%.lib rm -force %OUTPUT_PATH%\%LIB_NAME%.lib REM set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_s.lib set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% From 5cb8800b8a6d4319c1389d057131f7073d1e073e Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 16:31:52 +0100 Subject: [PATCH 11/76] windows build --- .github/workflows/xtracfg.yml | 43 ++++++++++--------- libxtracfg/c/build.bat | 30 +++++++++++++ libxtracfg/c/build.sh | 1 + .../native-image/static-compiler-windows.bat | 4 +- libxtracfg/c/test.bat | 6 +++ 5 files changed, 60 insertions(+), 24 deletions(-) create mode 100644 libxtracfg/c/build.bat create mode 100644 libxtracfg/c/test.bat diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index c6095b6..82a0f2c 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -8,15 +8,15 @@ jobs: strategy: matrix: os: -# - runner: ubuntu-24.04 -# type: linux -# platform: linux-amd64 -# - runner: ubuntu-24.04-arm -# type: linux -# platform: linux-arm64 -# - runner: macos-14 -# type: macos -# platform: darwin-arm64 + # - runner: ubuntu-24.04 + # type: linux + # platform: linux-amd64 + # - runner: ubuntu-24.04-arm + # type: linux + # platform: linux-arm64 + # - runner: macos-14 + # type: macos + # platform: darwin-arm64 - runner: windows-2022 type: windows platform: windows-amd64 @@ -56,7 +56,6 @@ jobs: ./gradlew nativeCompile -PLIB=true - name: log0 run: | - ls -Recurse ./libxtracfg/java/build/native/nativeCompile cat ./libxtracfg/java/build/native/nativeCompile/logs/compiler_commands.txt - name: log1 run: | @@ -64,9 +63,11 @@ jobs: # TODO: windows - name: c working-directory: ./libxtracfg/c + env: + EXT: ${{ matrix.os.type == 'windows' && 'bat' || 'sh' }} run: | - ./build.sh - ./test.sh + ./build.${EXT} + ./test.${EXT} - name: log2 run: | ls -l ./libxtracfg/c/build @@ -102,15 +103,15 @@ jobs: strategy: matrix: os: -# - runner: ubuntu-24.04 -# type: linux -# platform: linux-amd64 -# - runner: ubuntu-24.04-arm -# type: linux -# platform: linux-arm64 -# - runner: macos-14 -# type: macos -# platform: darwin-arm64 + # - runner: ubuntu-24.04 + # type: linux + # platform: linux-amd64 + # - runner: ubuntu-24.04-arm + # type: linux + # platform: linux-arm64 + # - runner: macos-14 + # type: macos + # platform: darwin-arm64 - runner: windows-2022 type: windows platform: windows-amd64 diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat new file mode 100644 index 0000000..4b2c910 --- /dev/null +++ b/libxtracfg/c/build.bat @@ -0,0 +1,30 @@ +@echo off +REM Windows batch file conversion of build.sh + +SET OUT_DIR=build +SET PLATFORM=windows +SET EXT=lib + +if not exist %OUT_DIR% mkdir %OUT_DIR% + +cd %OUT_DIR% + +echo lib + +REM static +cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c +copy libxtracfgjni.lib libxtracfg.lib +lib.exe /OUT:libxtracfg.lib libxtracfg.lib libxtracfg.obj + +certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp +REM Extract just the hash from certutil output (it includes headers/footers) +findstr /v "SHA1 CertUtil" libxtracfg.sha1sum.tmp > libxtracfg.sha1sum +del libxtracfg.sha1sum.tmp +copy libxtracfg.sha1sum ..\..\go\xtracfg\ + +echo test + +REM static +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib + +cd .. diff --git a/libxtracfg/c/build.sh b/libxtracfg/c/build.sh index a568cf5..3e4d41e 100755 --- a/libxtracfg/c/build.sh +++ b/libxtracfg/c/build.sh @@ -21,6 +21,7 @@ echo "lib" clang -c -Wall -fPIC -I./ -I$JAVA_HOME/include -I$JAVA_HOME/include/${PLATFORM} -o libxtracfg.o ../wrapper/libxtracfg.c cp libxtracfgjni.a libxtracfg.a ar -rv libxtracfg.a libxtracfg.o + if [ "$PLATFORM" = "darwin" ]; then shasum libxtracfg.a > libxtracfg.sha1sum else diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 2784a3d..94590f0 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -50,8 +50,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -if exist %OUTPUT_PATH%\%LIB_NAME%.lib rm -force %OUTPUT_PATH%\%LIB_NAME%.lib -REM set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_s.lib -set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%.lib +set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat new file mode 100644 index 0000000..c958cd4 --- /dev/null +++ b/libxtracfg/c/test.bat @@ -0,0 +1,6 @@ +@echo off + +set DIR=%~dp0 +set DIR=%DIR:~0,-1% + +build\test.exe "{\"command\": \"info\", \"source\": \"%DIR%\", \"debug\": \"true\", \"verbose\": \"true\"}" From 395d70c9d7bb05bef91078528eb7c6e3a748cf68 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 16:51:33 +0100 Subject: [PATCH 12/76] windows build --- .github/workflows/xtracfg.yml | 14 +++++++++----- libxtracfg/c/build.bat | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 82a0f2c..f3eb9de 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -60,14 +60,18 @@ jobs: - name: log1 run: | ls -l ./libxtracfg/c/build - # TODO: windows - name: c + if: ${{ matrix.os.type != 'windows' }} + working-directory: ./libxtracfg/c + run: | + ./build.sh + ./test.sh + - name: c + if: ${{ matrix.os.type == 'windows' }} working-directory: ./libxtracfg/c - env: - EXT: ${{ matrix.os.type == 'windows' && 'bat' || 'sh' }} run: | - ./build.${EXT} - ./test.${EXT} + ./build.bat + ./test.bat - name: log2 run: | ls -l ./libxtracfg/c/build diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 4b2c910..76686e9 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -13,7 +13,7 @@ echo lib REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c -copy libxtracfgjni.lib libxtracfg.lib +copy libxtracfgjni_static.lib libxtracfg.lib lib.exe /OUT:libxtracfg.lib libxtracfg.lib libxtracfg.obj certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp From a23ed735d51e4906a00f511a28a5561816486a1a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 17:02:49 +0100 Subject: [PATCH 13/76] windows build --- .github/workflows/xtracfg.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index f3eb9de..127d72b 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -38,6 +38,10 @@ jobs: #cache-dependency-path: | # xtracfg/*.gradle* # xtracfg/**/gradle-wrapper.properties + - uses: egor-tensin/vs-shell@v2 + if: ${{ matrix.os.type == 'windows' }} + with: + arch: x64 - name: zlib if: ${{ matrix.os.type == 'linux' }} working-directory: /tmp From 206f7a5cb3d21f0ca4004eb7148397693bd96f04 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 18:36:58 +0100 Subject: [PATCH 14/76] windows build --- libxtracfg/c/build.bat | 2 ++ 1 file changed, 2 insertions(+) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 76686e9..22dc401 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,6 +11,8 @@ cd %OUT_DIR% echo lib +ls -Recurse %JAVA_HOME%/include + REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c copy libxtracfgjni_static.lib libxtracfg.lib From 1c7772f6bb35c24d51f8aef034716f9c62046129 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 18:49:11 +0100 Subject: [PATCH 15/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 22dc401..9aa4658 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,7 +11,7 @@ cd %OUT_DIR% echo lib -ls -Recurse %JAVA_HOME%/include +ls -l -R %JAVA_HOME%/include REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c From d6741523096c269dcd5ec3c35dc758361d24c0c5 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 18:59:37 +0100 Subject: [PATCH 16/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 9aa4658..a1c17a2 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -2,7 +2,7 @@ REM Windows batch file conversion of build.sh SET OUT_DIR=build -SET PLATFORM=windows +SET PLATFORM=win32 SET EXT=lib if not exist %OUT_DIR% mkdir %OUT_DIR% From 40e97a93c1033761b0c59a8932e0808840256bb8 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 19:23:20 +0100 Subject: [PATCH 17/76] windows build --- libxtracfg/c/wrapper/libxtracfg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/wrapper/libxtracfg.c b/libxtracfg/c/wrapper/libxtracfg.c index 13329d3..d8dc980 100644 --- a/libxtracfg/c/wrapper/libxtracfg.c +++ b/libxtracfg/c/wrapper/libxtracfg.c @@ -20,7 +20,7 @@ JNIEXPORT void JNICALL Java_de_ii_xtraplatform_cli_Cli_00024NativeProgress_updat int xtracfg_init() { JavaVMInitArgs vm_args; - JavaVMOption options[0]; + JavaVMOption options[1]; vm_args.version = JNI_VERSION_10; vm_args.nOptions = 0; vm_args.options = options; From 358295cbce42aa1c5f9823cf0d64a82728a1c3d3 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 19:35:39 +0100 Subject: [PATCH 18/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index a1c17a2..6719cff 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -27,6 +27,6 @@ copy libxtracfg.sha1sum ..\..\go\xtracfg\ echo test REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib +cl.exe /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Fetest.exe ../test/main.c libxtracfg.lib cd .. From 7240849905c55338d09d53ec53573d6d7a1049ba Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 20:16:48 +0100 Subject: [PATCH 19/76] windows build --- libxtracfg/c/build.bat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 6719cff..7e38e31 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -25,8 +25,9 @@ del libxtracfg.sha1sum.tmp copy libxtracfg.sha1sum ..\..\go\xtracfg\ echo test +ls -l REM static -cl.exe /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Fetest.exe ../test/main.c libxtracfg.lib +cl.exe /I./ /L./ /Fetest.exe ../test/main.c libxtracfg.lib cd .. From 6ae7dccb511d89f1e8cfcfa0a4f50c162fc84f37 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 20:30:08 +0100 Subject: [PATCH 20/76] windows build --- libxtracfg/c/build.bat | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 7e38e31..fb12a6e 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,7 +11,7 @@ cd %OUT_DIR% echo lib -ls -l -R %JAVA_HOME%/include +ls -l -R %JAVA_HOME%/lib REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c @@ -28,6 +28,6 @@ echo test ls -l REM static -cl.exe /I./ /L./ /Fetest.exe ../test/main.c libxtracfg.lib +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib jni.lib cd .. From 253702fff900260259bd3abba187df35849bd8ed Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 20:50:29 +0100 Subject: [PATCH 21/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index fb12a6e..33b7bf5 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,6 +28,6 @@ echo test ls -l REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib jni.lib +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/jvm.lib cd .. From 5dbc2c6dcb0482053347d4ee7f5f5b17a8e9e8bf Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 21:41:27 +0100 Subject: [PATCH 22/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 33b7bf5..78a995c 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,6 +28,6 @@ echo test ls -l REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/jvm.lib +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/svm/builder/clibraries/windows-amd64/jvm.lib cd .. From 6e0220e5041d640bf14cf8c16f225f811be69b00 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 21:52:06 +0100 Subject: [PATCH 23/76] windows build --- .github/workflows/xtracfg.yml | 2 +- libxtracfg/c/build.bat | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 127d72b..87fa08e 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -75,7 +75,7 @@ jobs: working-directory: ./libxtracfg/c run: | ./build.bat - ./test.bat + # ./test.bat - name: log2 run: | ls -l ./libxtracfg/c/build diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 78a995c..33b7bf5 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,6 +28,6 @@ echo test ls -l REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/svm/builder/clibraries/windows-amd64/jvm.lib +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/jvm.lib cd .. From f7190667e46dc6045f0ee01271859db8fbfd896b Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 22:09:48 +0100 Subject: [PATCH 24/76] windows build --- libxtracfg/js/xtracfg-native-binding/binding.gyp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index 6041b03..8c04948 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -3,7 +3,6 @@ { 'target_name': 'xtracfg-native', 'sources': [ 'src/xtracfg_lib.cc' ], - 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.a' ], 'include_dirs': [" Date: Tue, 30 Dec 2025 22:24:44 +0100 Subject: [PATCH 25/76] windows build --- libxtracfg/js/xtracfg-native-binding/binding.gyp | 1 + 1 file changed, 1 insertion(+) diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index 8c04948..83b581b 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -32,6 +32,7 @@ { 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.a' ] }, + ], }], ] } From 4a66f37ea2dd48ec648ca9c5243b01e04d2803a6 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 30 Dec 2025 22:38:07 +0100 Subject: [PATCH 26/76] windows build --- .../js/xtracfg-native-binding/binding.gyp | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index 83b581b..e90212f 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -17,22 +17,14 @@ }, 'msvs_settings': { 'VCCLCompilerTool': { 'ExceptionHandling': 1 }, - } - } - ], - 'conditions': [ - ['OS=="win"', { - 'targets': [ - { + }, + 'conditions': [ + ['OS=="win"', { 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.lib' ] - }, - ], - }, { # OS != "win" - 'targets': [ - { + }, { # OS != "win" 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.a' ] - }, - ], - }], + }], + ] + } ] } From a45e1a9d89c3e31356f6eb760bf327a244b909ee Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 09:11:46 +0100 Subject: [PATCH 27/76] windows build --- .github/workflows/xtracfg.yml | 7 ++++++- libxtracfg/c/test.bat | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 87fa08e..21b0320 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -75,7 +75,7 @@ jobs: working-directory: ./libxtracfg/c run: | ./build.bat - # ./test.bat + ./test.bat - name: log2 run: | ls -l ./libxtracfg/c/build @@ -104,6 +104,11 @@ jobs: name: libxtracfg-js-${{ matrix.os.platform }} path: ./libxtracfg/js/xtracfg-native-binding/prebuilds retention-days: 1 + - uses: actions/upload-artifact@v4 + with: + name: npm-logs + path: C:\\npm\\cache\\_logs + retention-days: 1 build_binaries: runs-on: ${{ matrix.os.runner }} diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index c958cd4..c30a9f3 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -1,4 +1,4 @@ -@echo off +REM @echo off set DIR=%~dp0 set DIR=%DIR:~0,-1% From a3515870e919e1e10ac955c75b4fca35d28bf6ca Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 09:28:55 +0100 Subject: [PATCH 28/76] windows build --- .github/workflows/xtracfg.yml | 1 + libxtracfg/c/test.bat | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 21b0320..fcfa1a3 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -72,6 +72,7 @@ jobs: ./test.sh - name: c if: ${{ matrix.os.type == 'windows' }} + continue-on-error: true working-directory: ./libxtracfg/c run: | ./build.bat diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index c30a9f3..bbe96b1 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -3,4 +3,8 @@ REM @echo off set DIR=%~dp0 set DIR=%DIR:~0,-1% -build\test.exe "{\"command\": \"info\", \"source\": \"%DIR%\", \"debug\": \"true\", \"verbose\": \"true\"}" +cmd.exe /c build\test.exe "{\"command\": \"info\", \"source\": \"./\", \"debug\": \"true\", \"verbose\": \"true\"}" + +dumpbin /dependents build\test.exe + +ldd build\test.exe From 1a4843ce35cc8c29507358264d4e4009287ec4f3 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 09:53:29 +0100 Subject: [PATCH 29/76] windows build --- .github/workflows/xtracfg.yml | 7 ++++--- libxtracfg/c/build.bat | 9 ++++++--- libxtracfg/c/test.bat | 2 ++ libxtracfg/c/test.sh | 3 +++ 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index fcfa1a3..1bc38dd 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -8,9 +8,9 @@ jobs: strategy: matrix: os: - # - runner: ubuntu-24.04 - # type: linux - # platform: linux-amd64 + - runner: ubuntu-24.04 + type: linux + platform: linux-amd64 # - runner: ubuntu-24.04-arm # type: linux # platform: linux-arm64 @@ -81,6 +81,7 @@ jobs: run: | ls -l ./libxtracfg/c/build - name: js + continue-on-error: true working-directory: ./libxtracfg/js/xtracfg-native-binding run: | npm --loglevel verbose ci diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 33b7bf5..ae2cb39 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -15,8 +15,8 @@ ls -l -R %JAVA_HOME%/lib REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c -copy libxtracfgjni_static.lib libxtracfg.lib -lib.exe /OUT:libxtracfg.lib libxtracfg.lib libxtracfg.obj +REM copy libxtracfgjni_static.lib libxtracfg.lib +lib.exe /OUT:libxtracfg.lib libxtracfg.obj libxtracfgjni_static.lib certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp REM Extract just the hash from certutil output (it includes headers/footers) @@ -28,6 +28,9 @@ echo test ls -l REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib %JAVA_HOME%/lib/jvm.lib +cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib +REM %JAVA_HOME%/lib/jvm.lib + +ls -l cd .. diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index bbe96b1..2d72bb6 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -3,6 +3,8 @@ REM @echo off set DIR=%~dp0 set DIR=%DIR:~0,-1% +ls -l build + cmd.exe /c build\test.exe "{\"command\": \"info\", \"source\": \"./\", \"debug\": \"true\", \"verbose\": \"true\"}" dumpbin /dependents build\test.exe diff --git a/libxtracfg/c/test.sh b/libxtracfg/c/test.sh index 2f0a63b..00f6113 100755 --- a/libxtracfg/c/test.sh +++ b/libxtracfg/c/test.sh @@ -2,4 +2,7 @@ DIR=$(dirname "$(readlink -f "$0")") +ls -l ./build +ldd ./build/test + ./build/test "{\"command\": \"info\", \"source\": \"$DIR\", \"debug\": \"true\", \"verbose\": \"true\"}" From e517a3e7badc06159219623e57fec43fd36a5123 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 10:21:13 +0100 Subject: [PATCH 30/76] windows build --- .github/workflows/xtracfg.yml | 8 ++++---- libxtracfg/c/build.bat | 4 ++-- .../c/native-image/static-compiler-windows.bat | 13 +++++++++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 1bc38dd..59e94e4 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -8,9 +8,9 @@ jobs: strategy: matrix: os: - - runner: ubuntu-24.04 - type: linux - platform: linux-amd64 + #- runner: ubuntu-24.04 + # type: linux + # platform: linux-amd64 # - runner: ubuntu-24.04-arm # type: linux # platform: linux-arm64 @@ -89,7 +89,7 @@ jobs: npm --loglevel verbose run test - name: log3 run: | - ls -lR ./libxtracfg/js/xtracfg-native-binding/prebuilds + ls -l -R ./libxtracfg/js/xtracfg-native-binding/prebuilds # TODO: run tests for java, c, go - uses: actions/upload-artifact@v4 with: diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index ae2cb39..33697ec 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,12 +11,12 @@ cd %OUT_DIR% echo lib -ls -l -R %JAVA_HOME%/lib +ls -l -R %JAVA_HOME% REM static cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c REM copy libxtracfgjni_static.lib libxtracfg.lib -lib.exe /OUT:libxtracfg.lib libxtracfg.obj libxtracfgjni_static.lib +lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp REM Extract just the hash from certutil output (it includes headers/footers) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 94590f0..d8d345f 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -43,6 +43,19 @@ set CL_ARGS=%* echo cl.exe %CL_ARGS% >> %LOG_FILE% cmd /c cl.exe %CL_ARGS% +echo ===================================================== >> %LOG_FILE% +echo STATIC EXTERNAL >> %LOG_FILE% +echo ===================================================== >> %LOG_FILE% +set LIBS_EXT= +for %%P in (%*) do ( + echo %%P | findstr /C:"\.lib" 1>nul + if !errorlevel!==0 ( + set LIBS_EXT=%LIBS_EXT% %%~nP + echo %%~nP >> %LOG_FILE% + ) +) +echo %LIBS_EXT% >> %LOG_FILE% + echo ===================================================== >> %LOG_FILE% echo STATIC LIBRARY >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From cb7b0f70ed6840e5c6049fdcd73b738b4b4ca6b9 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 10:44:26 +0100 Subject: [PATCH 31/76] windows build --- .github/workflows/xtracfg.yml | 3 ++- libxtracfg/c/native-image/static-compiler-windows.bat | 8 ++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 59e94e4..0d7f706 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -88,8 +88,9 @@ jobs: npm --loglevel verbose run prebuildify npm --loglevel verbose run test - name: log3 + continue-on-error: true run: | - ls -l -R ./libxtracfg/js/xtracfg-native-binding/prebuilds + ls -R ./libxtracfg/js/xtracfg-native-binding/prebuilds # TODO: run tests for java, c, go - uses: actions/upload-artifact@v4 with: diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index d8d345f..3da67a3 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -48,10 +48,10 @@ echo STATIC EXTERNAL >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( - echo %%P | findstr /C:"\.lib" 1>nul + echo %%P | findstr /R /C:"^C:\\.*\.lib$" 1>nul if !errorlevel!==0 ( - set LIBS_EXT=%LIBS_EXT% %%~nP - echo %%~nP >> %LOG_FILE% + set LIBS_EXT=!LIBS_EXT! %%P + echo %%P >> %LOG_FILE% ) ) echo %LIBS_EXT% >> %LOG_FILE% @@ -63,6 +63,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj %LIBS_EXT% /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From dbd2cf0ec2f5d8f84b14832f66b4a82e67bdc1fe Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 11:02:49 +0100 Subject: [PATCH 32/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 3da67a3..ce37723 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -48,13 +48,13 @@ echo STATIC EXTERNAL >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( - echo %%P | findstr /R /C:"^C:\\.*\.lib$" 1>nul + echo %%P | findstr /R /C:" C:\\.*\.lib " 1>nul if !errorlevel!==0 ( - set LIBS_EXT=!LIBS_EXT! %%P echo %%P >> %LOG_FILE% + set LIBS_EXT=!LIBS_EXT! %%P ) ) -echo %LIBS_EXT% >> %LOG_FILE% +echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% echo STATIC LIBRARY >> %LOG_FILE% From 8b4f325a284902959bbcd31b09c9b4523f4423f5 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 11:29:56 +0100 Subject: [PATCH 33/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index ce37723..80cc0a0 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -48,9 +48,10 @@ echo STATIC EXTERNAL >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( - echo %%P | findstr /R /C:" C:\\.*\.lib " 1>nul + echo %%P >> %LOG_FILE% + echo %%P | findstr /R /C:" C:\\.*?\.lib " 1>nul if !errorlevel!==0 ( - echo %%P >> %LOG_FILE% + echo *** >> %LOG_FILE% set LIBS_EXT=!LIBS_EXT! %%P ) ) @@ -63,6 +64,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj %LIBS_EXT% /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From 7a19ecd3f84c5c7292b42d641b45e2c48ad8a7d6 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 11:46:27 +0100 Subject: [PATCH 34/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 80cc0a0..508823e 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -49,7 +49,7 @@ echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( echo %%P >> %LOG_FILE% - echo %%P | findstr /R /C:" C:\\.*?\.lib " 1>nul + echo %%P | findstr /R /C:"^C:\\.*?\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% set LIBS_EXT=!LIBS_EXT! %%P From bfa1f9f9572d4f8a4ce65f45f0d79391a8c7297f Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 13:34:01 +0100 Subject: [PATCH 35/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 508823e..8805ef8 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -49,7 +49,7 @@ echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( echo %%P >> %LOG_FILE% - echo %%P | findstr /R /C:"^C:\\.*?\.lib" 1>nul + echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% set LIBS_EXT=!LIBS_EXT! %%P From aedd048c73a934a01ef059a2dfb82f262bc8e46d Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 14:02:35 +0100 Subject: [PATCH 36/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 8805ef8..8b505a7 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -64,6 +64,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj %JAVA_HOME%/lib/jvm.lib !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From 263e648edb77a00745c07f7fbbdc0d42d24a2cf0 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 15:26:06 +0100 Subject: [PATCH 37/76] windows build --- .../c/native-image/static-compiler-windows.bat | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 8b505a7..85bbd02 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -34,6 +34,7 @@ if not exist %LOG_PATH% mkdir %LOG_PATH% echo Working directory: %CD% > %LOG_FILE% echo Output path: %OUTPUT_PATH% >> %LOG_FILE% echo Library name: %LIB_NAME% >> %LOG_FILE% +echo Java home: %JAVA_HOME% >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% echo SHARED LIBRARY >> %LOG_FILE% @@ -52,8 +53,17 @@ for %%P in (%*) do ( echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% - set LIBS_EXT=!LIBS_EXT! %%P + echo %%P | findstr /R /C:"\\jvm\.lib" 1>nul + if !errorlevel!==0 ( + set "TMP=%%P" + set "TMP=!TMP:svm\clibraries\windows-amd64=!" + set "LIBS_EXT=!LIBS_EXT! !TMP!" + echo (replaced svm\clibraries\windows-amd64) >> %LOG_FILE% + ) else ( + set "LIBS_EXT=!LIBS_EXT! %%P" + ) ) + ) echo !LIBS_EXT! >> %LOG_FILE% @@ -64,6 +74,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj %JAVA_HOME%/lib/jvm.lib !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From d282a189ede4f731950640864af45388acea51ac Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 15:36:35 +0100 Subject: [PATCH 38/76] windows build --- .github/workflows/xtracfg.yml | 1 + libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 0d7f706..c94d4a8 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -55,6 +55,7 @@ jobs: CFLAGS="-fPIC" ./configure --static make - name: java + continue-on-error: true working-directory: ./libxtracfg/java run: | ./gradlew nativeCompile -PLIB=true diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 85bbd02..4887d73 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -53,7 +53,7 @@ for %%P in (%*) do ( echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% - echo %%P | findstr /R /C:"\\jvm\.lib" 1>nul + echo %%P | findstr /R /C:"\\jvm\.lib ^" 1>nul if !errorlevel!==0 ( set "TMP=%%P" set "TMP=!TMP:svm\clibraries\windows-amd64=!" From 93786a7aa7fd242d6c65b635d31b7e0bb021f02f Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Wed, 31 Dec 2025 15:54:20 +0100 Subject: [PATCH 39/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 4887d73..f348e4d 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -53,18 +53,11 @@ for %%P in (%*) do ( echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% - echo %%P | findstr /R /C:"\\jvm\.lib ^" 1>nul - if !errorlevel!==0 ( - set "TMP=%%P" - set "TMP=!TMP:svm\clibraries\windows-amd64=!" - set "LIBS_EXT=!LIBS_EXT! !TMP!" - echo (replaced svm\clibraries\windows-amd64) >> %LOG_FILE% - ) else ( - set "LIBS_EXT=!LIBS_EXT! %%P" - ) + set "LIBS_EXT=!LIBS_EXT! %%P" ) ) +set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From dae45b069d85f2e435f10ad9a09441f6c32fd6d6 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Fri, 2 Jan 2026 11:26:37 +0100 Subject: [PATCH 40/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 33697ec..8ca3530 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,7 +28,7 @@ echo test ls -l REM static -cl.exe /I./ /Fetest.exe ../test/main.c libxtracfg.lib +cl.exe /MT /I./ /Fetest.exe ../test/main.c libxtracfg.lib /link /verbose REM %JAVA_HOME%/lib/jvm.lib ls -l From 6c2108b2cf3a225228cbf194b9b410e6f9144241 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Fri, 2 Jan 2026 12:07:17 +0100 Subject: [PATCH 41/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index f348e4d..62ce3ed 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -57,7 +57,7 @@ for %%P in (%*) do ( ) ) -set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" +REM set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From e5b6121d1ac01f20b8984bff4188d92d2608375e Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Sat, 3 Jan 2026 18:11:43 +0100 Subject: [PATCH 42/76] windows build --- libxtracfg/c/build.bat | 2 +- .../c/native-image/static-compiler-windows.bat | 17 +++++++++-------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 8ca3530..6db2371 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -14,7 +14,7 @@ echo lib ls -l -R %JAVA_HOME% REM static -cl.exe /c /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c +cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c REM copy libxtracfgjni_static.lib libxtracfg.lib lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 62ce3ed..bc17f00 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -20,17 +20,18 @@ for %%P in (%*) do ( ) ) -REM Do a simple forward for any calls that are used to compile individual C files -IF "%LIB_NAME%"=="" ( - cmd /c cl %* - exit /b -) - REM Setup log path and log file set LOG_PATH=%OUTPUT_PATH%\logs set LOG_FILE=%LOG_PATH%\compiler_commands.txt if not exist %LOG_PATH% mkdir %LOG_PATH% +REM Do a simple forward for any calls that are used to compile individual C files +IF "%LIB_NAME%"=="" ( + echo Forwarding to cl.exe for compiling C file: %* >> %LOG_FILE% + cmd /c cl /MT %* + exit /b +) + echo Working directory: %CD% > %LOG_FILE% echo Output path: %OUTPUT_PATH% >> %LOG_FILE% echo Library name: %LIB_NAME% >> %LOG_FILE% @@ -42,7 +43,7 @@ echo ===================================================== >> %LOG_FILE% REM Modify the arguments if needed set CL_ARGS=%* echo cl.exe %CL_ARGS% >> %LOG_FILE% -cmd /c cl.exe %CL_ARGS% +cmd /c cl.exe /MT %CL_ARGS% echo ===================================================== >> %LOG_FILE% echo STATIC EXTERNAL >> %LOG_FILE% @@ -57,7 +58,7 @@ for %%P in (%*) do ( ) ) -REM set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" +set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From 8f1f955c854c43277d3f9c8489ec0223c203a712 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Sat, 3 Jan 2026 18:40:27 +0100 Subject: [PATCH 43/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index bc17f00..7f06e87 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -58,7 +58,7 @@ for %%P in (%*) do ( ) ) -set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" +REM set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From a7ffdd5dcc7db124d46fcf7048f3c130b060fd26 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Sat, 3 Jan 2026 18:49:52 +0100 Subject: [PATCH 44/76] windows build --- libxtracfg/java/build.gradle | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libxtracfg/java/build.gradle b/libxtracfg/java/build.gradle index 89ea65c..edc555b 100644 --- a/libxtracfg/java/build.gradle +++ b/libxtracfg/java/build.gradle @@ -58,6 +58,9 @@ graalvmNative { if (targetos == 'darwin') { buildArgs('--native-compiler-options=-Wl,-framework,Security') } + if (targetos == 'windows') { + buildArgs('-H:+StaticExecutableWithDynamicLibC') + } //buildArgs('-march=native') buildArgs('-O2') //TODO -O3 image is 50% larger than -O2, test -Os with JDK 23 //buildArgs('--pgo') see https://www.graalvm.org/latest/reference-manual/native-image/optimizations-and-performance/PGO/ From 302b20fe6d5f469834e284e81f30e07d1f6a817a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Sun, 4 Jan 2026 16:21:44 +0100 Subject: [PATCH 45/76] Revert "windows build" This reverts commit 8f1f955c854c43277d3f9c8489ec0223c203a712. --- libxtracfg/c/native-image/static-compiler-windows.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 7f06e87..bc17f00 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -58,7 +58,7 @@ for %%P in (%*) do ( ) ) -REM set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" +set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From 56d9e2ff8eae3bdb58c0d31a996b3374c3a4758f Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Sun, 4 Jan 2026 16:34:09 +0100 Subject: [PATCH 46/76] windows build --- libxtracfg/c/build.bat | 3 ++- libxtracfg/c/native-image/static-compiler-windows.bat | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 6db2371..dd9c974 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,7 +28,8 @@ echo test ls -l REM static -cl.exe /MT /I./ /Fetest.exe ../test/main.c libxtracfg.lib /link /verbose +cl.exe /MT /I./ /Fetest.exe ../test/main.c libxtracfg.lib /link /NODEFAULTLIB:LIBCMT /FILEALIGN:4096 /LIBPATH:./ /LIBPATH:%JAVA_HOME%/lib /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 +REM /verbose REM %JAVA_HOME%/lib/jvm.lib ls -l diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index bc17f00..bced651 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -49,6 +49,7 @@ echo ===================================================== >> %LOG_FILE% echo STATIC EXTERNAL >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% set LIBS_EXT= +set LIBS_EXT_DIRS= for %%P in (%*) do ( echo %%P >> %LOG_FILE% echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul @@ -58,7 +59,7 @@ for %%P in (%*) do ( ) ) -set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" +REM set "LIBS_EXT=!LIBS_EXT:svm\clibraries\windows-amd64\jvm.lib=jvm.lib!" echo !LIBS_EXT! >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% From 48126edc9bb878ed603e15bb6804882266ac2c30 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 12:06:47 +0100 Subject: [PATCH 47/76] windows build --- libxtracfg/c/build.bat | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index dd9c974..32a03ae 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,7 +28,27 @@ echo test ls -l REM static -cl.exe /MT /I./ /Fetest.exe ../test/main.c libxtracfg.lib /link /NODEFAULTLIB:LIBCMT /FILEALIGN:4096 /LIBPATH:./ /LIBPATH:%JAVA_HOME%/lib /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 +cl.exe /MT /I./ /Fetest.exe ^ + ../test/main.c ^ + libxtracfg.lib ^ + ncrypt.lib ^ + crypt32.lib ^ + winhttp.lib ^ + psapi.lib ^ + version.lib ^ + advapi32.lib ^ + ws2_32.lib ^ + secur32.lib ^ + iphlpapi.lib ^ + userenv.lib ^ + mswsock.lib ^ + /link ^ + /NODEFAULTLIB:LIBCMT ^ + /FILEALIGN:4096 ^ + /LIBPATH:./ ^ + /LIBPATH:%JAVA_HOME%/lib ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ + /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 REM /verbose REM %JAVA_HOME%/lib/jvm.lib From fead5efd18fa83a85fc95ff2a1170d0b3228b422 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 12:35:01 +0100 Subject: [PATCH 48/76] windows build --- libxtracfg/c/build.bat | 34 ++++++++++++------- .../native-image/static-compiler-windows.bat | 2 +- 2 files changed, 23 insertions(+), 13 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 32a03ae..f438e75 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -31,24 +31,34 @@ REM static cl.exe /MT /I./ /Fetest.exe ^ ../test/main.c ^ libxtracfg.lib ^ - ncrypt.lib ^ - crypt32.lib ^ - winhttp.lib ^ - psapi.lib ^ - version.lib ^ - advapi32.lib ^ - ws2_32.lib ^ - secur32.lib ^ - iphlpapi.lib ^ - userenv.lib ^ - mswsock.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ /LIBPATH:%JAVA_HOME%/lib ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ - /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 + /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ + ncrypt.lib ^ + crypt32.lib ^ + winhttp.lib ^ + psapi.lib ^ + version.lib ^ + advapi32.lib ^ + ws2_32.lib ^ + secur32.lib ^ + iphlpapi.lib ^ + userenv.lib ^ + mswsock.lib REM /verbose REM %JAVA_HOME%/lib/jvm.lib diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index bced651..2a8e6de 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -32,7 +32,7 @@ IF "%LIB_NAME%"=="" ( exit /b ) -echo Working directory: %CD% > %LOG_FILE% +echo Working directory: %CD% >> %LOG_FILE% echo Output path: %OUTPUT_PATH% >> %LOG_FILE% echo Library name: %LIB_NAME% >> %LOG_FILE% echo Java home: %JAVA_HOME% >> %LOG_FILE% From 24d2a6da28d7f469bf9933b84801c979aaad6fe5 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 13:02:28 +0100 Subject: [PATCH 49/76] windows build --- libxtracfg/c/build.bat | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index f438e75..66d1fc1 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,7 +11,9 @@ cd %OUT_DIR% echo lib -ls -l -R %JAVA_HOME% +cl.exe /Bv + +REM ls -l -R %JAVA_HOME% REM static cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c @@ -41,7 +43,6 @@ cl.exe /MT /I./ /Fetest.exe ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ - /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ /LIBPATH:%JAVA_HOME%/lib ^ From 53fa63cf029051075e24b1221aae6e66164a1e2a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 13:28:39 +0100 Subject: [PATCH 50/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 2a8e6de..42eaa7e 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -42,8 +42,10 @@ echo SHARED LIBRARY >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% REM Modify the arguments if needed set CL_ARGS=%* +set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" +set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" echo cl.exe %CL_ARGS% >> %LOG_FILE% -cmd /c cl.exe /MT %CL_ARGS% +cmd /c cl.exe %CL_ARGS% echo ===================================================== >> %LOG_FILE% echo STATIC EXTERNAL >> %LOG_FILE% @@ -69,6 +71,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From d61fbac481bb85d96ef1ceeea701b991b582d361 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 14:56:26 +0100 Subject: [PATCH 51/76] windows build --- libxtracfg/c/build.bat | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 66d1fc1..0a20639 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,14 +11,44 @@ cd %OUT_DIR% echo lib -cl.exe /Bv - REM ls -l -R %JAVA_HOME% REM static -cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c +REM cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c REM copy libxtracfgjni_static.lib libxtracfg.lib -lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib +REM lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib + +cl.exe /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ + ../wrapper/libxtracfg.c ^ + libxtracfgjni_static.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ + /link ^ + /OUT:libxtracfg.lib ^ + /FILEALIGN:4096 ^ + /LIBPATH:./ ^ + /LIBPATH:%JAVA_HOME%/lib ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ + /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ + ncrypt.lib ^ + crypt32.lib ^ + winhttp.lib ^ + psapi.lib ^ + version.lib ^ + advapi32.lib ^ + ws2_32.lib ^ + secur32.lib ^ + iphlpapi.lib ^ + userenv.lib ^ + mswsock.lib certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp REM Extract just the hash from certutil output (it includes headers/footers) From 8755cab118fe2a081a2d658af80c14a2f6f54f10 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 15:12:02 +0100 Subject: [PATCH 52/76] windows build --- libxtracfg/c/build.bat | 39 ++++----------------------------------- 1 file changed, 4 insertions(+), 35 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 0a20639..6d5deb9 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -15,41 +15,9 @@ REM ls -l -R %JAVA_HOME% REM static REM cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c -REM copy libxtracfgjni_static.lib libxtracfg.lib +copy libxtracfgjni_static.lib libxtracfg.lib REM lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib -cl.exe /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ - ../wrapper/libxtracfg.c ^ - libxtracfgjni_static.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ - /link ^ - /OUT:libxtracfg.lib ^ - /FILEALIGN:4096 ^ - /LIBPATH:./ ^ - /LIBPATH:%JAVA_HOME%/lib ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ - /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ - ncrypt.lib ^ - crypt32.lib ^ - winhttp.lib ^ - psapi.lib ^ - version.lib ^ - advapi32.lib ^ - ws2_32.lib ^ - secur32.lib ^ - iphlpapi.lib ^ - userenv.lib ^ - mswsock.lib - certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp REM Extract just the hash from certutil output (it includes headers/footers) findstr /v "SHA1 CertUtil" libxtracfg.sha1sum.tmp > libxtracfg.sha1sum @@ -60,9 +28,10 @@ echo test ls -l REM static -cl.exe /MT /I./ /Fetest.exe ^ +cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ + ../wrapper/libxtracfg.c ^ ../test/main.c ^ - libxtracfg.lib ^ + libxtracfgjni_static.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ From a8716afc5cc87411e12347f7e7ec9eaa37cc318e Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 15:32:26 +0100 Subject: [PATCH 53/76] windows build --- libxtracfg/c/build.bat | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 6d5deb9..0568346 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -40,7 +40,7 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\jvm.lib ^ /link ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ From 92e6945bf3f9c9f69aac9075e4ba69d253f01824 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 15:46:04 +0100 Subject: [PATCH 54/76] windows build --- libxtracfg/c/test.bat | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index 2d72bb6..e8d782d 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -3,10 +3,14 @@ REM @echo off set DIR=%~dp0 set DIR=%DIR:~0,-1% +cp C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1/bin/server\jvm.dll build\ + ls -l build -cmd.exe /c build\test.exe "{\"command\": \"info\", \"source\": \"./\", \"debug\": \"true\", \"verbose\": \"true\"}" +cd build + +cmd.exe /c test.exe "{\"command\": \"info\", \"source\": \"./\", \"debug\": \"true\", \"verbose\": \"true\"}" -dumpbin /dependents build\test.exe +dumpbin /dependents test.exe -ldd build\test.exe +ldd test.exe From 3026deec6967f2c19ec0323f4b8363d521feb6ce Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 16:01:10 +0100 Subject: [PATCH 55/76] windows build --- libxtracfg/c/build.bat | 2 +- libxtracfg/c/native-image/static-compiler-windows.bat | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 0568346..f101d6c 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -31,7 +31,7 @@ REM static cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ ../wrapper/libxtracfg.c ^ ../test/main.c ^ - libxtracfgjni_static.lib ^ + libxtracfgjni.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 42eaa7e..bfee353 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -28,7 +28,7 @@ if not exist %LOG_PATH% mkdir %LOG_PATH% REM Do a simple forward for any calls that are used to compile individual C files IF "%LIB_NAME%"=="" ( echo Forwarding to cl.exe for compiling C file: %* >> %LOG_FILE% - cmd /c cl /MT %* + cmd /c cl.exe %* exit /b ) @@ -42,8 +42,8 @@ echo SHARED LIBRARY >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% REM Modify the arguments if needed set CL_ARGS=%* -set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" -set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" +REM set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" +REM set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" echo cl.exe %CL_ARGS% >> %LOG_FILE% cmd /c cl.exe %CL_ARGS% From 97b02fe6a0654d3aa97c8e0780fd21bb3c17c77f Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 17:58:32 +0100 Subject: [PATCH 56/76] windows build --- libxtracfg/java/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libxtracfg/java/build.gradle b/libxtracfg/java/build.gradle index edc555b..8ee34f7 100644 --- a/libxtracfg/java/build.gradle +++ b/libxtracfg/java/build.gradle @@ -51,16 +51,16 @@ graalvmNative { imageName = "libxtracfgjni" sharedLibrary = true - buildArgs("--native-compiler-path=${project.projectDir}/../c/native-image/static-compiler-${targetos}.${targetos == 'windows' ? 'bat' : 'sh'}") if (targetos != 'windows') { + buildArgs("--native-compiler-path=${project.projectDir}/../c/native-image/static-compiler-${targetos}.${targetos == 'windows' ? 'bat' : 'sh'}") buildArgs('--native-compiler-options=-fPIC') } if (targetos == 'darwin') { buildArgs('--native-compiler-options=-Wl,-framework,Security') } - if (targetos == 'windows') { + /*if (targetos == 'windows') { buildArgs('-H:+StaticExecutableWithDynamicLibC') - } + }*/ //buildArgs('-march=native') buildArgs('-O2') //TODO -O3 image is 50% larger than -O2, test -Os with JDK 23 //buildArgs('--pgo') see https://www.graalvm.org/latest/reference-manual/native-image/optimizations-and-performance/PGO/ From 35560ea7a52c0c57a8506755577a86da50b54d31 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 18:22:44 +0100 Subject: [PATCH 57/76] Revert "windows build" This reverts commit 97b02fe6a0654d3aa97c8e0780fd21bb3c17c77f. --- libxtracfg/java/build.gradle | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libxtracfg/java/build.gradle b/libxtracfg/java/build.gradle index 8ee34f7..edc555b 100644 --- a/libxtracfg/java/build.gradle +++ b/libxtracfg/java/build.gradle @@ -51,16 +51,16 @@ graalvmNative { imageName = "libxtracfgjni" sharedLibrary = true + buildArgs("--native-compiler-path=${project.projectDir}/../c/native-image/static-compiler-${targetos}.${targetos == 'windows' ? 'bat' : 'sh'}") if (targetos != 'windows') { - buildArgs("--native-compiler-path=${project.projectDir}/../c/native-image/static-compiler-${targetos}.${targetos == 'windows' ? 'bat' : 'sh'}") buildArgs('--native-compiler-options=-fPIC') } if (targetos == 'darwin') { buildArgs('--native-compiler-options=-Wl,-framework,Security') } - /*if (targetos == 'windows') { + if (targetos == 'windows') { buildArgs('-H:+StaticExecutableWithDynamicLibC') - }*/ + } //buildArgs('-march=native') buildArgs('-O2') //TODO -O3 image is 50% larger than -O2, test -Os with JDK 23 //buildArgs('--pgo') see https://www.graalvm.org/latest/reference-manual/native-image/optimizations-and-performance/PGO/ From 1edf298e7ef4e2e086f7bca0271bb5d83bbe8376 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 18:35:47 +0100 Subject: [PATCH 58/76] Revert "windows build" This reverts commit 3026deec6967f2c19ec0323f4b8363d521feb6ce. --- libxtracfg/c/build.bat | 2 +- libxtracfg/c/native-image/static-compiler-windows.bat | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index f101d6c..0568346 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -31,7 +31,7 @@ REM static cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ ../wrapper/libxtracfg.c ^ ../test/main.c ^ - libxtracfgjni.lib ^ + libxtracfgjni_static.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index bfee353..42eaa7e 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -28,7 +28,7 @@ if not exist %LOG_PATH% mkdir %LOG_PATH% REM Do a simple forward for any calls that are used to compile individual C files IF "%LIB_NAME%"=="" ( echo Forwarding to cl.exe for compiling C file: %* >> %LOG_FILE% - cmd /c cl.exe %* + cmd /c cl /MT %* exit /b ) @@ -42,8 +42,8 @@ echo SHARED LIBRARY >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% REM Modify the arguments if needed set CL_ARGS=%* -REM set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" -REM set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" +set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" +set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" echo cl.exe %CL_ARGS% >> %LOG_FILE% cmd /c cl.exe %CL_ARGS% From 26039a8f4b987ed84e134da3c6b467a75fc75547 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 18:37:08 +0100 Subject: [PATCH 59/76] windows build --- libxtracfg/c/build.bat | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 0568346..211e05b 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -40,7 +40,7 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\jvm.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ @@ -48,6 +48,7 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ + /WHOLEARCHIVE:libxtracfgjni_static.lib ^ ncrypt.lib ^ crypt32.lib ^ winhttp.lib ^ From 26c7c18b42353a19c5444c1338df031398ccfc0d Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 19:02:39 +0100 Subject: [PATCH 60/76] windows build --- libxtracfg/c/build.bat | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 211e05b..a21dad6 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -32,34 +32,10 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ - /LIBPATH:%JAVA_HOME%/lib ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ - /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ - /WHOLEARCHIVE:libxtracfgjni_static.lib ^ - ncrypt.lib ^ - crypt32.lib ^ - winhttp.lib ^ - psapi.lib ^ - version.lib ^ - advapi32.lib ^ - ws2_32.lib ^ - secur32.lib ^ - iphlpapi.lib ^ - userenv.lib ^ - mswsock.lib + /WHOLEARCHIVE:libxtracfgjni_static.lib REM /verbose REM %JAVA_HOME%/lib/jvm.lib From a778a13791811119b3bad7fe2d66e0087fb3aeff Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 19:13:08 +0100 Subject: [PATCH 61/76] Revert "windows build" This reverts commit 26c7c18b42353a19c5444c1338df031398ccfc0d. --- libxtracfg/c/build.bat | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index a21dad6..211e05b 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -32,10 +32,34 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ + C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ - /WHOLEARCHIVE:libxtracfgjni_static.lib + /LIBPATH:%JAVA_HOME%/lib ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ + /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ + /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ + /WHOLEARCHIVE:libxtracfgjni_static.lib ^ + ncrypt.lib ^ + crypt32.lib ^ + winhttp.lib ^ + psapi.lib ^ + version.lib ^ + advapi32.lib ^ + ws2_32.lib ^ + secur32.lib ^ + iphlpapi.lib ^ + userenv.lib ^ + mswsock.lib REM /verbose REM %JAVA_HOME%/lib/jvm.lib From 55e25c187db8acf837303aff7ceae79b0a1a3f1c Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 19:15:20 +0100 Subject: [PATCH 62/76] windows build --- libxtracfg/c/build.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 211e05b..c51491d 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -42,6 +42,7 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ + /NODEFAULTLIB:MSVCRT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ /LIBPATH:%JAVA_HOME%/lib ^ From a98b806d7b8df576d253f3315cf1778f1ada073a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 19:27:30 +0100 Subject: [PATCH 63/76] windows build --- libxtracfg/c/build.bat | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index c51491d..c97d4f5 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -28,7 +28,7 @@ echo test ls -l REM static -cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ +cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ @@ -42,7 +42,6 @@ cl.exe /MT /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ - /NODEFAULTLIB:MSVCRT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ /LIBPATH:%JAVA_HOME%/lib ^ From 0c9f4b5cd68e4e79f980fb49e6ad5efd6864adbc Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 19:37:19 +0100 Subject: [PATCH 64/76] windows build --- libxtracfg/c/build.bat | 1 + libxtracfg/c/test.bat | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index c97d4f5..d9bc6b4 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -42,6 +42,7 @@ cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ + /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ /LIBPATH:%JAVA_HOME%/lib ^ diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index e8d782d..155851f 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -9,7 +9,7 @@ ls -l build cd build -cmd.exe /c test.exe "{\"command\": \"info\", \"source\": \"./\", \"debug\": \"true\", \"verbose\": \"true\"}" +cmd.exe /c test.exe "{\"command\": \"info\", \"source\": \"%DIR%\", \"debug\": \"true\", \"verbose\": \"true\"}" dumpbin /dependents test.exe From 22d68ce5eaa98e7939ab279312a23242d0aaec2d Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Mon, 5 Jan 2026 20:09:38 +0100 Subject: [PATCH 65/76] windows build --- libxtracfg/c/test.bat | 1 + 1 file changed, 1 insertion(+) diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index 155851f..63c0486 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -2,6 +2,7 @@ REM @echo off set DIR=%~dp0 set DIR=%DIR:~0,-1% +set DIR=D:\\a\\xtraplatform-cli\\xtraplatform-cli\\libxtracfg\\c cp C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1/bin/server\jvm.dll build\ From 00abe16a7a82f9bfca1584927643a6934835096a Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 09:57:12 +0100 Subject: [PATCH 66/76] windows build --- libxtracfg/c/build.bat | 13 ------------- .../c/native-image/static-compiler-windows.bat | 9 ++++----- libxtracfg/java/build.gradle | 3 --- 3 files changed, 4 insertions(+), 21 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index d9bc6b4..52fc025 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -32,23 +32,10 @@ cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\libchelper.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\net.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\extnet.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\nio.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\management_ext.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\java.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\sunmscapi.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\static\windows-amd64\zip.lib ^ - C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1\lib\svm\clibraries\windows-amd64\jvm.lib ^ /link ^ /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ - /LIBPATH:%JAVA_HOME%/lib ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries ^ - /LIBPATH:%JAVA_HOME%/lib/svm/clibraries/windows-amd64 ^ - /LIBPATH:%JAVA_HOME%/lib/static/windows-amd64 ^ /WHOLEARCHIVE:libxtracfgjni_static.lib ^ ncrypt.lib ^ crypt32.lib ^ diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 42eaa7e..0573720 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -28,7 +28,7 @@ if not exist %LOG_PATH% mkdir %LOG_PATH% REM Do a simple forward for any calls that are used to compile individual C files IF "%LIB_NAME%"=="" ( echo Forwarding to cl.exe for compiling C file: %* >> %LOG_FILE% - cmd /c cl /MT %* + cmd /c cl.exe %* exit /b ) @@ -42,8 +42,8 @@ echo SHARED LIBRARY >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% REM Modify the arguments if needed set CL_ARGS=%* -set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" -set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" +REM set "CL_ARGS=%CL_ARGS:/MD /LD=/MT%" +REM set "CL_ARGS=%CL_ARGS:/NODEFAULTLIB:LIBCMT=%" echo cl.exe %CL_ARGS% >> %LOG_FILE% cmd /c cl.exe %CL_ARGS% @@ -51,7 +51,6 @@ echo ===================================================== >> %LOG_FILE% echo STATIC EXTERNAL >> %LOG_FILE% echo ===================================================== >> %LOG_FILE% set LIBS_EXT= -set LIBS_EXT_DIRS= for %%P in (%*) do ( echo %%P >> %LOG_FILE% echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul @@ -71,6 +70,6 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% diff --git a/libxtracfg/java/build.gradle b/libxtracfg/java/build.gradle index edc555b..89ea65c 100644 --- a/libxtracfg/java/build.gradle +++ b/libxtracfg/java/build.gradle @@ -58,9 +58,6 @@ graalvmNative { if (targetos == 'darwin') { buildArgs('--native-compiler-options=-Wl,-framework,Security') } - if (targetos == 'windows') { - buildArgs('-H:+StaticExecutableWithDynamicLibC') - } //buildArgs('-march=native') buildArgs('-O2') //TODO -O3 image is 50% larger than -O2, test -Os with JDK 23 //buildArgs('--pgo') see https://www.graalvm.org/latest/reference-manual/native-image/optimizations-and-performance/PGO/ From ce83e3b7dce4cea51458f01fc8524f52e4491eec Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 10:13:41 +0100 Subject: [PATCH 67/76] windows build --- libxtracfg/c/native-image/static-compiler-windows.bat | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 0573720..09e9206 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -56,7 +56,10 @@ for %%P in (%*) do ( echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% - set "LIBS_EXT=!LIBS_EXT! %%P" + echo !LIBS_EXT! | findstr /C:"%%P" >nul + if !errorlevel!==1 ( + set "LIBS_EXT=!LIBS_EXT! %%P" + ) ) ) From e5cd69a6bad38739c341d326c3254ef84fd5de81 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 11:29:58 +0100 Subject: [PATCH 68/76] windows build --- libxtracfg/c/build.bat | 1 + libxtracfg/c/native-image/static-compiler-windows.bat | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 52fc025..33247b5 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -32,6 +32,7 @@ cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ + libxtracfgjni_static_java.lib ^ /link ^ /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 09e9206..23aa95b 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -73,6 +73,9 @@ REM To create a static library on Windows we need to call lib.exe input.obj /OUT REM We don't want to overwrite the .lib needed to compile against the .dll, so REM we append "_s" to indicate that it is a static library. if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% -set LIB_ARGS=%LIB_NAME%.obj !LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib +echo lib.exe %LIB_ARGS% >> %LOG_FILE% +cmd /c lib.exe %LIB_ARGS% +set LIB_ARGS=!LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static_java.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From 6de90c3e4cbf2be1c6b713c1d11dbfe62c280500 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 11:49:23 +0100 Subject: [PATCH 69/76] windows build --- libxtracfg/c/build.bat | 17 ++--------------- .../c/native-image/static-compiler-windows.bat | 4 ++-- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 33247b5..023fcc6 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -32,25 +32,12 @@ cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFOR ../wrapper/libxtracfg.c ^ ../test/main.c ^ libxtracfgjni_static.lib ^ - libxtracfgjni_static_java.lib ^ + libxtracfgjni_static_ext.lib ^ /link ^ /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ - /WHOLEARCHIVE:libxtracfgjni_static.lib ^ - ncrypt.lib ^ - crypt32.lib ^ - winhttp.lib ^ - psapi.lib ^ - version.lib ^ - advapi32.lib ^ - ws2_32.lib ^ - secur32.lib ^ - iphlpapi.lib ^ - userenv.lib ^ - mswsock.lib -REM /verbose -REM %JAVA_HOME%/lib/jvm.lib + /WHOLEARCHIVE:libxtracfgjni_static.lib ls -l diff --git a/libxtracfg/c/native-image/static-compiler-windows.bat b/libxtracfg/c/native-image/static-compiler-windows.bat index 23aa95b..c78c074 100755 --- a/libxtracfg/c/native-image/static-compiler-windows.bat +++ b/libxtracfg/c/native-image/static-compiler-windows.bat @@ -53,7 +53,7 @@ echo ===================================================== >> %LOG_FILE% set LIBS_EXT= for %%P in (%*) do ( echo %%P >> %LOG_FILE% - echo %%P | findstr /R /C:"^C:.*\.lib" 1>nul + echo %%P | findstr /R /C:"^[^/].*\.lib" 1>nul if !errorlevel!==0 ( echo *** >> %LOG_FILE% echo !LIBS_EXT! | findstr /C:"%%P" >nul @@ -76,6 +76,6 @@ if not exist %OUTPUT_PATH% mkdir %OUTPUT_PATH% set LIB_ARGS=%LIB_NAME%.obj /OUT:%OUTPUT_PATH%\%LIB_NAME%_static.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% -set LIB_ARGS=!LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static_java.lib +set LIB_ARGS=!LIBS_EXT! /OUT:%OUTPUT_PATH%\%LIB_NAME%_static_ext.lib echo lib.exe %LIB_ARGS% >> %LOG_FILE% cmd /c lib.exe %LIB_ARGS% From 12da7c2e3766c46fc2381d74c419c6d00266c9c0 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 12:15:21 +0100 Subject: [PATCH 70/76] windows build --- libxtracfg/c/build.bat | 13 ++++++------- libxtracfg/js/xtracfg-native-binding/binding.gyp | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 023fcc6..24f176a 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -14,9 +14,9 @@ echo lib REM ls -l -R %JAVA_HOME% REM static -REM cl.exe /c /MT /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c -copy libxtracfgjni_static.lib libxtracfg.lib -REM lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib +cl.exe /c /MD /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c +REM copy libxtracfgjni_static.lib libxtracfg.lib +lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp REM Extract just the hash from certutil output (it includes headers/footers) @@ -28,16 +28,15 @@ echo test ls -l REM static -cl.exe /MD /I./ /Fetest.exe /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% ^ - ../wrapper/libxtracfg.c ^ +cl.exe /MD /I./ /Fetest.exe ^ ../test/main.c ^ - libxtracfgjni_static.lib ^ + libxtracfg.lib ^ libxtracfgjni_static_ext.lib ^ /link ^ /NODEFAULTLIB:LIBCMT ^ /FILEALIGN:4096 ^ /LIBPATH:./ ^ - /WHOLEARCHIVE:libxtracfgjni_static.lib + /WHOLEARCHIVE:libxtracfg.lib ls -l diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index e90212f..ea7180d 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -20,7 +20,7 @@ }, 'conditions': [ ['OS=="win"', { - 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.lib' ] + 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.lib', '<(local_prefix)/../c/build/libxtracfgjni_static_ext.lib' ] }, { # OS != "win" 'libraries': [ '<(local_prefix)/../c/build/libxtracfg.a' ] }], From 6961e7648860dac7b1ebdd0238c22cb99d713876 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 14:47:23 +0100 Subject: [PATCH 71/76] windows build --- .github/workflows/xtracfg.yml | 9 +++++++++ libxtracfg/js/xtracfg-native-binding/binding.gyp | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index c94d4a8..d371b0c 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -94,10 +94,19 @@ jobs: ls -R ./libxtracfg/js/xtracfg-native-binding/prebuilds # TODO: run tests for java, c, go - uses: actions/upload-artifact@v4 + if: ${{ matrix.os.type != 'windows' }} with: name: libxtracfg-c-${{ matrix.os.platform }} path: ./libxtracfg/c/build/libxtracfg.a retention-days: 1 + - uses: actions/upload-artifact@v4 + if: ${{ matrix.os.type == 'windows' }} + with: + name: libxtracfg-c-${{ matrix.os.platform }} + path: | + ./libxtracfg/c/build/libxtracfg.lib + ./libxtracfg/c/build/libxtracfgjni_static_ext.lib + retention-days: 1 - uses: actions/upload-artifact@v4 with: name: libxtracfg-c-hash-${{ matrix.os.platform }} diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index ea7180d..7ca0290 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -17,6 +17,12 @@ }, 'msvs_settings': { 'VCCLCompilerTool': { 'ExceptionHandling': 1 }, + 'VCLinkerTool': { + 'IgnoreDefaultLibraryNames': [ 'LIBCMT' ], + 'AdditionalOptions': [ + '/WHOLEARCHIVE:<(local_prefix)/../c/build/libxtracfg.lib', + ], + }, }, 'conditions': [ ['OS=="win"', { From 4ad41b094828f524b279ec60c99cbae977c85cb2 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 15:06:56 +0100 Subject: [PATCH 72/76] windows build --- libxtracfg/go/xtracfg/client.go | 11 ++++------- libxtracfg/js/xtracfg-native-binding/binding.gyp | 5 ++++- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/libxtracfg/go/xtracfg/client.go b/libxtracfg/go/xtracfg/client.go index 0bf27ed..93d4620 100644 --- a/libxtracfg/go/xtracfg/client.go +++ b/libxtracfg/go/xtracfg/client.go @@ -3,6 +3,7 @@ package xtracfg /* #cgo CFLAGS: -I ../../c/include #cgo LDFLAGS: -L../../c/build -lxtracfg +#cgo windows LDFLAGS: -L../../c/build -lxtracfg -lxtracfgjni_static_ext #include #include "libxtracfg.h" @@ -129,17 +130,15 @@ func (store Store) Handle(parameters map[string]interface{}, command string, sub return nil, fmt.Errorf("Error: %s", *response.Error) } - if response.Results == nil { return []Result{}, nil } - for i := range *response.Results { - (*response.Results)[i].Details = response.Details - } + (*response.Results)[i].Details = response.Details + } - return *response.Results, nil + return *response.Results, nil } func (store Store) request(parameters map[string]interface{}, command string, subcommands ...string) (response *Response, err error) { @@ -149,10 +148,8 @@ func (store Store) request(parameters map[string]interface{}, command string, su parameters["subcommand"] = subcommands[0] } - request, err := json.Marshal(parameters) - if err != nil { return nil, fmt.Errorf("Error: Failed to marshal the request body. %s", err) } diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index 7ca0290..b36c9f9 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -16,7 +16,10 @@ "OTHER_CFLAGS": [ "-fPIC"] }, 'msvs_settings': { - 'VCCLCompilerTool': { 'ExceptionHandling': 1 }, + 'VCCLCompilerTool': { + 'RuntimeLibrary': 2, # /MD + 'ExceptionHandling': 1, + }, 'VCLinkerTool': { 'IgnoreDefaultLibraryNames': [ 'LIBCMT' ], 'AdditionalOptions': [ From 0456c39417c0896169b596a41756552288d5f939 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 15:32:42 +0100 Subject: [PATCH 73/76] windows build --- .github/workflows/xtracfg.yml | 1 + libxtracfg/js/xtracfg-native-binding/binding.gyp | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index d371b0c..9c7df22 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -144,6 +144,7 @@ jobs: defaults: run: working-directory: ./xtracfg + shell: bash steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 diff --git a/libxtracfg/js/xtracfg-native-binding/binding.gyp b/libxtracfg/js/xtracfg-native-binding/binding.gyp index b36c9f9..b202856 100644 --- a/libxtracfg/js/xtracfg-native-binding/binding.gyp +++ b/libxtracfg/js/xtracfg-native-binding/binding.gyp @@ -19,12 +19,16 @@ 'VCCLCompilerTool': { 'RuntimeLibrary': 2, # /MD 'ExceptionHandling': 1, + 'AdditionalOptions': [ + '/MD', + '/EHsc', + ], }, 'VCLinkerTool': { 'IgnoreDefaultLibraryNames': [ 'LIBCMT' ], 'AdditionalOptions': [ - '/WHOLEARCHIVE:<(local_prefix)/../c/build/libxtracfg.lib', - ], + '/WHOLEARCHIVE:<(local_prefix)/../c/build/libxtracfg.lib', + ], }, }, 'conditions': [ From 71de6e2f436b2f8f91151d72f358b350cb8178cd Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 15:49:26 +0100 Subject: [PATCH 74/76] windows build --- .github/workflows/xtracfg.yml | 2 +- libxtracfg/js/xtracfg-native-binding/test/test_binding.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index 9c7df22..abc667f 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -169,7 +169,7 @@ jobs: CMD_GIT_BRANCH: github.com/interactive-instruments/xtraplatform-cli/xtracfg/cmd.gitBranch=${{ github.ref_name }} CMD_GIT_SHA: github.com/interactive-instruments/xtraplatform-cli/xtracfg/cmd.gitSha=${{ steps.short-sha.outputs.substring }} CMD_GIT_TAG: github.com/interactive-instruments/xtraplatform-cli/xtracfg/cmd.gitTag=${{ github.ref_type == 'tag' && github.ref_name || '' }} - EXT_LDFLAGS: ${{ matrix.os.type == 'macos' && '-framework CoreServices -framework Foundation' || '-z noexecstack' }} + EXT_LDFLAGS: ${{ (matrix.os.type == 'macos' && '-framework CoreServices -framework Foundation') || (matrix.os.type == 'linux' && '-z noexecstack') || '' }} run: | go build -o build/xtracfg -ldflags="-s -w -X ${CMD_GIT_TAG} -X ${CMD_GIT_SHA} -X ${CMD_GIT_BRANCH} '-extldflags=${EXT_LDFLAGS}'" - name: log1 diff --git a/libxtracfg/js/xtracfg-native-binding/test/test_binding.js b/libxtracfg/js/xtracfg-native-binding/test/test_binding.js index 50ebd57..73ddbf9 100644 --- a/libxtracfg/js/xtracfg-native-binding/test/test_binding.js +++ b/libxtracfg/js/xtracfg-native-binding/test/test_binding.js @@ -1,8 +1,8 @@ const xtracfgLib = require("../index.js"); +const currentDir = __dirname; function testBasic() { - const command = - '{"command": "info", "source": "/Users/az/development/configs-ldproxy/demogh", "verbose": "true", "debug": "true"}'; + const command = `{"command": "info", "source": "${currentDir}", "verbose": "true", "debug": "true"}`; const result = xtracfgLib.execute(command); From 02d92ba43124ba31f74acf78e2af9b917fbdb3fe Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 16:17:13 +0100 Subject: [PATCH 75/76] windows build --- .github/workflows/xtracfg.yml | 1 - libxtracfg/js/xtracfg-native-binding/test/test_binding.js | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index abc667f..f16d3bd 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -192,7 +192,6 @@ jobs: retention-days: 1 publish_npm: - if: ${{ github.ref_type == 'linux' }} runs-on: ubuntu-latest needs: build_libraries defaults: diff --git a/libxtracfg/js/xtracfg-native-binding/test/test_binding.js b/libxtracfg/js/xtracfg-native-binding/test/test_binding.js index 73ddbf9..c6ba599 100644 --- a/libxtracfg/js/xtracfg-native-binding/test/test_binding.js +++ b/libxtracfg/js/xtracfg-native-binding/test/test_binding.js @@ -2,7 +2,11 @@ const xtracfgLib = require("../index.js"); const currentDir = __dirname; function testBasic() { - const command = `{"command": "info", "source": "${currentDir}", "verbose": "true", "debug": "true"}`; + console.log("Testing basic execute...", currentDir); + const command = `{"command": "info", "source": "${currentDir.replaceAll( + "\\", + "/" + )}", "verbose": "true", "debug": "true"}`; const result = xtracfgLib.execute(command); From 9dc0fd5fe30250c07d7a22c1ba8d0163bc78e498 Mon Sep 17 00:00:00 2001 From: Andreas Zahnen Date: Tue, 6 Jan 2026 18:36:17 +0100 Subject: [PATCH 76/76] cleanup --- .github/workflows/xtracfg.yml | 52 +++++++++++++-------------------- libxtracfg/c/build.bat | 3 -- libxtracfg/c/test.bat | 6 ---- libxtracfg/go/xtracfg/client.go | 2 +- 4 files changed, 22 insertions(+), 41 deletions(-) diff --git a/.github/workflows/xtracfg.yml b/.github/workflows/xtracfg.yml index f16d3bd..6a11866 100644 --- a/.github/workflows/xtracfg.yml +++ b/.github/workflows/xtracfg.yml @@ -8,15 +8,15 @@ jobs: strategy: matrix: os: - #- runner: ubuntu-24.04 - # type: linux - # platform: linux-amd64 - # - runner: ubuntu-24.04-arm - # type: linux - # platform: linux-arm64 - # - runner: macos-14 - # type: macos - # platform: darwin-arm64 + - runner: ubuntu-24.04 + type: linux + platform: linux-amd64 + - runner: ubuntu-24.04-arm + type: linux + platform: linux-arm64 + - runner: macos-14 + type: macos + platform: darwin-arm64 - runner: windows-2022 type: windows platform: windows-amd64 @@ -55,7 +55,6 @@ jobs: CFLAGS="-fPIC" ./configure --static make - name: java - continue-on-error: true working-directory: ./libxtracfg/java run: | ./gradlew nativeCompile -PLIB=true @@ -73,7 +72,6 @@ jobs: ./test.sh - name: c if: ${{ matrix.os.type == 'windows' }} - continue-on-error: true working-directory: ./libxtracfg/c run: | ./build.bat @@ -82,14 +80,12 @@ jobs: run: | ls -l ./libxtracfg/c/build - name: js - continue-on-error: true working-directory: ./libxtracfg/js/xtracfg-native-binding run: | npm --loglevel verbose ci npm --loglevel verbose run prebuildify npm --loglevel verbose run test - name: log3 - continue-on-error: true run: | ls -R ./libxtracfg/js/xtracfg-native-binding/prebuilds # TODO: run tests for java, c, go @@ -117,11 +113,6 @@ jobs: name: libxtracfg-js-${{ matrix.os.platform }} path: ./libxtracfg/js/xtracfg-native-binding/prebuilds retention-days: 1 - - uses: actions/upload-artifact@v4 - with: - name: npm-logs - path: C:\\npm\\cache\\_logs - retention-days: 1 build_binaries: runs-on: ${{ matrix.os.runner }} @@ -129,18 +120,18 @@ jobs: strategy: matrix: os: - # - runner: ubuntu-24.04 - # type: linux - # platform: linux-amd64 - # - runner: ubuntu-24.04-arm - # type: linux - # platform: linux-arm64 - # - runner: macos-14 - # type: macos - # platform: darwin-arm64 - - runner: windows-2022 - type: windows - platform: windows-amd64 + - runner: ubuntu-24.04 + type: linux + platform: linux-amd64 + - runner: ubuntu-24.04-arm + type: linux + platform: linux-arm64 + - runner: macos-14 + type: macos + platform: darwin-arm64 + #- runner: windows-2022 + # type: windows + # platform: windows-amd64 defaults: run: working-directory: ./xtracfg @@ -234,7 +225,6 @@ jobs: ls -lR ./**/build publish_docker: - if: ${{ github.ref_type == 'linux' }} runs-on: ubuntu-latest needs: build_binaries steps: diff --git a/libxtracfg/c/build.bat b/libxtracfg/c/build.bat index 24f176a..548abb1 100644 --- a/libxtracfg/c/build.bat +++ b/libxtracfg/c/build.bat @@ -11,11 +11,8 @@ cd %OUT_DIR% echo lib -REM ls -l -R %JAVA_HOME% - REM static cl.exe /c /MD /W4 /I./ /I%JAVA_HOME%/include /I%JAVA_HOME%/include/%PLATFORM% /Folibxtracfg.obj ../wrapper/libxtracfg.c -REM copy libxtracfgjni_static.lib libxtracfg.lib lib.exe /OUT:libxtracfg.lib /VERBOSE libxtracfg.obj libxtracfgjni_static.lib certutil -hashfile libxtracfg.lib SHA1 > libxtracfg.sha1sum.tmp diff --git a/libxtracfg/c/test.bat b/libxtracfg/c/test.bat index 63c0486..f9e3474 100644 --- a/libxtracfg/c/test.bat +++ b/libxtracfg/c/test.bat @@ -4,14 +4,8 @@ set DIR=%~dp0 set DIR=%DIR:~0,-1% set DIR=D:\\a\\xtraplatform-cli\\xtraplatform-cli\\libxtracfg\\c -cp C:\hostedtoolcache\windows\graalvm-jdk-21_windows-x64_bin\21.0.0\x64\graalvm-jdk-21.0.9+7.1/bin/server\jvm.dll build\ - -ls -l build - cd build cmd.exe /c test.exe "{\"command\": \"info\", \"source\": \"%DIR%\", \"debug\": \"true\", \"verbose\": \"true\"}" -dumpbin /dependents test.exe - ldd test.exe diff --git a/libxtracfg/go/xtracfg/client.go b/libxtracfg/go/xtracfg/client.go index 93d4620..0fde199 100644 --- a/libxtracfg/go/xtracfg/client.go +++ b/libxtracfg/go/xtracfg/client.go @@ -3,7 +3,7 @@ package xtracfg /* #cgo CFLAGS: -I ../../c/include #cgo LDFLAGS: -L../../c/build -lxtracfg -#cgo windows LDFLAGS: -L../../c/build -lxtracfg -lxtracfgjni_static_ext +#cgo windows LDFLAGS: -lxtracfgjni_static_ext #include #include "libxtracfg.h"