diff options
-rw-r--r-- | common.gypi | 164 | ||||
-rw-r--r-- | deps/http_parser/http_parser.gyp | 61 | ||||
-rw-r--r-- | deps/uv/common.gypi | 165 | ||||
-rw-r--r-- | deps/uv/deps/pthread-win32/build/all.gyp | 207 | ||||
-rw-r--r-- | deps/uv/deps/pthread-win32/pthread-win32.gyp | 165 | ||||
-rw-r--r-- | deps/uv/gyp_uv | 26 | ||||
-rw-r--r-- | deps/uv/uv.gyp (renamed from deps/uv/all.gyp) | 63 | ||||
-rw-r--r-- | deps/v8/tools/gyp/v8-node.gyp | 6 | ||||
-rw-r--r-- | generate-projects.bat | 3 | ||||
-rw-r--r-- | node.gyp | 84 | ||||
-rw-r--r-- | tools/common.gypi | 141 | ||||
-rw-r--r-- | tools/gyp/pylib/gyp/input.py | 2 | ||||
-rwxr-xr-x | tools/gyp_node | 10 |
13 files changed, 564 insertions, 533 deletions
diff --git a/common.gypi b/common.gypi new file mode 100644 index 000000000..745f749da --- /dev/null +++ b/common.gypi @@ -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']},
+ }],
+ ],
+ },
+ }],
+ ],
+ },
+}
diff --git a/deps/http_parser/http_parser.gyp b/deps/http_parser/http_parser.gyp index c6eada707..bd4512223 100644 --- a/deps/http_parser/http_parser.gyp +++ b/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', diff --git a/deps/uv/common.gypi b/deps/uv/common.gypi index 440519f54..840d3a7a2 100644 --- a/deps/uv/common.gypi +++ b/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': { + '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': { - 'GenerateDebugInformation': 'true', + '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': { }, - }], # OS=="win" - ], -}
\ No newline at end of file + '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']}, + }], + ], + }, + }], + ], + }, +} diff --git a/deps/uv/deps/pthread-win32/build/all.gyp b/deps/uv/deps/pthread-win32/build/all.gyp deleted file mode 100644 index 24bf648bc..000000000 --- a/deps/uv/deps/pthread-win32/build/all.gyp +++ /dev/null @@ -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', - ], - }, - ] -} - diff --git a/deps/uv/deps/pthread-win32/pthread-win32.gyp b/deps/uv/deps/pthread-win32/pthread-win32.gyp new file mode 100644 index 000000000..2c4c65297 --- /dev/null +++ b/deps/uv/deps/pthread-win32/pthread-win32.gyp @@ -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', + ], + }] + ], + }, + ] +} + diff --git a/deps/uv/gyp_uv b/deps/uv/gyp_uv index 978fb906f..a7a9689c2 100644 --- a/deps/uv/gyp_uv +++ b/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) diff --git a/deps/uv/all.gyp b/deps/uv/uv.gyp index b3036f56e..5a5737148 100644 --- a/deps/uv/all.gyp +++ b/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 + }, + }, } ] } diff --git a/deps/v8/tools/gyp/v8-node.gyp b/deps/v8/tools/gyp/v8-node.gyp new file mode 100644 index 000000000..1ac36b0df --- /dev/null +++ b/deps/v8/tools/gyp/v8-node.gyp @@ -0,0 +1,6 @@ +{
+ 'includes': [
+ '../../build/common.gypi',
+ 'v8.gyp'
+ ],
+}
diff --git a/generate-projects.bat b/generate-projects.bat index 0dbea2b3d..fc9270da4 100644 --- a/generate-projects.bat +++ b/generate-projects.bat @@ -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 diff --git a/tools/common.gypi b/tools/common.gypi deleted file mode 100644 index e1ab09506..000000000 --- a/tools/common.gypi +++ /dev/null @@ -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" - ], -} diff --git a/tools/gyp/pylib/gyp/input.py b/tools/gyp/pylib/gyp/input.py index 314b5c66d..8a44d4e99 100644 --- a/tools/gyp/pylib/gyp/input.py +++ b/tools/gyp/pylib/gyp/input.py @@ -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'] diff --git a/tools/gyp_node b/tools/gyp_node index d783b1dba..07da2ee45 100755 --- a/tools/gyp_node +++ b/tools/gyp_node @@ -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]) |