Bug 389673 - Fix "make install" to copy from dist/ and use packager.mk, rather than recurse the build tree, r=luser

This commit is contained in:
benjamin@smedbergs.us 2007-08-03 07:46:17 -07:00
parent 22ac0c0ebd
commit 4b6ed1dfac
25 changed files with 186 additions and 287 deletions

View File

@ -82,11 +82,6 @@ export::
$(MAKE) -C config export
$(MAKE) tier_nspr
install::
ifdef MOZ_LDAP_XPCOM
$(MAKE) -C directory/c-sdk real_install DESTDIR=$(DESTDIR) libdir=$(mozappdir) includedir=$(includedir)/ldap
endif
include $(topsrcdir)/config/rules.mk
# After we build tier toolkit, go back and build the tools from previous dirs

View File

@ -274,8 +274,7 @@ endif
ifneq (,$(filter-out OS2 WINNT,$(OS_ARCH)))
$(MOZ_APP_NAME):: mozilla.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
cat $< | sed -e "s|%MOZAPPDIR%|$(mozappdir)|" \
-e "s|%MREDIR%|$(mredir)|" > $@
cat $< | sed -e "s|%MOZAPPDIR%|$(installdir)|" > $@
chmod +x $@
libs:: $(MOZ_APP_NAME)

View File

@ -36,7 +36,7 @@
#
# ***** END LICENSE BLOCK *****
## $Id: mozilla.in,v 1.14 2007/06/23 05:30:29 ajschult%verizon.net Exp $
## $Id: mozilla.in,v 1.15 2007/08/03 14:46:19 benjamin%smedbergs.us Exp $
##
## Usage:
##
@ -53,7 +53,6 @@
#set -x
moz_libdir=%MOZAPPDIR%
MRE_HOME=%MREDIR%
# Use run-mozilla.sh in the current dir if it exists
# If not, then start resolving symlinks until we find run-mozilla.sh
@ -131,8 +130,6 @@ do
esac
done
export MRE_HOME
if [ $debugging = 1 ]
then
echo $dist_bin/run-mozilla.sh $script_args $dist_bin/$MOZILLA_BIN "$@"

View File

@ -56,3 +56,6 @@ installer:
package:
@$(MAKE) -C browser/installer
install:
@$(MAKE) -C browser/installer install

View File

@ -78,7 +78,7 @@ endif
EXTRA_DSO_LDOPTS += \
$(call EXPAND_LIBNAME_PATH,unicharutil_external_s,$(LIBXUL_DIST)/lib) \
$(LIBXUL_DIST)/../modules/libreg/src/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX) \
$(LIBXUL_DIST)/lib/$(LIB_PREFIX)mozreg_s.$(LIB_SUFFIX) \
$(MOZ_JS_LIBS) \
$(LIBXUL_DIST)/lib/$(LIB_PREFIX)xpcomglue_s.$(LIB_SUFFIX) \
$(MOZ_COMPONENT_LIBS) \

View File

@ -67,7 +67,7 @@ MOZ_PKG_MANIFEST_P = $(srcdir)/unix/packages-static
endif
endif
else
$(error you need a "--enable-static or --enable-libxul" build to create an installer)
$(error you need a "--enable-static or --enable-libxul" build to package a build)
endif
MOZ_NONLOCALIZED_PKG_LIST = \
@ -81,7 +81,7 @@ MOZ_OPTIONAL_PKG_LIST = \
adt \
$(NULL)
DEFINES += -DAB_CD=$(AB_CD) -DMOZ_APP_NAME=$(MOZ_APP_NAME)
DEFINES += -DAB_CD=$(AB_CD) -DMOZ_APP_NAME=$(MOZ_APP_NAME) -DPREF_DIR=$(PREF_DIR)
ifdef MOZ_PKG_MANIFEST_P
MOZ_PKG_MANIFEST = packages-static
@ -97,6 +97,10 @@ MOZ_PKG_MAC_ICON=branding/disk.icns
MOZ_PKG_MAC_RSRC=branding/license.r
endif
ifndef LIBXUL_SDK
INSTALL_SDK = 1
endif
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
installer: removed-files

View File

