Browse Source

libretro, fix apple os builds

kub 3 years ago
parent
commit
512898fed1
3 changed files with 15 additions and 1 deletions
  1. 4 0
      Makefile
  2. 1 1
      Makefile.libretro
  3. 10 0
      platform/libretro/libretro.c

+ 4 - 0
Makefile

@@ -234,9 +234,13 @@ endif
 
 ifneq ($(findstring gcc,$(CC)),)
 ifneq ($(findstring SunOS,$(shell uname -a)),SunOS)
+ifeq ($(findstring Darwin,$(shell uname -a)),Darwin)
+LDFLAGS += -Wl,-map,$(TARGET).map
+else
 LDFLAGS += -Wl,-Map=$(TARGET).map
 endif
 endif
+endif
 
 target_: $(TARGET)
 

+ 1 - 1
Makefile.libretro

@@ -81,7 +81,7 @@ else ifeq ($(platform), osx)
 	endif
 	OSXVER = `sw_vers -productVersion | cut -d. -f 2`
 	OSX_LT_MAVERICKS = `(( $(OSXVER) <= 9)) && echo "YES"`
-	SHARED += -mmacosx-version-min=10.1
+	SHARED += -mmacosx-version-min=10.6
 
 else ifeq ($(platform), staticios)
 	TARGET := $(TARGET_NAME)_libretro_ios.a

+ 10 - 0
platform/libretro/libretro.c

@@ -211,6 +211,16 @@ void cache_flush_d_inval_i(void *start, void *end)
 #endif
 }
 
+#ifdef __MACH__
+/* calls to this may be generated by the compiler, but it's missing in libc? */
+void __clear_cache(void *start, void *end)
+{
+   size_t len = (char *)end - (char *)start;
+   sys_dcache_flush(start, len);
+   sys_icache_invalidate(start, len);
+}
+#endif
+
 #ifdef _WIN32
 /* mmap() replacement for Windows
  *