Matej     2009-01-08 09:25:34 PST

Hello,
I maintain a cross-platform project that uses SDL.
One of the users who runs OSX has told me that he has problems with linking to
SDL due to missing -framework option.
I think that the problem is because of this:
'sdl-config --libs' outputs '-L/opt/local/lib -lSDLmain -lSDL
-Wl,-framework,Cocoa'
All the options are passed to the linker except the last one. I think that the
good output should be just:
'-L/opt/local/lib -lSDLmain -lSDL -framework Cocoa'
since those options (--libs) are passed to the linker, so the '-Wl' option is
redundant and possibly harmful in this very case
I use autotools with libtool to do the build...
Regards,
Matej

--HG--
branch : SDL-1.2
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/branches/SDL-1.2%403861
This commit is contained in:
Sam Lantinga 2009-09-21 10:23:07 +00:00
parent 954609b91e
commit f85df3b69e
2 changed files with 10 additions and 10 deletions

View file

@ -1685,10 +1685,10 @@ CheckMacGL()
case "$host" in case "$host" in
*-*-darwin*) *-*-darwin*)
if test x$enable_video_cocoa = xyes; then if test x$enable_video_cocoa = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework OpenGL"
fi fi
if test x$enable_video_carbon = xyes; then if test x$enable_video_carbon = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AGL" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework AGL"
fi fi
esac esac
fi fi
@ -2695,21 +2695,21 @@ case "$host" in
EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings" EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
SDL_LIBS="-lSDLmain $SDL_LIBS" SDL_LIBS="-lSDLmain $SDL_LIBS"
if test x$enable_video_cocoa = xyes; then if test x$enable_video_cocoa = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework Cocoa"
need_iokit_framework=yes need_iokit_framework=yes
fi fi
if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
# The Cocoa backend still needs Carbon # The Cocoa backend still needs Carbon
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ApplicationServices" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework ApplicationServices"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework Carbon"
fi fi
# If either the audio or CD driver is used, add the AudioUnit framework # If either the audio or CD driver is used, add the AudioUnit framework
if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework AudioToolbox -framework AudioUnit"
fi fi
# Some subsystems reference IOKit... # Some subsystems reference IOKit...
if test x$need_iokit_framework = xyes; then if test x$need_iokit_framework = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit" EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework IOKit"
fi fi
;; ;;
*-*-mint*) *-*-mint*)
@ -2854,10 +2854,10 @@ fi
case "$ARCH" in case "$ARCH" in
macosx) macosx)
if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
SDL_LIBS="$SDL_LIBS -Wl,-framework,Cocoa" SDL_LIBS="$SDL_LIBS -framework Cocoa"
fi fi
if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
SDL_LIBS="$SDL_LIBS -Wl,-framework,Carbon" SDL_LIBS="$SDL_LIBS -framework Carbon"
fi fi
# Evil hack to allow static linking on Mac OS X # Evil hack to allow static linking on Mac OS X
SDL_STATIC_LIBS="\${libdir}/libSDLmain.a \${libdir}/libSDL.a $EXTRA_LDFLAGS" SDL_STATIC_LIBS="\${libdir}/libSDLmain.a \${libdir}/libSDL.a $EXTRA_LDFLAGS"

View file

@ -28,7 +28,7 @@ case "$host" in
*-*-darwin* ) *-*-darwin* )
EXE="" EXE=""
MATHLIB="" MATHLIB=""
SYS_GL_LIBS="-Wl,-framework,OpenGL" SYS_GL_LIBS="-framework OpenGL"
;; ;;
*-*-aix*) *-*-aix*)
EXE="" EXE=""