@ -15,7 +15,7 @@ bin/.autoreg
[@AB_CD@]
bin/chrome/@AB_CD@.jar
bin/chrome/@AB_CD@.manifest
bin/defaults/pref/firefox-l10n.js
bin/@PREF_DIR@/firefox-l10n.js
bin/defaults/existing-profile-defaults.js
; If you add a new directory you must explicitly call addDirectory in ab-CD.jst
bin/browserconfig.properties
@ -268,7 +268,7 @@ bin/chrome/toolkit.manifest
bin/chrome/icons/default/default.xpm
bin/chrome/reporter.manifest
bin/chrome/reporter.jar
bin/defaults/pref/reporter.js
bin/@PREF_DIR@/reporter.js
; shell icons
bin/icons/*.xpm
@ -276,9 +276,9 @@ bin/icons/*.png
; [Default Preferences]
; All the pref files must be part of base to prevent migration bugs
bin/defaults/pref/firefox.js
bin/defaults/pref/firefox-branding.js
bin/defaults/pref/channel-prefs.js
bin/@PREF_DIR@/firefox.js
bin/@PREF_DIR@/firefox-branding.js
bin/@PREF_DIR@/channel-prefs.js
bin/greprefs/all.js
bin/greprefs/security-prefs.js
bin/greprefs/xpinstall.js

View File

@ -48,78 +48,10 @@ PACKAGE_FILE = unix.pkg
include $(topsrcdir)/config/rules.mk
# Hack to make sure that mozilla-config has the proper nspr dependencies
ifdef MOZ_NATIVE_NSPR
FULL_NSPR_CFLAGS=$(shell $(NSPR_CONFIG) --cflags)
FULL_NSPR_LIBS=$(shell $(NSPR_CONFIG) --libs)
NSPR_NAME=nspr
NSPR_VERSION=$(shell $(NSPR_CONFIG) --version)
else
FULL_NSPR_CFLAGS=-I$(includedir)/nspr
FULL_NSPR_LIBS=$(subst -L$(libdir),-L$(mozappdir),$(shell $(DEPTH)/nsprpub/config/nspr-config --libs))
NSPR_NAME=$(MOZ_APP_NAME)-nspr
NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version)
endif
ifdef MOZ_ENABLE_GTK
SUPERWIN_LIBS=-lgtksuperwin
endif
_DEFS = $(subst \,\\\\\,$(ACDEFINES))
pkg_config_files=$(MOZ_APP_NAME)-nspr.pc $(MOZ_APP_NAME)-xpcom.pc \
$(MOZ_APP_NAME)-js.pc \
$(MOZ_APP_NAME)-nss.pc $(MOZ_APP_NAME)-plugin.pc
GARBAGE = $(pkg_config_files) $(MOZ_APP_NAME)-config
$(MOZ_APP_NAME)-config:: mozilla-config.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
cat $< | sed \
-e "s|%prefix%|$(prefix)|" \
-e "s|%exec_prefix%|$(exec_prefix)|" \
-e "s|%includedir%|$(includedir)|" \
-e "s|%libdir%|$(mozappdir)|" \
-e "s|%idldir%|$(idldir)|" \
-e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
-e "s|%DEFS%|$(_DEFS)|" \
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
-e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" > $@
$(MOZ_APP_NAME)-%.pc : mozilla-%.pc.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
cat $< | sed \
-e "s|%prefix%|$(prefix)|" \
-e "s|%exec_prefix%|$(exec_prefix)|" \
-e "s|%includedir%|$(includedir)|" \
-e "s|%libdir%|$(mozappdir)|" \
-e "s|%idldir%|$(idldir)|" \
-e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
-e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
-e "s|%SUPERWIN_LIBS%|$(SUPERWIN_LIBS)|" \
-e "s|%DEFS%|$(_DEFS)|" \
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
-e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
-e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
-e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@
libs:: $(MOZ_APP_NAME)-config
chmod 755 $<
$(INSTALL) -m 755 $< $(DIST)/bin
libs:: $(srcdir)/run-mozilla.sh $(pkg_config_files)
libs:: $(srcdir)/run-mozilla.sh
$(INSTALL) $< $(DIST)/bin
ifeq ($(OS_ARCH),OpenVMS)
libs:: vms/mozilla.com vms/install.com vms/getinfo.com
$(INSTALL) $? $(DIST)/bin
endif
install:: run-mozilla.sh
$(SYSINSTALL) $(IFLAGS2) $< $(DESTDIR)$(mozappdir)
install:: $(MOZ_APP_NAME)-config
$(SYSINSTALL) $(IFLAGS2) $< $(DESTDIR)$(bindir)
install:: $(pkg_config_files)
chmod 644 $<
$(SYSINSTALL) $(IFLAGS1) $(pkg_config_files) \
$(DESTDIR)$(libdir)/pkgconfig

View File

@ -1,12 +0,0 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
includedir=%includedir%
idldir=%idldir%
Name: XPCOM
Description: The Mozilla Cross Platform Component Library
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Libs: -L${libdir} -lxpcom
Cflags: -I${includedir} -I${includedir}/xpcom -I${includedir}/string

View File

@ -101,7 +101,6 @@ export:: $(TARGETS) $(HEADERS)
$(INSTALL) $(IFLAGS1) $(HEADERS) $(DIST)/include
-rm -f $(FINAL_LINK_COMPS) $(FINAL_LINK_LIBS) $(FINAL_LINK_COMP_NAMES)
-rm -f $(DIST)/bin/chrome/chromelist.txt
$(NSINSTALL) -t $(IFLAGS1) $(HEADERS) $(DIST)/sdk/include
ifdef HOST_PROGRAM
$(INSTALL) $(HOST_PROGRAM) $(DIST)/bin
endif

View File

@ -62,11 +62,10 @@ includedir = @includedir@/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
libdir = @libdir@
datadir = @datadir@
mandir = @mandir@
idldir = @datadir@/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
mozappdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
mredir = $(libdir)/mre/mre-$(MOZ_APP_VERSION)
mrelibdir = $(mredir)/lib
installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION)
sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION)
DIST = $(DEPTH)/dist
LIBXUL_SDK = @LIBXUL_SDK@

View File

@ -764,78 +764,6 @@ endif # !NO_DIST_INSTALL
+$(LOOP_OVER_DIRS)
##############################################
install:: $(SUBMAKEFILES) $(MAKE_DIRS)
+$(LOOP_OVER_DIRS)
+$(LOOP_OVER_TOOL_DIRS)
ifndef NO_INSTALL
ifneq (,$(EXPORTS))
install:: $(EXPORTS)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(includedir)/$(MODULE)
endif
ifneq (,$(SDK_HEADERS))
install:: $(SDK_HEADERS)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(includedir)/$(MODULE)
endif
endif
install:: $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(LIBRARY) $(PROGRAM) $(SIMPLE_PROGRAMS) $(JAVA_LIBRARY)
ifndef NO_INSTALL
#ifdef LIBRARY
#ifndef IS_COMPONENT
#ifdef MRE_DIST
# $(SYSINSTALL) $(IFLAGS1) $(LIBRARY) $(DESTDIR)$(mredir)
#else
# $(SYSINSTALL) $(IFLAGS1) $(LIBRARY) $(DESTDIR)$(mozappdir)
#endif
#endif # !IS_COMPONENT
#endif # LIBRARY
ifdef SHARED_LIBRARY
ifdef IS_COMPONENT
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)/components
else
$(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)/components
endif
else
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mredir)
else
$(SYSINSTALL) $(IFLAGS2) $(SHARED_LIBRARY) $(IMPORT_LIBRARY) $(DESTDIR)$(mozappdir)
endif
endif
endif # SHARED_LIBRARY
ifdef PROGRAM
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(PROGRAM) $(DESTDIR)$(mredir)
else
$(SYSINSTALL) $(IFLAGS2) $(PROGRAM) $(DESTDIR)$(mozappdir)
endif
endif # PROGRAM
ifdef SIMPLE_PROGRAMS
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(SIMPLE_PROGRAMS) $(DESTDIR)$(mredir)
else
$(SYSINSTALL) $(IFLAGS2) $(SIMPLE_PROGRAMS) $(DESTDIR)$(mozappdir)
endif
endif # SIMPLE_PROGRAMS
ifdef JAVA_LIBRARY
ifdef IS_COMPONENT
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(JAVA_LIBRARY) $(DESTDIR)$(mredir)/components
else
$(SYSINSTALL) $(IFLAGS2) $(JAVA_LIBRARY) $(DESTDIR)$(mozappdir)/components
endif
else
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS2) $(JAVA_LIBRARY) $(DESTDIR)$(mredir)
else
$(SYSINSTALL) $(IFLAGS2) $(JAVA_LIBRARY) $(DESTDIR)$(mozappdir)
endif
endif
endif # JAVA_LIBRARY
endif # NO_INSTALL
checkout:
$(MAKE) -C $(topsrcdir) -f client.mk checkout
@ -1469,7 +1397,6 @@ endif # NO_DIST_INSTALL
################################################################################
# Copy each element of PREF_JS_EXPORTS
ifneq ($(PREF_JS_EXPORTS),)
ifdef GRE_MODULE
PREF_DIR = greprefs
else
@ -1480,6 +1407,7 @@ PREF_DIR = defaults/pref
endif
endif
ifneq ($(PREF_JS_EXPORTS),)
# on win32, pref files need CRLF line endings... see bug 206029
ifeq (WINNT,$(OS_ARCH))
PREF_PPFLAGS = --line-endings=crlf
@ -1495,17 +1423,6 @@ libs:: $(PREF_JS_EXPORTS)
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(PREF_PPFLAGS) $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $$i > $$dest; \
done
endif
ifndef NO_INSTALL
install:: $(PREF_JS_EXPORTS)
if test ! -d $(DESTDIR)$(mozappdir)/$(PREF_DIR); then $(NSINSTALL) -D $(DESTDIR)$(mozappdir)/$(PREF_DIR); fi
$(EXIT_ON_ERROR) \
for i in $(PREF_JS_EXPORTS); do \
dest=$(DESTDIR)$(mozappdir)/$(PREF_DIR)/`basename $$i`; \
$(RM) -f $$dest; \
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $$i > $$dest; \
done
endif
endif
################################################################################
@ -1520,10 +1437,6 @@ export:: $(AUTOCFG_JS_EXPORTS) $(FINAL_TARGET)/defaults/autoconfig
$(INSTALL) $(IFLAGS1) $^
endif
install:: $(AUTOCFG_JS_EXPORTS)
ifndef NO_INSTALL
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/defaults/autoconfig
endif
endif
################################################################################
# Export the elements of $(XPIDLSRCS) & $(SDK_XPIDLSRCS),
@ -1582,14 +1495,6 @@ ifndef NO_DIST_INSTALL
$(INSTALL) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(FINAL_TARGET)/components
endif
install:: $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt
ifndef NO_INSTALL
ifdef MRE_DIST
$(SYSINSTALL) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(DESTDIR)$(mredir)/components
else
$(SYSINSTALL) $(IFLAGS1) $(XPIDL_GEN_DIR)/$(XPIDL_MODULE).xpt $(DESTDIR)$(mozappdir)/components
endif
endif # NO_INSTALL
endif # NO_GEN_XPT
GARBAGE_DIRS += $(XPIDL_GEN_DIR)
@ -1606,15 +1511,6 @@ export:: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.h, $(XPIDLSRCS)) $(PUBLIC)
$(INSTALL) $(IFLAGS1) $^
endif # NO_DIST_INSTALL
ifndef NO_INSTALL
install:: $(XPIDLSRCS)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(idldir)
install:: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.h, $(XPIDLSRCS))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(includedir)/$(MODULE)
endif
endif # XPIDLSRCS
@ -1659,14 +1555,6 @@ export:: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.h, $(SDK_XPIDLSRCS)) $(SDK_PUBLIC)
$(INSTALL) $(IFLAGS1) $^
endif
ifndef NO_INSTALL
install:: $(SDK_XPIDLSRCS)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(idldir)
install:: $(patsubst %.idl,$(XPIDL_GEN_DIR)/%.h, $(SDK_XPIDLSRCS))
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(includedir)/$(MODULE)
endif
endif # SDK_XPIDLSRCS
@ -1706,7 +1594,7 @@ $(JAVA_INSTALL_DIR):
$(NSINSTALL) -D $@
export:: $(JAVA_DIST_DIR) $(JAVADEPFILES) $(JAVA_INSTALL_DIR)
(cd $(JAVA_GEN_DIR) && tar $(TAR_CREATE_FLAGS) - *) | (cd $(JAVA_INSTALL_DIR) && tar -xf -)
(cd $(JAVA_GEN_DIR) && tar $(TAR_CREATE_FLAGS) - .) | (cd $(JAVA_INSTALL_DIR) && tar -xf -)
endif # XPIDLSRCS || SDK_XPIDLSRCS
endif # MOZ_JAVAXPCOM
@ -1719,10 +1607,6 @@ ifndef NO_DIST_INSTALL
$(INSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/components
endif
install:: $(EXTRA_COMPONENTS)
ifndef NO_INSTALL
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/components
endif
endif
ifdef EXTRA_PP_COMPONENTS
@ -1736,15 +1620,6 @@ ifndef NO_DIST_INSTALL
done
endif
install:: $(EXTRA_PP_COMPONENTS)
ifndef NO_INSTALL
$(EXIT_ON_ERROR) \
for i in $^; do \
dest=$(DESTDIR)$(mozappdir)/components/`basename $$i`; \
$(RM) -f $$dest; \
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $$i > $$dest; \
done
endif
endif
################################################################################
@ -1755,10 +1630,6 @@ ifndef NO_DIST_INSTALL
$(INSTALL) $(IFLAGS1) $^ $(FINAL_TARGET)/modules
endif
install:: $(EXTRA_JS_MODULES)
ifndef NO_INSTALL
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(mozappdir)/modules
endif
endif
ifdef EXTRA_PP_JS_MODULES
@ -1772,15 +1643,6 @@ ifndef NO_DIST_INSTALL
done
endif
install:: $(EXTRA_PP_JS_MODULES)
ifndef NO_INSTALL
$(EXIT_ON_ERROR) \
for i in $^; do \
dest=$(DESTDIR)$(mozappdir)/modules/`basename $$i`; \
$(RM) -f $$dest; \
$(PYTHON) $(topsrcdir)/config/Preprocessor.py $(DEFINES) $(ACDEFINES) $(XULPPFLAGS) $$i > $$dest; \
done
endif
endif
################################################################################
@ -1832,23 +1694,6 @@ ifndef NO_DIST_INSTALL
fi
endif
install:: $(CHROME_DEPS)
ifneq (,$(filter flat symlink,$(MOZ_CHROME_FILE_FORMAT)))
$(error Flat chrome is for debugging only, and should not be used with the install target.)
endif
ifndef NO_INSTALL
@$(EXIT_ON_ERROR) \
if test -f $(JAR_MANIFEST); then \
if test ! -d $(DESTDIR)$(mozappdir)/chrome; then $(NSINSTALL) -D $(DESTDIR)$(mozappdir)/chrome; fi; \
if test ! -d $(MAKE_JARS_TARGET)/chrome; then $(NSINSTALL) -D $(MAKE_JARS_TARGET)/chrome; fi; \
$(PYTHON) $(MOZILLA_DIR)/config/Preprocessor.py $(XULPPFLAGS) $(DEFINES) $(ACDEFINES) \
$(JAR_MANIFEST) | \
$(PERL) -I$(MOZILLA_DIR)/config $(MOZILLA_DIR)/config/make-jars.pl \
-d $(MAKE_JARS_TARGET)/chrome -j $(DESTDIR)$(mozappdir)/chrome \
$(MAKE_JARS_FLAGS) -- "$(XULPPFLAGS) $(DEFINES) $(ACDEFINES)"; \
fi
endif
ifneq ($(DIST_FILES),)
libs:: $(DIST_FILES)
@$(EXIT_ON_ERROR) \
@ -1916,11 +1761,8 @@ endif
libs::
$(RM) -rf "$(DIST)/bin/extensions/$(INSTALL_EXTENSION_ID)"
$(NSINSTALL) -D "$(DIST)/bin/extensions/$(INSTALL_EXTENSION_ID)"
cd $(FINAL_TARGET) && tar $(TAR_CREATE_FLAGS) - * | (cd "../../bin/extensions/$(INSTALL_EXTENSION_ID)" && tar -xf -)
cd $(FINAL_TARGET) && tar $(TAR_CREATE_FLAGS) - . | (cd "../../bin/extensions/$(INSTALL_EXTENSION_ID)" && tar -xf -)
install::
$(NSINSTALL) -D "$(DESTDIR)$(mozappdir)/extensions/$(INSTALL_EXTENSION_ID)"
cd $(FINAL_TARGET) && tar $(TAR_CREATE_FLAGS) - * | (cd "$(DESTDIR)$(mozappdir)/extensions/$(INSTALL_EXTENSION_ID)" && tar -xf -)
endif
ifneq (,$(filter flat symlink,$(MOZ_CHROME_FILE_FORMAT)))

View File

@ -53,14 +53,18 @@ include $(srcdir)/objs.mk
MODULE=unicharutil
LIBRARY_NAME=unicharutil_external_s
DIST_INSTALL = 1
SDK_LIBRARY = $(LIBRARY)
REQUIRES=xpcom \
string \
uconv \
$(NULL)
EXPORTS = \
SDK_HEADERS = \
nsUnicharUtils.h \
$(NULL)
EXPORTS = \
nsCompressedCharMap.h \
nsBidiUtils.h \
$(NULL)

View File

@ -45,6 +45,7 @@ include $(srcdir)/objs.mk
MODULE = libreg
LIBRARY_NAME = mozreg_s
DIST_INSTALL = 1
# MacOSX requires the MoreFiles module
ifeq ($(OS_ARCH),Darwin)
@ -67,6 +68,8 @@ EXPORT_LIBRARY = 1
USE_STATIC_LIBS = 1
SDK_LIBRARY = $(LIBRARY)
ifeq (cocoa,$(MOZ_WIDGET_TOOLKIT))
SHARED_LIBRARY_LIBS += $(DEPTH)/xpcom/MoreFiles/libmacmorefiles_s.a
endif

View File

@ -168,6 +168,12 @@ EXTRA_DSO_LIBS += tracemalloc
endif
endif
ifneq (,$(filter OS2 WINCE WINNT,$(OS_ARCH)))
SDK_LIBRARY = $(IMPORT_LIBRARY)
else
SDK_LIBRARY = $(SHARED_LIBRARY)
endif
include $(topsrcdir)/config/rules.mk
export:: $(RDF_UTIL_SRC_CPPSRCS) $(INTL_UNICHARUTIL_UTIL_CPPSRCS)

View File

@ -308,7 +308,7 @@ endif
"$(DEPTH)/installer-stage/optional", \
"$(MOZ_PKG_MANIFEST)", "$(PKGCP_OS)", 1, 0, 1 \
$(foreach pkg,$(MOZ_OPTIONAL_PKG_LIST),$(PKG_ARG)) )
$(PERL) $(topsrcdir)/xpinstall/packager/xptlink.pl -s $(DIST) -d $(DIST)/xpt -f $(DEPTH)/installer-stage/nonlocalized/components -v
$(PERL) $(topsrcdir)/xpinstall/packager/xptlink.pl -s $(DIST) -d $(DIST)/xpt -f $(DEPTH)/installer-stage/nonlocalized/components -v -x $(LIBXUL_DIST)/bin/xpt_link
stage-package: $(MOZ_PKG_MANIFEST) $(MOZ_PKG_REMOVALS_GEN)
@rm -rf $(DIST)/$(MOZ_PKG_APPNAME) $(DIST)/$(PKG_BASENAME).tar $(DIST)/$(PKG_BASENAME).dmg $@ $(EXCLUDE_LIST)
@ -321,7 +321,7 @@ ifdef MOZ_PKG_MANIFEST
$(call PACKAGER_COPY, "$(DIST)",\
"$(DIST)/$(MOZ_PKG_APPNAME)", \
"$(MOZ_PKG_MANIFEST)", "$(PKGCP_OS)", 1, 0, 1)
$(PERL) $(topsrcdir)/xpinstall/packager/xptlink.pl -s $(DIST) -d $(DIST)/xpt -f $(DIST)/$(MOZ_PKG_APPNAME)/components -v
$(PERL) $(topsrcdir)/xpinstall/packager/xptlink.pl -s $(DIST) -d $(DIST)/xpt -f $(DIST)/$(MOZ_PKG_APPNAME)/components -v -x $(LIBXUL_DIST)/bin/xpt_link
else # !MOZ_PKG_MANIFEST
ifeq ($(MOZ_PKG_FORMAT),DMG)
# If UNIVERSAL_BINARY, the package will be made from an already-prepared
@ -370,4 +370,53 @@ endif # MOZ_PKG_REMOVALS
make-package: stage-package
@echo "Compressing..."
cd $(DIST); $(MAKE_PACKAGE)
cd $(DIST) && $(MAKE_PACKAGE)
# The install target will install the application to prefix/lib/appname-version
# In addition if INSTALL_SDK is set, it will install the development headers,
# libraries, and IDL files as follows:
# dist/sdk/include -> prefix/include/appname-version/stable
# dist/include -> prefix/include/appname-version/unstable
# dist/sdk/idl -> prefix/share/idl/appname-version/stable
# dist/idl -> prefix/share/idl/appname-version/unstable
# dist/sdk/lib -> prefix/lib/appname-devel-version/lib
# prefix/lib/appname-devel-version/* symlinks to the above directories
install:: stage-package
ifeq (WINNT,$(OS_ARCH))
$(error "make install" is not supported on Windows. Use "make package" instead.)
endif
$(NSINSTALL) -D $(DESTDIR)$(installdir)
(cd $(DIST)/$(MOZ_PKG_APPNAME) && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DESTDIR)$(installdir) && tar -xf -)
$(NSINSTALL) -D $(DESTDIR)$(bindir)
$(RM) -f $(DESTDIR)$(bindir)/$(MOZ_APP_NAME)
ln -s $(installdir)/$(MOZ_APP_NAME) $(DESTDIR)$(bindir)
ifdef INSTALL_SDK # Here comes the hard part
# include directory is stable (dist/sdk/include) and unstable (dist/include)
$(NSINSTALL) -D $(DESTDIR)$(includedir)/stable
$(NSINSTALL) -D $(DESTDIR)$(includedir)/unstable
(cd $(DIST)/sdk/include && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DESTDIR)$(includedir)/stable && tar -xf -)
# The dist/include has module subdirectories that we need to flatten
find $(DIST)/include -xtype f -exec $(SYSINSTALL) $(IFLAGS1) {} $(DESTDIR)$(includedir)/unstable \;
# IDL directory is stable (dist/sdk/idl) and unstable (dist/idl)
$(NSINSTALL) -D $(DESTDIR)$(idldir)/stable
$(NSINSTALL) -D $(DESTDIR)$(idldir)/unstable
(cd $(DIST)/sdk/idl && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DESTDIR)$(idldir)/stable && tar -xf -)
(cd $(DIST)/idl && tar $(TAR_CREATE_FLAGS) - .) | \
(cd $(DESTDIR)$(idldir)/unstable && tar -xf -)
# SDK directory is the libs + a bunch of symlinks
$(NSINSTALL) -D $(DESTDIR)$(sdkdir)/sdk/lib
if test -f $(DIST)/sdk/include/xpcom-config.h; then \
$(SYSINSTALL) $(IFLAGS1) $(DIST)/sdk/include/xpcom-config.h $(DESTDIR)$(sdkdir); \
fi
(cd $(DIST)/sdk/lib && tar $(TAR_CREATE_FLAGS) - .) | (cd $(DESTDIR)$(sdkdir)/sdk/lib && tar -xf -)
$(RM) -f $(DESTDIR)$(sdkdir)/lib $(DESTDIR)$(sdkdir)/bin $(DESTDIR)$(sdkdir)/sdk/include $(DESTDIR)$(sdkdir)/include $(DESTDIR)$(sdkdir)/sdk/idl $(DESTDIR)$(sdkdir)/idl
ln -s $(sdkdir)/sdk/lib $(DESTDIR)$(sdkdir)/lib
ln -s $(installdir) $(DESTDIR)$(sdkdir)/bin
ln -s $(includedir)/stable $(DESTDIR)$(sdkdir)/sdk/include
ln -s $(includedir)/unstable $(DESTDIR)$(sdkdir)/include
ln -s $(idldir)/stable $(DESTDIR)$(sdkdir)/sdk/idl
ln -s $(idldir)/unstable $(DESTDIR)$(sdkdir)/idl
endif # INSTALL_SDK

View File

@ -54,6 +54,7 @@ $finaldir = ""; # where to put the final linked XPT
$verbose = 0; # shorthand for --debug 1
$debug = 0; # controls amount of debug output
$help = 0; # flag: if set, print usage
$xptlink = ""; # path to the xpt_link binary
# get command line options
$return = GetOptions( "source|s=s", \$srcdir,
@ -62,6 +63,7 @@ $return = GetOptions( "source|s=s", \$srcdir,
"help|h", \$help,
"debug=i", \$debug,
"verbose|v", \$verbose,
"xptlink|x=s", \$xptlink,
"<>", \&do_badargument
);
@ -154,7 +156,7 @@ foreach my $component (@xptdirs) {
$realmerged = $merged;
}
my $cmdline = "$srcdir/bin/xpt_link $realmerged @realxptfiles";
my $cmdline = "$xptlink $realmerged @realxptfiles";
($debug >= 4) && print "$cmdline\n";
system($cmdline) == 0 || die ("'$cmdline' failed");
@ -219,6 +221,10 @@ sub check_arguments
print "Exiting...\n";
exit ($exitval);
}
if ($xptlink eq "") {
$xptlink = "$srcdir/bin/xpt_link";
}
}

View File

@ -81,3 +81,6 @@ installer:
package:
@$(MAKE) -C xulrunner/installer
install:
@$(MAKE) -C xulrunner/installer install

View File

@ -49,9 +49,6 @@ NO_PKG_FILES = \
regchrome* \
regxpcom* \
xpcshell* \
xpidl* \
xpt_dump* \
xpt_link* \
$(NULL)
# If we're on mac, we want to make the .pkg first, in the mac/
@ -67,8 +64,54 @@ endif
include $(topsrcdir)/config/rules.mk
INSTALL_SDK = 1
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
# Add pkg-config files to the install:: target
pkg_config_files = \
libxul.pc \
libxul-embedding.pc \
mozilla-js.pc \
mozilla-plugin.pc \
$(NULL)
ifdef MOZ_NATIVE_NSPR
NSPR_NAME=nspr
NSPR_VERSION=$(shell $(NSPR_CONFIG) --version)
else
pkg_config_files += mozilla-nspr.pc
NSPR_NAME=mozilla-nspr
FULL_NSPR_CFLAGS=-I\$${includedir}/stable
FULL_NSPR_LIBS=$(subst $(prefix),\$${sdkdir},$(shell $(DEPTH)/nsprpub/config/nspr-config --libs))
NSPR_VERSION=$(shell $(DEPTH)/nsprpub/config/nspr-config --version)
endif
$(warning FULL_NSPR_CFLAGS=$(FULL_NSPR_CFLAGS))
ifndef MOZ_NATIVE_NSS
pkg_config_files += mozilla-nss.pc
endif
%.pc: $(srcdir)/%.pc.in Makefile.in Makefile $(DEPTH)/config/autoconf.mk
cat $< | sed \
-e "s|%prefix%|$(prefix)|" \
-e "s|%includedir%|$(includedir)|" \
-e "s|%idldir%|$(idldir)|" \
-e "s|%sdkdir%|$(sdkdir)|" \
-e "s|%MOZ_APP_NAME%|$(MOZ_APP_NAME)|" \
-e "s|%MOZILLA_VERSION%|$(MOZ_APP_VERSION)|" \
-e "s|%FULL_NSPR_LIBS%|$(FULL_NSPR_LIBS)|" \
-e "s|%FULL_NSPR_CFLAGS%|$(FULL_NSPR_CFLAGS)|" \
-e "s|%NSPR_NAME%|$(NSPR_NAME)|" \
-e "s|%NSPR_VERSION%|$(NSPR_VERSION)|" > $@
chmod 644 $@
install:: $(pkg_config_files)
@echo pkg_config_file: $(pkg_config_files)
$(SYSINSTALL) $(IFLAGS1) $^ $(DESTDIR)$(libdir)/pkgconfig
#
# Package the SDK directory
#

View File

@ -0,0 +1,15 @@
prefix=%prefix%
sdkdir=%sdkdir%
includedir=%includedir%
idldir=%idldir%
includetype=stable
# Note: the default pkg-config cflags will only list include directories
# that contain stable (frozen or safe for linking) header files. To include
# nonfrozen headers, run pkg-config with --define-variable=includetype=unstable
Name: libxul-embedding
Description: Static library for version-independent embedding of the Mozilla runtime
Version: %MOZILLA_VERSION%
Libs: -L${sdkdir}/lib -lxpcomglue
Cflags: -DXPCOM_GLUE -I${includedir}/${includetype} -fshort-wchar

View File

@ -0,0 +1,16 @@
prefix=%prefix%
sdkdir=%sdkdir%
includedir=%includedir%
idldir=%idldir%
includetype=stable
# Note: the default pkg-config includes will only list include directories
# that contain stable (frozen or safe for linking) header files. To include
# nonfrozen headers, run pkg-config with --define-variable=includetype=unstable
Name: libxul
Description: The Mozilla Runtime and Embedding Engine
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Libs: -L${sdkdir}/lib -lxpcomglue_s -lxul -lxpcom
Cflags: -I${includedir}/${includetype} -fshort-wchar

View File

@ -1,11 +1,10 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
sdkdir=%sdkdir%
includedir=%includedir%
Name: JavaScript
Description: The Mozilla JavaScript Library
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Libs: -L${libdir} -lmozjs
Cflags: -I${includedir}/js -DXP_UNIX -DJS_THREADSAFE
Libs: -L${sdkdir}/lib -lmozjs
Cflags: -I${includedir}/stable -DXP_UNIX -DJS_THREADSAFE

View File

@ -1,6 +1,5 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
sdkdir=%sdkdir%
includedir=%includedir%
Name: NSPR

View File

@ -1,11 +1,10 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
sdkdir=%sdkdir%
includedir=%includedir%
Name: NSS
Description: Mozilla Network Security Services
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Libs: -L${libdir} -lnss3 -lsmime3 -lssl3 -lsoftokn3
Cflags: -I${includedir}/nss
Libs: -L${sdkdir}/lib -lnss3 -lsmime3 -lssl3 -lsoftokn3
Cflags: -I${includedir}/stable

View File

@ -1,10 +1,9 @@
prefix=%prefix%
exec_prefix=%exec_prefix%
libdir=%libdir%
sdkdir=%sdkdir%
includedir=%includedir%
Name: Mozilla Plug-In API
Description: Mozilla Plug-In API
Version: %MOZILLA_VERSION%
Requires: %NSPR_NAME% >= %NSPR_VERSION%
Cflags: -I${includedir}/java -I${includedir}/plugin
Cflags: -I${includedir}/stable