1# This Source Code Form is subject to the terms of the Mozilla Public
2# License, v. 2.0. If a copy of the MPL was not distributed with this
3# file, You can obtain one at http://mozilla.org/MPL/2.0/.
4
5# assemble package names, see convention at
6# http://developer.mozilla.org/index.php?title=En/Package_Filename_Convention
7# Note that release packages are named during the post-build release
8# automation, so they aren't part of this file.
9
10ifndef PACKAGE_NAME_MK_INCLUDED
11PACKAGE_NAME_MK_INCLUDED := 1
12
13ifndef MOZ_PKG_VERSION
14MOZ_PKG_VERSION = $(MOZ_APP_VERSION)
15endif
16
17ifndef MOZ_PKG_PLATFORM
18MOZ_PKG_PLATFORM := $(TARGET_OS)-$(TARGET_CPU)
19
20ifeq ($(MOZ_BUILD_APP),mobile/android)
21MOZ_PKG_PLATFORM := android-$(TARGET_CPU)
22endif
23
24# TARGET_OS/TARGET_CPU may be unintuitive, so we hardcode some special formats
25ifeq ($(OS_ARCH),WINNT)
26ifeq ($(CPU_ARCH),x86)
27MOZ_PKG_PLATFORM := win32
28else
29ifeq ($(CPU_ARCH),aarch64)
30MOZ_PKG_PLATFORM := win64-aarch64
31else
32MOZ_PKG_PLATFORM := win64
33endif
34endif
35endif
36ifeq ($(OS_ARCH),Darwin)
37MOZ_PKG_PLATFORM := mac
38endif
39ifeq ($(TARGET_OS),linux-gnu)
40MOZ_PKG_PLATFORM := linux-$(TARGET_CPU)
41endif
42endif #MOZ_PKG_PLATFORM
43
44ifdef MOZ_PKG_SPECIAL
45MOZ_PKG_PLATFORM := $(MOZ_PKG_PLATFORM)-$(MOZ_PKG_SPECIAL)
46endif
47
48MOZ_PKG_DIR ?= $(MOZ_APP_NAME)
49
50ifndef MOZ_PKG_APPNAME
51MOZ_PKG_APPNAME = $(MOZ_APP_NAME)
52endif
53
54ifdef MOZ_SIMPLE_PACKAGE_NAME
55PKG_BASENAME := $(MOZ_SIMPLE_PACKAGE_NAME)
56else
57PKG_BASENAME = $(MOZ_PKG_APPNAME)-$(MOZ_PKG_VERSION).$(AB_CD).$(MOZ_PKG_PLATFORM)
58endif
59PKG_PATH =
60SDK_PATH =
61PKG_INST_BASENAME = $(PKG_BASENAME).installer
62PKG_STUB_BASENAME = $(PKG_BASENAME).installer-stub
63PKG_INST_PATH = install/sea/
64PKG_UPDATE_BASENAME = $(PKG_BASENAME)
65CHECKSUMS_FILE_BASENAME = $(PKG_BASENAME)
66MOZ_INFO_BASENAME = $(PKG_BASENAME)
67PKG_UPDATE_PATH = update/
68COMPLETE_MAR = $(PKG_UPDATE_PATH)$(PKG_UPDATE_BASENAME).complete.mar
69ifdef MOZ_SIMPLE_PACKAGE_NAME
70PKG_LANGPACK_BASENAME = $(MOZ_SIMPLE_PACKAGE_NAME).langpack
71PKG_LANGPACK_PATH =
72else
73PKG_LANGPACK_BASENAME = $(MOZ_PKG_APPNAME)-$(MOZ_PKG_VERSION).$(AB_CD).langpack
74PKG_LANGPACK_PATH = $(MOZ_PKG_PLATFORM)/xpi/
75endif
76LANGPACK = $(PKG_LANGPACK_PATH)$(PKG_LANGPACK_BASENAME).xpi
77PKG_SRCPACK_BASENAME = source
78PKG_BUNDLE_BASENAME = $(MOZ_PKG_APPNAME)-$(MOZ_PKG_VERSION)
79PKG_SRCPACK_PATH =
80
81# Symbol package naming
82SYMBOL_FULL_ARCHIVE_BASENAME = $(PKG_BASENAME).crashreporter-symbols-full
83SYMBOL_ARCHIVE_BASENAME = $(PKG_BASENAME).crashreporter-symbols
84
85# Generated file package naming
86GENERATED_SOURCE_FILE_PACKAGE = $(PKG_BASENAME).generated-files.tar.gz
87
88# Code coverage package naming
89CODE_COVERAGE_ARCHIVE_BASENAME = $(PKG_BASENAME).code-coverage-gcno
90
91# Mozsearch package naming
92MOZSEARCH_ARCHIVE_BASENAME = $(PKG_BASENAME).mozsearch-index
93MOZSEARCH_RUST_ANALYSIS_BASENAME = $(PKG_BASENAME).mozsearch-rust
94MOZSEARCH_RUST_STDLIB_BASENAME = $(PKG_BASENAME).mozsearch-rust-stdlib
95MOZSEARCH_INCLUDEMAP_BASENAME = $(PKG_BASENAME).mozsearch-distinclude
96
97# Mozharness naming
98MOZHARNESS_PACKAGE = mozharness.zip
99
100# Test package naming
101TEST_PACKAGE = $(PKG_BASENAME).common.tests.tar.gz
102CPP_TEST_PACKAGE = $(PKG_BASENAME).cppunittest.tests.tar.gz
103XPC_TEST_PACKAGE = $(PKG_BASENAME).xpcshell.tests.tar.gz
104MOCHITEST_PACKAGE = $(PKG_BASENAME).mochitest.tests.tar.gz
105REFTEST_PACKAGE = $(PKG_BASENAME).reftest.tests.tar.gz
106WP_TEST_PACKAGE = $(PKG_BASENAME).web-platform.tests.tar.gz
107TALOS_PACKAGE = $(PKG_BASENAME).talos.tests.tar.gz
108AWSY_PACKAGE = $(PKG_BASENAME).awsy.tests.tar.gz
109GTEST_PACKAGE = $(PKG_BASENAME).gtest.tests.tar.gz
110
111# macOS codesigning package naming
112MACOS_CODESIGN_ARCHIVE_BASENAME = $(PKG_BASENAME).codesign-entitlements
113
114ifneq (,$(wildcard $(DIST)/bin/application.ini))
115BUILDID = $(shell $(PYTHON3) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/application.ini App BuildID)
116else
117BUILDID = $(shell $(PYTHON3) $(MOZILLA_DIR)/config/printconfigsetting.py $(DIST)/bin/platform.ini Build BuildID)
118endif
119
120MOZ_SOURCESTAMP_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).txt
121MOZ_BUILDINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).json
122MOZ_BUILDHUB_JSON = $(DIST)/$(PKG_PATH)/buildhub.json
123MOZ_NORMANDY_JSON = $(DIST)/$(PKG_PATH)/$(PKG_BASENAME).normandy.json
124MOZ_BUILDID_INFO_TXT_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME)_info.txt
125MOZ_MOZINFO_FILE = $(DIST)/$(PKG_PATH)/$(MOZ_INFO_BASENAME).mozinfo.json
126MOZ_TEST_PACKAGES_FILE = $(DIST)/$(PKG_PATH)/$(PKG_BASENAME).test_packages.json
127
128# JavaScript Shell
129ifdef MOZ_SIMPLE_PACKAGE_NAME
130JSSHELL_NAME := $(MOZ_SIMPLE_PACKAGE_NAME).jsshell.zip
131else
132JSSHELL_NAME = jsshell-$(MOZ_PKG_PLATFORM).zip
133endif
134PKG_JSSHELL = $(DIST)/$(JSSHELL_NAME)
135
136endif # PACKAGE_NAME_MK_INCLUDED
137