-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbuild_clibs_macos_dylib.sh
executable file
·50 lines (44 loc) · 1.87 KB
/
build_clibs_macos_dylib.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
set -e
FRAMEWORKS_METAL="-framework Metal -framework MetalKit"
FRAMEWORKS_OPENGL="-framework OpenGL"
FRAMEWORKS_CORE="-framework Foundation -framework CoreGraphics -framework Cocoa -framework QuartzCore -framework CoreAudio -framework AudioToolbox"
build_lib_release() {
src=$1
dst=$2
backend=$3
arch=$4
frameworks=""
if [ $backend = "SOKOL_METAL" ]; then
frameworks="${frameworks} ${FRAMEWORKS_METAL}"
else
frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
fi
echo $dst
MACOSX_DEPLOYMENT_TARGET=10.13 cc -c -O2 -x objective-c -arch $arch -DNDEBUG -DIMPL -D$backend c/$src.c
cc -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
}
build_lib_debug() {
src=$1
dst=$2
backend=$3
arch=$4
frameworks=""
if [ $backend = "SOKOL_METAL" ]; then
frameworks="${frameworks} ${FRAMEWORKS_METAL}"
else
frameworks="${frameworks} ${FRAMEWORKS_OPENGL}"
fi
echo $dst
MACOSX_DEPLOYMENT_TARGET=10.13 cc -c -g -x objective-c -arch $arch -DIMPL -D$backend c/$src.c
cc -dynamiclib -arch $arch $FRAMEWORKS_CORE $frameworks -o $dst.dylib $src.o $dep
}
mkdir -p dylib
build_lib_release sokol dylib/sokol_dylib_macos_arm64_metal_release SOKOL_METAL arm64
build_lib_debug sokol dylib/sokol_dylib_macos_arm64_metal_debug SOKOL_METAL arm64
build_lib_release sokol dylib/sokol_dylib_macos_x64_metal_release SOKOL_METAL x86_64
build_lib_debug sokol dylib/sokol_dylib_macos_x64_metal_debug SOKOL_METAL x86_64
build_lib_release sokol dylib/sokol_dylib_macos_arm64_gl_release SOKOL_GLCORE33 arm64
build_lib_debug sokol dylib/sokol_dylib_macos_arm64_gl_debug SOKOL_GLCORE33 arm64
build_lib_release sokol dylib/sokol_dylib_macos_x64_gl_release SOKOL_GLCORE33 x86_64
build_lib_debug sokol dylib/sokol_dylib_macos_x64_gl_debug SOKOL_GLCORE33 x86_64
rm *.o