Permalink
Browse files

build: refine static and shared lib build

Refine the static and shared lib build process in order
to integrate static and shared lib verfication into CI.
When building both static and shared lib, we still build
node executable now and it uses the shared and static lib.

Signed-off-by: Yihong Wang <yh.wang@ibm.com>

Fixes: #14158
PR-URL: #17604
Reviewed-By: Bartosz Sosnowski <bartosz@janeasystems.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Daniel Bevenius <daniel.bevenius@gmail.com>
  • Loading branch information...
yhwang authored and joyeecheung committed Dec 5, 2017
1 parent cd60c7d commit f878f9414eb6c7ef1d166404ae43444826706db8
Showing with 358 additions and 298 deletions.
  1. +8 −1 configure
  2. +250 −233 node.gyp
  3. +100 −40 node.gypi
  4. +0 −11 test/addons/openssl-binding/binding.gyp
  5. +0 −13 test/addons/zlib-binding/binding.gyp
@@ -878,7 +878,6 @@ def configure_node(o):
configure_mips(o)
if flavor == 'aix':
o['variables']['node_core_target_name'] = 'node_base'
o['variables']['node_target_type'] = 'static_library'
if target_arch in ('x86', 'x64', 'ia32', 'x32'):
@@ -988,6 +987,13 @@ def configure_node(o):
else:
o['variables']['coverage'] = 'false'
if options.shared:
o['variables']['node_target_type'] = 'shared_library'
elif options.enable_static:
o['variables']['node_target_type'] = 'static_library'
else:
o['variables']['node_target_type'] = 'executable'
def configure_library(lib, output):
shared_lib = 'shared_' + lib
output['variables']['node_' + shared_lib] = b(getattr(options, shared_lib))
@@ -1488,6 +1494,7 @@ config = {
'BUILDTYPE': 'Debug' if options.debug else 'Release',
'USE_XCODE': str(int(options.use_xcode or 0)),
'PYTHON': sys.executable,
'NODE_TARGET_TYPE': variables['node_target_type'],
}
if options.prefix:
Oops, something went wrong.

0 comments on commit f878f94

Please sign in to comment.