aboutsummaryrefslogtreecommitdiffhomepage
path: root/templates/grpc.gyp.template
diff options
context:
space:
mode:
Diffstat (limited to 'templates/grpc.gyp.template')
-rw-r--r--templates/grpc.gyp.template125
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
+ ]
+ }