text: # 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'
          ],
        }]
      ],
    },
  
    'targets': [
      {
        'target_name': 'http_parser',
        'type': 'static_library',
        'include_dirs': [ '.' ],
        'direct_dependent_settings': {
          'defines': [ 'HTTP_PARSER_STRICT=0' ],
          'include_dirs': [ '.' ],
        },
        'defines': [ '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_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' ]
      }
    ]
  }
  