Make simulator compile on MacOS

Tested on MacOS Sequoia (Apple Silicon) with the
latest Xcode command line tools, gcc 14
(Homebrew GCC 14.2.0_1) and sdl2 (Homebrew 2.30.9)

Make sure 'gcc' (and 'gcc-ar') is in your PATH
ahead of the Xcode-provided "gcc"(clang). E.g.
by setting up symlinks in /usr/local/bin that
point to gcc-14 and gcc-ar-14.

Notes:
- The appropriate bmp from uisimulator/bitmaps
  has to be manually copied to your build folder
  and renamed to UI256.bmp, if you want the sim
  background to be displayed

Change-Id: I559f33d2165065f913f30c016b85906af380fb81
This commit is contained in:
Christian Soffke 2023-08-12 17:27:43 +02:00 committed by Solomon Peachy
parent f9ae6d6524
commit 1745b74576
13 changed files with 75 additions and 8 deletions

9
tools/configure vendored
View file

@ -14,6 +14,7 @@ CCOPTS="-W -Wall -Wextra -Wundef -Os -nostdlib -ffreestanding -Wstrict-prototype
LDOPTS=""
# LD options for the core + plugins
GLOBAL_LDOPTS=""
LDMAP_OPT="-Map"
extradefines=""
use_logf="#undef ROCKBOX_HAS_LOGF"
@ -260,6 +261,7 @@ simcc () {
app_type=$1
winbuild=""
macbuild=""
GCCOPTS=`echo $CCOPTS | sed -e s/\ -ffreestanding// -e s/\ -nostdlib// -e s/\ -Wundef//`
if [ "yes" = "$use_debug" ]; then
@ -391,7 +393,9 @@ simcc () {
sigaltstack=`check_sigaltstack`
echo "Darwin host detected"
LDOPTS="$LDOPTS -ldl"
SHARED_LDFLAGS="-dynamiclib -Wl\,-single_module"
SHARED_LDFLAGS="-dynamiclib -Wl,-no_warn_duplicate_libraries"
LDMAP_OPT="-map"
macbuild="yes"
;;
SunOS)
@ -409,7 +413,7 @@ simcc () {
esac
fi
if [ "$winbuild" != "yes" ]; then
if [ "$winbuild" != "yes" ] && [ "$macbuild" != "yes" ]; then
GLOBAL_LDOPTS="$GLOBAL_LDOPTS -Wl,-z,defs"
if [ "`uname -m`" = "i686" ]; then
echo "Enabling MMX support"
@ -4875,6 +4879,7 @@ export SHARED_LDFLAGS=${SHARED_LDFLAGS}
export SHARED_CFLAGS=${SHARED_CFLAGS}
export LDOPTS=${LDOPTS}
export GLOBAL_LDOPTS=${GLOBAL_LDOPTS}
export LDMAP_OPT=${LDMAP_OPT}
export GCCVER=${gccver}
export GCCNUM=${gccnum}
export UNAME=${uname}