simplify build.yaml: get rid of the "secure" field (#25547)

* get rid of useless "secure" field from build.yaml

* remove nonsensical "liblibssl.a" dependency from makefile

* regenerate projects
pull/25615/head
Jan Tattermusch 4 years ago committed by GitHub
parent 1dce57f35f
commit a2697e4592
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      BUILD.gn
  2. 299
      CMakeLists.txt
  3. 6
      Makefile
  4. 313
      build_autogenerated.yaml
  5. 6
      templates/BUILD.gn.template
  6. 4
      templates/CMakeLists.txt.template
  7. 18
      templates/Makefile.template
  8. 11
      templates/README.md
  9. 2
      templates/grpc.gyp.template
  10. 19
      tools/buildgen/extract_metadata_from_bazel_xml.py

@ -1231,11 +1231,11 @@ config("grpc_config") {
"src/core/tsi/transport_security_interface.h",
]
deps = [
"//third_party/boringssl",
"//third_party/zlib",
":gpr",
":address_sorting",
":upb",
"//third_party/boringssl",
":absl/types:optional",
":absl/strings:strings",
":absl/status:statusor",
@ -1513,6 +1513,7 @@ config("grpc_config") {
":gpr",
":address_sorting",
":upb",
"//third_party/boringssl",
":absl/synchronization:synchronization",
]

File diff suppressed because it is too large Load Diff

@ -1670,15 +1670,15 @@ ifeq ($(SYSTEM),MINGW32)
$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(RE2_DEP) $(UPB_DEP) $(GRPC_ABSEIL_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_DEP)
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,--output-def=$(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CORE).def -Wl,--out-implib=$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE)-dll.a -o $(LIBDIR)/$(CONFIG)/grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
else
$(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE): $(LIBGRPC_CSHARP_EXT_OBJS) $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(RE2_DEP) $(UPB_DEP) $(GRPC_ABSEIL_DEP) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_DEP)
$(E) "[LD] Linking $@"
$(Q) mkdir -p `dirname $@`
ifeq ($(SYSTEM),Darwin)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -install_name $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) -dynamiclib -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
else
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.15 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
$(Q) $(LDXX) $(LDFLAGS) -L$(LIBDIR)/$(CONFIG) -shared -Wl,-soname,libgrpc_csharp_ext.so.15 -o $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBGRPC_CSHARP_EXT_OBJS) $(LIBDIR)/$(CONFIG)/libgrpc.a $(LIBDIR)/$(CONFIG)/libgpr.a $(LIBDIR)/$(CONFIG)/libaddress_sorting.a $(LIBDIR)/$(CONFIG)/libupb.a $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE) $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS) $(LDLIBS)
$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).so.15
$(Q) ln -sf $(SHARED_PREFIX)grpc_csharp_ext$(SHARED_VERSION_CORE).$(SHARED_EXT_CORE) $(LIBDIR)/$(CONFIG)/libgrpc_csharp_ext$(SHARED_VERSION_CORE).so
endif

File diff suppressed because it is too large Load Diff

@ -35,8 +35,6 @@
<%!
def get_deps(target_dict):
deps = []
if target_dict.get("secure", False):
deps = ["//third_party/boringssl"]
if target_dict.get("build", None) == "protoc":
deps.append("//third_party/protobuf:protoc_lib")
name = target_dict.get("name", None)
@ -45,7 +43,9 @@
elif name in ("grpc", "grpc_unsecure"):
deps.append("//third_party/zlib")
for d in target_dict.get("deps", []):
if d.startswith(("//", ":")):
if d == "libssl":
deps.append("//third_party/boringssl")
elif d.startswith(("//", ":")):
deps.append(d)
else:
deps.append(":%s" % d)

@ -60,8 +60,6 @@
deps.append("${_gRPC_BASELIB_LIBRARIES}")
if target_dict.get('build', None) in ['protoc']:
deps.append("${_gRPC_PROTOBUF_PROTOC_LIBRARIES}")
if target_dict.get('secure', False):
deps.append("${_gRPC_SSL_LIBRARIES}")
if target_dict.language == 'c++':
deps.append("${_gRPC_PROTOBUF_LIBRARIES}")
if target_dict['name'] in ['grpc', 'grpc_cronet', 'grpc_unsecure']:
@ -74,6 +72,8 @@
for d in target_dict.get('deps', []):
if d == 'benchmark':
deps.append("${_gRPC_BENCHMARK_LIBRARIES}")
elif d == 'libssl':
deps.append("${_gRPC_SSL_LIBRARIES}")
elif is_absl_lib(d):
deps.append(get_absl_dep(d))
else:

