Kaydet (Commit) b640a134 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Introduce --with-product-name superseding --with-macosx-app-name

The new option thoroughly replaces the product name mentioned in the
AC_INIT() call. Work in progress.

Also take care of spaces in the product name in a more systematic
fashion.

This should affect mainly OS X where the final app bundle that is
installed should use the product name as such, including spaces, if
any. However, our build system does not cope that well with having an
app bundle with spaces in it in instdir. So in instdir, and also in
test-install, spaces are stripped away from the product name when used
as part of the app bundle name.

Change-Id: Ic16b5039f23c96a4f39387a1869faeb25e05aafb
üst 33a5ab1e
...@@ -324,37 +324,37 @@ ifneq ($(MACOSX_CODESIGNING_IDENTITY),) ...@@ -324,37 +324,37 @@ ifneq ($(MACOSX_CODESIGNING_IDENTITY),)
# #
# Create Resources/*.lproj directories for languages supported by OS X # Create Resources/*.lproj directories for languages supported by OS X
set -x; for lang in ca cs da de el en es fi fr hr hu id it ja ko ms nl no pl pt pt_PT ro ru sk sv th tr uk vi zh_CN zh_TW; do \ set -x; for lang in ca cs da de el en es fi fr hr hu id it ja ko ms nl no pl pt pt_PT ro ru sk sv th tr uk vi zh_CN zh_TW; do \
lproj=$(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/Resources/$$lang.lproj; \ lproj=$(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Resources/$$lang.lproj; \
mkdir $$lproj; \ mkdir "$$lproj"; \
done done
# #
# And remove the "bin" folder which should not be there # And remove the "bin" folder which should not be there
rm -rf $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/bin rm -rf $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/bin
# #
# Remove unnecessary executables in the LibreOfficePython framework # Remove unnecessary executables in the LibreOfficePython framework
rm -rf $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/bin rm -rf $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/bin
# #
# Remove the python.o object file which is weird and interferes with app store uploading # Remove the python.o object file which is weird and interferes with app store uploading
# And with it removed, presumably the other stuff in the Python lib/python3.3/config-3.3m probably does not make sense either. # And with it removed, presumably the other stuff in the Python lib/python3.3/config-3.3m probably does not make sense either.
rm -rf $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/lib/python[1-9]*/config-[1-9]* rm -rf $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/Frameworks/LibreOfficePython.framework/Versions/[1-9]*/lib/python[1-9]*/config-[1-9]*
# #
ifneq ($ENABLE_MACOSX_SANDBOX),) ifneq ($ENABLE_MACOSX_SANDBOX),)
# Remove the gengal.bin binary and unopkg script that we don't want # Remove the gengal binary and unopkg script that we don't want
rm $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/MacOS/gengal.bin rm $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/MacOS/gengal
rm $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app/Contents/MacOS/unopkg rm $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app/Contents/MacOS/unopkg
endif endif
# #
# Then use the macosx-codesign-app-bundle script # Then use the macosx-codesign-app-bundle script
@$(SRCDIR)/solenv/bin/macosx-codesign-app-bundle $(TESTINSTALLDIR)/LibreOffice$(if $(ENABLE_RELEASE_BUILD),,Dev).app @$(SRCDIR)/solenv/bin/macosx-codesign-app-bundle $(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app
endif endif
endif endif
@$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR)) @$(call gb_Top_InstallFinished,Test Installation,$(TESTINSTALLDIR))
mac-app-store-package: test-install mac-app-store-package: test-install
ifneq ($(MACOSX_PACKAGE_SIGNING_IDENTITY),) ifneq ($(MACOSX_PACKAGE_SIGNING_IDENTITY),)
rm -rf "$(MACOSX_APP_NAME).app" rm -rf "$(PRODUCTNAME).app"
mv "$(TESTINSTALLDIR)/$(PRODUCTNAME).app" "$(MACOSX_APP_NAME).app" mv "$(TESTINSTALLDIR)/$(PRODUCTNAME_WITHOUT_SPACES).app" "$(PRODUCTNAME).app"
productbuild --component "$(MACOSX_APP_NAME).app" /Applications --sign $(MACOSX_PACKAGE_SIGNING_IDENTITY) $(shell echo "$(MACOSX_APP_NAME)" | tr ' ' '-').pkg productbuild --component "$(PRODUCTNAME).app" /Applications --sign $(MACOSX_PACKAGE_SIGNING_IDENTITY) $(PRODUCTNAME_WITHOUT_SPACES).pkg
else else
@echo You did not provide an installer signing identity with --enable-macosx-package-signing @echo You did not provide an installer signing identity with --enable-macosx-package-signing
@exit 1 @exit 1
......
...@@ -369,7 +369,6 @@ export LIBXSLT_LIBS=$(gb_SPACE)@LIBXSLT_LIBS@ ...@@ -369,7 +369,6 @@ export LIBXSLT_LIBS=$(gb_SPACE)@LIBXSLT_LIBS@
export LINK_X64_BINARY=@LINK_X64_BINARY@ export LINK_X64_BINARY=@LINK_X64_BINARY@
@x_Cygwin@ export LS=@WIN_LS@ @x_Cygwin@ export LS=@WIN_LS@
export MACOSX_BUNDLE_IDENTIFIER=@MACOSX_BUNDLE_IDENTIFIER@ export MACOSX_BUNDLE_IDENTIFIER=@MACOSX_BUNDLE_IDENTIFIER@
export MACOSX_APP_NAME=@MACOSX_APP_NAME@
export MACOSX_CODESIGNING_IDENTITY=@MACOSX_CODESIGNING_IDENTITY@ export MACOSX_CODESIGNING_IDENTITY=@MACOSX_CODESIGNING_IDENTITY@
export MACOSX_DEPLOYMENT_TARGET=@MACOSX_DEPLOYMENT_TARGET@ export MACOSX_DEPLOYMENT_TARGET=@MACOSX_DEPLOYMENT_TARGET@
export MACOSX_PACKAGE_SIGNING_IDENTITY=@MACOSX_PACKAGE_SIGNING_IDENTITY@ export MACOSX_PACKAGE_SIGNING_IDENTITY=@MACOSX_PACKAGE_SIGNING_IDENTITY@
...@@ -460,6 +459,7 @@ export POSTGRESQL_INC=@POSTGRESQL_INC@ ...@@ -460,6 +459,7 @@ export POSTGRESQL_INC=@POSTGRESQL_INC@
export POSTGRESQL_LIB=@POSTGRESQL_LIB@ export POSTGRESQL_LIB=@POSTGRESQL_LIB@
export PREFIXDIR=@PREFIXDIR@ export PREFIXDIR=@PREFIXDIR@
export PRODUCTNAME=@PRODUCTNAME@ export PRODUCTNAME=@PRODUCTNAME@
export PRODUCTNAME_WITHOUT_SPACES=@PRODUCTNAME_WITHOUT_SPACES@
export PRODUCTVERSION=@PRODUCTVERSION@ export PRODUCTVERSION=@PRODUCTVERSION@
export PROGRESSBARCOLOR=@PROGRESSBARCOLOR@ export PROGRESSBARCOLOR=@PROGRESSBARCOLOR@
export PROGRESSFRAMECOLOR=@PROGRESSFRAMECOLOR@ export PROGRESSFRAMECOLOR=@PROGRESSFRAMECOLOR@
......
...@@ -153,11 +153,16 @@ AC_CANONICAL_HOST ...@@ -153,11 +153,16 @@ AC_CANONICAL_HOST
AC_MSG_CHECKING([for product name]) AC_MSG_CHECKING([for product name])
PRODUCTNAME="AC_PACKAGE_NAME" PRODUCTNAME="AC_PACKAGE_NAME"
if test -n "$with_product_name" -a "$with_product_name" != no; then
PRODUCTNAME="$with_product_name"
fi
if test "$enable_release_build" = "" -o "$enable_release_build" = "no"; then if test "$enable_release_build" = "" -o "$enable_release_build" = "no"; then
PRODUCTNAME="${PRODUCTNAME}Dev" PRODUCTNAME="${PRODUCTNAME}Dev"
fi fi
AC_MSG_RESULT([$PRODUCTNAME]) AC_MSG_RESULT([$PRODUCTNAME])
AC_SUBST(PRODUCTNAME) AC_SUBST(PRODUCTNAME)
PRODUCTNAME_WITHOUT_SPACES=${PRODUCTNAME// /}
AC_SUBST(PRODUCTNAME_WITHOUT_SPACES)
dnl =================================================================== dnl ===================================================================
dnl Our version is defined by the AC_INIT() at the top of this script. dnl Our version is defined by the AC_INIT() at the top of this script.
...@@ -724,7 +729,7 @@ darwin*) # Mac OS X or iOS ...@@ -724,7 +729,7 @@ darwin*) # Mac OS X or iOS
mac_sanitize_path mac_sanitize_path
AC_MSG_NOTICE([sanitized the PATH to $PATH]) AC_MSG_NOTICE([sanitized the PATH to $PATH])
fi fi
INSTROOTSUFFIX=/$PRODUCTNAME.app/Contents INSTROOTSUFFIX=/$PRODUCTNAME_WITHOUT_SPACES.app/Contents
SDKDIRNAME=AC_PACKAGE_NAME${PRODUCTVERSION}_SDK SDKDIRNAME=AC_PACKAGE_NAME${PRODUCTVERSION}_SDK
fi fi
enable_systray=no enable_systray=no
...@@ -1433,10 +1438,10 @@ AC_ARG_WITH(macosx-bundle-identifier, ...@@ -1433,10 +1438,10 @@ AC_ARG_WITH(macosx-bundle-identifier,
org.libreoffice.script ("script", huh?).]), org.libreoffice.script ("script", huh?).]),
,with_macosx_bundle_identifier=org.libreoffice.script) ,with_macosx_bundle_identifier=org.libreoffice.script)
AC_ARG_WITH(macosx-app-name, AC_ARG_WITH(product-name,
AS_HELP_STRING([--with-macosx-app-name='My Own Office Suite'], AS_HELP_STRING([--with-product-name='My Own Office Suite'],
[Define the OS X app name. Default is AC_PACKAGE_NAME.]), [Define the product name. Default is AC_PACKAGE_NAME.]),
,with_macosx_app_name=$PRODUCTNAME) ,with_product_name=$PRODUCTNAME)
AC_ARG_ENABLE(ios-simulator, AC_ARG_ENABLE(ios-simulator,
AS_HELP_STRING([--enable-ios-simulator], AS_HELP_STRING([--enable-ios-simulator],
...@@ -3031,11 +3036,6 @@ if test $_os = Darwin; then ...@@ -3031,11 +3036,6 @@ if test $_os = Darwin; then
AC_MSG_CHECKING([what OS X app bundle identifier to use]) AC_MSG_CHECKING([what OS X app bundle identifier to use])
MACOSX_BUNDLE_IDENTIFIER=$with_macosx_bundle_identifier MACOSX_BUNDLE_IDENTIFIER=$with_macosx_bundle_identifier
AC_MSG_RESULT([$MACOSX_BUNDLE_IDENTIFIER]) AC_MSG_RESULT([$MACOSX_BUNDLE_IDENTIFIER])
AC_MSG_CHECKING([what OS X app name to use])
MACOSX_APP_NAME="$with_macosx_app_name"
AC_MSG_RESULT([$MACOSX_APP_NAME])
fi fi
AC_SUBST(MACOSX_SDK_PATH) AC_SUBST(MACOSX_SDK_PATH)
AC_SUBST(MACOSX_SDK_VERSION) AC_SUBST(MACOSX_SDK_VERSION)
...@@ -3048,7 +3048,6 @@ AC_SUBST(MACOSX_CODESIGNING_IDENTITY) ...@@ -3048,7 +3048,6 @@ AC_SUBST(MACOSX_CODESIGNING_IDENTITY)
AC_SUBST(MACOSX_PACKAGE_SIGNING_IDENTITY) AC_SUBST(MACOSX_PACKAGE_SIGNING_IDENTITY)
AC_SUBST(ENABLE_MACOSX_SANDBOX) AC_SUBST(ENABLE_MACOSX_SANDBOX)
AC_SUBST(MACOSX_BUNDLE_IDENTIFIER) AC_SUBST(MACOSX_BUNDLE_IDENTIFIER)
AC_SUBST(MACOSX_APP_NAME)
dnl =================================================================== dnl ===================================================================
dnl Check iOS SDK and compiler dnl Check iOS SDK and compiler
......
...@@ -44,7 +44,7 @@ LibreOffice ...@@ -44,7 +44,7 @@ LibreOffice
{ {
variables variables
{ {
PRODUCTNAME LibreOffice PRODUCTNAME @PRODUCTNAME@
PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@ PRODUCTVERSION @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@
PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@ PRODUCTEXTENSION .@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@
POSTVERSIONEXTENSION POSTVERSIONEXTENSION
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
#ifdef MACOSX #ifdef MACOSX
Directory gid_Dir_Bundle Directory gid_Dir_Bundle
ParentID = PD_PROGDIR; ParentID = PD_PROGDIR;
HostName = "%PRODUCTNAME.app"; HostName = "%ONEWORDPRODUCTNAME.app";
End End
Directory gid_Dir_Bundle_Contents Directory gid_Dir_Bundle_Contents
......
...@@ -98,7 +98,7 @@ done ...@@ -98,7 +98,7 @@ done
# #
# At this stage we also attach the entitlements in the sandboxing case # At this stage we also attach the entitlements in the sandboxing case
id=`echo ${MACOSX_APP_NAME} | tr ' ' '-'` id=`echo ${PRODUCTNAME} | tr ' ' '-'`
if test -n "$ENABLE_MACOSX_SANDBOX"; then if test -n "$ENABLE_MACOSX_SANDBOX"; then
entitlements="--entitlements $BUILDDIR/lo.xcent" entitlements="--entitlements $BUILDDIR/lo.xcent"
......
...@@ -89,14 +89,11 @@ if ($destdir && "$ENV{DESTDIR}" ne "/" && -d "$ENV{DESTDIR}") { ...@@ -89,14 +89,11 @@ if ($destdir && "$ENV{DESTDIR}" ne "/" && -d "$ENV{DESTDIR}") {
print "Running LibreOffice installer\n"; print "Running LibreOffice installer\n";
my $PRODUCTNAME_no_spaces = $ENV{PRODUCTNAME};
$PRODUCTNAME_no_spaces =~ s/ //g;
system ("cd $ENV{SRC_ROOT}/instsetoo_native/util ; " . system ("cd $ENV{SRC_ROOT}/instsetoo_native/util ; " .
"perl " . "perl " .
(scalar keys(%DB::sub) ? "-d " : "") . (scalar keys(%DB::sub) ? "-d " : "") .
"-w $ENV{SRCDIR}/solenv/bin/make_installer.pl " . "-w $ENV{SRCDIR}/solenv/bin/make_installer.pl " .
"-f $ENV{BUILDDIR}/instsetoo_native/util/openoffice.lst -l $langs -p $PRODUCTNAME_no_spaces " . "-f $ENV{BUILDDIR}/instsetoo_native/util/openoffice.lst -l $langs -p LibreOffice " .
"-u $tmp_dir " . "-u $tmp_dir " .
"-buildid $BUILD $destdir $strip $msi " . "-buildid $BUILD $destdir $strip $msi " .
"-simple $path") && die "Failed to install: $!"; "-simple $path") && die "Failed to install: $!";
......
...@@ -1828,7 +1828,7 @@ ...@@ -1828,7 +1828,7 @@
<key>CFBundleExecutable</key> <key>CFBundleExecutable</key>
<string>soffice</string> <string>soffice</string>
<key>CFBundleGetInfoString</key> <key>CFBundleGetInfoString</key>
<string>@MACOSX_APP_NAME@ @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@</string> <string>@PRODUCTNAME@ @LIBO_VERSION_MAJOR@.@LIBO_VERSION_MINOR@.@LIBO_VERSION_MICRO@.@LIBO_VERSION_PATCH@@LIBO_VERSION_SUFFIX@</string>
<key>CFBundleIconFile</key> <key>CFBundleIconFile</key>
<string>main.icns</string> <string>main.icns</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
...@@ -1840,7 +1840,7 @@ ...@@ -1840,7 +1840,7 @@
<key>CFBundleInfoDictionaryVersion</key> <key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string> <string>6.0</string>
<key>CFBundleName</key> <key>CFBundleName</key>
<string>@MACOSX_APP_NAME@</string> <string>@PRODUCTNAME@</string>
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment