#!/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 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 -Xcc=-DBUILD_VULKAN ) # Test for compilation ldc2 "${flags[@]}" "${shared_src[@]}" "${native_src[@]}" rm "./${out}.o" "./${out}" rm $out fi