@ -860,7 +860,6 @@
"defaults": "abseil",
"src": sorted(used_abseil_srcs),
"hdr": sorted(used_abseil_hdrs),
"secure": False,
})
%>
${makelib(grpc_abseil_lib)}
@ -897,7 +896,7 @@
% endif
## If the library requires OpenSSL, let's add some restrictions.
% if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check':
% if 'libssl' in lib.get('deps', []):
ifeq ($(NO_SECURE),true)
# You can't build secure libraries if you don't have OpenSSL.
@ -932,7 +931,7 @@
$(ADDRESS_SORTING_MERGE_OBJS) \
$(RE2_MERGE_OBJS) \
$(UPB_MERGE_OBJS) \
% if lib.get('secure', 'check') == True:
% if 'libssl' in lib.get('deps', []):
$(OPENSSL_MERGE_OBJS) \
% endif
% endif
@ -949,7 +948,7 @@
$(ADDRESS_SORTING_MERGE_OBJS) \
$(RE2_MERGE_OBJS) \
$(UPB_MERGE_OBJS) \
% if lib.get('secure', 'check') == True:
% if 'libssl' in lib.get('deps', []):
$(OPENSSL_MERGE_OBJS) \
% endif
% endif
@ -972,12 +971,13 @@
mingw_lib_deps = ' $(ZLIB_DEP) $(CARES_DEP) $(ADDRESS_SORTING_DEP) $(RE2_DEP) $(UPB_DEP) $(GRPC_ABSEIL_DEP)'
for dep in lib.get('deps', []):
if is_absl_lib(dep): continue
if 'libssl' == dep: continue
lib_archive = '$(LIBDIR)/$(CONFIG)/lib' + dep + '.a'
common = common + ' ' + lib_archive
lib_deps = lib_deps + ' ' + lib_archive
mingw_lib_deps = mingw_lib_deps + ' ' + lib_archive
security = lib.get('secure', 'check')
security = 'libssl' in lib.get('deps', [])
if security == True:
common = common + ' $(OPENSSL_MERGE_LIBS) $(LDLIBS_SECURE)'
common = common + ' $(ZLIB_MERGE_LIBS) $(CARES_MERGE_LIBS) $(ADDRESS_SORTING_MERGE_LIBS) $(RE2_MERGE_LIBS) $(UPB_MERGE_LIBS) $(GRPC_ABSEIL_MERGE_LIBS)'
@ -989,7 +989,7 @@
for src in lib.src:
sources_that_don_t_need_openssl.add(src)
if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check':
if 'libssl' in lib.get('deps', []):
lib_deps = lib_deps + ' $(OPENSSL_DEP)'
mingw_lib_deps = mingw_lib_deps + ' $(OPENSSL_DEP)'
@ -1019,20 +1019,20 @@
endif
endif
% endif
% if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check':
% if 'libssl' in lib.get('deps', []):
## If the lib was secure, we have to close the Makefile's if that tested
## the presence of OpenSSL.
endif
% endif
% if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check':
% if 'libssl' in lib.get('deps', []):
ifneq ($(NO_SECURE),true)
% endif
ifneq ($(NO_DEPS),true)
-include $(LIB${lib.name.upper()}_OBJS:.o=.dep)
endif
% if lib.get('secure', 'check') == True or lib.get('secure', 'check') == 'check':
% if 'libssl' in lib.get('deps', []):
endif
% endif
# end of build recipe for library "${lib.name}"

