Rename gyp files to produce useful solution names.
Hoist common settings into common.gypi. Restrict v8's common.gypi to v8 projects. Ensure v8 doesn't use /MP in debug builds. Add basic settings for other platforms. Make uv import common.gypi properly. Remove LTCG warning.
This commit is contained in:
Родитель
a5d90c435c
Коммит
16788f461a
|
@ -0,0 +1,164 @@
|
|||
{
|
||||
'variables': {
|
||||
'target_arch%': 'ia32', # set v8's target architecture
|
||||
'host_arch%': 'ia32', # set v8's host architecture
|
||||
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
||||
'component%': 'static_library', # NB. these names match with what V8 expects
|
||||
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
|
||||
},
|
||||
|
||||
'target_defaults': {
|
||||
'default_configuration': 'Debug',
|
||||
'configurations': {
|
||||
'Debug': {
|
||||
'defines': [ 'DEBUG', '_DEBUG' ],
|
||||
'cflags': [ '-g', '-O0' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'target_conditions': [
|
||||
['library=="static_library"', {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
}, {
|
||||
'RuntimeLibrary': 3, # DLL debug
|
||||
}],
|
||||
],
|
||||
'Optimization': 0, # /Od, no optimization
|
||||
'MinimalRebuild': 'true',
|
||||
'OmitFramePointers': 'false',
|
||||
'BasicRuntimeChecks': 3, # /RTC1
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'LinkIncremental': 2, # enable incremental linking
|
||||
},
|
||||
},
|
||||
},
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'target_conditions': [
|
||||
['library=="static_library"', {
|
||||
'RuntimeLibrary': 0, # static release
|
||||
}, {
|
||||
'RuntimeLibrary': 2, # debug release
|
||||
}],
|
||||
],
|
||||
'Optimization': 3, # /Ox, full optimization
|
||||
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
|
||||
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
|
||||
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
|
||||
'OmitFramePointers': 'true',
|
||||
'EnableFunctionLevelLinking': 'true',
|
||||
'EnableIntrinsicFunctions': 'true',
|
||||
'AdditionalOptions': [
|
||||
'/MP', # compile across multiple CPUs
|
||||
],
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
'AdditionalOptions': [
|
||||
'/LTCG', # link time code generation
|
||||
],
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'LinkTimeCodeGeneration': 1, # link-time code generation
|
||||
'OptimizeReferences': 2, # /OPT:REF
|
||||
'EnableCOMDATFolding': 2, # /OPT:ICF
|
||||
'LinkIncremental': 1, # disable incremental linking
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'StringPooling': 'true', # pool string literals
|
||||
'DebugInformationFormat': 3, # Generate a PDB
|
||||
'WarningLevel': 3,
|
||||
'BufferSecurityCheck': 'true',
|
||||
'ExceptionHandling': 1, # /EHsc
|
||||
'SuppressStartupBanner': 'true',
|
||||
'WarnAsError': 'false',
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
'RandomizedBaseAddress': 2, # enable ASLR
|
||||
'DataExecutionPrevention': 2, # enable DEP
|
||||
'AllowIsolation': 'true',
|
||||
'SuppressStartupBanner': 'true',
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS == "win"', {
|
||||
'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
|
||||
'defines': [
|
||||
'WIN32',
|
||||
# we don't really want VC++ warning us about
|
||||
# how dangerous C functions are...
|
||||
'_CRT_SECURE_NO_DEPRECATE',
|
||||
# ... or that C implementations shouldn't use
|
||||
# POSIX names
|
||||
'_CRT_NONSTDC_NO_DEPRECATE',
|
||||
],
|
||||
}],
|
||||
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
|
||||
'target_defaults': {
|
||||
'cflags': [ '-Wall', '-pthread', '-fno-rtti', '-fno-exceptions' ],
|
||||
'ldflags': [ '-pthread', ],
|
||||
'conditions': [
|
||||
[ 'target_arch=="ia32"', {
|
||||
'cflags': [ '-m32' ],
|
||||
'ldflags': [ '-m32' ],
|
||||
}],
|
||||
[ 'OS=="linux"', {
|
||||
'cflags': [ '-ansi' ],
|
||||
}],
|
||||
[ 'visibility=="hidden"', {
|
||||
'cflags': [ '-fvisibility=hidden' ],
|
||||
}],
|
||||
],
|
||||
},
|
||||
}],
|
||||
['OS=="mac"', {
|
||||
'target_defaults': {
|
||||
'xcode_settings': {
|
||||
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
||||
'GCC_C_LANGUAGE_STANDARD': 'ansi', # -ansi
|
||||
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
|
||||
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
|
||||
# (Equivalent to -fPIC)
|
||||
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
||||
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
||||
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
||||
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
||||
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
||||
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
||||
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
||||
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
|
||||
'GCC_VERSION': '4.2',
|
||||
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
|
||||
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
|
||||
'PREBINDING': 'NO', # No -Wl,-prebind
|
||||
'USE_HEADERMAP': 'NO',
|
||||
'OTHER_CFLAGS': [
|
||||
'-fno-strict-aliasing',
|
||||
],
|
||||
'WARNING_CFLAGS': [
|
||||
'-Wall',
|
||||
'-Wendif-labels',
|
||||
'-W',
|
||||
'-Wno-unused-parameter',
|
||||
'-Wnon-virtual-dtor',
|
||||
],
|
||||
},
|
||||
'target_conditions': [
|
||||
['_type!="static_library"', {
|
||||
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
||||
}],
|
||||
],
|
||||
},
|
||||
}],
|
||||
],
|
||||
},
|
||||
}
|
|
@ -5,69 +5,24 @@
|
|||
# ./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' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
},
|
||||
},
|
||||
},
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'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',
|
||||
'type': '<(library)',
|
||||
'include_dirs': [ '.' ],
|
||||
'direct_dependent_settings': {
|
||||
'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,
|
||||
},
|
||||
},
|
||||
}]
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
# Compile as C++. http_parser.c is actually C99, but C++ is
|
||||
# close enough in this case.
|
||||
'CompileAs': 2, # compile as C++
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
'target_name': 'test',
|
||||
'type': 'executable',
|
||||
|
|
|
@ -1,13 +1,164 @@
|
|||
{
|
||||
'conditions': [
|
||||
['OS=="win"', {
|
||||
'target_defaults': {
|
||||
'variables': {
|
||||
'target_arch%': 'ia32', # set v8's target architecture
|
||||
'host_arch%': 'ia32', # set v8's host architecture
|
||||
'library%': 'static_library', # allow override to 'shared_library' for DLL/.so builds
|
||||
'component%': 'static_library', # NB. these names match with what V8 expects
|
||||
'msvs_multi_core_compile': '0', # we do enable multicore compiles, but not using the V8 way
|
||||
},
|
||||
|
||||
'target_defaults': {
|
||||
'default_configuration': 'Debug',
|
||||
'configurations': {
|
||||
'Debug': {
|
||||
'defines': [ 'DEBUG', '_DEBUG' ],
|
||||
'cflags': [ '-g', '-O0' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'target_conditions': [
|
||||
['library=="static_library"', {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
}, {
|
||||
'RuntimeLibrary': 3, # DLL debug
|
||||
}],
|
||||
],
|
||||
'Optimization': 0, # /Od, no optimization
|
||||
'MinimalRebuild': 'true',
|
||||
'OmitFramePointers': 'false',
|
||||
'BasicRuntimeChecks': 3, # /RTC1
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
'LinkIncremental': 2, # enable incremental linking
|
||||
},
|
||||
},
|
||||
},
|
||||
}], # OS=="win"
|
||||
],
|
||||
}
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'target_conditions': [
|
||||
['library=="static_library"', {
|
||||
'RuntimeLibrary': 0, # static release
|
||||
}, {
|
||||
'RuntimeLibrary': 2, # debug release
|
||||
}],
|
||||
],
|
||||
'Optimization': 3, # /Ox, full optimization
|
||||
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
|
||||
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
|
||||
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
|
||||
'OmitFramePointers': 'true',
|
||||
'EnableFunctionLevelLinking': 'true',
|
||||
'EnableIntrinsicFunctions': 'true',
|
||||
'AdditionalOptions': [
|
||||
'/MP', # compile across multiple CPUs
|
||||
],
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
'AdditionalOptions': [
|
||||
'/LTCG', # link time code generation
|
||||
],
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'LinkTimeCodeGeneration': 1, # link-time code generation
|
||||
'OptimizeReferences': 2, # /OPT:REF
|
||||
'EnableCOMDATFolding': 2, # /OPT:ICF
|
||||
'LinkIncremental': 1, # disable incremental linking
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'StringPooling': 'true', # pool string literals
|
||||
'DebugInformationFormat': 3, # Generate a PDB
|
||||
'WarningLevel': 3,
|
||||
'BufferSecurityCheck': 'true',
|
||||
'ExceptionHandling': 1, # /EHsc
|
||||
'SuppressStartupBanner': 'true',
|
||||
'WarnAsError': 'false',
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
'RandomizedBaseAddress': 2, # enable ASLR
|
||||
'DataExecutionPrevention': 2, # enable DEP
|
||||
'AllowIsolation': 'true',
|
||||
'SuppressStartupBanner': 'true',
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS == "win"', {
|
||||
'msvs_cygwin_shell': 0, # prevent actions from trying to use cygwin
|
||||
'defines': [
|
||||
'WIN32',
|
||||
# we don't really want VC++ warning us about
|
||||
# how dangerous C functions are...
|
||||
'_CRT_SECURE_NO_DEPRECATE',
|
||||
# ... or that C implementations shouldn't use
|
||||
# POSIX names
|
||||
'_CRT_NONSTDC_NO_DEPRECATE',
|
||||
],
|
||||
}],
|
||||
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
|
||||
'target_defaults': {
|
||||
'cflags': [ '-Wall', '-pthread', '-fno-rtti', '-fno-exceptions' ],
|
||||
'ldflags': [ '-pthread', ],
|
||||
'conditions': [
|
||||
[ 'target_arch=="ia32"', {
|
||||
'cflags': [ '-m32' ],
|
||||
'ldflags': [ '-m32' ],
|
||||
}],
|
||||
[ 'OS=="linux"', {
|
||||
'cflags': [ '-ansi' ],
|
||||
}],
|
||||
[ 'visibility=="hidden"', {
|
||||
'cflags': [ '-fvisibility=hidden' ],
|
||||
}],
|
||||
],
|
||||
},
|
||||
}],
|
||||
['OS=="mac"', {
|
||||
'target_defaults': {
|
||||
'xcode_settings': {
|
||||
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
||||
'GCC_C_LANGUAGE_STANDARD': 'ansi', # -ansi
|
||||
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
|
||||
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
|
||||
# (Equivalent to -fPIC)
|
||||
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
||||
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
||||
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
||||
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
||||
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
||||
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
||||
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
||||
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
|
||||
'GCC_VERSION': '4.2',
|
||||
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
|
||||
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
|
||||
'PREBINDING': 'NO', # No -Wl,-prebind
|
||||
'USE_HEADERMAP': 'NO',
|
||||
'OTHER_CFLAGS': [
|
||||
'-fno-strict-aliasing',
|
||||
],
|
||||
'WARNING_CFLAGS': [
|
||||
'-Wall',
|
||||
'-Wendif-labels',
|
||||
'-W',
|
||||
'-Wno-unused-parameter',
|
||||
'-Wnon-virtual-dtor',
|
||||
],
|
||||
},
|
||||
'target_conditions': [
|
||||
['_type!="static_library"', {
|
||||
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
||||
}],
|
||||
],
|
||||
},
|
||||
}],
|
||||
],
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,207 +0,0 @@
|
|||
{
|
||||
'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' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
},
|
||||
},
|
||||
},
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 0, # static release
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS == "win"', {
|
||||
'defines': [
|
||||
'WIN32'
|
||||
],
|
||||
}]
|
||||
],
|
||||
},
|
||||
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'pthread-win32',
|
||||
'type': 'static_library',
|
||||
'include_dirs': [ '../' ],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [ '../' ],
|
||||
},
|
||||
'defines': [
|
||||
'HAVE_PTW32_CONFIG_H',
|
||||
'__CLEANUP_C',
|
||||
'WIN32'
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
},
|
||||
},
|
||||
'sources': [
|
||||
'../autostatic.c',
|
||||
'../cleanup.c',
|
||||
'../create.c',
|
||||
'../dll.c',
|
||||
'../errno.c',
|
||||
'../fork.c',
|
||||
'../global.c',
|
||||
'../pthread_attr_destroy.c',
|
||||
'../pthread_attr_getdetachstate.c',
|
||||
'../pthread_attr_getinheritsched.c',
|
||||
'../pthread_attr_getschedparam.c',
|
||||
'../pthread_attr_getschedpolicy.c',
|
||||
'../pthread_attr_getscope.c',
|
||||
'../pthread_attr_getstackaddr.c',
|
||||
'../pthread_attr_getstacksize.c',
|
||||
'../pthread_attr_init.c',
|
||||
'../pthread_attr_setdetachstate.c',
|
||||
'../pthread_attr_setinheritsched.c',
|
||||
'../pthread_attr_setschedparam.c',
|
||||
'../pthread_attr_setschedpolicy.c',
|
||||
'../pthread_attr_setscope.c',
|
||||
'../pthread_attr_setstackaddr.c',
|
||||
'../pthread_attr_setstacksize.c',
|
||||
'../pthread_barrierattr_destroy.c',
|
||||
'../pthread_barrierattr_getpshared.c',
|
||||
'../pthread_barrierattr_init.c',
|
||||
'../pthread_barrierattr_setpshared.c',
|
||||
'../pthread_barrier_destroy.c',
|
||||
'../pthread_barrier_init.c',
|
||||
'../pthread_barrier_wait.c',
|
||||
'../pthread_cancel.c',
|
||||
'../pthread_condattr_destroy.c',
|
||||
'../pthread_condattr_getpshared.c',
|
||||
'../pthread_condattr_init.c',
|
||||
'../pthread_condattr_setpshared.c',
|
||||
'../pthread_cond_destroy.c',
|
||||
'../pthread_cond_init.c',
|
||||
'../pthread_cond_signal.c',
|
||||
'../pthread_cond_wait.c',
|
||||
'../pthread_delay_np.c',
|
||||
'../pthread_detach.c',
|
||||
'../pthread_equal.c',
|
||||
'../pthread_exit.c',
|
||||
'../pthread_getconcurrency.c',
|
||||
'../pthread_getschedparam.c',
|
||||
'../pthread_getspecific.c',
|
||||
'../pthread_getunique_np.c',
|
||||
'../pthread_getw32threadhandle_np.c',
|
||||
'../pthread_join.c',
|
||||
'../pthread_key_create.c',
|
||||
'../pthread_key_delete.c',
|
||||
'../pthread_kill.c',
|
||||
'../pthread_mutexattr_destroy.c',
|
||||
'../pthread_mutexattr_getkind_np.c',
|
||||
'../pthread_mutexattr_getpshared.c',
|
||||
'../pthread_mutexattr_getrobust.c',
|
||||
'../pthread_mutexattr_gettype.c',
|
||||
'../pthread_mutexattr_init.c',
|
||||
'../pthread_mutexattr_setkind_np.c',
|
||||
'../pthread_mutexattr_setpshared.c',
|
||||
'../pthread_mutexattr_setrobust.c',
|
||||
'../pthread_mutexattr_settype.c',
|
||||
'../pthread_mutex_consistent.c',
|
||||
'../pthread_mutex_destroy.c',
|
||||
'../pthread_mutex_init.c',
|
||||
'../pthread_mutex_lock.c',
|
||||
'../pthread_mutex_timedlock.c',
|
||||
'../pthread_mutex_trylock.c',
|
||||
'../pthread_mutex_unlock.c',
|
||||
'../pthread_num_processors_np.c',
|
||||
'../pthread_once.c',
|
||||
'../pthread_rwlockattr_destroy.c',
|
||||
'../pthread_rwlockattr_getpshared.c',
|
||||
'../pthread_rwlockattr_init.c',
|
||||
'../pthread_rwlockattr_setpshared.c',
|
||||
'../pthread_rwlock_destroy.c',
|
||||
'../pthread_rwlock_init.c',
|
||||
'../pthread_rwlock_rdlock.c',
|
||||
'../pthread_rwlock_timedrdlock.c',
|
||||
'../pthread_rwlock_timedwrlock.c',
|
||||
'../pthread_rwlock_tryrdlock.c',
|
||||
'../pthread_rwlock_trywrlock.c',
|
||||
'../pthread_rwlock_unlock.c',
|
||||
'../pthread_rwlock_wrlock.c',
|
||||
'../pthread_self.c',
|
||||
'../pthread_setcancelstate.c',
|
||||
'../pthread_setcanceltype.c',
|
||||
'../pthread_setconcurrency.c',
|
||||
'../pthread_setschedparam.c',
|
||||
'../pthread_setspecific.c',
|
||||
'../pthread_spin_destroy.c',
|
||||
'../pthread_spin_init.c',
|
||||
'../pthread_spin_lock.c',
|
||||
'../pthread_spin_trylock.c',
|
||||
'../pthread_spin_unlock.c',
|
||||
'../pthread_testcancel.c',
|
||||
'../pthread_timechange_handler_np.c',
|
||||
'../pthread_win32_attach_detach_np.c',
|
||||
'../ptw32_calloc.c',
|
||||
'../ptw32_callUserDestroyRoutines.c',
|
||||
'../ptw32_cond_check_need_init.c',
|
||||
'../ptw32_getprocessors.c',
|
||||
'../ptw32_is_attr.c',
|
||||
'../ptw32_MCS_lock.c',
|
||||
'../ptw32_mutex_check_need_init.c',
|
||||
'../ptw32_new.c',
|
||||
'../ptw32_processInitialize.c',
|
||||
'../ptw32_processTerminate.c',
|
||||
'../ptw32_relmillisecs.c',
|
||||
'../ptw32_reuse.c',
|
||||
'../ptw32_rwlock_cancelwrwait.c',
|
||||
'../ptw32_rwlock_check_need_init.c',
|
||||
'../ptw32_semwait.c',
|
||||
'../ptw32_spinlock_check_need_init.c',
|
||||
'../ptw32_threadDestroy.c',
|
||||
'../ptw32_threadStart.c',
|
||||
'../ptw32_throw.c',
|
||||
'../ptw32_timespec.c',
|
||||
'../ptw32_tkAssocCreate.c',
|
||||
'../ptw32_tkAssocDestroy.c',
|
||||
'../sched_getscheduler.c',
|
||||
'../sched_get_priority_max.c',
|
||||
'../sched_get_priority_min.c',
|
||||
'../sched_setscheduler.c',
|
||||
'../sched_yield.c',
|
||||
'../sem_close.c',
|
||||
'../sem_destroy.c',
|
||||
'../sem_getvalue.c',
|
||||
'../sem_init.c',
|
||||
'../sem_open.c',
|
||||
'../sem_post.c',
|
||||
'../sem_post_multiple.c',
|
||||
'../sem_timedwait.c',
|
||||
'../sem_trywait.c',
|
||||
'../sem_unlink.c',
|
||||
'../sem_wait.c',
|
||||
'../signal.c',
|
||||
'../w32_CancelableWait.c',
|
||||
],
|
||||
},
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,165 @@
|
|||
{
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'pthread-win32',
|
||||
'type': '<(library)',
|
||||
'include_dirs': [
|
||||
'.'
|
||||
],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [
|
||||
'.'
|
||||
],
|
||||
},
|
||||
'conditions': [
|
||||
['OS=="win"', {
|
||||
'defines': [
|
||||
'HAVE_PTW32_CONFIG_H',
|
||||
'__CLEANUP_C'
|
||||
],
|
||||
'sources': [
|
||||
'autostatic.c',
|
||||
'cleanup.c',
|
||||
'create.c',
|
||||
'dll.c',
|
||||
'errno.c',
|
||||
'fork.c',
|
||||
'global.c',
|
||||
'pthread_attr_destroy.c',
|
||||
'pthread_attr_getdetachstate.c',
|
||||
'pthread_attr_getinheritsched.c',
|
||||
'pthread_attr_getschedparam.c',
|
||||
'pthread_attr_getschedpolicy.c',
|
||||
'pthread_attr_getscope.c',
|
||||
'pthread_attr_getstackaddr.c',
|
||||
'pthread_attr_getstacksize.c',
|
||||
'pthread_attr_init.c',
|
||||
'pthread_attr_setdetachstate.c',
|
||||
'pthread_attr_setinheritsched.c',
|
||||
'pthread_attr_setschedparam.c',
|
||||
'pthread_attr_setschedpolicy.c',
|
||||
'pthread_attr_setscope.c',
|
||||
'pthread_attr_setstackaddr.c',
|
||||
'pthread_attr_setstacksize.c',
|
||||
'pthread_barrierattr_destroy.c',
|
||||
'pthread_barrierattr_getpshared.c',
|
||||
'pthread_barrierattr_init.c',
|
||||
'pthread_barrierattr_setpshared.c',
|
||||
'pthread_barrier_destroy.c',
|
||||
'pthread_barrier_init.c',
|
||||
'pthread_barrier_wait.c',
|
||||
'pthread_cancel.c',
|
||||
'pthread_condattr_destroy.c',
|
||||
'pthread_condattr_getpshared.c',
|
||||
'pthread_condattr_init.c',
|
||||
'pthread_condattr_setpshared.c',
|
||||
'pthread_cond_destroy.c',
|
||||
'pthread_cond_init.c',
|
||||
'pthread_cond_signal.c',
|
||||
'pthread_cond_wait.c',
|
||||
'pthread_delay_np.c',
|
||||
'pthread_detach.c',
|
||||
'pthread_equal.c',
|
||||
'pthread_exit.c',
|
||||
'pthread_getconcurrency.c',
|
||||
'pthread_getschedparam.c',
|
||||
'pthread_getspecific.c',
|
||||
'pthread_getunique_np.c',
|
||||
'pthread_getw32threadhandle_np.c',
|
||||
'pthread_join.c',
|
||||
'pthread_key_create.c',
|
||||
'pthread_key_delete.c',
|
||||
'pthread_kill.c',
|
||||
'pthread_mutexattr_destroy.c',
|
||||
'pthread_mutexattr_getkind_np.c',
|
||||
'pthread_mutexattr_getpshared.c',
|
||||
'pthread_mutexattr_getrobust.c',
|
||||
'pthread_mutexattr_gettype.c',
|
||||
'pthread_mutexattr_init.c',
|
||||
'pthread_mutexattr_setkind_np.c',
|
||||
'pthread_mutexattr_setpshared.c',
|
||||
'pthread_mutexattr_setrobust.c',
|
||||
'pthread_mutexattr_settype.c',
|
||||
'pthread_mutex_consistent.c',
|
||||
'pthread_mutex_destroy.c',
|
||||
'pthread_mutex_init.c',
|
||||
'pthread_mutex_lock.c',
|
||||
'pthread_mutex_timedlock.c',
|
||||
'pthread_mutex_trylock.c',
|
||||
'pthread_mutex_unlock.c',
|
||||
'pthread_num_processors_np.c',
|
||||
'pthread_once.c',
|
||||
'pthread_rwlockattr_destroy.c',
|
||||
'pthread_rwlockattr_getpshared.c',
|
||||
'pthread_rwlockattr_init.c',
|
||||
'pthread_rwlockattr_setpshared.c',
|
||||
'pthread_rwlock_destroy.c',
|
||||
'pthread_rwlock_init.c',
|
||||
'pthread_rwlock_rdlock.c',
|
||||
'pthread_rwlock_timedrdlock.c',
|
||||
'pthread_rwlock_timedwrlock.c',
|
||||
'pthread_rwlock_tryrdlock.c',
|
||||
'pthread_rwlock_trywrlock.c',
|
||||
'pthread_rwlock_unlock.c',
|
||||
'pthread_rwlock_wrlock.c',
|
||||
'pthread_self.c',
|
||||
'pthread_setcancelstate.c',
|
||||
'pthread_setcanceltype.c',
|
||||
'pthread_setconcurrency.c',
|
||||
'pthread_setschedparam.c',
|
||||
'pthread_setspecific.c',
|
||||
'pthread_spin_destroy.c',
|
||||
'pthread_spin_init.c',
|
||||
'pthread_spin_lock.c',
|
||||
'pthread_spin_trylock.c',
|
||||
'pthread_spin_unlock.c',
|
||||
'pthread_testcancel.c',
|
||||
'pthread_timechange_handler_np.c',
|
||||
'pthread_win32_attach_detach_np.c',
|
||||
'ptw32_calloc.c',
|
||||
'ptw32_callUserDestroyRoutines.c',
|
||||
'ptw32_cond_check_need_init.c',
|
||||
'ptw32_getprocessors.c',
|
||||
'ptw32_is_attr.c',
|
||||
'ptw32_MCS_lock.c',
|
||||
'ptw32_mutex_check_need_init.c',
|
||||
'ptw32_new.c',
|
||||
'ptw32_processInitialize.c',
|
||||
'ptw32_processTerminate.c',
|
||||
'ptw32_relmillisecs.c',
|
||||
'ptw32_reuse.c',
|
||||
'ptw32_rwlock_cancelwrwait.c',
|
||||
'ptw32_rwlock_check_need_init.c',
|
||||
'ptw32_semwait.c',
|
||||
'ptw32_spinlock_check_need_init.c',
|
||||
'ptw32_threadDestroy.c',
|
||||
'ptw32_threadStart.c',
|
||||
'ptw32_throw.c',
|
||||
'ptw32_timespec.c',
|
||||
'ptw32_tkAssocCreate.c',
|
||||
'ptw32_tkAssocDestroy.c',
|
||||
'sched_getscheduler.c',
|
||||
'sched_get_priority_max.c',
|
||||
'sched_get_priority_min.c',
|
||||
'sched_setscheduler.c',
|
||||
'sched_yield.c',
|
||||
'sem_close.c',
|
||||
'sem_destroy.c',
|
||||
'sem_getvalue.c',
|
||||
'sem_init.c',
|
||||
'sem_open.c',
|
||||
'sem_post.c',
|
||||
'sem_post_multiple.c',
|
||||
'sem_timedwait.c',
|
||||
'sem_trywait.c',
|
||||
'sem_unlink.c',
|
||||
'sem_wait.c',
|
||||
'signal.c',
|
||||
'w32_CancelableWait.c',
|
||||
],
|
||||
}]
|
||||
],
|
||||
},
|
||||
]
|
||||
}
|
||||
|
|
@ -5,7 +5,7 @@ import shlex
|
|||
import sys
|
||||
|
||||
script_dir = os.path.dirname(__file__)
|
||||
uv_root = os.path.abspath(script_dir)
|
||||
uv_root = os.path.normpath(script_dir)
|
||||
|
||||
sys.path.insert(0, os.path.join(uv_root, 'build', 'gyp', 'pylib'))
|
||||
import gyp
|
||||
|
@ -14,7 +14,6 @@ import gyp
|
|||
# to be written.
|
||||
output_dir = os.path.join(os.path.abspath(uv_root), 'out')
|
||||
|
||||
|
||||
def run_gyp(args):
|
||||
rc = gyp.main(args)
|
||||
if rc != 0:
|
||||
|
@ -24,8 +23,23 @@ def run_gyp(args):
|
|||
if __name__ == '__main__':
|
||||
args = sys.argv[1:]
|
||||
|
||||
args.append(os.path.join(script_dir, 'all.gyp'))
|
||||
args.append('-I' + os.path.join(script_dir, 'common.gypi'))
|
||||
# GYP bug.
|
||||
# On msvs it will crash if it gets an absolute path.
|
||||
# On Mac/make it will crash if it doesn't get an absolute path.
|
||||
if sys.platform == 'win32':
|
||||
args.append(os.path.join(uv_root, 'uv.gyp'))
|
||||
common_fn = os.path.join(uv_root, 'common.gypi')
|
||||
options_fn = os.path.join(uv_root, 'options.gypi')
|
||||
else:
|
||||
args.append(os.path.join(os.path.abspath(uv_root), 'uv.gyp'))
|
||||
common_fn = os.path.join(os.path.abspath(uv_root), 'common.gypi')
|
||||
options_fn = os.path.join(os.path.abspath(uv_root), 'options.gypi')
|
||||
|
||||
if os.path.exists(common_fn):
|
||||
args.extend(['-I', common_fn])
|
||||
|
||||
if os.path.exists(options_fn):
|
||||
args.extend(['-I', options_fn])
|
||||
|
||||
args.append('--depth=' + uv_root)
|
||||
|
||||
|
@ -38,5 +52,9 @@ if __name__ == '__main__':
|
|||
# Tell make to write its output into the same dir
|
||||
args.extend(['-Goutput_dir=' + output_dir])
|
||||
|
||||
args.append('-Dtarget_arch=ia32')
|
||||
args.append('-Dcomponent=static_library')
|
||||
args.append('-Dlibrary=static_library')
|
||||
gyp_args = list(args)
|
||||
print gyp_args
|
||||
run_gyp(gyp_args)
|
||||
|
|
|
@ -1,48 +1,8 @@
|
|||
{
|
||||
'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' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
},
|
||||
},
|
||||
},
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 0, # static release
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS == "win"', {
|
||||
'defines': [
|
||||
'WIN32'
|
||||
],
|
||||
}]
|
||||
],
|
||||
},
|
||||
|
||||
'targets': [
|
||||
{
|
||||
'target_name': 'uv',
|
||||
'type': 'static_library',
|
||||
'type': '<(library)',
|
||||
'include_dirs': [ 'include' ],
|
||||
'direct_dependent_settings': {
|
||||
'include_dirs': [ 'include' ],
|
||||
|
@ -152,7 +112,12 @@
|
|||
'src/win/timer.c',
|
||||
'src/win/util.c',
|
||||
'src/win/winapi.c',
|
||||
]
|
||||
],
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'-lws2_32.lib',
|
||||
],
|
||||
},
|
||||
}, { # Not Windows i.e. POSIX
|
||||
'cflags': [
|
||||
'-g',
|
||||
|
@ -281,7 +246,12 @@
|
|||
'test/runner-unix.h',
|
||||
]
|
||||
}]
|
||||
]
|
||||
],
|
||||
'msvs-settings': {
|
||||
'VCLinkerTool': {
|
||||
'SubSystem': 1, # /subsystem:console
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -319,7 +289,12 @@
|
|||
'test/runner-unix.h',
|
||||
]
|
||||
}]
|
||||
]
|
||||
],
|
||||
'msvs-settings': {
|
||||
'VCLinkerTool': {
|
||||
'SubSystem': 1, # /subsystem:console
|
||||
},
|
||||
},
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
'includes': [
|
||||
'../../build/common.gypi',
|
||||
'v8.gyp'
|
||||
],
|
||||
}
|
|
@ -1,2 +1,3 @@
|
|||
@echo off
|
||||
python tools\gyp_node -f msvs -G msvs_version=2010 -D msvs_multi_core_compile=true
|
||||
rem --debug variables --debug includes --debug general
|
||||
python tools\gyp_node -f msvs -G msvs_version=2010
|
||||
|
|
84
node.gyp
84
node.gyp
|
@ -1,64 +1,4 @@
|
|||
{
|
||||
'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' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 1, # static debug
|
||||
'Optimization': 0, # /Od, no optimization
|
||||
},
|
||||
},
|
||||
},
|
||||
'Release': {
|
||||
'defines': [ 'NDEBUG' ],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'RuntimeLibrary': 0, # static release
|
||||
'Optimization': 3, # /Ox, full optimization
|
||||
'FavorSizeOrSpeed': 1, # /Ot, favour speed over size
|
||||
'InlineFunctionExpansion': 2, # /Ob2, inline anything eligible
|
||||
'WholeProgramOptimization': 'true', # /GL, whole program optimization, needed for LTCG
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'LinkTimeCodeGeneration': 1, # link-time code generation
|
||||
},
|
||||
},
|
||||
}
|
||||
},
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'StringPooling': 'true', # pool string literals
|
||||
'DebugInformationFormat': 3, # Generate a PDB
|
||||
'AdditionalOptions': [
|
||||
'/MP', # compile across multiple CPUs, VC2008 setting
|
||||
],
|
||||
'MultiProcessorCompilation': 'true', # compile across multiple CPUs, VC2010 setting
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'GenerateDebugInformation': 'true',
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
['OS == "win"', {
|
||||
'defines': [
|
||||
'WIN32',
|
||||
# we don't really want VC++ warning us about
|
||||
# how dangerous C functions are...
|
||||
'_CRT_SECURE_NO_DEPRECATE',
|
||||
# ... or that C implementations shouldn't use
|
||||
# POSIX names
|
||||
'_CRT_NONSTDC_NO_DEPRECATE',
|
||||
],
|
||||
}]
|
||||
],
|
||||
},
|
||||
|
||||
'variables': {
|
||||
'v8_use_snapshot': 'true',
|
||||
'target_arch': 'ia32',
|
||||
|
@ -73,8 +13,8 @@
|
|||
|
||||
'dependencies': [
|
||||
'deps/http_parser/http_parser.gyp:http_parser',
|
||||
'deps/v8/tools/gyp/v8.gyp:v8',
|
||||
'deps/uv/all.gyp:uv',
|
||||
'deps/v8/tools/gyp/v8-node.gyp:v8',
|
||||
'deps/uv/uv.gyp:uv',
|
||||
'node_js2c#host',
|
||||
],
|
||||
|
||||
|
@ -126,7 +66,7 @@
|
|||
|
||||
[ 'OS=="win"', {
|
||||
'dependencies': [
|
||||
'deps/uv/deps/pthread-win32/build/all.gyp:pthread-win32',
|
||||
'deps/uv/deps/pthread-win32/pthread-win32.gyp:pthread-win32',
|
||||
],
|
||||
# openssl is not built using gyp, and needs to be
|
||||
# built separately and placed outside the hierarchy.
|
||||
|
@ -152,15 +92,6 @@
|
|||
# we need to use node's preferred "win32" rather than gyp's preferred "win"
|
||||
'PLATFORM="win32"',
|
||||
],
|
||||
'libraries': [
|
||||
'-lws2_32.lib',
|
||||
'-lwinmm.lib',
|
||||
],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'WarningLevel': '3',
|
||||
},
|
||||
},
|
||||
},{ # POSIX
|
||||
'defines': [ '__POSIX__' ],
|
||||
'sources': [
|
||||
|
@ -178,7 +109,12 @@
|
|||
'sources': [ 'src/platform_darwin.cc' ],
|
||||
'libraries': [ '-framework Carbon' ],
|
||||
}]
|
||||
]
|
||||
],
|
||||
'msvs-settings': {
|
||||
'VCLinkerTool': {
|
||||
'SubSystem': 1, # /subsystem:console
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -233,7 +169,6 @@
|
|||
},
|
||||
|
||||
'actions': [
|
||||
|
||||
{
|
||||
'action_name': 'node_js2c',
|
||||
|
||||
|
@ -268,7 +203,6 @@
|
|||
],
|
||||
}]
|
||||
],
|
||||
'msvs_cygwin_shell': 0,
|
||||
},
|
||||
],
|
||||
}, # end node_js2c
|
||||
|
|
|
@ -1,141 +0,0 @@
|
|||
{
|
||||
'variables': {
|
||||
'library%': 'static_library',
|
||||
'component%': 'static_library',
|
||||
'visibility%': 'hidden',
|
||||
'variables': {
|
||||
'conditions': [
|
||||
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
|
||||
# This handles the Linux platforms we generally deal with. Anything
|
||||
# else gets passed through, which probably won't work very well; such
|
||||
# hosts should pass an explicit target_arch to gyp.
|
||||
'host_arch%':
|
||||
'<!(uname -m | sed -e "s/i.86/ia32/;s/x86_64/x64/;s/amd64/x64/;s/arm.*/arm/")',
|
||||
}, { # OS!="linux" and OS!="freebsd" and OS!="openbsd"
|
||||
'host_arch%': 'ia32',
|
||||
}],
|
||||
],
|
||||
},
|
||||
'host_arch%': '<(host_arch)',
|
||||
'target_arch%': '<(host_arch)',
|
||||
'v8_target_arch%': '<(target_arch)',
|
||||
},
|
||||
'target_defaults': {
|
||||
'default_configuration': 'Debug',
|
||||
'configurations': {
|
||||
'Debug': {
|
||||
'cflags': [ '-g', '-O0' ],
|
||||
'defines': [ '_DEBUG', 'DEBUG' ],
|
||||
},
|
||||
'Release': {
|
||||
'cflags': [ '-O3', '-fomit-frame-pointer', '-fdata-sections', '-ffunction-sections' ],
|
||||
},
|
||||
},
|
||||
},
|
||||
'conditions': [
|
||||
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"', {
|
||||
'target_defaults': {
|
||||
'cflags': [ '-Wall', '-pthread', '-fno-rtti', '-fno-exceptions' ],
|
||||
'ldflags': [ '-pthread', ],
|
||||
'conditions': [
|
||||
[ 'target_arch=="ia32"', {
|
||||
'cflags': [ '-m32' ],
|
||||
'ldflags': [ '-m32' ],
|
||||
}],
|
||||
[ 'OS=="linux"', {
|
||||
'cflags': [ '-ansi' ],
|
||||
}],
|
||||
[ 'visibility=="hidden"', {
|
||||
'cflags': [ '-fvisibility=hidden' ],
|
||||
}],
|
||||
],
|
||||
},
|
||||
}], # 'OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris"'
|
||||
['OS=="win"', {
|
||||
'target_defaults': {
|
||||
'defines': [
|
||||
'WIN32',
|
||||
'_CRT_SECURE_NO_DEPRECATE',
|
||||
'_CRT_NONSTDC_NO_DEPRECATE',
|
||||
],
|
||||
'conditions': [
|
||||
['component=="static_library"', {
|
||||
'defines': [
|
||||
'_HAS_EXCEPTIONS=0',
|
||||
],
|
||||
}],
|
||||
],
|
||||
'msvs_disabled_warnings': [4355, 4800],
|
||||
'msvs_settings': {
|
||||
'VCCLCompilerTool': {
|
||||
'MinimalRebuild': 'false',
|
||||
'BufferSecurityCheck': 'true',
|
||||
'EnableFunctionLevelLinking': 'true',
|
||||
'RuntimeTypeInfo': 'false',
|
||||
'WarningLevel': '3',
|
||||
'WarnAsError': 'true',
|
||||
'DebugInformationFormat': '3',
|
||||
'Detect64BitPortabilityProblems': 'false',
|
||||
'conditions': [
|
||||
[ 'msvs_multi_core_compile', {
|
||||
'AdditionalOptions': ['/MP'],
|
||||
}],
|
||||
['component=="shared_library"', {
|
||||
'ExceptionHandling': '1', # /EHsc
|
||||
}, {
|
||||
'ExceptionHandling': '0',
|
||||
}],
|
||||
],
|
||||
},
|
||||
'VCLibrarianTool': {
|
||||
'AdditionalOptions': ['/ignore:4221'],
|
||||
},
|
||||
'VCLinkerTool': {
|
||||
'AdditionalDependencies': [
|
||||
],
|
||||
'GenerateDebugInformation': 'true',
|
||||
},
|
||||
},
|
||||
},
|
||||
}], # OS=="win"
|
||||
['OS=="mac"', {
|
||||
'target_defaults': {
|
||||
'xcode_settings': {
|
||||
'ALWAYS_SEARCH_USER_PATHS': 'NO',
|
||||
'GCC_C_LANGUAGE_STANDARD': 'ansi', # -ansi
|
||||
'GCC_CW_ASM_SYNTAX': 'NO', # No -fasm-blocks
|
||||
'GCC_DYNAMIC_NO_PIC': 'NO', # No -mdynamic-no-pic
|
||||
# (Equivalent to -fPIC)
|
||||
'GCC_ENABLE_CPP_EXCEPTIONS': 'NO', # -fno-exceptions
|
||||
'GCC_ENABLE_CPP_RTTI': 'NO', # -fno-rtti
|
||||
'GCC_ENABLE_PASCAL_STRINGS': 'NO', # No -mpascal-strings
|
||||
# GCC_INLINES_ARE_PRIVATE_EXTERN maps to -fvisibility-inlines-hidden
|
||||
'GCC_INLINES_ARE_PRIVATE_EXTERN': 'YES',
|
||||
'GCC_SYMBOLS_PRIVATE_EXTERN': 'YES', # -fvisibility=hidden
|
||||
'GCC_THREADSAFE_STATICS': 'NO', # -fno-threadsafe-statics
|
||||
'GCC_TREAT_WARNINGS_AS_ERRORS': 'YES', # -Werror
|
||||
'GCC_VERSION': '4.2',
|
||||
'GCC_WARN_ABOUT_MISSING_NEWLINE': 'YES', # -Wnewline-eof
|
||||
'MACOSX_DEPLOYMENT_TARGET': '10.4', # -mmacosx-version-min=10.4
|
||||
'PREBINDING': 'NO', # No -Wl,-prebind
|
||||
'USE_HEADERMAP': 'NO',
|
||||
'OTHER_CFLAGS': [
|
||||
'-fno-strict-aliasing',
|
||||
],
|
||||
'WARNING_CFLAGS': [
|
||||
'-Wall',
|
||||
'-Wendif-labels',
|
||||
'-W',
|
||||
'-Wno-unused-parameter',
|
||||
'-Wnon-virtual-dtor',
|
||||
],
|
||||
},
|
||||
'target_conditions': [
|
||||
['_type!="static_library"', {
|
||||
'xcode_settings': {'OTHER_LDFLAGS': ['-Wl,-search_paths_first']},
|
||||
}],
|
||||
], # target_conditions
|
||||
}, # target_defaults
|
||||
}], # OS=="mac"
|
||||
],
|
||||
}
|
|
@ -413,7 +413,7 @@ def LoadTargetBuildFile(build_file_path, data, aux_data, variables, includes,
|
|||
index = index + 1
|
||||
else:
|
||||
raise Exception, \
|
||||
"Unable to find targets in build file %s" % build_file_path
|
||||
"Unable to find targets in build file %s" % os.path.abspath(build_file_path)
|
||||
|
||||
# No longer needed.
|
||||
del build_file_data['target_defaults']
|
||||
|
|
|
@ -28,17 +28,27 @@ if __name__ == '__main__':
|
|||
# On Mac/make it will crash if it doesn't get an absolute path.
|
||||
if sys.platform == 'win32':
|
||||
args.append(os.path.join(node_root, 'node.gyp'))
|
||||
common_fn = os.path.join(node_root, 'common.gypi')
|
||||
options_fn = os.path.join(node_root, 'options.gypi')
|
||||
else:
|
||||
args.append(os.path.join(os.path.abspath(node_root), 'node.gyp'))
|
||||
common_fn = os.path.join(os.path.abspath(node_root), 'common.gypi')
|
||||
options_fn = os.path.join(os.path.abspath(node_root), 'options.gypi')
|
||||
|
||||
if os.path.exists(common_fn):
|
||||
args.extend(['-I', common_fn])
|
||||
|
||||
if os.path.exists(options_fn):
|
||||
args.extend(['-I', options_fn])
|
||||
|
||||
args.append('--depth=' + node_root)
|
||||
|
||||
# There's a bug with windows which doesn't allow this feature.
|
||||
if sys.platform != 'win32':
|
||||
|
||||
# Tell gyp to write the Makefiles into output_dir
|
||||
args.extend(['--generator-output', output_dir])
|
||||
|
||||
# Tell make to write its output into the same dir
|
||||
args.extend(['-Goutput_dir=' + output_dir])
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче