Browse Source

windows: improve Visual Studio Express build support

* Moved generated files to a clearer directory.
* Improved detection logic for ctrpp.exe tool.

Closes #4482
v0.9.6-release
Scott Blomquist 12 years ago
committed by Bert Belder
parent
commit
a616774281
  1. 13
      configure
  2. 26
      node.gyp
  3. 0
      tools/msvs/genfiles/MSG00001.bin
  4. 0
      tools/msvs/genfiles/node_etw_provider.h
  5. 0
      tools/msvs/genfiles/node_etw_provider.rc
  6. 0
      tools/msvs/genfiles/node_etw_providerTEMP.BIN
  7. 0
      tools/msvs/genfiles/node_perfctr_provider.h
  8. 0
      tools/msvs/genfiles/node_perfctr_provider.rc
  9. 11
      vcbuild.bat

13
configure

@ -604,15 +604,14 @@ def configure_winsdk(o):
if not sys.platform.startswith('win32'): if not sys.platform.startswith('win32'):
return return
try: winsdk_dir = os.environ.get("WindowsSdkDir")
p = subprocess.Popen(['ctrpp.exe'],
stdin=subprocess.PIPE,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError:
return
if winsdk_dir and os.path.isfile(winsdk_dir + '\\bin\\ctrpp.exe'):
print "Found ctrpp in WinSDK--will build generated files into tools/msvs/genfiles."
o['variables']['node_has_winsdk'] = 'true' o['variables']['node_has_winsdk'] = 'true'
return
print "ctrpp not found in WinSDK path--using pre-gen files from tools/msvs/genfiles."
output = { output = {

26
node.gyp

@ -73,7 +73,7 @@
'include_dirs': [ 'include_dirs': [
'src', 'src',
'src/gen', 'tools/msvs/genfiles',
'deps/uv/src/ares', 'deps/uv/src/ares',
'<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h '<(SHARED_INTERMEDIATE_DIR)' # for node_natives.h
], ],
@ -194,8 +194,8 @@
'src/node_win32_etw_provider-inl.h', 'src/node_win32_etw_provider-inl.h',
'src/node_win32_etw_provider.cc', 'src/node_win32_etw_provider.cc',
'src/node_dtrace.cc', 'src/node_dtrace.cc',
'src/gen/node_etw_provider.h', 'tools/msvs/genfiles/node_etw_provider.h',
'src/gen/node_etw_provider.rc', 'tools/msvs/genfiles/node_etw_provider.rc',
] ]
} ], } ],
[ 'node_use_perfctr=="true"', { [ 'node_use_perfctr=="true"', {
@ -206,7 +206,7 @@
'src/node_win32_perfctr_provider.cc', 'src/node_win32_perfctr_provider.cc',
'src/node_counters.cc', 'src/node_counters.cc',
'src/node_counters.h', 'src/node_counters.h',
'src/gen/node_perfctr_provider.rc', 'tools/msvs/genfiles/node_perfctr_provider.rc',
] ]
} ], } ],
[ 'node_shared_v8=="false"', { [ 'node_shared_v8=="false"', {
@ -295,11 +295,11 @@
'action_name': 'node_etw', 'action_name': 'node_etw',
'inputs': [ 'src/res/node_etw_provider.man' ], 'inputs': [ 'src/res/node_etw_provider.man' ],
'outputs': [ 'outputs': [
'src/gen/node_etw_provider.rc', 'tools/msvs/genfiles/node_etw_provider.rc',
'src/gen/node_etw_provider.h', 'tools/msvs/genfiles/node_etw_provider.h',
'src/gen/node_etw_providerTEMP.BIN', 'tools/msvs/genfiles/node_etw_providerTEMP.BIN',
], ],
'action': [ 'mc <@(_inputs) -h src/gen -r src/gen' ] 'action': [ 'mc <@(_inputs) -h tools/msvs/genfiles -r tools/msvs/genfiles' ]
} }
] ]
} ] } ]
@ -316,13 +316,13 @@
'action_name': 'node_perfctr_man', 'action_name': 'node_perfctr_man',
'inputs': [ 'src/res/node_perfctr_provider.man' ], 'inputs': [ 'src/res/node_perfctr_provider.man' ],
'outputs': [ 'outputs': [
'src/gen/node_perfctr_provider.h', 'tools/msvs/genfiles/node_perfctr_provider.h',
'src/gen/node_perfctr_provider.rc', 'tools/msvs/genfiles/node_perfctr_provider.rc',
'src/gen/MSG00001.BIN', 'tools/msvs/genfiles/MSG00001.BIN',
], ],
'action': [ 'ctrpp <@(_inputs) ' 'action': [ 'ctrpp <@(_inputs) '
'-o src/gen/node_perfctr_provider.h ' '-o tools/msvs/genfiles/node_perfctr_provider.h '
'-rc src/gen/node_perfctr_provider.rc' '-rc tools/msvs/genfiles/node_perfctr_provider.rc'
] ]
}, },
], ],

0
src/gen/MSG00001.bin → tools/msvs/genfiles/MSG00001.bin

0
src/gen/node_etw_provider.h → tools/msvs/genfiles/node_etw_provider.h

0
src/gen/node_etw_provider.rc → tools/msvs/genfiles/node_etw_provider.rc

0
src/gen/node_etw_providerTEMP.BIN → tools/msvs/genfiles/node_etw_providerTEMP.BIN

0
src/gen/node_perfctr_provider.h → tools/msvs/genfiles/node_perfctr_provider.h

0
src/gen/node_perfctr_provider.rc → tools/msvs/genfiles/node_perfctr_provider.rc

11
vcbuild.bat

@ -85,10 +85,13 @@ if defined noperfctr set noperfctr_arg=--without-perfctr& set noperfctr_msi_arg=
if defined noprojgen goto msbuild if defined noprojgen goto msbuild
@rem Generate the VS project. @rem Generate the VS project.
python configure %debug_arg% %nosnapshot_arg% %noetw_arg% %noperfctr_arg% --dest-cpu=%target_arch% SETLOCAL
if errorlevel 1 goto create-msvs-files-failed if defined VS100COMNTOOLS call "%VS100COMNTOOLS%\VCVarsQueryRegistry.bat"
if not exist node.sln goto create-msvs-files-failed python configure %debug_arg% %nosnapshot_arg% %noetw_arg% %noperfctr_arg% --dest-cpu=%target_arch%
echo Project files generated. if errorlevel 1 goto create-msvs-files-failed
if not exist node.sln goto create-msvs-files-failed
echo Project files generated.
ENDLOCAL
:msbuild :msbuild
@rem Skip project generation if requested. @rem Skip project generation if requested.

Loading…
Cancel
Save