blob: eadf7d7c26d62a8370217fc897ba9c110d78bf85 [file] [log] [blame]
#!/bin/bash
set -e
# This script should be called on a Mac!
if [[ ! -f "dependencies/bin/premake5" ]]; then
mkdir -p dependencies/bin
pushd dependencies
# v5.0.0-beta2 doesn't support apple silicon properly, update the branch
# once a stable one is avaialble that supports it
git clone --depth 1 --branch master https://github.com/premake/premake-core.git
pushd premake-core
if [[ $LOCAL_ARCH == "arm64" ]]; then
PREMAKE_MAKE_ARCH=ARM
else
PREMAKE_MAKE_ARCH=x86
fi
make -f Bootstrap.mak osx PLATFORM=$PREMAKE_MAKE_ARCH
cp bin/release/* ../bin
popd
popd
fi
export PREMAKE=$PWD/dependencies/bin/premake5
for var in "$@"; do
if [[ $var = "clean" ]]; then
echo 'Cleaning...'
rm -fR out
fi
done
mkdir -p out
mkdir -p out_with_renames
pushd ../../../
PACKAGES=$PWD
popd
export PREMAKE_PATH="dependencies/export-compile-commands":"$PACKAGES/runtime_unity/native_plugin/platform":"$PACKAGES/runtime/build":"$PREMAKE_PATH"
$PREMAKE gmake2 --file=../premake5_yoga_v2.lua --out=out --no-yoga-renames
pushd out
make -j$(($(sysctl -n hw.physicalcpu) + 1))
popd
nm out/librive_yoga.a --demangle &>yoga_names.txt
dart gen_header.dart
# make with renames just to examine the exported symbols...
$PREMAKE gmake2 --file=../premake5_yoga_v2.lua --out=out_with_renames
pushd out_with_renames
make -j$(($(sysctl -n hw.physicalcpu) + 1))
popd
nm out_with_renames/librive_yoga.a --demangle &>yoga_renames.txt