Merge pull request #23697 from emkornfield/rollback_rollback

Rollback to uses sources.json for BoringSSL
pull/23581/head
Lidi Zheng 4 years ago committed by GitHub
commit 4c6961c06a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 67
      src/boringssl/gen_build_yaml.py

@ -13,24 +13,24 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from __future__ import print_function import json
import shutil
import sys
import os import os
import sys
import yaml import yaml
sys.dont_write_bytecode = True run_dir = os.path.dirname(sys.argv[0])
sources_path = os.path.abspath(
boring_ssl_root = os.path.abspath( os.path.join(run_dir,
os.path.join(os.path.dirname(sys.argv[0]), '../../third_party/boringssl-with-bazel/sources.json'))
'../../third_party/boringssl-with-bazel/src'))
sys.path.append(os.path.join(boring_ssl_root, 'util'))
try: try:
import generate_build_files with open(sources_path, 'r') as s:
except ImportError: sources = json.load(s)
print(yaml.dump({})) except IOError:
sys.exit() sources_path = os.path.abspath(
os.path.join(run_dir,
'../../../../third_party/openssl/boringssl/sources.json'))
with open(sources_path, 'r') as s:
sources = json.load(s)
def map_dir(filename): def map_dir(filename):
@ -38,18 +38,19 @@ def map_dir(filename):
class Grpc(object): class Grpc(object):
"""Implements a "platform" in the sense of boringssl's generate_build_files.py""" """Adapter for boring-SSL json sources files. """
yaml = None
def WriteFiles(self, files, asm_outputs): def __init__(self, sources):
test_binaries = ['ssl_test', 'crypto_test'] self.yaml = None
self.WriteFiles(sources)
def WriteFiles(self, files):
test_binaries = ['ssl_test', 'crypto_test']
self.yaml = { self.yaml = {
'#': '#':
'generated with src/boringssl/gen_build_yaml.py', 'generated with src/boringssl/gen_build_yaml.py',
'raw_boringssl_build_output_for_debugging': { 'raw_boringssl_build_output_for_debugging': {
'files': files, 'files': files,
'asm_outputs': asm_outputs,
}, },
'libs': [ 'libs': [
{ {
@ -120,29 +121,5 @@ class Grpc(object):
} }
os.chdir(os.path.dirname(sys.argv[0])) grpc_platform = Grpc(sources)
os.mkdir('src') print(yaml.dump(grpc_platform.yaml))
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