diff options
Diffstat (limited to 'third_party/zstd/preprocess_asm.py')
-rw-r--r-- | third_party/zstd/preprocess_asm.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/third_party/zstd/preprocess_asm.py b/third_party/zstd/preprocess_asm.py new file mode 100644 index 0000000000..1ce269c387 --- /dev/null +++ b/third_party/zstd/preprocess_asm.py @@ -0,0 +1,25 @@ +# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- +# vim: set filetype=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 distibuted with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import os +import shlex +import subprocess + +import buildconfig +import mozpack.path as mozpath + + +def main(output, input_asm, defines, includes): + defines = shlex.split(defines) + includes = shlex.split(includes) + # CPP uses -E which generates #line directives. -EP suppresses them. + # -TC forces the compiler to treat the input as C. + cpp = buildconfig.substs["CPP"] + ["-EP"] + ["-TC"] + input_asm = mozpath.relpath(input_asm, os.getcwd()) + args = cpp + defines + includes + [input_asm] + print(" ".join(args)) + preprocessed = subprocess.check_output(args) + output.write(preprocessed) |