build: build http-parser as a shared library Since the pristine package only ever builds as static library, it is to be assumed that the project does not track and enumerate ABI changes. Building it as shared nevertheless is therefore a distro extension - hence the "suse" suffix. Enumeration is therefore also distro-specific. Remove -O flags so %optflags take over. TODO: do this nicely upstream --- http_parser.gyp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) Index: http-parser-2.6.2/http_parser.gyp =================================================================== --- http-parser-2.6.2.orig/http_parser.gyp +++ http-parser-2.6.2/http_parser.gyp @@ -12,7 +12,7 @@ # RuntimeLibrary MUST MATCH across the entire project 'Debug': { 'defines': [ 'DEBUG', '_DEBUG' ], - 'cflags': [ '-Wall', '-Wextra', '-O0', '-g', '-ftrapv' ], + 'cflags': [ '-Wall', '-Wextra', '-g', '-ftrapv' ], 'msvs_settings': { 'VCCLCompilerTool': { 'RuntimeLibrary': 1, # static debug @@ -21,7 +21,7 @@ }, 'Release': { 'defines': [ 'NDEBUG' ], - 'cflags': [ '-Wall', '-Wextra', '-O3' ], + 'cflags': [ '-Wall', '-Wextra' ], 'msvs_settings': { 'VCCLCompilerTool': { 'RuntimeLibrary': 0, # static release @@ -50,7 +50,8 @@ 'targets': [ { 'target_name': 'http_parser', - 'type': 'static_library', + 'type': 'shared_library', + 'product_extension': 'so.suse0', 'include_dirs': [ '.' ], 'direct_dependent_settings': { 'defines': [ 'HTTP_PARSER_STRICT=0' ], @@ -73,7 +74,8 @@ { 'target_name': 'http_parser_strict', - 'type': 'static_library', + 'type': 'shared_library', + 'product_extension': 'so.suse0', 'include_dirs': [ '.' ], 'direct_dependent_settings': { 'defines': [ 'HTTP_PARSER_STRICT=1' ],