1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #!/usr/bin/env bash
- set -eu
- VERSION="3.1.0"
- RELEASE="https://github.com/erincatto/box2d/archive/refs/tags/v$VERSION.tar.gz"
- cd "$(dirname "$0")"
- curl -O -L "$RELEASE"
- tar -xzvf "v$VERSION.tar.gz"
- cd "box2d-$VERSION"
- FLAGS="-DCMAKE_BUILD_TYPE=Release -DBOX2D_SAMPLES=OFF -DBOX2D_VALIDATE=OFF -DBOX2D_UNIT_TESTS=OFF"
- case "$(uname -s)" in
- Darwin)
- export MACOSX_DEPLOYMENT_TARGET="11"
- case "$(uname -m)" in
- "x86_64" | "amd64")
- rm -rf build
- mkdir build
- cmake $FLAGS -DBOX2D_AVX2=ON -DCMAKE_OSX_ARCHITECTURES=x86_64 -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_darwin_amd64_avx2.a
- rm -rf build
- mkdir build
- cmake $FLAGS -DBOX2D_AVX2=OFF -DCMAKE_OSX_ARCHITECTURES=x86_64 -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_darwin_amd64_sse2.a
- ;;
- *)
- rm -rf build
- mkdir build
- cmake $FLAGS -DCMAKE_OSX_ARCHITECTURES=arm64 -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_darwin_arm64.a
- ;;
- esac
- ;;
- *)
- case "$(uname -m)" in
- "x86_64" | "amd64")
- rm -rf build
- mkdir build
- cmake $FLAGS -DBOX2D_AVX2=ON -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_other_amd64_avx2.a
- rm -rf build
- mkdir build
- cmake $FLAGS -DBOX2D_AVX2=OFF -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_other_amd64_sse2.a
- ;;
- *)
- rm -rf build
- mkdir build
- cmake $FLAGS -S . -B build
- cmake --build build
- cp build/src/libbox2d.a ../lib/box2d_other.a
- ;;
- esac
- ;;
- esac
- cd ..
- set +e
- make -f wasm.Makefile
- if [[ $? -ne 0 ]]; then
- printf "\e[30;43mwarning:\e[0m Native Box2D libraries were built successfully, the WASM build failed, likely because your default C compiler and/or linker doesn't support WASM, you can set the CC and LD environment variables to point to a compiler and linker that support it\n"
- fi
- make -f wasm.Makefile clean
- set -e
- rm -rf "v$VERSION.tar.gz"
- rm -rf box2d-"$VERSION"
|