loader: On Mac, embed Info.plist in (__TEXT, __info_plist) section.

This commit is contained in:
Ken Thomases 2013-01-07 14:44:23 -06:00 committed by Alexandre Julliard
parent 573436047e
commit c40a72223c
6 changed files with 37 additions and 6 deletions

1
.gitignore vendored
View File

@ -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

4
configure vendored
View File

@ -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"

View File

@ -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

View File

@ -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

26
loader/wine_info.plist.in Normal file
View File

@ -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>

View File

@ -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",