mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1247162 - Generate a header defining MOZ_SOURCE_*. r=mshal
The behavior is not entirely idempotent (most notably for buildconfig.html), but this can be improved later if necessary. It is idempotent where it matters. This allows to get rid of config/makefiles/rcs.mk and its uses.
This commit is contained in:
parent
22dd1b2230
commit
635d33e292
@ -31,7 +31,7 @@ DIST_GARBAGE = config.cache config.log config.status* config-defs.h \
|
|||||||
.mozconfig.mk
|
.mozconfig.mk
|
||||||
|
|
||||||
ifndef MOZ_PROFILE_USE
|
ifndef MOZ_PROFILE_USE
|
||||||
buildid.h: FORCE
|
buildid.h source-repo.h: FORCE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef JS_STANDALONE
|
ifdef JS_STANDALONE
|
||||||
@ -315,12 +315,6 @@ ifdef SOCORRO_SYMBOL_UPLOAD_TOKEN_FILE
|
|||||||
else
|
else
|
||||||
$(SHELL) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.sh $(SYMBOL_INDEX_NAME) '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
$(SHELL) $(topsrcdir)/toolkit/crashreporter/tools/upload_symbols.sh $(SYMBOL_INDEX_NAME) '$(DIST)/$(PKG_PATH)$(SYMBOL_FULL_ARCHIVE_BASENAME).zip'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# MOZ_SOURCE_STAMP is defined in package-name.mk with a deferred assignment.
|
|
||||||
# exporting it makes make run its $(shell) command for each invoked submake,
|
|
||||||
# so transform it to an immediate assignment.
|
|
||||||
MOZ_SOURCE_STAMP := $(MOZ_SOURCE_STAMP)
|
|
||||||
export MOZ_SOURCE_STAMP
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: update-packaging
|
.PHONY: update-packaging
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
USE_RCS_MK := 1
|
|
||||||
include $(topsrcdir)/config/makefiles/rcs.mk
|
|
||||||
|
|
||||||
# Make sure the standalone glue doesn't try to get libxpcom.so from b2g/app.
|
# Make sure the standalone glue doesn't try to get libxpcom.so from b2g/app.
|
||||||
NSDISTMODE = copy
|
NSDISTMODE = copy
|
||||||
|
|
||||||
|
@ -10,19 +10,6 @@ ifdef MOZ_APP_BASENAME
|
|||||||
APP_INI_DEPS = $(topsrcdir)/config/milestone.txt
|
APP_INI_DEPS = $(topsrcdir)/config/milestone.txt
|
||||||
|
|
||||||
APP_INI_DEPS += $(DEPTH)/config/autoconf.mk
|
APP_INI_DEPS += $(DEPTH)/config/autoconf.mk
|
||||||
|
|
||||||
MOZ_SOURCE_STAMP := $(firstword $(shell cd $(topsrcdir)/$(MOZ_BUILD_APP)/.. && hg parent --template='{node}\n' 2>/dev/null))
|
|
||||||
ifdef MOZ_SOURCE_STAMP
|
|
||||||
DEFINES += -DMOZ_SOURCE_STAMP='$(MOZ_SOURCE_STAMP)'
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef MOZ_INCLUDE_SOURCE_INFO
|
|
||||||
source_repo ?= $(call getSourceRepo,$(topsrcdir)/$(MOZ_BUILD_APP)/..)
|
|
||||||
ifneq (,$(source_repo))
|
|
||||||
DEFINES += -DMOZ_SOURCE_REPO='$(source_repo)'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# NOTE: Keep .gdbinit in the topsrcdir for people who run gdb from the topsrcdir.
|
# NOTE: Keep .gdbinit in the topsrcdir for people who run gdb from the topsrcdir.
|
||||||
|
@ -16,6 +16,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#filter substitution
|
#filter substitution
|
||||||
#include @TOPOBJDIR@/buildid.h
|
#include @TOPOBJDIR@/buildid.h
|
||||||
|
#include @TOPOBJDIR@/source-repo.h
|
||||||
[App]
|
[App]
|
||||||
Vendor=@MOZ_APP_VENDOR@
|
Vendor=@MOZ_APP_VENDOR@
|
||||||
Name=@MOZ_APP_BASENAME@
|
Name=@MOZ_APP_BASENAME@
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
from __future__ import print_function, unicode_literals
|
from __future__ import print_function, unicode_literals
|
||||||
|
|
||||||
import os
|
import os
|
||||||
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@ -19,6 +20,53 @@ def buildid_header(output):
|
|||||||
output.write("#define MOZ_BUILDID %s\n" % buildid)
|
output.write("#define MOZ_BUILDID %s\n" % buildid)
|
||||||
|
|
||||||
|
|
||||||
|
def get_program_output(*command):
|
||||||
|
try:
|
||||||
|
with open(os.devnull) as stderr:
|
||||||
|
return subprocess.check_output(command, stderr=stderr)
|
||||||
|
except:
|
||||||
|
return ''
|
||||||
|
|
||||||
|
|
||||||
|
def get_hg_info(workdir):
|
||||||
|
repo = get_program_output('hg', '-R', workdir, 'path', 'default')
|
||||||
|
if repo:
|
||||||
|
repo = repo.strip()
|
||||||
|
if repo.startswith('ssh://'):
|
||||||
|
repo = 'https://' + repo[6:]
|
||||||
|
repo = repo.rstrip('/')
|
||||||
|
|
||||||
|
changeset = get_program_output(
|
||||||
|
'hg', '-R', workdir, 'parent', '--template={node}')
|
||||||
|
|
||||||
|
return repo, changeset
|
||||||
|
|
||||||
|
|
||||||
|
def source_repo_header(output):
|
||||||
|
# We allow the source repo and changeset to be specified via the
|
||||||
|
# environment (see configure)
|
||||||
|
import buildconfig
|
||||||
|
repo = buildconfig.substs.get('MOZ_SOURCE_REPO')
|
||||||
|
changeset = buildconfig.substs.get('MOZ_SOURCE_CHANGESET')
|
||||||
|
source = ''
|
||||||
|
|
||||||
|
if bool(repo) != bool(changeset):
|
||||||
|
raise Exception('MOZ_SOURCE_REPO and MOZ_SOURCE_CHANGESET both must '
|
||||||
|
'be set (or not set).')
|
||||||
|
|
||||||
|
if not repo:
|
||||||
|
if os.path.exists(os.path.join(buildconfig.topsrcdir, '.hg')):
|
||||||
|
repo, changeset = get_hg_info(buildconfig.topsrcdir)
|
||||||
|
|
||||||
|
if changeset:
|
||||||
|
output.write('#define MOZ_SOURCE_STAMP %s\n' % changeset)
|
||||||
|
|
||||||
|
if repo and buildconfig.substs.get('MOZ_INCLUDE_SOURCE_INFO'):
|
||||||
|
source = '%s/rev/%s' % (repo, changeset)
|
||||||
|
output.write('#define MOZ_SOURCE_REPO %s\n' % repo)
|
||||||
|
output.write('#define MOZ_SOURCE_URL %s\n' % source)
|
||||||
|
|
||||||
|
|
||||||
def main(args):
|
def main(args):
|
||||||
if (len(args)):
|
if (len(args)):
|
||||||
func = globals().get(args[0])
|
func = globals().get(args[0])
|
||||||
|
@ -117,9 +117,5 @@ ifdef USE_AUTOTARGETS_MK # mkdir_deps
|
|||||||
include $(topORerr)/config/makefiles/autotargets.mk
|
include $(topORerr)/config/makefiles/autotargets.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifdef USE_RCS_MK
|
|
||||||
include $(topORerr)/config/makefiles/rcs.mk
|
|
||||||
endif
|
|
||||||
|
|
||||||
## copy(src, dst): recursive copy
|
## copy(src, dst): recursive copy
|
||||||
copy_dir = (cd $(1)/. && $(TAR) $(TAR_CREATE_FLAGS) - .) | (cd $(2)/. && tar -xf -)
|
copy_dir = (cd $(1)/. && $(TAR) $(TAR_CREATE_FLAGS) - .) | (cd $(2)/. && tar -xf -)
|
||||||
|
@ -1,54 +0,0 @@
|
|||||||
# -*- makefile -*-
|
|
||||||
# vim:set ts=8 sw=8 sts=8 noet:
|
|
||||||
#
|
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
||||||
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
#
|
|
||||||
|
|
||||||
ifdef USE_RCS_MK #{
|
|
||||||
|
|
||||||
ifndef INCLUDED_RCS_MK #{
|
|
||||||
|
|
||||||
MOZ_RCS_TYPE_HG ?= $(notdir $(wildcard $(topsrcdir)/.hg))
|
|
||||||
MOZ_RCS_TYPE_GIT ?= $(notdir $(wildcard $(topsrcdir)/.git))
|
|
||||||
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# HAVE_MERCURIAL_RCS
|
|
||||||
###########################################################################
|
|
||||||
ifeq (.hg,$(MOZ_RCS_TYPE_HG)) #{
|
|
||||||
|
|
||||||
# Intent: Retrieve the http:// repository path for a directory.
|
|
||||||
# Usage: $(call getSourceRepo[,repo_dir|args])
|
|
||||||
# Args:
|
|
||||||
# path (optional): repository to query. Defaults to $(topsrcdir)
|
|
||||||
getSourceRepo = \
|
|
||||||
$(call FUNC_getSourceRepo,$(if $(1),cd $(1) && hg,hg --repository $(topsrcdir)))
|
|
||||||
|
|
||||||
# return: http://hg.mozilla.org/mozilla-central
|
|
||||||
FUNC_getSourceRepo = \
|
|
||||||
$(strip \
|
|
||||||
$(patsubst %/,%,\
|
|
||||||
$(patsubst ssh://%,http://%,\
|
|
||||||
$(firstword $(shell $(getargv) showconfig paths.default))\
|
|
||||||
)))
|
|
||||||
|
|
||||||
#} HAVE_MERCURIAL_RCS
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# HAVE_GIT_RCS
|
|
||||||
###########################################################################
|
|
||||||
else ifeq (.git,$(MOZ_RCS_TYPE_GIT)) #{
|
|
||||||
|
|
||||||
GIT ?= git
|
|
||||||
getSourceRepo = \
|
|
||||||
$(shell cd $(topsrcdir) && $(GIT) rev-parse --verify HEAD)
|
|
||||||
|
|
||||||
endif #} HAVE_GIT_RCS
|
|
||||||
|
|
||||||
|
|
||||||
INCLUDED_RCS_MK := 1
|
|
||||||
endif #}
|
|
||||||
|
|
||||||
endif #}
|
|
11
configure.in
11
configure.in
@ -8724,15 +8724,8 @@ fi
|
|||||||
|
|
||||||
# External builds (specifically Ubuntu) may drop the hg repo information, so we allow to
|
# External builds (specifically Ubuntu) may drop the hg repo information, so we allow to
|
||||||
# explicitly set the repository and changeset information in.
|
# explicitly set the repository and changeset information in.
|
||||||
if test "$MOZILLA_OFFICIAL"; then
|
AC_SUBST(MOZ_SOURCE_REPO)
|
||||||
if test -z "$MOZ_SOURCE_REPO" && test -z "$MOZ_SOURCE_CHANGESET" && test -d ${_topsrcdir}/.hg; then
|
AC_SUBST(MOZ_SOURCE_CHANGESET)
|
||||||
MOZ_SOURCE_CHANGESET=`cd $_topsrcdir && hg parent --template='{node}'`
|
|
||||||
MOZ_SOURCE_REPO=`cd $_topsrcdir && hg showconfig paths.default | sed -e 's|^ssh://|http://|' -e 's|/$||'`
|
|
||||||
fi
|
|
||||||
SOURCE_REV_URL=$MOZ_SOURCE_REPO/rev/$MOZ_SOURCE_CHANGESET
|
|
||||||
fi
|
|
||||||
AC_SUBST(SOURCE_REV_URL)
|
|
||||||
|
|
||||||
AC_SUBST(MOZ_INCLUDE_SOURCE_INFO)
|
AC_SUBST(MOZ_INCLUDE_SOURCE_INFO)
|
||||||
|
|
||||||
if test "$MOZ_TELEMETRY_REPORTING"; then
|
if test "$MOZ_TELEMETRY_REPORTING"; then
|
||||||
|
@ -33,13 +33,16 @@ if not CONFIG['JS_STANDALONE']:
|
|||||||
EXPORTS += [
|
EXPORTS += [
|
||||||
'!buildid.h',
|
'!buildid.h',
|
||||||
'!mozilla-config.h',
|
'!mozilla-config.h',
|
||||||
|
'!source-repo.h',
|
||||||
]
|
]
|
||||||
|
|
||||||
GENERATED_FILES += [
|
GENERATED_FILES += [
|
||||||
'buildid.h',
|
'buildid.h',
|
||||||
|
'source-repo.h',
|
||||||
]
|
]
|
||||||
|
|
||||||
GENERATED_FILES['buildid.h'].script = 'build/variables.py:buildid_header'
|
GENERATED_FILES['buildid.h'].script = 'build/variables.py:buildid_header'
|
||||||
|
GENERATED_FILES['source-repo.h'].script = 'build/variables.py:source_repo_header'
|
||||||
|
|
||||||
DIRS += [
|
DIRS += [
|
||||||
'build',
|
'build',
|
||||||
|
@ -3,9 +3,6 @@
|
|||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
USE_RCS_MK := 1
|
|
||||||
include $(topsrcdir)/config/makefiles/rcs.mk
|
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
# This is so hacky. Waiting on bug 988938.
|
# This is so hacky. Waiting on bug 988938.
|
||||||
|
@ -3,24 +3,7 @@
|
|||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
USE_RCS_MK := 1
|
|
||||||
include $(topsrcdir)/config/makefiles/makeutils.mk
|
|
||||||
|
|
||||||
DEFINES += \
|
DEFINES += \
|
||||||
-DCXXFLAGS='$(CXXFLAGS)' \
|
-DCXXFLAGS='$(CXXFLAGS)' \
|
||||||
-DCPPFLAGS='$(CPPFLAGS)' \
|
-DCPPFLAGS='$(CPPFLAGS)' \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
MOZ_SOURCE_STAMP ?= $(shell hg -R $(topsrcdir) parent --template='{node}\n' 2>/dev/null)
|
|
||||||
ifdef MOZ_SOURCE_STAMP
|
|
||||||
DEFINES += -DSOURCE_CHANGESET='$(MOZ_SOURCE_STAMP)'
|
|
||||||
endif
|
|
||||||
|
|
||||||
ifdef MOZ_INCLUDE_SOURCE_INFO
|
|
||||||
source_repo ?= $(call getSourceRepo)
|
|
||||||
ifneq (,$(filter http%,$(source_repo)))
|
|
||||||
DEFINES += -DSOURCE_REPO='$(source_repo)'
|
|
||||||
else ifneq (,$(strip $(source_repo)))
|
|
||||||
DEFINES += -DSOURCE_GIT_COMMIT='$(source_repo)'
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
@ -4,6 +4,7 @@
|
|||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
#
|
#
|
||||||
#filter substitution
|
#filter substitution
|
||||||
|
#include @TOPOBJDIR@/source-repo.h
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
@ -18,14 +19,9 @@
|
|||||||
</head>
|
</head>
|
||||||
<body class="aboutPageWideContainer">
|
<body class="aboutPageWideContainer">
|
||||||
<h1>about:buildconfig</h1>
|
<h1>about:buildconfig</h1>
|
||||||
#ifdef SOURCE_REPO
|
#ifdef MOZ_SOURCE_URL
|
||||||
#ifdef SOURCE_CHANGESET
|
|
||||||
<h2>Source</h2>
|
<h2>Source</h2>
|
||||||
<p>Built from <a href="@SOURCE_REPO@/rev/@SOURCE_CHANGESET@">@SOURCE_REPO@/rev/@SOURCE_CHANGESET@</a></p>
|
<p>Built from <a href="@MOZ_SOURCE_URL@">@MOZ_SOURCE_URL@</a></p>
|
||||||
#endif
|
|
||||||
#elifdef SOURCE_GIT_COMMIT
|
|
||||||
<h2>Source</h2>
|
|
||||||
<p>Built from git commit <a href="#">@SOURCE_GIT_COMMIT@</a></p>
|
|
||||||
#endif
|
#endif
|
||||||
<h2>Build platform</h2>
|
<h2>Build platform</h2>
|
||||||
<table>
|
<table>
|
||||||
|
@ -31,3 +31,5 @@ with Files('customizeToolbar.*'):
|
|||||||
|
|
||||||
with Files('widgets/*'):
|
with Files('widgets/*'):
|
||||||
BUG_COMPONENT = ('Toolkit', 'XUL Widgets')
|
BUG_COMPONENT = ('Toolkit', 'XUL Widgets')
|
||||||
|
|
||||||
|
DEFINES['TOPOBJDIR'] = TOPOBJDIR
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
#filter substitution
|
#filter substitution
|
||||||
|
#include @TOPOBJDIR@/source-repo.h
|
||||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||||
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||||
@ -308,7 +309,10 @@ this.AppConstants = Object.freeze({
|
|||||||
// URL to the hg revision this was built from (e.g.
|
// URL to the hg revision this was built from (e.g.
|
||||||
// "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1")
|
// "https://hg.mozilla.org/mozilla-central/rev/6256ec9113c1")
|
||||||
// On unofficial builds, this is an empty string.
|
// On unofficial builds, this is an empty string.
|
||||||
SOURCE_REVISION_URL: "@SOURCE_REV_URL@",
|
#ifndef MOZ_SOURCE_URL
|
||||||
|
#define MOZ_SOURCE_URL
|
||||||
|
#endif
|
||||||
|
SOURCE_REVISION_URL: "@MOZ_SOURCE_URL@",
|
||||||
|
|
||||||
MOZ_NUWA_PROCESS:
|
MOZ_NUWA_PROCESS:
|
||||||
#ifdef MOZ_NUWA_PROCESS
|
#ifdef MOZ_NUWA_PROCESS
|
||||||
|
@ -118,8 +118,7 @@ for var in ('ANDROID_PACKAGE_NAME',
|
|||||||
'MOZ_WIDGET_TOOLKIT',
|
'MOZ_WIDGET_TOOLKIT',
|
||||||
'DLL_PREFIX',
|
'DLL_PREFIX',
|
||||||
'DLL_SUFFIX',
|
'DLL_SUFFIX',
|
||||||
'DEBUG_JS_MODULES',
|
'DEBUG_JS_MODULES'):
|
||||||
'SOURCE_REV_URL'):
|
|
||||||
DEFINES[var] = CONFIG[var]
|
DEFINES[var] = CONFIG[var]
|
||||||
|
|
||||||
for var in ('MOZ_TOOLKIT_SEARCH',
|
for var in ('MOZ_TOOLKIT_SEARCH',
|
||||||
@ -128,3 +127,5 @@ for var in ('MOZ_TOOLKIT_SEARCH',
|
|||||||
'MOZ_UPDATER'):
|
'MOZ_UPDATER'):
|
||||||
if CONFIG[var]:
|
if CONFIG[var]:
|
||||||
DEFINES[var] = True
|
DEFINES[var] = True
|
||||||
|
|
||||||
|
DEFINES['TOPOBJDIR'] = TOPOBJDIR
|
||||||
|
@ -156,16 +156,6 @@ ifndef INCLUDED_RCS_MK
|
|||||||
include $(MOZILLA_DIR)/config/makefiles/makeutils.mk
|
include $(MOZILLA_DIR)/config/makefiles/makeutils.mk
|
||||||
endif
|
endif
|
||||||
|
|
||||||
MOZ_SOURCE_STAMP = $(firstword $(shell hg -R $(MOZILLA_DIR) parent --template="{node}\n" 2>/dev/null))
|
|
||||||
|
|
||||||
###########################################################################
|
|
||||||
# bug: 746277 - preserve existing functionality.
|
|
||||||
# MOZILLA_DIR="": cd $(SPACE); hg # succeeds if ~/.hg exists
|
|
||||||
###########################################################################
|
|
||||||
ifdef MOZ_INCLUDE_SOURCE_INFO
|
|
||||||
MOZ_SOURCE_REPO = $(call getSourceRepo,$(MOZILLA_DIR)$(NULL) $(NULL))
|
|
||||||
endif
|
|
||||||
|
|
||||||
MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
|
MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
|
||||||
MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
|
MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
|
||||||
MOZ_MOZINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).mozinfo.json
|
MOZ_MOZINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).mozinfo.json
|
||||||
|
@ -96,8 +96,8 @@ GARBAGE += make-package
|
|||||||
make-sourcestamp-file::
|
make-sourcestamp-file::
|
||||||
$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
|
$(NSINSTALL) -D $(DIST)/$(PKG_PATH)
|
||||||
@echo '$(BUILDID)' > $(MOZ_SOURCESTAMP_FILE)
|
@echo '$(BUILDID)' > $(MOZ_SOURCESTAMP_FILE)
|
||||||
ifdef MOZ_SOURCE_REPO
|
ifdef MOZ_INCLUDE_SOURCE_INFO
|
||||||
@echo '$(MOZ_SOURCE_REPO)/rev/$(MOZ_SOURCE_STAMP)' >> $(MOZ_SOURCESTAMP_FILE)
|
@awk '$$2 == "MOZ_SOURCE_URL" {print $$3}' $(DEPTH)/source-repo.h >> $(MOZ_SOURCESTAMP_FILE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
.PHONY: make-buildinfo-file
|
.PHONY: make-buildinfo-file
|
||||||
@ -105,8 +105,8 @@ make-buildinfo-file:
|
|||||||
$(PYTHON) $(MOZILLA_DIR)/toolkit/mozapps/installer/informulate.py \
|
$(PYTHON) $(MOZILLA_DIR)/toolkit/mozapps/installer/informulate.py \
|
||||||
$(MOZ_BUILDINFO_FILE) \
|
$(MOZ_BUILDINFO_FILE) \
|
||||||
BUILDID=$(BUILDID) \
|
BUILDID=$(BUILDID) \
|
||||||
$(addprefix MOZ_SOURCE_REPO=,MOZ_SOURCE_REPO=$(MOZ_SOURCE_REPO)) \
|
$(addprefix MOZ_SOURCE_REPO=,MOZ_SOURCE_REPO=$(shell awk '$$2 == "MOZ_SOURCE_REPO" {print $$3}' $(DEPTH)/source-repo.h)) \
|
||||||
MOZ_SOURCE_STAMP=$(MOZ_SOURCE_STAMP) \
|
MOZ_SOURCE_STAMP=$(shell awk '$$2 == "MOZ_SOURCE_STAMP" {print $$3}' $(DEPTH)/source-repo.h) \
|
||||||
MOZ_PKG_PLATFORM=$(MOZ_PKG_PLATFORM)
|
MOZ_PKG_PLATFORM=$(MOZ_PKG_PLATFORM)
|
||||||
|
|
||||||
.PHONY: make-mozinfo-file
|
.PHONY: make-mozinfo-file
|
||||||
|
@ -198,8 +198,8 @@ RPM_CMD = \
|
|||||||
--define 'moz_numeric_app_version $(MOZ_NUMERIC_APP_VERSION)' \
|
--define 'moz_numeric_app_version $(MOZ_NUMERIC_APP_VERSION)' \
|
||||||
--define 'moz_rpm_release $(MOZ_RPM_RELEASE)' \
|
--define 'moz_rpm_release $(MOZ_RPM_RELEASE)' \
|
||||||
--define 'buildid $(BUILDID)' \
|
--define 'buildid $(BUILDID)' \
|
||||||
$(if $(MOZ_SOURCE_REPO),--define 'moz_source_repo $(MOZ_SOURCE_REPO)') \
|
--define 'moz_source_repo $(shell awk '$$2 == "MOZ_SOURCE_REPO" {print $$3}' $(DEPTH)/source-repo.h)' \
|
||||||
--define 'moz_source_stamp $(MOZ_SOURCE_STAMP)' \
|
--define 'moz_source_stamp $(shell awk '$$2 == "MOZ_SOURCE_STAMP" {print $$3}' $(DEPTH)/source-repo.h)' \
|
||||||
--define 'moz_branding_directory $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)' \
|
--define 'moz_branding_directory $(topsrcdir)/$(MOZ_BRANDING_DIRECTORY)' \
|
||||||
--define '_topdir $(RPMBUILD_TOPDIR)' \
|
--define '_topdir $(RPMBUILD_TOPDIR)' \
|
||||||
--define '_rpmdir $(RPMBUILD_RPMDIR)' \
|
--define '_rpmdir $(RPMBUILD_RPMDIR)' \
|
||||||
|
@ -5,29 +5,10 @@
|
|||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
USE_RCS_MK=1
|
|
||||||
include $(topsrcdir)/config/makefiles/makeutils.mk
|
|
||||||
|
|
||||||
milestone_txt = $(topsrcdir)/config/milestone.txt
|
milestone_txt = $(topsrcdir)/config/milestone.txt
|
||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
MOZ_SOURCE_STAMP ?= $(firstword $(shell hg -R $(topsrcdir) parent --template='{node}\n' 2>/dev/null))
|
|
||||||
ifneq (,$(strip $(MOZ_SOURCE_STAMP)))
|
|
||||||
|
|
||||||
DEFINES += -DMOZ_SOURCE_STAMP=$(MOZ_SOURCE_STAMP)
|
|
||||||
|
|
||||||
ifdef MOZ_INCLUDE_SOURCE_INFO
|
|
||||||
source_repo := $(call getSourceRepo)
|
|
||||||
|
|
||||||
# extra sanity check for old versions of hg, no showconfig support
|
|
||||||
ifneq (,$(filter http%,$(source_repo)))
|
|
||||||
DEFINES += -DMOZ_SOURCE_REPO=$(source_repo)
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
endif # MOZ_SOURCE_STAMP
|
|
||||||
|
|
||||||
MOZ_BUILDID := $(shell awk '{print $$3}' $(DEPTH)/buildid.h)
|
MOZ_BUILDID := $(shell awk '{print $$3}' $(DEPTH)/buildid.h)
|
||||||
$(call errorIfEmpty,GRE_MILESTONE MOZ_BUILDID)
|
$(call errorIfEmpty,GRE_MILESTONE MOZ_BUILDID)
|
||||||
|
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#filter substitution
|
#filter substitution
|
||||||
#include @TOPOBJDIR@/buildid.h
|
#include @TOPOBJDIR@/buildid.h
|
||||||
|
#include @TOPOBJDIR@/source-repo.h
|
||||||
[Build]
|
[Build]
|
||||||
BuildID=@MOZ_BUILDID@
|
BuildID=@MOZ_BUILDID@
|
||||||
Milestone=@GRE_MILESTONE@
|
Milestone=@GRE_MILESTONE@
|
||||||
|
Loading…
Reference in New Issue
Block a user