gecko-dev/browser/themes/preprocess-tab-svgs.py
Nathan Froyd 7e1c2e073e Bug 1137364 - part 1 - move browser/themes/*/ tab-selected-*.svg generation to GENERATED_FILES; r=mshal
Recently-added GENERATED_FILES support and support for specifying
per-file methods for GENERATED_FILES means that we can move the rules
for generating tab SVGs in browser/themes/ to moz.build.  As a bonus, we
can also eliminate duplicate between the rules by moving them to a
shared mozbuild file in browser/themes/, rather than individual
browser/themes/{linux,osx,windows}/ Makefiles.
2015-02-26 13:56:26 -05:00

42 lines
1.7 KiB
Python
Executable File

#!/usr/bin/env python
# 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/.
import buildconfig
from mozbuild.preprocessor import preprocess
# By default, the pre-processor used for jar.mn will use "%" as a marker
# for ".css" files and "#" otherwise. This falls apart when a file using
# one marker needs to include a file with the other marker since the
# pre-processor instructions in the included file will not be
# processed. The following SVG files need to include a file which uses
# "%" as the marker so we invoke the pre- processor ourselves here with
# the marker specified. The resulting SVG files will get packaged by the
# processing of the jar file in the appropriate directory.
def _do_preprocessing(output_svg, input_svg_file, additional_defines):
additional_defines.update(buildconfig.defines)
preprocess(output=output_svg,
includes=[input_svg_file],
marker='%',
defines=additional_defines)
def tab_side_start(output_svg, input_svg_file):
_do_preprocessing(output_svg, input_svg_file, {'TAB_SIDE': 'start'})
def tab_side_end(output_svg, input_svg_file):
_do_preprocessing(output_svg, input_svg_file, {'TAB_SIDE': 'end'})
def aero_tab_side_start(output_svg, input_svg_file):
_do_preprocessing(output_svg, input_svg_file,
{'TAB_SIDE': 'start',
'WINDOWS_AERO': 1})
def aero_tab_side_end(output_svg, input_svg_file):
_do_preprocessing(output_svg, input_svg_file,
{'TAB_SIDE': 'end',
'WINDOWS_AERO': 1})