From 5826fa0813d2d09d66c48fc9b8c3bedc06888f20 Mon Sep 17 00:00:00 2001 From: Nexoniarz Date: Tue, 12 May 2026 03:16:20 +0200 Subject: [PATCH] Add files via upload --- build.bat | 34 ++++++++++++++++++++++++++++++++++ build.sh | 29 +++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 build.bat create mode 100644 build.sh diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..db79363 --- /dev/null +++ b/build.bat @@ -0,0 +1,34 @@ +@echo off + +REM ZIG IS REQUIRED TO COMPILE +REM Pikture Build Script - Fast, Small, Easy + +if not exist dist\windows_x64 mkdir dist\windows_x64 +if not exist dist\windows_arm64 mkdir dist\windows_arm64 +if not exist dist\macos_x64 mkdir dist\macos_x64 +if not exist dist\macos_arm64 mkdir dist\macos_arm64 +if not exist dist\linux_x64 mkdir dist\linux_x64 +if not exist dist\linux_arm64 mkdir dist\linux_arm64 + +set FLAGS=-O3 -fPIC + +REM Windows (Shared + Import Lib) +zig cc -target x86_64-windows %FLAGS% -shared pikture.c -o dist\windows_x64\pikture.dll -Wl,--out-implib,dist\windows_x64\pikture.lib +zig cc -target aarch64-windows %FLAGS% -shared pikture.c -o dist\windows_arm64\pikture.dll -Wl,--out-implib,dist\windows_arm64\pikture.lib + +REM macOS (Shared) +zig cc -target x86_64-macos %FLAGS% -shared pikture.c -o dist\macos_x64\libpikture.dylib +zig cc -target aarch64-macos %FLAGS% -shared pikture.c -o dist\macos_arm64\libpikture.dylib + +REM Linux (Shared) +zig cc -target x86_64-linux-gnu %FLAGS% -shared pikture.c -o dist\linux_x64\libpikture.so +zig cc -target aarch64-linux-gnu %FLAGS% -shared pikture.c -o dist\linux_arm64\libpikture.so + +REM Linux (Static) +zig cc -target x86_64-linux-musl %FLAGS% -c pikture.c -o pikture_x64.o +zig ar rcs dist\linux_x64\libpikture.a pikture_x64.o + +zig cc -target aarch64-linux-musl %FLAGS% -c pikture.c -o pikture_arm64.o +zig ar rcs dist\linux_arm64\libpikture.a pikture_arm64.o + +del /q *.o diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..44a2045 --- /dev/null +++ b/build.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +# ZIG IS REQUIRED TO COMPILE +# Pikture Build Script - Fast, Small, Easy + +mkdir -p dist/windows_x64 dist/windows_arm64 dist/macos_x64 dist/macos_arm64 dist/linux_x64 dist/linux_arm64 + +FLAGS="-O3 -fPIC" + +# Windows (Shared + Import Lib) +zig cc -target x86_64-windows $FLAGS -shared pikture.c -o dist/windows_x64/pikture.dll -Wl,--out-implib,dist/windows_x64/pikture.lib +zig cc -target aarch64-windows $FLAGS -shared pikture.c -o dist/windows_arm64/pikture.dll -Wl,--out-implib,dist/windows_arm64/pikture.lib + +# macOS (Shared) +zig cc -target x86_64-macos $FLAGS -shared pikture.c -o dist/macos_x64/libpikture.dylib +zig cc -target aarch64-macos $FLAGS -shared pikture.c -o dist/macos_arm64/libpikture.dylib + +# Linux (Shared) +zig cc -target x86_64-linux-gnu $FLAGS -shared pikture.c -o dist/linux_x64/libpikture.so +zig cc -target aarch64-linux-gnu $FLAGS -shared pikture.c -o dist/linux_arm64/libpikture.so + +# Linux (Static) +zig cc -target x86_64-linux-musl $FLAGS -c pikture.c -o pikture_x64.o +ar rcs dist/linux_x64/libpikture.a pikture_x64.o + +zig cc -target aarch64-linux-musl $FLAGS -c pikture.c -o pikture_arm64.o +ar rcs dist/linux_arm64/libpikture.a pikture_arm64.o + +rm *.o