Merge pull request #23652 from grpc/revert-23568-use_sources

Revert "Uses sources.json from BoringSSL"
pull/23656/head
Karthik Ravi Shankar 4 years ago committed by GitHub
commit eaa670510c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 59
      src/boringssl/gen_build_yaml.py

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