dlib/test.sh
2026-05-13 03:35:39 +10:00

89 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
mkdir -p build
declare -a shared_src=(
dlib/package.d
dlib/platform.d
dlib/fonts.d
dlib/aliases.d
dlib/math.d
dlib/util.d
dlib/alloc.d
dlib/assets.d
dlib/externdecl.d
dlib/stb_truetype.d
)
if [ "$1" == "wasm" ]; then
out="build/dlib.wasm"
declare -a flags=(
-vgc
-betterC
-mtriple=wasm32-unknown-unknown-wasm
-d-version=DLIB_TEST
-fvisibility=hidden
--unittest
-Iwasm/runtime
-i=core
-i=std
-i=.
--real-precision=double
-gcc=clang
"--of=$out"
)
declare -a wasm_src=(wasm/runtime/object.d)
ldc2 "${flags[@]}" "${shared_src[@]}" "${wasm_src[@]}"
cp $out wasm/dlib.wasm
else
out="build/Test_Runner"
declare -a native_src=(
build/libcgltf.a
)
declare -a flags=(
-P-I/usr/include/freetype2
-L-lfreetype
-Idlib
--main
--unittest
-g
-d-version=DLIB_TEST
-verrors=50
"--of=$out"
)
/bin/bash ./build.sh build
# Test for success
ldc2 "${flags[@]}" "${shared_src[@]}" "${native_src[@]}"
rm "./${out}.o"
"./${out}"
rm $out
native_src+=(
vulkan/vulkan.d
vulkan/vulkan_funcs.d
build/libvma.a
)
flags+=(
-L-lvulkan
-L-lstdc++
-Jbuild
-d-version=VULKAN_RENDERER_TEST
-d-version=DLIB_ASSETS
-Xcc=-DBUILD_VULKAN
-Xcc=-DBUILD_ASSETS
)
# Test for compilation
ldc2 "${flags[@]}" "${shared_src[@]}" "${native_src[@]}"
rm "./${out}.o"
"./${out}"
rm $out
fi