|
|
|
# This file is used with the GYP meta build system.
|
|
|
|
# http://code.google.com/p/gyp/
|
|
|
|
# To build try this:
|
|
|
|
# svn co http://gyp.googlecode.com/svn/trunk gyp
|
|
|
|
# ./gyp/gyp -f make --depth=`pwd` http_parser.gyp
|
|
|
|
# ./out/Debug/test
|
|
|
|
{
|
|
|
|
'target_defaults': {
|
|
|
|
'default_configuration': 'Debug',
|
|
|
|
'configurations': {
|
|
|
|
# TODO: hoist these out and put them somewhere common, because
|
|
|
|
# RuntimeLibrary MUST MATCH across the entire project
|
|
|
|
'Debug': {
|
|
|
|
'defines': [ 'DEBUG', '_DEBUG' ],
|
|
|
|
'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ],
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
'RuntimeLibrary': 1, # static debug
|
|
|
|
},
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'Release': {
|
|
|
|
'defines': [ 'NDEBUG' ],
|
|
|
|
'cflags': [ '-Wall', '-Wextra', '-O3' ],
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
'RuntimeLibrary': 0, # static release
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}
|
|
|
|
},
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
},
|
|
|
|
'VCLibrarianTool': {
|
|
|
|
},
|
|
|
|
'VCLinkerTool': {
|
|
|
|
'GenerateDebugInformation': 'true',
|
|
|
|
},
|
|
|
|
},
|
|
|
|
'conditions': [
|
|
|
|
['OS == "win"', {
|
|
|
|
'defines': [
|
|
|
|
'WIN32'
|
|
|
|
],
|
|
|
|
}]
|
|
|
|
],
|
|
|
|
},
|
|
|
|
|
|
|
|
'variables': {
|
|
|
|
'http_max_header_size%': '8192'
|
|
|
|
},
|
|
|
|
|
|
|
|
'targets': [
|
|
|
|
{
|
|
|
|
'target_name': 'http_parser',
|
|
|
|
'type': 'static_library',
|
|
|
|
'include_dirs': [ '.' ],
|
|
|
|
'direct_dependent_settings': {
|
|
|
|
'defines': [ 'HTTP_PARSER_STRICT=0' ],
|
|
|
|
'include_dirs': [ '.' ],
|
|
|
|
},
|
|
|
|
'defines': [
|
|
|
|
'HTTP_MAX_HEADER_SIZE=<(http_max_header_size)',
|
|
|
|
'HTTP_PARSER_STRICT=0'
|
|
|
|
],
|
|
|
|
'sources': [ './http_parser.c', ],
|
|
|
|
'conditions': [
|
|
|
|
['OS=="win"', {
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
# Compile as C++. http_parser.c is actually C99, but C++ is
|
|
|
|
# close enough in this case.
|
|
|
|
'CompileAs': 2,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}]
|
|
|
|
],
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
'target_name': 'http_parser_strict',
|
|
|
|
'type': 'static_library',
|
|
|
|
'include_dirs': [ '.' ],
|
|
|
|
'direct_dependent_settings': {
|
|
|
|
'defines': [ 'HTTP_PARSER_STRICT=1' ],
|
|
|
|
'include_dirs': [ '.' ],
|
|
|
|
},
|
|
|
|
'defines': [
|
|
|
|
'HTTP_MAX_HEADER_SIZE=<(http_max_header_size)',
|
|
|
|
'HTTP_PARSER_STRICT=1'
|
|
|
|
],
|
|
|
|
'sources': [ './http_parser.c', ],
|
|
|
|
'conditions': [
|
|
|
|
['OS=="win"', {
|
|
|
|
'msvs_settings': {
|
|
|
|
'VCCLCompilerTool': {
|
|
|
|
# Compile as C++. http_parser.c is actually C99, but C++ is
|
|
|
|
# close enough in this case.
|
|
|
|
'CompileAs': 2,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
}]
|
|
|
|
],
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
'target_name': 'test-nonstrict',
|
|
|
|
'type': 'executable',
|
|
|
|
'dependencies': [ 'http_parser' ],
|
|
|
|
'sources': [ 'test.c' ]
|
|
|
|
},
|
|
|
|
|
|
|
|
{
|
|
|
|
'target_name': 'test-strict',
|
|
|
|
'type': 'executable',
|
|
|
|
'dependencies': [ 'http_parser_strict' ],
|
|
|
|
'sources': [ 'test.c' ]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|