@ -76,7 +76,6 @@ language: "...", # the language tag; "c" or "c++"
public_headers: # list of public headers to install
headers: # list of headers used by that target
src: # list of files to compile
secure: boolean, # see below
baselib: boolean, # this is a low level library that has system
# dependencies
filegroups: # list of filegroups to merge to that project
@ -99,16 +98,6 @@ All of the targets should always be present in the generated project file, if
possible and applicable. But the build tag is what should group the targets
together in a single build command.
## The `"secure"` tag
This means this target requires OpenSSL one way or another. The values can be
`"yes"`, `"no"` and `"check"`. The default value is `"check"`. It means that
the target requires OpenSSL, but that since the target depends on another one
that is supposed to also import OpenSSL, the import should then be implicitely
transitive. `"check"` should then only disable that target if OpenSSL hasn't
been found or is unavailable.
## The `"baselib"` boolean
This means this is a library that will provide most of the features for gRPC.

@ -145,7 +145,9 @@
'type': 'static_library',
'dependencies': [
% for dep in getattr(lib, 'deps', []):
% if dep != 'libssl':
'${dep}',
% endif
% endfor
],
'sources': [

@ -238,6 +238,8 @@ def _external_dep_name_from_bazel_dependency(bazel_dep):
return 'upb'
elif bazel_dep == '//external:benchmark':
return 'benchmark'
elif bazel_dep == '//external:libssl':
return 'libssl'
else:
# all the other external deps such as protobuf, cares, zlib
# don't need to be listed explicitly, they are handled automatically
@ -627,24 +629,20 @@ def _detect_and_print_issues(build_yaml_like):
# there are mostly extra properties that we weren't able to obtain from the bazel build
# _TYPE: whether this is library, target or test
# _RENAME: whether this target should be renamed to a different name (to match expectations of make and cmake builds)
# NOTE: secure is 'check' by default, so setting secure = False below does matter
_BUILD_EXTRA_METADATA = {
'third_party/address_sorting:address_sorting': {
'language': 'c',
'build': 'all',
'secure': False,
'_RENAME': 'address_sorting'
},
'gpr': {
'language': 'c',
'build': 'all',
'secure': False
},
'grpc': {
'language': 'c',
'build': 'all',
'baselib': True,
'secure': True,
'generate_plugin_registry': True
},
'grpc++': {
@ -669,7 +667,6 @@ _BUILD_EXTRA_METADATA = {
'language': 'c++',
'build': 'all',
'baselib': True,
'secure': False,
},
# TODO(jtattermusch): do we need to set grpc_csharp_ext's LDFLAGS for wrapping memcpy in the same way as in build.yaml?
'grpc_csharp_ext': {
@ -680,7 +677,6 @@ _BUILD_EXTRA_METADATA = {
'language': 'c',
'build': 'all',
'baselib': True,
'secure': False,
'generate_plugin_registry': True
},
'grpcpp_channelz': {
@ -694,55 +690,47 @@ _BUILD_EXTRA_METADATA = {
'src/compiler:grpc_plugin_support': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_RENAME': 'grpc_plugin_support'
},
'src/compiler:grpc_cpp_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_cpp_plugin'
},
'src/compiler:grpc_csharp_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_csharp_plugin'
},
'src/compiler:grpc_node_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_node_plugin'
},
'src/compiler:grpc_objective_c_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_objective_c_plugin'
},
'src/compiler:grpc_php_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_php_plugin'
},
'src/compiler:grpc_python_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_python_plugin'
},
'src/compiler:grpc_ruby_plugin': {
'language': 'c++',
'build': 'protoc',
'secure': False,
'_TYPE': 'target',
'_RENAME': 'grpc_ruby_plugin'
},
@ -758,7 +746,6 @@ _BUILD_EXTRA_METADATA = {
'test/core/util:grpc_test_util_unsecure': {
'language': 'c',
'build': 'private',
'secure': False,
'_RENAME': 'grpc_test_util_unsecure'
},
# TODO(jtattermusch): consider adding grpc++_test_util_unsecure - it doesn't seem to be used by bazel build (don't forget to set secure: False)
@ -777,13 +764,11 @@ _BUILD_EXTRA_METADATA = {
'test/core/end2end:end2end_tests': {
'language': 'c',
'build': 'private',
'secure': True,
'_RENAME': 'end2end_tests'
},
'test/core/end2end:end2end_nosec_tests': {
'language': 'c',
'build': 'private',
'secure': False,
'_RENAME': 'end2end_nosec_tests'
},

Loading…
Cancel
Save