mirror of
https://github.com/electron/node-gyp.git
synced 2025-08-15 12:58:19 +02:00

For AIX we need to use gmake. For AIX we need to set up the path to the exp file which contains the symbols needed for linking. The file will either be in one of the following depeding on whether are are in installed or development environment: - the include/node directory - the out/Release directory PR-URL: https://github.com/nodejs/node-gyp/pull/753 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
107 lines
3 KiB
Python
107 lines
3 KiB
Python
{
|
|
'target_defaults': {
|
|
'type': 'loadable_module',
|
|
'win_delay_load_hook': 'true',
|
|
'product_prefix': '',
|
|
|
|
'include_dirs': [
|
|
'<(node_root_dir)/include/node',
|
|
'<(node_root_dir)/src',
|
|
'<(node_root_dir)/deps/uv/include',
|
|
'<(node_root_dir)/deps/v8/include'
|
|
],
|
|
'defines': [
|
|
'NODE_GYP_MODULE_NAME=>(_target_name)'
|
|
],
|
|
|
|
'target_conditions': [
|
|
['_type=="loadable_module"', {
|
|
'product_extension': 'node',
|
|
'defines': [
|
|
'BUILDING_NODE_EXTENSION'
|
|
],
|
|
'xcode_settings': {
|
|
'OTHER_LDFLAGS': [
|
|
'-undefined dynamic_lookup'
|
|
],
|
|
},
|
|
}],
|
|
|
|
['_type=="static_library"', {
|
|
# set to `1` to *disable* the -T thin archive 'ld' flag.
|
|
# older linkers don't support this flag.
|
|
'standalone_static_library': '<(standalone_static_library)'
|
|
}],
|
|
|
|
['_win_delay_load_hook=="true"', {
|
|
# If the addon specifies `'win_delay_load_hook': 'true'` in its
|
|
# binding.gyp, link a delay-load hook into the DLL. This hook ensures
|
|
# that the addon will work regardless of whether the node/iojs binary
|
|
# is named node.exe, iojs.exe, or something else.
|
|
'conditions': [
|
|
[ 'OS=="win"', {
|
|
'sources': [
|
|
'<(node_gyp_dir)/src/win_delay_load_hook.c',
|
|
],
|
|
'msvs_settings': {
|
|
'VCLinkerTool': {
|
|
'DelayLoadDLLs': [ 'iojs.exe', 'node.exe' ],
|
|
# Don't print a linker warning when no imports from either .exe
|
|
# are used.
|
|
'AdditionalOptions': [ '/ignore:4199' ],
|
|
},
|
|
},
|
|
}],
|
|
],
|
|
}],
|
|
],
|
|
|
|
'conditions': [
|
|
[ 'OS=="mac"', {
|
|
'defines': [
|
|
'_DARWIN_USE_64_BIT_INODE=1'
|
|
],
|
|
'xcode_settings': {
|
|
'DYLIB_INSTALL_NAME_BASE': '@rpath'
|
|
},
|
|
}],
|
|
[ 'OS=="aix"', {
|
|
'ldflags': [
|
|
'-Wl,-bimport:<(node_exp_file)'
|
|
],
|
|
}],
|
|
[ 'OS=="win"', {
|
|
'libraries': [
|
|
'-lkernel32.lib',
|
|
'-luser32.lib',
|
|
'-lgdi32.lib',
|
|
'-lwinspool.lib',
|
|
'-lcomdlg32.lib',
|
|
'-ladvapi32.lib',
|
|
'-lshell32.lib',
|
|
'-lole32.lib',
|
|
'-loleaut32.lib',
|
|
'-luuid.lib',
|
|
'-lodbc32.lib',
|
|
'-lDelayImp.lib',
|
|
'-l"<(node_root_dir)/$(ConfigurationName)/<(node_lib_file)"'
|
|
],
|
|
'msvs_disabled_warnings': [
|
|
# warning C4251: 'node::ObjectWrap::handle_' : class 'v8::Persistent<T>'
|
|
# needs to have dll-interface to be used by
|
|
# clients of class 'node::ObjectWrap'
|
|
4251
|
|
],
|
|
}, {
|
|
# OS!="win"
|
|
'defines': [
|
|
'_LARGEFILE_SOURCE',
|
|
'_FILE_OFFSET_BITS=64'
|
|
],
|
|
}],
|
|
[ 'OS=="freebsd" or OS=="openbsd" or OS=="solaris" or (OS=="linux" and target_arch!="ia32")', {
|
|
'cflags': [ '-fPIC' ],
|
|
}]
|
|
]
|
|
}
|
|
}
|