Module: wine Branch: master Commit: c40a72223c9f13aa18d0d5cf7a8071618da6599e URL: http://source.winehq.org/git/wine.git/?a=commit;h=c40a72223c9f13aa18d0d5cf7a...
Author: Ken Thomases ken@codeweavers.com Date: Mon Jan 7 14:44:23 2013 -0600
loader: On Mac, embed Info.plist in (__TEXT, __info_plist) section.
---
.gitignore | 1 + configure | 4 ++-- configure.ac | 4 ++-- loader/Makefile.in | 7 +++++-- loader/wine_info.plist.in | 26 ++++++++++++++++++++++++++ tools/make_makefiles | 1 + 6 files changed, 37 insertions(+), 6 deletions(-)
diff --git a/.gitignore b/.gitignore index b565fab..f990f3e 100644 --- a/.gitignore +++ b/.gitignore @@ -274,6 +274,7 @@ loader/wine-installed loader/wine-preloader loader/wine64 loader/wine64-preloader +loader/wine_info.plist msg.pot po/*.mo programs/Makeprog.rules diff --git a/configure b/configure index ca5da34..5e62766 100755 --- a/configure +++ b/configure @@ -6567,10 +6567,10 @@ fi
case $host_os in darwin11*) - LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-macosx_version_min,10.6,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000" + LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-macosx_version_min,10.6,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist" ;; *) - LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000" + LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist" ;; esac if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes" diff --git a/configure.ac b/configure.ac index c06e108..372bc06 100644 --- a/configure.ac +++ b/configure.ac @@ -732,9 +732,9 @@ case $host_os in AC_SUBST(CORESERVICESLIB,"-framework CoreServices") case $host_os in darwin11*) - AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-macosx_version_min,10.6,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000"]) ;; + AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-macosx_version_min,10.6,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist"]) ;; *) - AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000"]) ;; + AC_SUBST(LDEXECFLAGS,["-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist"]) ;; esac if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes" then diff --git a/loader/Makefile.in b/loader/Makefile.in index ecc20ab..3993fa3 100644 --- a/loader/Makefile.in +++ b/loader/Makefile.in @@ -39,12 +39,15 @@ LDEXECFLAGS = @LDEXECFLAGS@ wine-preloader wine64-preloader: preloader.o Makefile.in $(CC) -o $@ -static -nostartfiles -nodefaultlibs -Wl,-Ttext=0x7c400000 preloader.o $(LIBPORT) $(LDFLAGS)
-$(MAIN_BINARY): main.o Makefile.in +$(MAIN_BINARY): main.o Makefile.in wine_info.plist $(CC) -o $@ $(LDEXECFLAGS) main.o $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS) $(LDRPATH_LOCAL)
-wine-installed: main.o Makefile.in +wine-installed: main.o Makefile.in wine_info.plist $(CC) -o $@ $(LDEXECFLAGS) main.o $(LIBWINE) $(LIBPORT) $(LIBPTHREAD) $(EXTRALIBS) $(LDFLAGS) $(LDRPATH_INSTALL)
+wine_info.plist: wine_info.plist.in + LC_ALL=C sed -e 's,@PACKAGE_VERSION@,@PACKAGE_VERSION@,g' $< >$@ || ($(RM) $@ && false) + $(EXTRA_BINARIES:%=__install__%): $(EXTRA_BINARIES) $(DESTDIR)$(bindir) dummy f=`expr $@ : '__install__(.*)'` && $(INSTALL_PROGRAM) $$f $(DESTDIR)$(bindir)/$$f
diff --git a/loader/wine_info.plist.in b/loader/wine_info.plist.in new file mode 100644 index 0000000..aea99e5 --- /dev/null +++ b/loader/wine_info.plist.in @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>English</string> + <key>CFBundleExecutable</key> + <string>wine</string> + <key>CFBundleIdentifier</key> + <string>org.winehq.wine</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>Wine</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>@PACKAGE_VERSION@</string> + <key>CFBundleSignature</key> + <string>????</string> + <key>CFBundleVersion</key> + <string>@PACKAGE_VERSION@</string> + <key>NSPrincipalClass</key> + <string>WineApplication</string> +</dict> +</plist> diff --git a/tools/make_makefiles b/tools/make_makefiles index df798d7..be106c9 100755 --- a/tools/make_makefiles +++ b/tools/make_makefiles @@ -95,6 +95,7 @@ my @ignores = ( "*/*/tests/testlist.c", "include/config.h", "include/stamp-h", + "loader/wine_info.plist", "msg.pot", "po/*.mo", "programs/winetest/build.nfo",