--- a/configure.in Sat Jun 01 18:43:51 2002 +0000
+++ b/configure.in Sat Jun 01 18:48:13 2002 +0000
@@ -1050,7 +1050,7 @@
CFLAGS="$CFLAGS -DHAVE_OPENGL"
case "$target" in
*-*-darwin*)
- SDL_LIBS="$SDL_LIBS -framework OpenGL -framework AGL"
+ SYSTEM_LIBS="$SYSTEM_LIBS -framework OpenGL -framework AGL"
esac
fi
}
@@ -1247,7 +1247,6 @@
;;
esac
fi
- AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
}
dnl See if we can use GNU pth library for threads
@@ -1322,7 +1321,6 @@
])
AC_MSG_RESULT($use_directx)
fi
- AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/wincommon"
SYSTEM_LIBS="$SYSTEM_LIBS -luser32 -lgdi32 -lwinmm"
@@ -2344,7 +2342,7 @@
if test x$enable_joystick = xyes; then
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS darwin"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
- SDL_LIBS="$SDL_LIBS -framework IOKit"
+ SYSTEM_LIBS="$SYSTEM_LIBS -framework IOKit"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
@@ -2370,9 +2368,10 @@
if test x$enable_timers = xyes; then
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 -F/System/Library/Frameworks/Cocoa.framework"
- SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon -framework Cocoa"
+ # The MacOS X platform requires special setup.
+ SDL_LIBS="-lSDLmain $SDL_LIBS"
+ # The Cocoa backend still needs Carbon, and the YUV code QuickTime
+ SYSTEM_LIBS="$SYSTEM_LIBS -framework Cocoa -framework Carbon -framework QuickTime"
;;
*-*-mint*)
ARCH=mint
@@ -2451,6 +2450,10 @@
AM_CONDITIONAL(TARGET_QNX, test $ARCH = qnx)
AM_CONDITIONAL(TARGET_MINT, test $ARCH = mint)
+# More automake conditionals
+AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
+AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
+
# Set conditional variables for shared and static library selection.
# These are not used in any Makefile.am but in sdl-config.in.
AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = yes])
@@ -2464,11 +2467,22 @@
if test $ARCH = solaris; then
SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
fi
-if test $ARCH = openbsd -o $ARCH = bsdi; then
+
+case "$ARCH" in
+ openbsd | bsdi)
SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
-else
+ ;;
+ macosx)
+ SHARED_SYSTEM_LIBS="-framework Cocoa"
+ if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
+ SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
+ fi
+ ;;
+ *)
SHARED_SYSTEM_LIBS=""
-fi
+ ;;
+esac
+
STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
dnl Output the video drivers we use
--- a/ltconfig Sat Jun 01 18:43:51 2002 +0000
+++ b/ltconfig Sat Jun 01 18:48:13 2002 +0000
@@ -685,6 +685,11 @@
cygwin* | mingw* | os2*)
# We can build DLLs from non-PIC.
;;
+ darwin* | rhapsody*)
+ # PIC is the default on this platform
+ # Common symbols not allowed in MH_DYLIB files
+ pic_flag='-fno-common'
+ ;;
amigaos*)
# FIXME: we need at least 68020 code to build shared libraries, but
# adding the `-m68020' flag to GCC prevents building anything better,
@@ -1414,6 +1419,23 @@
hardcode_shlibpath_var=no
;;
+ darwin* | rhapsody*)
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ allow_undefined_flag='-undefined suppress'
+ ;;
+ *) # Darwin 1.3 on
+ allow_undefined_flag='-undefined error'
+ ;;
+ esac
+ archive_cmds='$nonopt $(test .$module = .yes && echo -bundle || echo -dynamiclib) $allow_undefined_flag -o $lib $libobjs $deplibs $linkopts -install_name $rpath/$soname $verstring'
+ # We need to add '_' to the symbols in $export_symbols first
+ #archive_expsym_cmds="$archive_cmds"' && strip -s $export_symbols $lib'
+ hardcode_direct=yes
+ hardcode_shlibpath_var=no
+ whole_archive_flag_spec='-all_load $convenience'
+ ;;
+
hpux9* | hpux10* | hpux11*)
case "$host_os" in
hpux9*) archive_cmds='$rm $objdir/$soname~$LD -b +b $install_libdir -o $objdir/$soname $libobjs $deplibs $linkopts~test $objdir/$soname = $lib || mv $objdir/$soname $lib' ;;
@@ -1501,12 +1523,6 @@
hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
hardcode_libdir_separator=:
;;
- rhapsody*)
- archive_cmds='$CC -bundle -undefined suppress -o $lib $libobjs $deplibs $linkopts'
- hardcode_libdir_flags_spec='-L$libdir'
- hardcode_direct=yes
- hardcode_shlibpath_var=no
- ;;
sco3.2v5*)
archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linkopts'
@@ -1984,6 +2000,27 @@
esac
;;
+darwin* | rhapsody*)
+ dynamic_linker="$host_os dyld"
+ version_type=darwin
+ need_lib_prefix=no
+ need_version=no
+ deplibs_check_method='file_magic Mach-O dynamically linked shared library'
+ file_magic_cmd='/usr/bin/file -L'
+ case "$host_os" in
+ rhapsody* | darwin1.[012])
+ file_magic_test_file='/System/Library/Frameworks/System.framework/System'
+ ;;
+ *) # Darwin 1.3 on
+ file_magic_test_file='/usr/lib/libSystem.dylib'
+ ;;
+ esac
+ library_names_spec='${libname}${release}${versuffix}.$(test .$module = .yes && echo so || echo dylib) ${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib) ${libname}.$(test .$module = .yes && echo so || echo dylib)'
+ soname_spec='${libname}${release}${major}.$(test .$module = .yes && echo so || echo dylib)'
+ shlibpath_overrides_runpath=yes
+ shlibpath_var=DYLD_LIBRARY_PATH
+ ;;
+
gnu*)
version_type=linux
need_lib_prefix=no
@@ -2141,14 +2178,6 @@
sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
;;
-rhapsody*)
- version_type=sunos
- library_names_spec='${libname}.so'
- soname_spec='${libname}.so'
- shlibpath_var=DYLD_LIBRARY_PATH
- deplibs_check_method=pass_all
- ;;
-
sco3.2v5*)
version_type=osf
soname_spec='${libname}${release}.so$major'
--- a/ltmain.sh Sat Jun 01 18:43:51 2002 +0000
+++ b/ltmain.sh Sat Jun 01 18:48:13 2002 +0000
@@ -951,6 +951,11 @@
prev=
continue
;;
+ framework)
+ deplibs="$deplibs -framework $arg"
+ prev=
+ continue
+ ;;
release)
release="-$arg"
prev=
@@ -1037,6 +1042,11 @@
continue
;;
+ -framework)
+ prev=framework
+ continue
+ ;;
+
-L*)
dir=`$echo "X$arg" | $Xsed -e 's/^-L//'`
# We need an absolute path.
@@ -1768,6 +1778,16 @@
versuffix="-$major-$age-$revision"
;;
+ darwin)
+ # Like Linux, but with the current version available in
+ # verstring for coding it into the library header
+ major=.`expr $current - $age`
+ versuffix="$major.$age.$revision"
+ # Darwin ld doesn't like 0 for these options...
+ minor_current=`expr $current + 1`
+ verstring="-compatibility_version $minor_current -current_version $minor_current.$revision"
+ ;;
+
*)
$echo "$modename: unknown library version type \`$version_type'" 1>&2
echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2
@@ -1778,7 +1798,16 @@
# Clear the version info if we defaulted, and they specified a release.
if test -z "$vinfo" && test -n "$release"; then
major=
+ case "$version_type" in
+ darwin)
+ # we can't check for "0.0" in archive_cmds due to quoting
+ # problems, so we reset it completely
+ verstring=""
+ ;;
+ *)
verstring="0.0"
+ ;;
+ esac
if test "$need_version" = no; then
versuffix=
else