123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162 |
- %YAML 1.2
- --- |
- # GRPC GYP build file
- # This file has been automatically generated from a template file.
- # Please look at the templates directory instead.
- # This file can be regenerated from the template by running
- # tools/buildgen/generate_projects.sh
- # Copyright 2015 gRPC authors.
- #
- # Licensed under the Apache License, Version 2.0 (the "License");
- # you may not use this file except in compliance with the License.
- # You may obtain a copy of the License at
- #
- # http://www.apache.org/licenses/LICENSE-2.0
- #
- # Unless required by applicable law or agreed to in writing, software
- # distributed under the License is distributed on an "AS IS" BASIS,
- # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- # See the License for the specific language governing permissions and
- # limitations under the License.
- <%
- def is_absl_lib(target_name):
- return target_name.startswith("absl/");
- %>
- {
- 'variables': {
- # The openssl and zlib dependencies must be passed in as variables
- # defined in an included gypi file, usually common.gypi.
- 'openssl_gyp_target%': 'Please Define openssl_gyp_target variable',
- 'zlib_gyp_target%': 'Please Define zlib_gyp_target variable',
- 'grpc_gcov%': 'false',
- 'grpc_alpine%': 'false',
- },
- 'target_defaults': {
- 'configurations': {
- % for name, args in configs.items():
- % if name in ['dbg', 'opt']:
- '${{'dbg':'Debug', 'opt': 'Release'}[name]}': {
- % for arg, prop in [('CPPFLAGS', 'cflags'), ('DEFINES', 'defines')]:
- % if args.get(arg, None) is not None:
- '${prop}': [
- % for item in args.get(arg).split():
- '${item}',
- % endfor
- ],
- % endif
- % endfor
- },
- % endif
- % endfor
- },
- % for arg, prop in [('CPPFLAGS', 'cflags'), ('LDFLAGS', 'ldflags')]:
- % if defaults['global'].get(arg, None) is not None:
- '${prop}': [
- % for item in defaults['global'].get(arg).split():
- '${item}',
- % endfor
- ],
- % endif
- % endfor
- 'cflags_c': [
- '-Werror',
- '-std=c99',
- ],
- 'cflags_cc': [
- '-Werror',
- '-std=c++11',
- ],
- 'include_dirs': [
- '.',
- '../..',
- 'include',
- ],
- 'defines': [
- 'GRPC_ARES=0',
- ],
- 'dependencies': [
- '<(openssl_gyp_target)',
- '<(zlib_gyp_target)',
- ],
- 'conditions': [
- ['grpc_gcov=="true"', {
- % for arg, prop in [('CPPFLAGS', 'cflags'), ('DEFINES', 'defines'), ('LDFLAGS', 'ldflags')]:
- % if configs['gcov'].get(arg, None) is not None:
- '${prop}': [
- % for item in configs['gcov'].get(arg).split():
- '${item}',
- % endfor
- ],
- % endif
- % endfor
- }],
- ['grpc_alpine=="true"', {
- 'defines': [
- 'GPR_MUSL_LIBC_COMPAT'
- ]
- }],
- ['OS == "win"', {
- 'defines': [
- '_WIN32_WINNT=0x0600',
- 'WIN32_LEAN_AND_MEAN',
- '_HAS_EXCEPTIONS=0',
- 'UNICODE',
- '_UNICODE',
- 'NOMINMAX',
- ],
- 'msvs_settings': {
- 'VCCLCompilerTool': {
- 'RuntimeLibrary': 1, # static debug
- }
- },
- "libraries": [
- "ws2_32"
- ]
- }],
- ['OS == "mac"', {
- 'xcode_settings': {
- % if defaults['global'].get('CPPFLAGS', None) is not None:
- 'OTHER_CFLAGS': [
- % for item in defaults['global'].get('CPPFLAGS').split():
- '${item}',
- % endfor
- ],
- 'OTHER_CPLUSPLUSFLAGS': [
- % for item in defaults['global'].get('CPPFLAGS').split():
- '${item}',
- % endfor
- '-stdlib=libc++',
- '-std=c++11',
- '-Wno-error=deprecated-declarations',
- ],
- % endif
- },
- }]
- ]
- },
- 'targets': [
- % for lib in libs:
- % if getattr(lib, 'platforms', None) is None and lib.name != 'ares' and not is_absl_lib(lib.name):
- {
- 'target_name': '${lib.name}',
- 'type': 'static_library',
- 'dependencies': [
- % for dep in getattr(lib, 'deps', []):
- % if dep != 'libssl':
- '${dep}',
- % endif
- % endfor
- ],
- 'sources': [
- % for source in lib.src:
- '${source}',
- % endfor
- ],
- },
- % endif
- % endfor
- ]
- }
|