Source code

Revision control

Other Tools

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
# Generate bookmarks.html by interpolating the included (localized)
6
# `bookmarks.inc` file into the given (unlocalized) `bookmarks.html.in` input.
7
8
from __future__ import absolute_import, unicode_literals, print_function
9
10
import buildconfig
11
import sys
12
13
from mozbuild import preprocessor
14
15
16
def main(output, bookmarks_html_in, bookmarks_inc, locale=None):
17
if not locale:
18
raise ValueError('locale must be specified!')
19
20
CONFIG = buildconfig.substs
21
22
# Based on
24
# no localized input uses the preprocessor conditional #if (really,
25
# anything but #define), so it's safe to restrict the set of defines to
26
# what's used in mozilla-central directly.
27
defines = {}
28
defines['AB_CD'] = locale
29
if defines['AB_CD'] == 'ja-JP-mac':
30
defines['AB_CD'] = 'ja'
31
32
defines['BOOKMARKS_INCLUDE_PATH'] = bookmarks_inc
33
34
for var in ('NIGHTLY_BUILD',):
35
if var in CONFIG:
36
defines[var] = CONFIG[var]
37
38
includes = preprocessor.preprocess(includes=[bookmarks_html_in],
39
defines=defines,
40
output=output)
41
return includes
42
43
44
if __name__ == "__main__":
45
main(sys.argv[1:])