| %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. |
| |
| { |
| '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.iteritems(): |
| % 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', |
| '../../third_party/nanopb', |
| ], |
| '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': |
| { |
| 'target_name': '${lib.name}', |
| 'type': 'static_library', |
| 'dependencies': [ |
| % for dep in getattr(lib, 'deps', []): |
| '${dep}', |
| % endfor |
| ], |
| 'sources': [ |
| % for source in lib.src: |
| '${source}', |
| % endfor |
| ], |
| }, |
| % endif |
| % endfor |
| ] |
| } |