Index: SConstruct |
=================================================================== |
--- SConstruct (revision 13219) |
+++ SConstruct (working copy) |
@@ -234,6 +234,9 @@ |
'gdbjit:on': { |
'CPPDEFINES': ['ENABLE_GDB_JIT_INTERFACE'] |
}, |
+ 'vtunejit:on': { |
+ 'CPPDEFINES': ['ENABLE_VTUNE_JIT_INTERFACE'] |
+ }, |
'compress_startup_data:bz2': { |
'CPPDEFINES': ['COMPRESS_STARTUP_DATA_BZ2'] |
} |
@@ -293,6 +296,9 @@ |
'LINKFLAGS': ['/LTCG:PGO'] |
} |
} |
+ }, |
+ 'vtunejit:on': { |
+ 'CPPDEFINES': ['ENABLE_VTUNE_JIT_INTERFACE'] |
} |
} |
} |
@@ -488,6 +494,9 @@ |
'CXXFLAGS': ['-fno-rtti', '-fno-exceptions'], |
'LINKFLAGS': ['$CCFLAGS'], |
}, |
+ 'vtunejit:on': { |
+ 'LIBS': ['jitprofiling'], |
+ }, |
'os:linux': { |
'LIBS': ['pthread'], |
}, |
@@ -611,6 +620,10 @@ |
'all': { |
'LIBS': ['winmm', 'ws2_32'] |
}, |
+ 'vtunejit:on': { |
+ 'LIBS': ['jitprofiling'], |
+ 'LINKFLAGS': ['/DEBUG'] |
+ }, |
'verbose:off': { |
'CCFLAGS': ['/nologo'], |
'LINKFLAGS': ['/NOLOGO'] |
@@ -1031,6 +1044,11 @@ |
'default': 'off', |
'help': 'enable GDB JIT interface' |
}, |
+ 'vtunejit': { |
+ 'values': ['on', 'off'], |
+ 'default': 'off', |
+ 'help': 'enable VTune JIT interface' |
+ }, |
'library': { |
'values': ['static', 'shared'], |
'default': 'static', |
@@ -1301,6 +1319,8 @@ |
Abort("Profiling on windows only supported for static library.") |
if env['gdbjit'] == 'on' and ((env['os'] != 'linux' and env['os'] != 'macos') or (env['arch'] != 'ia32' and env['arch'] != 'x64' and env['arch'] != 'arm')): |
Abort("GDBJIT interface is supported only for Intel-compatible (ia32 or x64) Linux/OSX target.") |
+ if env['vtunejit'] == 'on' and (env['arch'] != 'ia32' and env['arch'] != 'x64'): |
+ Abort("VTUNEJIT interface is supported only for Intel architectures (ia32 or x64)") |
if env['os'] == 'win32' and env['soname'] == 'on': |
Abort("Shared Object soname not applicable for Windows.") |
if env['soname'] == 'on' and env['library'] == 'static': |