revert gen_build_yaml.py

pull/23528/head
Micah Kornfield 5 years ago
parent 1f07c0c75f
commit 94864fa0db
  1. 58
      src/boringssl/gen_build_yaml.py

@ -14,20 +14,20 @@
# limitations under the License.
from __future__ import print_function
from collections import OrderedDict
import json
import shutil
import sys
import os
import yaml
sys.dont_write_bytecode = True
boring_ssl_root = os.path.abspath(
os.path.join(os.path.dirname(sys.argv[0]),
'../../third_party/boringssl-with-bazel/src'))
sys.path.append(os.path.join(boring_ssl_root, 'util'))
try:
sources_path = os.path.abspath(
os.path.join(os.path.dirname(sys.argv[0]),
'../../third_party/boringssl-with-bazel/sources.json'))
with open(sources_path, 'r') as s:
sources = json.load(s)
import generate_build_files
except ImportError:
print(yaml.dump({}))
sys.exit()
@ -38,18 +38,12 @@ def map_dir(filename):
class Grpc(object):
""" Adapter for boring-SSL json sources files. """
"""Implements a "platform" in the sense of boringssl's generate_build_files.py"""
yaml = None
def __init__(self, sources):
self.yaml = None
self.WriteFiles(sources)
def WriteFiles(self, files):
def WriteFiles(self, files, asm_outputs):
test_binaries = ['ssl_test', 'crypto_test']
asm_outputs = {
key: value for key, value in files.items() if any(
f.endswith(".S") or f.endswith(".asm") for f in value)
}
self.yaml = {
'#':
'generated with src/boringssl/gen_build_yaml.py',
@ -126,5 +120,29 @@ class Grpc(object):
}
grpc_platform = Grpc(sources)
print(yaml.dump(grpc_platform.yaml))
os.chdir(os.path.dirname(sys.argv[0]))
os.mkdir('src')
try:
for f in os.listdir(boring_ssl_root):
os.symlink(os.path.join(boring_ssl_root, f), os.path.join('src', f))
grpc_platform = Grpc()
# We use a hack to run boringssl's util/generate_build_files.py as part of this script.
# The call will populate "grpc_platform" with boringssl's source file metadata.
# As a side effect this script generates err_data.c and crypto_test_data.cc (requires golang)
# Both of these files are already available under third_party/boringssl-with-bazel
# so we don't need to generate them again, but there's no option to disable that behavior.
# - crypto_test_data.cc is required to run boringssl_crypto_test but we already
# use the copy under third_party/boringssl-with-bazel so we just delete it
# - err_data.c is already under third_party/boringssl-with-bazel so we just delete it
generate_build_files.main([grpc_platform])
print(yaml.dump(grpc_platform.yaml))
finally:
# we don't want err_data.c and crypto_test_data.cc (see comment above)
if os.path.exists('err_data.c'):
os.remove('err_data.c')
if os.path.exists('crypto_test_data.cc'):
os.remove('crypto_test_data.cc')
shutil.rmtree('src')

Loading…
Cancel
Save