node-alljoyn
Version:
Access Alljoyn service functions
280 lines (265 loc) • 12 kB
Plain Text
diff --recursive -u --exclude=*.pyc --exclude=*.pyo ../../scons-2.2.0/engine/scons/Tool/MSCommon/common.py ./Tool/MSCommon/common.py
--- ../../scons-2.2.0/engine/scons/Tool/MSCommon/common.py Fri Sep 14 10:15:31 2012
+++ ./Tool/MSCommon/common.py Fri Sep 14 09:56:01 2012
# controlled by vc.py, or else derived from the common_tools_var
# settings in vs.py.
vars = [
+ 'ProgramFiles',
+ 'ProgramFiles(x86)',
'COMSPEC',
+ 'VS110COMNTOOLS',
+ 'VS100COMNTOOLS',
'VS90COMNTOOLS',
'VS80COMNTOOLS',
'VS71COMNTOOLS',
diff --recursive -u --exclude=*.pyc --exclude=*.pyo ../../scons-2.2.0/engine/scons/Tool/MSCommon/sdk.py ./Tool/MSCommon/sdk.py
--- ../../scons-2.2.0/engine/scons/Tool/MSCommon/sdk.py Fri Sep 14 10:15:31 2012
+++ ./Tool/MSCommon/sdk.py Fri Sep 14 09:55:06 2012
debug("sdk.py: get_sdk_vc_script():file:%s"%file)
return file
+ def get_sdk_appx_subdir(self):
+ """ Return the script to initialize the VC compiler installed by SDK
+ """
+
+ if self.__dict__.has_key('vc_appx_subdir') == False:
+ return None
+
+ appx_subdir = self.vc_appx_subdir;
+ if not appx_subdir:
+ debug("sdk.py: get_sdk_appx_subdir():sdk doesn't support appx");
+ return None
+
+ file=os.path.join(self.find_sdk_dir(), appx_subdir)
+ if not file:
+ debug("sdk.py: get_sdk_appx_subdir():no file")
+ else:
+ debug("sdk.py: get_sdk_appx_subdir():file:%s"%file)
+
+ if not os.path.exists(file):
+ debug("sdk.py: get_sdk_appx_subdir(): sanity check %s not found" % ftc)
+ return None
+
+ return file
+
class WindowsSDK(SDKDefinition):
"""
A subclass for trying to find installed Windows SDK directories.
'x86_ia64' : r'bin\vcvarsx86_ia64.bat',
'ia64' : r'bin\vcvarsia64.bat'}
+SDK71VCSetupScripts = { 'x86' : r'bin\vcvars32.bat',
+ 'amd64' : r'bin\vcvars64.bat',
+ 'x86_amd64': r'bin\vcvarsx86_amd64.bat',
+ 'x86_ia64' : r'bin\vcvarsx86_ia64.bat',
+ 'ia64' : r'bin\vcvarsia64.bat'}
+
+SDK80VCSetupScripts = { 'x86' : r'bin\vcvars32.bat',
+ 'amd64' : r'bin\vcvars64.bat',
+ 'x86_amd64' : r'bin\vcvarsx86_amd64.bat',
+ 'x86_ia64' : r'bin\vcvarsx86_ia64.bat',
+ 'ia64' : r'bin\vcvarsia64.bat',
+ 'amd64_arm' : r'bin\vcvarsarm.bat',
+ 'x86_arm' : r'bin\vcvarsarm.bat'}
+
+
# The list of support SDKs which we know how to detect.
#
# The first SDK found in the list is the one used by default if there
#
# If you update this list, update the documentation in Tool/mssdk.xml.
SupportedSDKList = [
+ WindowsSDK('8.0',
+ sanity_check_file=r'bin\x86\makeappx.exe',
+ include_subdir='include',
+ lib_subdir={
+ 'x86' : ['lib'],
+ 'x86_64' : [r'lib\x64'],
+ 'ia64' : [r'lib\ia64'],
+ },
+ vc_setup_scripts = SDK80VCSetupScripts,
+ vc_appx_subdir = 'References\\CommonConfiguration\\Neutral',
+ ),
+ WindowsSDK('7.1',
+ sanity_check_file=r'bin\SetEnv.Cmd',
+ include_subdir='include',
+ lib_subdir={
+ 'x86' : ['lib'],
+ 'x86_64' : [r'lib\x64'],
+ 'ia64' : [r'lib\ia64'],
+ },
+ vc_setup_scripts = SDK71VCSetupScripts,
+ ),
WindowsSDK('7.0',
sanity_check_file=r'bin\SetEnv.Cmd',
include_subdir='include',
diff --recursive -u --exclude=*.pyc --exclude=*.pyo ../../scons-2.2.0/engine/scons/Tool/MSCommon/vc.py ./Tool/MSCommon/vc.py
--- ../../scons-2.2.0/engine/scons/Tool/MSCommon/vc.py Fri Sep 14 10:15:31 2012
+++ ./Tool/MSCommon/vc.py Fri Sep 14 10:06:05 2012
"itanium" : "ia64",
"x86" : "x86",
"x86_64" : "amd64",
+ "arm" : "arm",
}
# Given a (host, target) tuple, return the argument for the bat file. Both host
("x86", "amd64"): "x86_amd64",
("amd64", "amd64"): "amd64",
("amd64", "x86"): "x86",
- ("x86", "ia64"): "x86_ia64"
+ ("x86", "ia64"): "x86_ia64",
+ ("amd64", "arm"): "x86_arm",
+ ("x86", "arm"): "x86_arm",
}
def get_host_target(env):
'6.0': [
r'Microsoft\VisualStudio\6.0\Setup\Microsoft Visual C++\ProductDir']
}
+
+_VCVER_APPX_PLATFORM_DIR = {
+ '11.0Exp' : [r'vcpackages'],
+ '11.0' : [r'vcpackages'],
+}
+
def msvc_version_to_maj_min(msvc_version):
msvc_version_numeric = ''.join([x for x in msvc_version if x in string_digits + '.'])
raise MissingConfiguration("registry dir %s not found on the filesystem" % comps)
return None
+def find_vc_appx_dir(env,msvc_version):
+ pdir = find_vc_pdir(msvc_version)
+ if pdir is None:
+ return None
+
+ debug('vc.py: find_vc_appx_dir(): found directory for VC version %s' % repr(msvc_version))
+
+ if _VCVER_APPX_PLATFORM_DIR.has_key(msvc_version) == False:
+ debug('vc.py: find_vc_appx_dir(): no appx directory specified for VC version %s' % repr(msvc_version))
+ return None
+
+ subdir = _VCVER_APPX_PLATFORM_DIR[msvc_version][0]
+
+ pdir = os.path.join(pdir, subdir)
+ debug('vc.py: find_vc_appx_dir(): found platform directory %s' % pdir)
+ return pdir
+
def find_batch_file(env,msvc_version,host_arch,target_arch):
"""
Find the location of the batch script which should set up the compiler
return d
+def msvc_appx_metadata_to_flags(env,appx_sdk_directory):
+ debug('msvc_appx_metadata_to_flags()')
+
+ dirList = os.listdir(appx_sdk_directory)
+ for fname in dirList:
+ if fname.endswith(".winmd"):
+ env.Append(_APPX_CXXFLAGS=['/FU%s\\%s' % (appx_sdk_directory, fname)])
+ return
+
+def msvc_setup_appx_env(env, version):
+ debug('msvc_setup_appx_env()')
+
+ # detect if appx sdk is installed
+ appx_sdk_version = os.environ.get('APPX_MSSDK_VERSION')
+ if appx_sdk_version:
+ debug('msvc_setup_appx_env: using specified APPX_MSSDK_VERSION version %s\n' % repr(appx_sdk_version))
+ appx_sdk = sdk.get_sdk_by_version(appx_sdk_version)
+ if appx_sdk is None:
+ debug('msvc_setup_appx_env: APPX_MSSDK_VERSION %s was not found installed\n' % repr(appx_sdk_version))
+ return
+
+ appx_sdk_directory = appx_sdk.get_sdk_appx_subdir()
+ if appx_sdk_directory is None:
+ debug('msvc_setup_appx_env: APPX_MSSDK_VERSION %s is missing its metadata directory\n' % repr(appx_sdk_version))
+ return
+
+ env.Append(_APPX_CXXFLAGS=['/AI%s' % appx_sdk_directory])
+ cxxflags = env['_APPX_CXXFLAGS']
+
+ msvc_appx_metadata_to_flags(env,appx_sdk_directory)
+
+ # now, add the platform specific metadata file on to the flags
+ vc_appx_directory = find_vc_appx_dir(env,version)
+ if vc_appx_directory is None:
+ debug('msvc_setup_appx_env: no platform appx directory for VC version: %s' % repr(version))
+ return
+
+ msvc_appx_metadata_to_flags(env,vc_appx_directory)
+ else:
+ debug('msvc_setup_appx_env(): APPX_MSSDK_VERSION not found in env')
+
+ return
def msvc_setup_env(env):
debug('msvc_setup_env()')
for k, v in d.items():
debug('vc.py:msvc_setup_env() env:%s -> %s'%(k,v))
env.PrependENVPath(k, v, delete_existing=True)
+
+ if env.has_key('APPX_CXXFLAGS') and env['APPX_CXXFLAGS'] == 'true':
+ msvc_setup_appx_env(env, version)
+
def msvc_exists(version=None):
vcs = cached_get_installed_vcs()
diff --recursive -u --exclude=*.pyc --exclude=*.pyo ../../scons-2.2.0/engine/scons/Tool/MSCommon/vs.py ./Tool/MSCommon/vs.py
--- ../../scons-2.2.0/engine/scons/Tool/MSCommon/vs.py Fri Sep 14 10:15:31 2012
+++ ./Tool/MSCommon/vs.py Fri Sep 14 10:02:34 2012
# default_dirname='TBD',
#),
- # Visual Studio 11
+ # Visual Studio 2012
# The batch file we look for is in the VC directory,
# so the devenv.com executable is up in ..\..\Common7\IDE.
VisualStudio('11.0',
- sdk_version='6.1',
+ vc_version='11.0',
+ sdk_version='8.0',
hkeys=[r'Microsoft\VisualStudio\11.0\Setup\VS\ProductDir'],
common_tools_var='VS110COMNTOOLS',
executable_path=r'Common7\IDE\devenv.com',
batch_file_path=r'Common7\Tools\vsvars32.bat',
default_dirname='Microsoft Visual Studio 11',
- supported_arch=['x86', 'amd64'],
+ supported_arch=['x86', 'amd64', "arm"],
),
# Visual C++ 11 Express Edition
# The batch file we look for is in the VC directory,
- # so the VCExpress.exe executable is up in ..\..\Common7\IDE.
+ # so the VSWinExpress.exe executable is up in ..\..\Common7\IDE.
VisualStudio('11.0Exp',
vc_version='11.0',
- sdk_version='6.1',
- hkeys=[r'Microsoft\VCExpress\11.0\Setup\VS\ProductDir'],
+ sdk_version='8.0',
+ hkeys=[r'Microsoft\VSWinExpress\11.0\Setup\VS\ProductDir'],
common_tools_var='VS110COMNTOOLS',
- executable_path=r'Common7\IDE\VCExpress.exe',
+ executable_path=r'Common7\IDE\VSWinExpress.exe',
batch_file_path=r'Common7\Tools\vsvars32.bat',
default_dirname='Microsoft Visual Studio 11',
supported_arch=['x86'],
diff --recursive -u --exclude=*.pyc --exclude=*.pyo ../../scons-2.2.0/engine/scons/Tool/msvc.py ./Tool/msvc.py
--- ../../scons-2.2.0/engine/scons/Tool/msvc.py Fri Sep 14 10:15:30 2012
+++ ./Tool/msvc.py Fri Sep 14 09:46:37 2012
env['CCPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Z7") or ""}'])
env['CCPCHFLAGS'] = SCons.Util.CLVar(['${(PCH and "/Yu%s \\\"/Fp%s\\\""%(PCHSTOP or "",File(PCH))) or ""}'])
env['_MSVC_OUTPUT_FLAG'] = msvc_output_flag
- env['_CCCOMCOM'] = '$CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $CCPCHFLAGS $CCPDBFLAGS'
+ env['_CCCOMCOM'] = '$CPPFLAGS $_APPX_CXXFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $CCPCHFLAGS $CCPDBFLAGS'
env['CC'] = 'cl'
env['CCFLAGS'] = SCons.Util.CLVar('/nologo')
env['CFLAGS'] = SCons.Util.CLVar('')
env['CXXFILESUFFIX'] = '.cc'
env['PCHPDBFLAGS'] = SCons.Util.CLVar(['${(PDB and "/Yd") or ""}'])
- env['PCHCOM'] = '$CXX /Fo${TARGETS[1]} $CXXFLAGS $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS /c $SOURCES /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS'
+ env['PCHCOM'] = '$CXX /Fo${TARGETS[1]} $CXXFLAGS $CCFLAGS $CPPFLAGS $_CPPDEFFLAGS $_CPPINCFLAGS $_APPX_CXXFLAGS /c $SOURCES /Yc$PCHSTOP /Fp${TARGETS[0]} $CCPDBFLAGS $PCHPDBFLAGS'
env['BUILDERS']['PCH'] = pch_builder
if 'ENV' not in env: