diff options
Diffstat (limited to 'templates/grpc.gyp.template')
-rw-r--r-- | templates/grpc.gyp.template | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/templates/grpc.gyp.template b/templates/grpc.gyp.template new file mode 100644 index 0000000000..873606202a --- /dev/null +++ b/templates/grpc.gyp.template @@ -0,0 +1,125 @@ +%YAML 1.2 +--- | + # GRPC gyp file + # This currently builds C code. + # 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, Google Inc. + # All rights reserved. + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions are + # met: + # + # * Redistributions of source code must retain the above copyright + # notice, this list of conditions and the following disclaimer. + # * Redistributions in binary form must reproduce the above + # copyright notice, this list of conditions and the following disclaimer + # in the documentation and/or other materials provided with the + # distribution. + # * Neither the name of Google Inc. nor the names of its + # contributors may be used to endorse or promote products derived from + # this software without specific prior written permission. + # + # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + # Some of this file is built with the help of + # https://n8.io/converting-a-c-library-to-gyp/ + { + # TODO: Finish windows support + 'target_defaults': { + 'default_configuration': 'Debug', + 'configurations': { + 'Debug': { + 'defines': [ 'DEBUG', '_DEBUG' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'RuntimeLibrary': 1, # static debug + }, + }, + }, + 'Release': { + 'defines': [ 'NDEBUG' ], + 'msvs_settings': { + 'VCCLCompilerTool': { + 'RuntimeLibrary': 0, # static release + }, + }, + } + }, + 'msvs_settings': { + 'VCLinkerTool': { + 'GenerateDebugInformation': 'true', + }, + }, + # TODO: Add fallback for Windows, and if pkg-config is not available + 'defines': [ + 'TSI_OPENSSL_ALPN_SUPPORT=<!(pkg-config --atleast-version=1.0.2 openssl >/dev/null 2>&1 && echo 1 || echo 0)' + ], + 'include_dirs': [ + '.', + 'include' + ], + # TODO: Check for libraries with pkg-config + 'libraries': [ + '-lcrypto', + '-lssl', + '-ldl', + '-lpthread', + '-lz' + ] + }, + 'targets': [ + % for lib in libs: + # TODO: Add C++ targets + % if lib.language == 'c': + { + 'target_name': '${lib.name}', + 'product_prefix': 'lib', + 'type': 'static_library', + 'dependencies': [ + % for dep in getattr(lib, 'deps', []): + '${dep}', + % endfor + ], + 'sources': [ + % for source in lib.src: + '${source}', + % endfor + ], + }, + % endif + % endfor + % for tgt in targets: + % if tgt.language == 'c': + { + 'target_name': '${tgt.name}', + 'type': 'executable', + 'dependencies': [ + % for dep in getattr(tgt, 'deps', []): + '${dep}', + % endfor + ], + 'sources': [ + % for source in tgt.src: + '${source}', + % endfor + ] + }, + % endif + % endfor + ] + } |