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:
Peter Bright 2011-08-13 19:17:47 +01:00 коммит произвёл Ryan Dahl
Родитель a5d90c435c
Коммит 16788f461a
13 изменённых файлов: 564 добавлений и 533 удалений

164
common.gypi Normal file
Просмотреть файл

@ -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']},
}],
],
},
}],
],
},
}

61
deps/http_parser/http_parser.gyp поставляемый
Просмотреть файл

@ -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',

165
deps/uv/common.gypi поставляемый
Просмотреть файл

@ -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']},
}],
],
},
}],
],
},
}

207
deps/uv/deps/pthread-win32/build/all.gyp поставляемый
Просмотреть файл

@ -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',
],
},
]
}

165
deps/uv/deps/pthread-win32/pthread-win32.gyp поставляемый Normal file
Просмотреть файл

@ -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',
],
}]
],
},
]
}

26
deps/uv/gyp_uv поставляемый
Просмотреть файл

@ -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)

63
deps/uv/all.gyp → deps/uv/uv.gyp поставляемый
Просмотреть файл

@ -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
},
},
}
]
}

6
deps/v8/tools/gyp/v8-node.gyp поставляемый Normal file
Просмотреть файл

@ -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

Просмотреть файл

@ -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])