Added simple build scripts for Linux, FreeBSD, Win32 and MacOS X platforms.
This commit is contained in:
parent
31d32b4fce
commit
8dad8628b3
9
dist/freebsd/mk-release.sh
vendored
Executable file
9
dist/freebsd/mk-release.sh
vendored
Executable file
@ -0,0 +1,9 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# pkg install gmake gcc12
|
||||||
|
set -e
|
||||||
|
cd -- "$(dirname -- "$0")/../.."
|
||||||
|
|
||||||
|
gmake -B CC=gcc12 XCFLAGS="-m32" MARCH=i586 MTUNE=pentium2 OUTNAME="crc64-i686"
|
||||||
|
gmake -B CC=gcc12 XCFLAGS="-m64" MARCH=x86-64 MTUNE=znver3 OUTNAME="crc64-x86_64"
|
||||||
|
|
||||||
|
echo "Build completed successfully."
|
36
dist/linux/mk-musl-libc.sh
vendored
Executable file
36
dist/linux/mk-musl-libc.sh
vendored
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# sudo apt install curl crossbuild-essential-{i386,armel,armhf,arm64,mipsel,mips64el}
|
||||||
|
set -e
|
||||||
|
cd -- "$(dirname -- "${BASH_SOURCE[0]}")"
|
||||||
|
|
||||||
|
function mk_musl() {
|
||||||
|
printf "\033[1;36m\nBuilding musl-libc for: ${1}\033[0m\n\n"
|
||||||
|
local outdir="/usr/local/musl/${1}"
|
||||||
|
local build="musl-build-${1}"
|
||||||
|
rm -rf "${build}" && mkdir -p "${build}"
|
||||||
|
tar -xvf "musl-latest.tar.gz" --strip-components=1 -C "${build}"
|
||||||
|
pushd "${build}"
|
||||||
|
local optdirs="$(find './src' -mindepth 1 -maxdepth 1 -type d -printf '%f,' | sed 's/,$//g')"
|
||||||
|
CFLAGS="${3}" ./configure --enable-optimize="${optdirs}" --disable-shared --prefix="${outdir}" ${2:+--host=$2}
|
||||||
|
make
|
||||||
|
sudo rm -rf "${outdir}"
|
||||||
|
sudo make install
|
||||||
|
popd
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$(gcc -dumpmachine)" != "x86_64-linux-gnu" ]; then
|
||||||
|
echo "This script is supposed to run on the native \"x86_64-linux-gnu\" platform !!!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
curl -vkf -o "musl-latest.tar.gz" "https://musl.libc.org/releases/musl-latest.tar.gz"
|
||||||
|
|
||||||
|
mk_musl x86_64 "" "-march=x86-64 -mtune=znver3"
|
||||||
|
mk_musl i686 i686-linux-gnu "-march=i586 -mtune=pentium2"
|
||||||
|
mk_musl armel arm-linux-gnueabi
|
||||||
|
mk_musl armhf arm-linux-gnueabihf
|
||||||
|
mk_musl arm64 aarch64-linux-gnu
|
||||||
|
mk_musl mipsel mipsel-linux-gnu
|
||||||
|
mk_musl mips64el mips64el-linux-gnuabi64
|
||||||
|
|
||||||
|
printf "\033[1;32m\nBuild completed successfully.\033[0m\n\n"
|
10
dist/linux/mk-release.sh
vendored
Executable file
10
dist/linux/mk-release.sh
vendored
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -e
|
||||||
|
cd -- "$(dirname -- "${BASH_SOURCE[0]}")/../.."
|
||||||
|
|
||||||
|
find /usr/local/musl -mindepth 2 -type f -executable \( -name 'musl-gcc' -or -name 'musl-clang' \) -printf '%P\0' | \
|
||||||
|
while IFS= read -r -d '' filename; do
|
||||||
|
make -B CC="/usr/local/musl/${filename}" OUTNAME="crc64-$(grep -Po '^[^/\\]+' <<< "${filename}")"
|
||||||
|
done
|
||||||
|
|
||||||
|
printf "\033[1;32m\nBuild completed successfully.\033[0m\n\n"
|
11
dist/macosx/mk-release.sh
vendored
Executable file
11
dist/macosx/mk-release.sh
vendored
Executable file
@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/zsh
|
||||||
|
# xcode-select -install
|
||||||
|
set -e
|
||||||
|
cd -- "$(dirname -- "$0")/../.."
|
||||||
|
|
||||||
|
make -B MARCH= MTUNE= STATIC=0 STRIP=0 XCFLAGS="-target x86_64-apple-darwin" OUTNAME="crc64-x86_64"
|
||||||
|
make -B MARCH= MTUNE= STATIC=0 STRIP=0 XCFLAGS="-target arm64-apple-darwin" OUTNAME="crc64-arm64"
|
||||||
|
|
||||||
|
strip crc64-*
|
||||||
|
|
||||||
|
echo "Build completed successfully."
|
34
dist/win32/mk-release.cmd
vendored
Normal file
34
dist/win32/mk-release.cmd
vendored
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
cd "%~dp0\..\..\win32"
|
||||||
|
|
||||||
|
if "%MSVC_PATH%"=="" (
|
||||||
|
set "MSVC_PATH=C:\Program Files\Microsoft Visual Studio\2022\Community\VC"
|
||||||
|
)
|
||||||
|
|
||||||
|
if not exist "%MSVC_PATH%\Auxiliary\Build\vcvarsall.bat" (
|
||||||
|
echo MSVC not found. Please check MSVC_PATH and try again ^^!^^!^^!
|
||||||
|
pause
|
||||||
|
goto:eof
|
||||||
|
)
|
||||||
|
|
||||||
|
for %%p in (x86,x64,ARM64) do (
|
||||||
|
echo ------------------------------------------------------------------------------
|
||||||
|
echo [%%p]
|
||||||
|
echo ------------------------------------------------------------------------------
|
||||||
|
call "%MSVC_PATH%\Auxiliary\Build\vcvarsall.bat" %%~p
|
||||||
|
for %%t in (Clean,Rebuild) do (
|
||||||
|
MSBuild.exe /property:Configuration=Release /property:Platform=%%p /target:%%t /verbosity:normal "%CD%\crc64.sln"
|
||||||
|
if not "!ERRORLEVEL!"=="0" goto:BuildFailed
|
||||||
|
)
|
||||||
|
echo.
|
||||||
|
)
|
||||||
|
|
||||||
|
echo Build completed successfully.
|
||||||
|
pause
|
||||||
|
goto:eof
|
||||||
|
|
||||||
|
:BuildFailed
|
||||||
|
echo.
|
||||||
|
echo Build has failed ^^!^^!^^!
|
||||||
|
pause
|
Loading…
Reference in New Issue
Block a user