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
*-*-darwin*)
if test x$enable_video_cocoa = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework OpenGL"
fi
if test x$enable_video_carbon = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AGL"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework AGL"
fi
esac
fi
@ -2695,21 +2695,21 @@ case "$host" in
EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
SDL_LIBS="-lSDLmain $SDL_LIBS"
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
fi
if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
# The Cocoa backend still needs Carbon
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,ApplicationServices"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework ApplicationServices"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework Carbon"
fi
# 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
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework AudioToolbox -framework AudioUnit"
fi
# Some subsystems reference IOKit...
if test x$need_iokit_framework = xyes; then
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
EXTRA_LDFLAGS="$EXTRA_LDFLAGS -framework IOKit"
fi
;;
*-*-mint*)
@ -2854,10 +2854,10 @@ fi
case "$ARCH" in
macosx)
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
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
# Evil hack to allow static linking on Mac OS X
SDL_STATIC_LIBS="\${libdir}/libSDLmain.a \${libdir}/libSDL.a $EXTRA_LDFLAGS"

View file

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