From dc48cb3733aa95f0339321dc7d36f60002ab5102 Mon Sep 17 00:00:00 2001 From: Jaby Date: Thu, 22 Sep 2022 19:26:13 +0200 Subject: [PATCH] Build linux under windows with MUSL --- src/Tools/.cargo/config.toml | 2 ++ src/Tools/Tests/Test.mk | 8 +++--- src/Tools/Tools.code-workspace | 6 +++-- .../src/images/reduced_tim/mod.rs | 2 +- src/Tools/run_cargo.bat | 25 +++++++++++-------- 5 files changed, 25 insertions(+), 18 deletions(-) create mode 100644 src/Tools/.cargo/config.toml diff --git a/src/Tools/.cargo/config.toml b/src/Tools/.cargo/config.toml new file mode 100644 index 00000000..d07fa72e --- /dev/null +++ b/src/Tools/.cargo/config.toml @@ -0,0 +1,2 @@ +[target.x86_64-unknown-linux-musl] +linker = "rust-lld" \ No newline at end of file diff --git a/src/Tools/Tests/Test.mk b/src/Tools/Tests/Test.mk index 08406ceb..676bddce 100644 --- a/src/Tools/Tests/Test.mk +++ b/src/Tools/Tests/Test.mk @@ -1,12 +1,10 @@ export PATH := $(HOME)/.cargo/bin/:$(PATH) test_cpp_out: always - @cargo build --manifest-path ../cpp_out/Cargo.toml --release - @echo "Planschbecken" | ./../cpp_out/target/release/cpp_out --name Dino -o "Test_Planschbecken.cpp" - @echo "Planschbecken" | ./../cpp_out/target/release/cpp_out --name Dino -o "Test_Planschbecken.hpp" + @echo "Planschbecken" | ./../cpp_out/target/x86_64-unknown-linux-musl/release/cpp_out --name Dino -o "Test_Planschbecken.cpp" + @echo "Planschbecken" | ./../cpp_out/target/x86_64-unknown-linux-musl/release/cpp_out --name Dino -o "Test_Planschbecken.hpp" test_jaby_engine_fconv: always - @cargo build --manifest-path ../jaby_engine_fconv/Cargo.toml --release - @./../jaby_engine_fconv/target/release/jaby_engine_fconv -o Test_Planschi.bin Test_PNG2.PNG simple-tim full16 + @./../jaby_engine_fconv/target/x86_64-unknown-linux-musl/release/jaby_engine_fconv -o Test_Planschi.bin Test_PNG2.PNG simple-tim full16 always: ; \ No newline at end of file diff --git a/src/Tools/Tools.code-workspace b/src/Tools/Tools.code-workspace index e0730364..300041c7 100644 --- a/src/Tools/Tools.code-workspace +++ b/src/Tools/Tools.code-workspace @@ -33,7 +33,9 @@ }, "options": { "cwd": "${workspaceFolder}/Tests" - } + }, + "dependsOn": ["cargo"], + "dependsOrder": "sequence" } ], "inputs": [ @@ -53,7 +55,7 @@ { "id": "cargo cmd", "type":"pickString", - "options": ["build", "run", "check", "clean"], + "options": ["build", "check", "clean", "run", "test"], "default": "build", "description": "cargo command to run" }, diff --git a/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs b/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs index 951b2306..565e25a8 100644 --- a/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs +++ b/src/Tools/jaby_engine_fconv/src/images/reduced_tim/mod.rs @@ -21,7 +21,7 @@ pub struct Arguments { fn convert_full16(input: Input, output: Output) -> Result<(), Error> { match ImageReader::new(Cursor::new(tool_helper::input_to_vec(input)?)).with_guessed_format()?.decode() { Ok(image) => { - + println!("Blubb!!"); Ok(()) }, Err(error) => Err(Error::from_error(error)) diff --git a/src/Tools/run_cargo.bat b/src/Tools/run_cargo.bat index ceed6d24..05d886a6 100644 --- a/src/Tools/run_cargo.bat +++ b/src/Tools/run_cargo.bat @@ -1,21 +1,26 @@ @echo off setlocal EnableDelayedExpansion -rem run_cargo.bat project build|check|clean debug|release [linux|windows] +rem run_cargo.bat project {build|check|clean|test} {debug|release} [linux|windows] set org_dir=%cd% set bin_ext=.exe +set target=x86_64-pc-windows-msvc -IF "%4" == "linux" ( - set prefix=wsl $HOME/.cargo/bin/ +IF %4 == linux ( set bin_ext= + set target=x86_64-unknown-linux-musl ) +IF %2 == build set run_build=1 +IF %2 == test set run_build=1 + cd %1 -IF %2 == build ( +IF defined run_build ( echo cargo build %1 --%3 - %prefix%cargo build --%3 %target% - IF %ERRORLEVEL% == 0 ( - xcopy target\%3\%1%bin_ext% %org_dir%\..\..\bin /y + cargo build --%3 --target=%target% + + IF %2 == build IF %ERRORLEVEL% == 0 ( + xcopy target\%target%\%3\%1%bin_ext% %org_dir%\..\..\bin /y ) exit /B %ERRORLEVEL% @@ -23,21 +28,21 @@ IF %2 == build ( IF %2 == run ( echo cargo run %1 --%3 - %prefix%cargo run --%3 %target% + cargo run --%3 --target=%target% exit /B %ERRORLEVEL% ) IF %2 == check ( echo cargo check %1 --%3 - %prefix%cargo check --%3 %target% + cargo check --%3 --target=%target% exit /B %ERRORLEVEL% ) IF %2 == clean ( echo cargo clean %1 - %prefix%cargo clean + cargo clean rem We do not delete the bin folder anymore - is kinda to much rem @del %org_dir%\..\..\bin\%1%bin_ext%