159 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
| %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
 | |
|     ]
 | |
|   }
 |