mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-12-03 18:47:53 +00:00
8ccc4ff982
CLOSED TREE Backed out changeset 86302df0b38a (bug 1407432) Backed out changeset 5a967cc85e28 (bug 1407432) Backed out changeset 828d43ec1b16 (bug 1407432) Backed out changeset bacf04be0a48 (bug 1407432) Backed out changeset 8d770908a5b9 (bug 1407432) Backed out changeset ffe9aed0944f (bug 1407432) MozReview-Commit-ID: 7D50rKeXLrn
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
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/.
|
|
from __future__ import print_function
|
|
import os, re, string, sys
|
|
from mozbuild.util import FileAvoidWrite
|
|
|
|
def find_in_path(file, searchpath):
|
|
for dir in searchpath.split(os.pathsep):
|
|
f = os.path.join(dir, file)
|
|
if os.path.exists(f):
|
|
return f
|
|
return ''
|
|
|
|
def header_path(header, compiler):
|
|
if compiler == 'gcc':
|
|
# we use include_next on gcc
|
|
return header
|
|
elif compiler == 'msvc':
|
|
return find_in_path(header, os.environ.get('INCLUDE', ''))
|
|
else:
|
|
# hope someone notices this ...
|
|
raise NotImplementedError(compiler)
|
|
|
|
# The 'unused' arg is the output file from the file_generate action. We actually
|
|
# generate all the files in header_list
|
|
def gen_wrappers(unused, outdir, compiler, template_file, *header_list):
|
|
template = open(template_file, 'r').read()
|
|
|
|
for header in header_list:
|
|
path = header_path(header, compiler)
|
|
with FileAvoidWrite(os.path.join(outdir, header)) as f:
|
|
f.write(string.Template(template).substitute(HEADER=header,
|
|
HEADER_PATH=path))
|