diff configure.in @ 158:4382c38dfbee

Date: Tue, 21 Aug 2001 03:50:01 +0200 From: Max Horn <max@quendi.de> Subject: New patch for OS X Attached a .patch file for SDL/OSX with some nice bug fixes / enhancments. * fixes the activation issues, which also caused the window to be always drawn like an inactive. The close/minimize widgets now are animated properly, too. * the menu items are automatically adjusted to use the app name instead of just "SDL App". I did this so that we really can use one central SDLMain.nib file, w/o requiring developers to make a copy of it and adjust it. * libSDLMain now contains the proper cocoa code, not as before the carbon code. This means apps no longer have to carry a copy of SDLMain.m/SDLMain.h * revamped configure.in to properly build a Cocoa/Quartz SDL lib, not a Carbon based SDL lib
author Sam Lantinga <slouken@libsdl.org>
date Tue, 21 Aug 2001 07:19:59 +0000
parents 2839f45bdba0
children 39877400bd1e
line wrap: on
line diff
--- a/configure.in	Mon Aug 20 04:41:49 2001 +0000
+++ b/configure.in	Tue Aug 21 07:19:59 2001 +0000
@@ -63,10 +63,6 @@
     *-*-linux*)
         AC_PROG_CXX
         ;;
-    *-*-darwin*)
-        OBJC="???"
-        AC_SUBST(OBJC)
-        ;;
 esac
 AC_PROG_INSTALL
 AC_FUNC_ALLOCA
@@ -1192,6 +1188,21 @@
     VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
 }
 
+dnl Set up the Mac toolbox video driver for Mac OS X
+CheckQUARTZ()
+{
+    # "MACOSX" is not an official definition, but it's commonly
+    # accepted as a way to differentiate between what runs on X
+    # and what runs on older Macs - while in theory "Carbon" defns
+    # are consistent between the two, in practice Carbon is still
+    # changing. -sts Aug 2000
+    CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
+      -I/System/Library/Frameworks/Cocoa.framework/Headers -fpascal-strings \
+      -DENABLE_QUARTZ -DMACOSX -DTARGET_API_MAC_CARBON=1 -I\$(top_srcdir)/src/video/quartz"
+    VIDEO_SUBDIRS="$VIDEO_SUBDIRS quartz"
+    VIDEO_DRIVERS="$VIDEO_DRIVERS quartz/libvideo_quartz.la"
+}
+
 dnl Set up the kernel statistics library for Solaris
 CheckKSTAT()
 {
@@ -1994,17 +2005,17 @@
         ;;
     *-*-darwin* )
         # Strictly speaking, we want "Mac OS X", not "Darwin", which is
-        # just the OS X kernel sans upper layers like Carbon.  But
-        # config.guess comes back with "darwin", so go with the flow.
-        ARCH=macos
+        # just the OS X kernel sans upper layers like Carbon and Cocoa.
+        # But config.guess comes back with "darwin", so go with the flow.
+        ARCH=macosx
         CheckDummyVideo
         CheckDiskAudio
-        CheckCARBON
+        CheckQUARTZ
         CheckMacGL
         CheckPTHREAD
         # Set up files for the main() stub
-        # COPY_ARCH_SRC(src/main, macos, SDL_main.c)
-        COPY_ARCH_SRC(src/main, linux, SDL_main.c)
+        COPY_ARCH_SRC(src/main, macosx, SDLmain.m)
+        COPY_ARCH_SRC(src/main, macosx, SDLmain.h)
         # Set up files for the audio library
         if test x$enable_audio = xyes; then
             AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
@@ -2040,8 +2051,8 @@
             COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
         fi
         # The MacOS X platform requires special setup
-        SDL_CFLAGS="$SDL_CFLAGS -F/System/Library/Frameworks/Carbon.framework"
-        SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon"
+        SDL_CFLAGS="$SDL_CFLAGS -F/System/Library/Frameworks/Carbon.framework -F/System/Library/Frameworks/Cocoa.framework"
+        SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon -framework Cocoa"
         ;;
     *)
         AC_MSG_ERROR(Unsupported target:  Please add to configure.in)
@@ -2061,6 +2072,7 @@
 AM_CONDITIONAL(TARGET_WIN32, test $ARCH = win32)
 AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos)
 AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos)
+AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
 
 # Set conditional variables for shared and static library selection.
 # These are not used in any Makefile.am but in sdl-config.in.
@@ -2122,6 +2134,18 @@
 CFLAGS="$CFLAGS -I\$(top_srcdir)/src/file"
 CXXFLAGS="$CFLAGS"
 
+
+# Check for darwin at the very end and set up the Objective C compiler
+# We do this here so that we get the full CFLAGS into OBJCFLAGS
+case "$target" in
+    *-*-darwin*)
+        OBJC="cc"
+        OBJCFLAGS="$CFLAGS"
+        AC_SUBST(OBJC)
+        AC_SUBST(OBJCFLAGS)
+        ;;
+esac
+
 # Finally create all the generated files
 dnl Important: Any directory that you want to be in the distcheck should
 dnl            have a file listed here, so that configure generates the