@@ -85,38 +85,42 @@ case "$AUTOBUILD_PLATFORM" in
8585        popd 
8686    ;;
8787    darwin* )
88-         #  Setup osx sdk platform
8988        export  MACOSX_DEPLOYMENT_TARGET=" $LL_BUILD_DARWIN_DEPLOY_TARGET " 
9089
91-         #  Setup build flags
92-         opts=" ${TARGET_OPTS:- -arch $AUTOBUILD_CONFIGURE_ARCH  $LL_BUILD_RELEASE } " 
93- 
94-         mkdir -p " $stage /include/SDL2" 
95-         mkdir -p " $stage /lib/release" 
96- 
97-         PREFIX_RELEASE=" $stage /temp_release" 
98-         mkdir -p $PREFIX_RELEASE 
99- 
100-         mkdir -p " build_release" 
101-         pushd  " build_release" 
102-             cmake .. -GNinja -DCMAKE_BUILD_TYPE=" Release"   \
103-                 -DCMAKE_C_FLAGS=" $( remove_cxxstd $opts ) "   \
104-                 -DCMAKE_CXX_FLAGS=" $opts "   \
105-                 -DCMAKE_OSX_ARCHITECTURES:STRING=x86_64 \
106-                 -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}  \
107-                 -DCMAKE_MACOSX_RPATH=YES \
108-                 -DCMAKE_INSTALL_PREFIX=$PREFIX_RELEASE 
109- 
110-             cmake --build .  --config Release
111-             cmake --install .  --config Release
112-         popd 
113- 
114-         cp -a $PREFIX_RELEASE /include/SDL2/* .*  $stage /include/SDL2
115-         cp -a $PREFIX_RELEASE /lib/* .dylib*  $stage /lib/release
116-         cp -a $PREFIX_RELEASE /lib/libSDL2main.a $stage /lib/release
90+         for  arch  in  x86_64 arm64 ;  do 
91+             ARCH_ARGS=" -arch $arch " 
92+             opts=" ${TARGET_OPTS:- $ARCH_ARGS  $LL_BUILD_RELEASE } " 
93+             cc_opts=" $( remove_cxxstd $opts ) " 
94+             ld_opts=" $ARCH_ARGS " 
95+ 
96+             mkdir -p " build_$arch " 
97+             pushd  " build_$arch " 
98+                 CFLAGS=" $cc_opts "   \
99+                 CXXFLAGS=" $opts "   \
100+                 LDFLAGS=" $ld_opts "   \
101+                 cmake .. -GNinja -DCMAKE_BUILD_TYPE=" Release"   \
102+                     -DCMAKE_C_FLAGS=" $cc_opts "   \
103+                     -DCMAKE_CXX_FLAGS=" $opts "   \
104+                     -DCMAKE_OSX_ARCHITECTURES:STRING=" $arch "   \
105+                     -DCMAKE_OSX_DEPLOYMENT_TARGET=${MACOSX_DEPLOYMENT_TARGET}  \
106+                     -DCMAKE_MACOSX_RPATH=YES \
107+                     -DCMAKE_INSTALL_PREFIX=" $stage "   \
108+                     -DCMAKE_INSTALL_LIBDIR=" $stage /lib/release/$arch " 
109+ 
110+                 cmake --build .  --config Release
111+                 cmake --install .  --config Release
112+             popd 
113+         done 
114+ 
115+ 
116+         #  create universal libraries
117+         lipo -create -output ${stage} /lib/release/libSDL2.dylib ${stage} /lib/release/x86_64/libSDL2.dylib ${stage} /lib/release/arm64/libSDL2.dylib
118+         lipo -create -output ${stage} /lib/release/libSDL2_test.a ${stage} /lib/release/x86_64/libSDL2_test.a ${stage} /lib/release/arm64/libSDL2_test.a
119+         lipo -create -output ${stage} /lib/release/libSDL2main.a ${stage} /lib/release/x86_64/libSDL2main.a ${stage} /lib/release/arm64/libSDL2main.a
117120
118121        pushd  " ${stage} /lib/release" 
119-             fix_dylib_id " libSDL2.dylib" 
122+             install_name_tool -id " @rpath/libSDL2.dylib"   " libSDL2.dylib" 
123+             dsymutil libSDL2.dylib
120124            strip -x -S libSDL2.dylib
121125        popd 
122126        ;;
@@ -152,8 +156,5 @@ case "$AUTOBUILD_PLATFORM" in
152156esac 
153157popd 
154158
155- SDL_VERSION=$( sed -n -e ' s/^Version: //p'   " $TOP /$SDL_SOURCE_DIR /build_release/SDL2.spec" ) 
156- 
157159mkdir -p " $stage /LICENSES" 
158- cp " $TOP /$SDL_SOURCE_DIR /LICENSE.txt"   " $stage /LICENSES/SDL2.txt" 
159- echo  " $SDL_VERSION "   >  " $stage /VERSION.txt" 
160+ cp " $TOP /$SDL_SOURCE_DIR /LICENSE.txt"   " $stage /LICENSES/SDL2.txt" 
0 commit comments