diff --git a/Builds/VisualStudio2013/RippleD.vcxproj b/Builds/VisualStudio2013/RippleD.vcxproj index 8efeea2fb6..116a99d4ad 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj +++ b/Builds/VisualStudio2013/RippleD.vcxproj @@ -50,76 +50,72 @@ - _WIN32_WINNT=0x6000;DEBUG;WIN32_CONSOLE;_CRTDBG_MAP_ALLOC;_CRT_SECURE_NO_WARNINGS;_DEBUG;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\protobuf\src;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;%(AdditionalIncludeDirectories) - 4018;4244;4267;4800 + _WIN32_WINNT=0x6000;_CRT_SECURE_NO_WARNINGS;_CRTDBG_MAP_ALLOC;_DEBUG;_SCL_SECURE_NO_WARNINGS;DEBUG;WIN32_CONSOLE;%(PreprocessorDefinitions) + ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;%(AdditionalIncludeDirectories) + 4800;4244;4267;4018 Async - True - True - Cdecl - False - False - True MultiThreadedDebug - Disabled - EnableFastChecks - Level3 - False - True - ProgramDatabase - None Precise + False + EnableFastChecks + None + True + True + True + False True - True + Disabled False - /FS /bigobj %(AdditionalOptions) + False + ProgramDatabase + Cdecl + True + Level3 + /bigobj /FS %(AdditionalOptions) - Shlwapi.lib;advapi32.lib;comdlg32.lib;gdi32.lib;kernel32.lib;libeay32MT.lib;odbc32.lib;odbccp32.lib;ole32.lib;oleaut32.lib;shell32.lib;ssleay32MT.lib;user32.lib;uuid.lib;winspool.lib;%(AdditionalDependencies) - True - True + advapi32.lib;comdlg32.lib;gdi32.lib;kernel32.lib;libeay32MT.lib;odbc32.lib;odbccp32.lib;ole32.lib;oleaut32.lib;shell32.lib;Shlwapi.lib;ssleay32MT.lib;user32.lib;uuid.lib;winspool.lib;%(AdditionalDependencies) NoErrorReport - MachineX64 - true Console - True - /MANIFEST /TLBID:1 %(AdditionalOptions) + True + true + True + MachineX64 + /MANIFEST /nologo /TLBID:1 %(AdditionalOptions) - _WIN32_WINNT=0x6000;NDEBUG;WIN32_CONSOLE;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) - ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\protobuf\src;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;%(AdditionalIncludeDirectories) - 4018;4244;4267;4800 + _WIN32_WINNT=0x6000;_CRT_SECURE_NO_WARNINGS;_SCL_SECURE_NO_WARNINGS;NDEBUG;WIN32_CONSOLE;%(PreprocessorDefinitions) + ..\..\build\proto;..\..\src;..\..\src\beast;..\..\src\protobuf\src;..\..\src\protobuf\vsprojects;%(AdditionalIncludeDirectories) + 4800;4244;4267;4018 Async - True - Cdecl + Precise False - False + None + True True MultiThreaded - Full - Level3 - False - True - ProgramDatabase - None - Precise - True + False True False - /FS /bigobj %(AdditionalOptions) + False + ProgramDatabase + Cdecl + True + Full + Level3 + /bigobj /FS %(AdditionalOptions) - Shlwapi.lib;advapi32.lib;comdlg32.lib;gdi32.lib;kernel32.lib;libeay32MT.lib;odbc32.lib;odbccp32.lib;ole32.lib;oleaut32.lib;shell32.lib;ssleay32MT.lib;user32.lib;uuid.lib;winspool.lib;%(AdditionalDependencies) - True - True + advapi32.lib;comdlg32.lib;gdi32.lib;kernel32.lib;libeay32MT.lib;odbc32.lib;odbccp32.lib;ole32.lib;oleaut32.lib;shell32.lib;Shlwapi.lib;ssleay32MT.lib;user32.lib;uuid.lib;winspool.lib;%(AdditionalDependencies) NoErrorReport - MachineX64 - true Console - True - /MANIFEST /TLBID:1 %(AdditionalOptions) + True + true + True + MachineX64 + /MANIFEST /nologo /TLBID:1 %(AdditionalOptions) diff --git a/SConstruct b/SConstruct index 4e21d93daa..b72d0e16df 100644 --- a/SConstruct +++ b/SConstruct @@ -214,10 +214,7 @@ def config_base(env): except KeyError: pass - if Beast.system.linux: - env.ParseConfig('pkg-config --static --cflags --libs openssl') - env.ParseConfig('pkg-config --static --cflags --libs protobuf') - elif Beast.system.windows: + if Beast.system.windows: try: OPENSSL_ROOT = os.path.normpath(os.environ['OPENSSL_ROOT']) env.Append(CPPPATH=[ @@ -244,6 +241,11 @@ def config_env(toolchain, variant, env): env.Append(CPPDEFINES=['NDEBUG']) if toolchain in Split('clang gcc'): + + if Beast.system.linux: + env.ParseConfig('pkg-config --static --cflags --libs openssl') + env.ParseConfig('pkg-config --static --cflags --libs protobuf') + env.Append(CCFLAGS=[ '-Wall', '-Wno-sign-compare', @@ -322,7 +324,7 @@ def config_env(toolchain, variant, env): if toolchain == 'clang': if Beast.system.osx: env.Replace(CC='clang', CXX='clang++', LINK='clang++') - else: + elif 'CLANG_CC' in env and 'CLANG_CXX' in env and 'CLANG_LINK' in env: env.Replace(CC=env['CLANG_CC'], CXX=env['CLANG_CXX'], LINK=env['CLANG_LINK']) # C and C++ # Add '-Wshorten-64-to-32' @@ -332,7 +334,8 @@ def config_env(toolchain, variant, env): env.Append(CXXFLAGS=['-Wno-mismatched-tags']) elif toolchain == 'gcc': - env.Replace(CC=env['GNU_CC'], CXX=env['GNU_CXX'], LINK=env['GNU_LINK']) + if 'GNU_CC' in env and 'GNU_CXX' in env and 'GNU_LINK' in env: + env.Replace(CC=env['GNU_CC'], CXX=env['GNU_CXX'], LINK=env['GNU_LINK']) # Why is this only for gcc?! env.Append(CCFLAGS=['-Wno-unused-local-typedefs']) @@ -397,7 +400,7 @@ def config_env(toolchain, variant, env): '/MACHINE:X64', '/MANIFEST', #'''/MANIFESTUAC:"level='asInvoker' uiAccess='false'"''', - #'/NOLOGO', + '/nologo', '/NXCOMPAT', '/SUBSYSTEM:CONSOLE', '/TLBID:1', @@ -447,10 +450,6 @@ base.Append(CPPPATH=[ os.path.join('src', 'beast'), os.path.join(build_dir, 'proto'), ]) -if Beast.system.windows: - base.Append(CPPPATH=[ - os.path.join('src', 'protobuf', 'src'), - ]) # Configure the toolchains, variants, default toolchain, and default target variants = ['debug', 'release'] @@ -489,7 +488,7 @@ for source in [ # Declare the targets aliases = collections.defaultdict(list) msvc_configs = [] -for toolchain in toolchains: +for toolchain in ['gcc', 'clang', 'msvc']: for variant in variants: # Configure this variant's construction environment env = base.Clone() @@ -569,7 +568,7 @@ for toolchain in toolchains: 'src/snappy/config', ])) - if Beast.system.osx: + if toolchain == "clang" and Beast.system.osx: objects.append(addSource('src/ripple/unity/beastobjc.mm', env, variant_dirs)) target = env.Program( @@ -588,9 +587,10 @@ for toolchain in toolchains: msvc_configs.append(config) if toolchain in toolchains: aliases['all'].extend(target) - aliases[variant].extend(target) - aliases[toolchain].extend(target) - env.Alias(variant_name, target) + aliases[variant].extend(target) + aliases[toolchain].extend(target) + env.Alias(variant_name, target) + for key, value in aliases.iteritems(): env.Alias(key, value)