From 1b42aae040f0b9d327714c3cdeb0f108c77d459b Mon Sep 17 00:00:00 2001 From: Thierry Crozat Date: Sun, 27 Mar 2016 13:04:42 +0100 Subject: [PATCH] BUILD: Fix creating OS X application bundle when Sparkle is enabled --- configure | 29 +++++++++++++++++------------ ports.mk | 8 ++++++-- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/configure b/configure index a1afe4e681a..83a65388663 100755 --- a/configure +++ b/configure @@ -183,6 +183,7 @@ _win32path="c:/scummvm" _amigaospath="Games:ScummVM" _staticlibpath= _xcodetoolspath= +_sparklepath= _sdlconfig=sdl-config _freetypeconfig=freetype-config _sdlpath="$PATH" @@ -1173,8 +1174,7 @@ for ac_option in $@; do ;; --with-sparkle-prefix=*) arg=`echo $ac_option | cut -d '=' -f 2` - SPARKLE_CFLAGS="-F$arg" - SPARKLE_LIBS="-F$arg" + _sparklepath=$arg ;; --with-readline-prefix=*) arg=`echo $ac_option | cut -d '=' -f 2` @@ -3946,20 +3946,24 @@ case $_host_os in if test "$_updates" = no; then _sparkle=no else - if test "$_sparkle" = auto ; then - _sparkle=no - cat > $TMPC << EOF + if test ! -z $_sparklepath ; then + SPARKLE_CFLAGS="-F$_sparklepath" + SPARKLE_LIBS="-F$_sparklepath" + fi + if test "$_sparkle" = auto ; then + _sparkle=no + cat > $TMPC << EOF #include #include int main(void) { SUUpdater *updater = [SUUpdater sharedUpdater]; return 0; } EOF - cc_check $SPARKLE_CFLAGS $SPARKLE_LIBS -framework Sparkle -ObjC++ -lobjc && _sparkle=yes - fi - if test "$_sparkle" = yes ; then - append_var LIBS "$SPARKLE_LIBS -framework Sparkle" - append_var INCLUDES "$SPARKLE_CFLAGS" - fi - define_in_config_if_yes "$_sparkle" 'USE_SPARKLE' + cc_check $SPARKLE_CFLAGS $SPARKLE_LIBS -framework Sparkle -ObjC++ -lobjc && _sparkle=yes + fi + if test "$_sparkle" = yes ; then + append_var LIBS "$SPARKLE_LIBS -framework Sparkle" + append_var INCLUDES "$SPARKLE_CFLAGS" + fi + define_in_config_if_yes "$_sparkle" 'USE_SPARKLE' fi echo "$_sparkle" ;; @@ -4791,6 +4795,7 @@ WIN32PATH=$_win32path AMIGAOSPATH=$_amigaospath STATICLIBPATH=$_staticlibpath XCODETOOLSPATH=$_xcodetoolspath +SPARKLEPATH=$_sparklepath SDLCONFIG=$_sdlconfig ABI := $ABI diff --git a/ports.mk b/ports.mk index 155bc57fdd1..03092e23efa 100644 --- a/ports.mk +++ b/ports.mk @@ -97,7 +97,8 @@ endif ifdef USE_SPARKLE mkdir -p $(bundle_name)/Contents/Frameworks cp $(srcdir)/dists/macosx/dsa_pub.pem $(bundle_name)/Contents/Resources/ - cp -R $(STATICLIBPATH)/Sparkle.framework $(bundle_name)/Contents/Frameworks/ + rm -rf $(bundle_name)/Contents/Frameworks/Sparkle.framework + cp -R $(SPARKLEPATH)/Sparkle.framework $(bundle_name)/Contents/Frameworks/ endif cp $(srcdir)/icons/scummvm.icns $(bundle_name)/Contents/Resources/ cp $(DIST_FILES_DOCS) $(bundle_name)/ @@ -329,7 +330,10 @@ OSX_ZLIB ?= $(STATICLIBPATH)/lib/libz.a endif ifdef USE_SPARKLE -OSX_STATIC_LIBS += -framework Sparkle -F$(STATICLIBPATH) +ifneq ($(SPARKLEPATH),) +OSX_STATIC_LIBS += -F$(SPARKLEPATH) +endif +OSX_STATIC_LIBS += -framework Sparkle -Wl,-rpath,@loader_path/../Frameworks endif # Special target to create a static linked binary for Mac OS X.