From 62838019819b188cabaf52d12bb13b4300735b84 Mon Sep 17 00:00:00 2001 From: Vinnie Falco Date: Fri, 26 Dec 2014 14:31:32 -0800 Subject: [PATCH] Add non-unity build targets: The SConstruct is modified to provide a new family of targets, ending with the suffix ".nounity", which compile individual translation units instead of some of the unity translation units ("classic" builds). Two modules updated for this treatment are ripple/basics/ and ripple/protocol/, with plans to update more in the future. A consequence is longer build times in some cases. A benefit of classic builds is that missing includes can be identified through compiler errors. --- Builds/VisualStudio2013/RippleD.vcxproj | 6 +- .../VisualStudio2013/RippleD.vcxproj.filters | 6 +- SConstruct | 276 ++++++++++-------- src/ripple/basics/StringUtilities.h | 1 + src/ripple/basics/Sustain.h | 2 + src/ripple/basics/Time.h | 2 + .../basics/impl/CheckLibraryVersionsImpl.h | 2 + src/ripple/basics/impl/Log.cpp | 7 +- src/ripple/basics/impl/StringUtilities.cpp | 5 +- src/ripple/basics/impl/Sustain.cpp | 5 +- src/ripple/basics/impl/Time.cpp | 2 + src/ripple/basics/impl/UptimeTimer.cpp | 1 + .../{protocol => basics}/impl/strHex.cpp | 2 + src/ripple/basics/strHex.h | 2 + .../basics/tests/StringUtilities.test.cpp | 1 + src/ripple/protocol/STAccount.h | 2 + src/ripple/protocol/STPathSet.h | 4 + src/ripple/protocol/SystemParameters.h | 3 +- src/ripple/protocol/impl/STLedgerEntry.cpp | 4 + src/ripple/protocol/impl/STParsedJSON.cpp | 11 + src/ripple/protocol/impl/STPathSet.cpp | 4 + src/ripple/protocol/impl/STTx.cpp | 7 +- src/ripple/protocol/impl/STValidation.cpp | 2 + src/ripple/protocol/impl/UintTypes.cpp | 1 + src/ripple/protocol/tests/BuildInfo.test.cpp | 1 + .../protocol/tests/RippleAddress.test.cpp | 2 + src/ripple/protocol/tests/STObject.test.cpp | 3 + src/ripple/protocol/tests/STTx.test.cpp | 2 + src/ripple/unity/basics.cpp | 7 +- src/ripple/unity/protocol.cpp | 1 - 30 files changed, 232 insertions(+), 142 deletions(-) rename src/ripple/{protocol => basics}/impl/strHex.cpp (98%) diff --git a/Builds/VisualStudio2013/RippleD.vcxproj b/Builds/VisualStudio2013/RippleD.vcxproj index 498ae6337..4b439dfbc 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj +++ b/Builds/VisualStudio2013/RippleD.vcxproj @@ -2137,6 +2137,9 @@ True + + True + True @@ -2698,9 +2701,6 @@ True - - True - True diff --git a/Builds/VisualStudio2013/RippleD.vcxproj.filters b/Builds/VisualStudio2013/RippleD.vcxproj.filters index 7cecff64c..3b7d9f302 100644 --- a/Builds/VisualStudio2013/RippleD.vcxproj.filters +++ b/Builds/VisualStudio2013/RippleD.vcxproj.filters @@ -3075,6 +3075,9 @@ ripple\basics\impl + + ripple\basics\impl + ripple\basics\impl @@ -3765,9 +3768,6 @@ ripple\protocol\impl - - ripple\protocol\impl - ripple\protocol\impl diff --git a/SConstruct b/SConstruct index c8d8974ec..16a396a90 100644 --- a/SConstruct +++ b/SConstruct @@ -507,6 +507,8 @@ else: default_toolchain = 'clang' else: raise ValueError("Don't understand toolchains in " + str(toolchains)) + +default_tu_style = 'unity' default_variant = 'release' default_target = None @@ -533,141 +535,168 @@ class ObjectBuilder(object): if kwds: env = env.Clone() env.Prepend(**kwds) - path = UNITY_BUILD_DIRECTORY + filename - o = env.Object(Beast.variantFile(path, self.variant_dirs)) + o = env.Object(Beast.variantFile(filename, self.variant_dirs)) self.objects.append(o) +def list_sources(base, suffixes): + def _iter(base): + for parent, dirs, files in os.walk(base): + files = [f for f in files if not f[0] == '.'] + dirs[:] = [d for d in dirs if not d[0] == '.'] + for path in files: + path = os.path.join(parent, path) + r = os.path.splitext(path) + if r[1] in suffixes: + yield os.path.normpath(path) + return list(_iter(base)) # Declare the targets aliases = collections.defaultdict(list) msvc_configs = [] -for toolchain in all_toolchains: - for variant in variants: - # Configure this variant's construction environment - env = base.Clone() - config_env(toolchain, variant, env) - variant_name = '%s.%s' % (toolchain, variant) - variant_dir = os.path.join(build_dir, variant_name) - variant_dirs = { - os.path.join(variant_dir, 'src') : - 'src', - os.path.join(variant_dir, 'proto') : - os.path.join (build_dir, 'proto'), - } - for dest, source in variant_dirs.iteritems(): - env.VariantDir(dest, source, duplicate=0) - object_builder = ObjectBuilder(env, variant_dirs) - object_builder.add_source_files( - 'app.cpp', - 'app1.cpp', - 'app2.cpp', - 'app3.cpp', - 'app4.cpp', - 'app5.cpp', - 'app6.cpp', - 'app7.cpp', - 'app8.cpp', - 'app9.cpp', - 'basics.cpp', - 'beast.cpp', - 'core.cpp', - 'crypto.cpp', - 'json.cpp', - 'net.cpp', - 'overlay.cpp', - 'peerfinder.cpp', - 'protobuf.cpp', - 'protocol.cpp', - 'ripple.proto.cpp', - 'resource.cpp', - 'rpcx.cpp', - 'server.cpp', - 'validators.cpp', - 'websocket.cpp', - ) +for tu_style in ['classic', 'unity']: + for toolchain in all_toolchains: + for variant in variants: + # Configure this variant's construction environment + env = base.Clone() + config_env(toolchain, variant, env) + variant_name = '%s.%s' % (toolchain, variant) + if tu_style == 'classic': + variant_name += '.nounity' + variant_dir = os.path.join(build_dir, variant_name) + variant_dirs = { + os.path.join(variant_dir, 'src') : + 'src', + os.path.join(variant_dir, 'proto') : + os.path.join (build_dir, 'proto'), + } + for dest, source in variant_dirs.iteritems(): + env.VariantDir(dest, source, duplicate=0) - object_builder.add_source_files( - 'beastc.c', - CCFLAGS = ([] if toolchain == 'msvc' else ['-Wno-array-bounds'])) + object_builder = ObjectBuilder(env, variant_dirs) - object_builder.add_source_files( - 'nodestore.cpp', - CPPPATH=[ - 'src/leveldb/include', - #'src/hyperleveldb/include', # hyper - 'src/rocksdb2/include', - ] - ) + if tu_style == 'classic': + object_builder.add_source_files( + *list_sources('src/ripple/basics', '.cpp')) + object_builder.add_source_files( + *list_sources('src/ripple/protocol', '.cpp')) + else: + object_builder.add_source_files( + 'src/ripple/unity/basics.cpp', + 'src/ripple/unity/protocol.cpp', + ) - if 'gcc' in toolchain: - no_uninitialized_warning = {'CCFLAGS': ['-Wno-maybe-uninitialized']} - else: - no_uninitialized_warning = {} - - object_builder.add_source_files( - 'leveldb.cpp', - CPPPATH=[ - 'src/leveldb/', - 'src/leveldb/include', - 'src/snappy/snappy', - 'src/snappy/config', - ], - **no_uninitialized_warning - ) - - object_builder.add_source_files( - 'hyperleveldb.cpp', - CPPPATH=[ - 'src/hyperleveldb', - 'src/snappy/snappy', - 'src/snappy/config', - ], - **no_uninitialized_warning - ) - - object_builder.add_source_files( - 'rocksdb.cpp', - CPPPATH=[ - 'src/rocksdb2', - 'src/rocksdb2/include', - 'src/snappy/snappy', - 'src/snappy/config', - ], - **no_uninitialized_warning - ) - - object_builder.add_source_files( - 'snappy.cpp', - CCFLAGS=([] if toolchain == 'msvc' else ['-Wno-unused-function']), - CPPPATH=[ - 'src/snappy/snappy', - 'src/snappy/config', - ] - ) - - if toolchain == "clang" and Beast.system.osx: - object_builder.add_source_files('beastobjc.mm') - - target = env.Program( - target=os.path.join(variant_dir, 'rippled'), - source=object_builder.objects + object_builder.add_source_files( + 'src/ripple/unity/app.cpp', + 'src/ripple/unity/app1.cpp', + 'src/ripple/unity/app2.cpp', + 'src/ripple/unity/app3.cpp', + 'src/ripple/unity/app4.cpp', + 'src/ripple/unity/app5.cpp', + 'src/ripple/unity/app6.cpp', + 'src/ripple/unity/app7.cpp', + 'src/ripple/unity/app8.cpp', + 'src/ripple/unity/app9.cpp', + 'src/ripple/unity/beast.cpp', + 'src/ripple/unity/core.cpp', + 'src/ripple/unity/crypto.cpp', + 'src/ripple/unity/json.cpp', + 'src/ripple/unity/net.cpp', + 'src/ripple/unity/overlay.cpp', + 'src/ripple/unity/peerfinder.cpp', + 'src/ripple/unity/protobuf.cpp', + 'src/ripple/unity/ripple.proto.cpp', + 'src/ripple/unity/resource.cpp', + 'src/ripple/unity/rpcx.cpp', + 'src/ripple/unity/server.cpp', + 'src/ripple/unity/validators.cpp', + 'src/ripple/unity/websocket.cpp' ) - if toolchain == default_toolchain and variant == default_variant: - default_target = target - install_target = env.Install (build_dir, source=default_target) - env.Alias ('install', install_target) - env.Default (install_target) - aliases['all'].extend(install_target) - if toolchain == 'msvc': - config = env.VSProjectConfig(variant, 'x64', target, env) - 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) + object_builder.add_source_files( + 'src/ripple/unity/beastc.c', + CCFLAGS = ([] if toolchain == 'msvc' else ['-Wno-array-bounds'])) + + object_builder.add_source_files( + 'src/ripple/unity/nodestore.cpp', + CPPPATH=[ + 'src/leveldb/include', + #'src/hyperleveldb/include', # hyper + 'src/rocksdb2/include', + ] + ) + + if 'gcc' in toolchain: + no_uninitialized_warning = {'CCFLAGS': ['-Wno-maybe-uninitialized']} + else: + no_uninitialized_warning = {} + + object_builder.add_source_files( + 'src/ripple/unity/leveldb.cpp', + CPPPATH=[ + 'src/leveldb/', + 'src/leveldb/include', + 'src/snappy/snappy', + 'src/snappy/config', + ], + **no_uninitialized_warning + ) + + object_builder.add_source_files( + 'src/ripple/unity/hyperleveldb.cpp', + CPPPATH=[ + 'src/hyperleveldb', + 'src/snappy/snappy', + 'src/snappy/config', + ], + **no_uninitialized_warning + ) + + object_builder.add_source_files( + 'src/ripple/unity/rocksdb.cpp', + CPPPATH=[ + 'src/rocksdb2', + 'src/rocksdb2/include', + 'src/snappy/snappy', + 'src/snappy/config', + ], + **no_uninitialized_warning + ) + + object_builder.add_source_files( + 'src/ripple/unity/snappy.cpp', + CCFLAGS=([] if toolchain == 'msvc' else ['-Wno-unused-function']), + CPPPATH=[ + 'src/snappy/snappy', + 'src/snappy/config', + ] + ) + + if toolchain == "clang" and Beast.system.osx: + object_builder.add_source_files('src/ripple/unity/beastobjc.mm') + + target = env.Program( + target=os.path.join(variant_dir, 'rippled'), + source=object_builder.objects + ) + + if tu_style == default_tu_style: + if toolchain == default_toolchain and ( + variant == default_variant): + default_target = target + install_target = env.Install (build_dir, source=default_target) + env.Alias ('install', install_target) + env.Default (install_target) + aliases['all'].extend(install_target) + if toolchain == 'msvc': + config = env.VSProjectConfig(variant, 'x64', target, env) + msvc_configs.append(config) + if toolchain in toolchains: + aliases['all'].extend(target) + aliases[toolchain].extend(target) + if toolchain in toolchains: + aliases[variant].extend(target) + env.Alias(variant_name, target) for key, value in aliases.iteritems(): env.Alias(key, value) @@ -700,7 +729,6 @@ def do_count(target, source, env): if r[0].endswith('.test'): yield os.path.normpath(path) return list(_iter(base)) - testfiles = list_testfiles(os.path.join('src', 'ripple'), env.get('CPPSUFFIXES')) lines = 0 for f in testfiles: diff --git a/src/ripple/basics/StringUtilities.h b/src/ripple/basics/StringUtilities.h index 7abdc6be8..986afbbda 100644 --- a/src/ripple/basics/StringUtilities.h +++ b/src/ripple/basics/StringUtilities.h @@ -25,6 +25,7 @@ #include #include #include +#include #include namespace ripple { diff --git a/src/ripple/basics/Sustain.h b/src/ripple/basics/Sustain.h index 30ea9e868..17d80734a 100644 --- a/src/ripple/basics/Sustain.h +++ b/src/ripple/basics/Sustain.h @@ -20,6 +20,8 @@ #ifndef RIPPLE_BASICS_SUSTAIN_H_INCLUDED #define RIPPLE_BASICS_SUSTAIN_H_INCLUDED +#include + namespace ripple { // "Sustain" is a system for a buddy process that monitors the main process diff --git a/src/ripple/basics/Time.h b/src/ripple/basics/Time.h index d0474ef5a..20688d60d 100644 --- a/src/ripple/basics/Time.h +++ b/src/ripple/basics/Time.h @@ -20,6 +20,8 @@ #ifndef RIPPLE_BASICS_TIME_H_INCLUDED #define RIPPLE_BASICS_TIME_H_INCLUDED +#include + namespace ripple { // VFALCO TODO Roll this into some utilities header diff --git a/src/ripple/basics/impl/CheckLibraryVersionsImpl.h b/src/ripple/basics/impl/CheckLibraryVersionsImpl.h index b6aa8b2be..e2d3c0fd8 100644 --- a/src/ripple/basics/impl/CheckLibraryVersionsImpl.h +++ b/src/ripple/basics/impl/CheckLibraryVersionsImpl.h @@ -21,6 +21,8 @@ #define RIPPLE_BASICS_CHECKLIBRARYVERSIONS_IMPL_H_INCLUDED #include +#include +#include namespace ripple { namespace version { diff --git a/src/ripple/basics/impl/Log.cpp b/src/ripple/basics/impl/Log.cpp index e01a3c6f5..e4a7d3449 100644 --- a/src/ripple/basics/impl/Log.cpp +++ b/src/ripple/basics/impl/Log.cpp @@ -21,6 +21,7 @@ #include // VFALCO TODO Use std::chrono #include +#include #include namespace ripple { @@ -203,7 +204,7 @@ Logs::fromSeverity (beast::Journal::Severity level) case Journal::kError: return lsERROR; default: - bassertfalse; + assert(false); case Journal::kFatal: break; } @@ -223,7 +224,7 @@ Logs::toSeverity (LogSeverity level) case lsWARNING: return Journal::kWarning; case lsERROR: return Journal::kError; default: - bassertfalse; + assert(false); case lsFATAL: break; } @@ -313,7 +314,7 @@ Logs::format (std::string& output, std::string const& message, case beast::Journal::kWarning: output += "WRN "; break; case beast::Journal::kError: output += "ERR "; break; default: - bassertfalse; + assert(false); case beast::Journal::kFatal: output += "FTL "; break; } diff --git a/src/ripple/basics/impl/StringUtilities.cpp b/src/ripple/basics/impl/StringUtilities.cpp index a39a52ab4..af415a43d 100644 --- a/src/ripple/basics/impl/StringUtilities.cpp +++ b/src/ripple/basics/impl/StringUtilities.cpp @@ -18,14 +18,15 @@ //============================================================================== #include +#include #include #include +#include #include #include +#include #include -#include - namespace ripple { // NIKB NOTE: This function is only used by strUnHex (std::string const& strSrc) diff --git a/src/ripple/basics/impl/Sustain.cpp b/src/ripple/basics/impl/Sustain.cpp index a147624ec..5ac79444e 100644 --- a/src/ripple/basics/impl/Sustain.cpp +++ b/src/ripple/basics/impl/Sustain.cpp @@ -17,14 +17,17 @@ */ //============================================================================== +#include #include - +#include + // For Sustain Linux variants // VFALCO TODO Rewrite Sustain to use beast::Process #ifdef __linux__ #include #include #include +#include #endif #ifdef __FreeBSD__ #include diff --git a/src/ripple/basics/impl/Time.cpp b/src/ripple/basics/impl/Time.cpp index e59b3dcb1..49c2c5608 100644 --- a/src/ripple/basics/impl/Time.cpp +++ b/src/ripple/basics/impl/Time.cpp @@ -17,6 +17,8 @@ */ //============================================================================== +#include + namespace ripple { // VFALCO TODO Tidy this up into a RippleTime object diff --git a/src/ripple/basics/impl/UptimeTimer.cpp b/src/ripple/basics/impl/UptimeTimer.cpp index b7e3517f8..1385f9e72 100644 --- a/src/ripple/basics/impl/UptimeTimer.cpp +++ b/src/ripple/basics/impl/UptimeTimer.cpp @@ -18,6 +18,7 @@ //============================================================================== #include +#include #include diff --git a/src/ripple/protocol/impl/strHex.cpp b/src/ripple/basics/impl/strHex.cpp similarity index 98% rename from src/ripple/protocol/impl/strHex.cpp rename to src/ripple/basics/impl/strHex.cpp index 3e09fdb44..25e855b0d 100644 --- a/src/ripple/protocol/impl/strHex.cpp +++ b/src/ripple/basics/impl/strHex.cpp @@ -17,6 +17,8 @@ */ //============================================================================== +#include + namespace ripple { char charHex (int iDigit) diff --git a/src/ripple/basics/strHex.h b/src/ripple/basics/strHex.h index a8d477682..ec0068d25 100644 --- a/src/ripple/basics/strHex.h +++ b/src/ripple/basics/strHex.h @@ -25,6 +25,8 @@ #ifndef RIPPLE_BASICS_STRHEX_H_INCLUDED #define RIPPLE_BASICS_STRHEX_H_INCLUDED +#include + namespace ripple { /** Converts an integer to the corresponding hex digit diff --git a/src/ripple/basics/tests/StringUtilities.test.cpp b/src/ripple/basics/tests/StringUtilities.test.cpp index c960eeb0e..00176ea5e 100644 --- a/src/ripple/basics/tests/StringUtilities.test.cpp +++ b/src/ripple/basics/tests/StringUtilities.test.cpp @@ -18,6 +18,7 @@ //============================================================================== #include +#include #include namespace ripple { diff --git a/src/ripple/protocol/STAccount.h b/src/ripple/protocol/STAccount.h index 056c0c08c..ce5fabbcd 100644 --- a/src/ripple/protocol/STAccount.h +++ b/src/ripple/protocol/STAccount.h @@ -20,7 +20,9 @@ #ifndef RIPPLE_PROTOCOL_STACCOUNT_H_INCLUDED #define RIPPLE_PROTOCOL_STACCOUNT_H_INCLUDED +#include #include +#include namespace ripple { diff --git a/src/ripple/protocol/STPathSet.h b/src/ripple/protocol/STPathSet.h index 93c72d7e1..931eeef18 100644 --- a/src/ripple/protocol/STPathSet.h +++ b/src/ripple/protocol/STPathSet.h @@ -20,6 +20,10 @@ #ifndef RIPPLE_PROTOCOL_STPATHELEMENT_H_INCLUDED #define RIPPLE_PROTOCOL_STPATHELEMENT_H_INCLUDED +#include +#include +#include +#include #include namespace ripple { diff --git a/src/ripple/protocol/SystemParameters.h b/src/ripple/protocol/SystemParameters.h index 16340ff8e..036046214 100644 --- a/src/ripple/protocol/SystemParameters.h +++ b/src/ripple/protocol/SystemParameters.h @@ -21,10 +21,11 @@ #define RIPPLE_CORE_SYSTEMPARAMETERS_H_INCLUDED #include +#include namespace ripple { -/** Various protocol and system specific constant globals. */ +// Various protocol and system specific constant globals. /* The name of the system. */ static inline diff --git a/src/ripple/protocol/impl/STLedgerEntry.cpp b/src/ripple/protocol/impl/STLedgerEntry.cpp index f03eba61b..ab9c9d230 100644 --- a/src/ripple/protocol/impl/STLedgerEntry.cpp +++ b/src/ripple/protocol/impl/STLedgerEntry.cpp @@ -17,8 +17,12 @@ */ //============================================================================== +#include +#include #include +#include #include +#include namespace ripple { diff --git a/src/ripple/protocol/impl/STParsedJSON.cpp b/src/ripple/protocol/impl/STParsedJSON.cpp index 2595afc8d..933f4f0a0 100644 --- a/src/ripple/protocol/impl/STParsedJSON.cpp +++ b/src/ripple/protocol/impl/STParsedJSON.cpp @@ -20,8 +20,19 @@ #include #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include +#include // namespace ripple { diff --git a/src/ripple/protocol/impl/STPathSet.cpp b/src/ripple/protocol/impl/STPathSet.cpp index ef9ab14bf..8f5026dad 100644 --- a/src/ripple/protocol/impl/STPathSet.cpp +++ b/src/ripple/protocol/impl/STPathSet.cpp @@ -18,6 +18,10 @@ //============================================================================== #include +#include +#include +#include +#include namespace ripple { diff --git a/src/ripple/protocol/impl/STTx.cpp b/src/ripple/protocol/impl/STTx.cpp index d2893e341..6cbf438e1 100644 --- a/src/ripple/protocol/impl/STTx.cpp +++ b/src/ripple/protocol/impl/STTx.cpp @@ -17,13 +17,18 @@ */ //============================================================================== -#include +#include #include #include +#include +#include #include #include #include +#include +#include #include +#include namespace ripple { diff --git a/src/ripple/protocol/impl/STValidation.cpp b/src/ripple/protocol/impl/STValidation.cpp index d11728615..683d1693a 100644 --- a/src/ripple/protocol/impl/STValidation.cpp +++ b/src/ripple/protocol/impl/STValidation.cpp @@ -19,6 +19,8 @@ #include #include +#include +#include namespace ripple { diff --git a/src/ripple/protocol/impl/UintTypes.cpp b/src/ripple/protocol/impl/UintTypes.cpp index 8c3bb456a..7ab564530 100644 --- a/src/ripple/protocol/impl/UintTypes.cpp +++ b/src/ripple/protocol/impl/UintTypes.cpp @@ -17,6 +17,7 @@ */ //============================================================================== +#include #include #include #include diff --git a/src/ripple/protocol/tests/BuildInfo.test.cpp b/src/ripple/protocol/tests/BuildInfo.test.cpp index 510d52ea0..e5f489354 100644 --- a/src/ripple/protocol/tests/BuildInfo.test.cpp +++ b/src/ripple/protocol/tests/BuildInfo.test.cpp @@ -18,6 +18,7 @@ //============================================================================== #include +#include #include namespace ripple { diff --git a/src/ripple/protocol/tests/RippleAddress.test.cpp b/src/ripple/protocol/tests/RippleAddress.test.cpp index 73792dcf9..5b8dc9050 100644 --- a/src/ripple/protocol/tests/RippleAddress.test.cpp +++ b/src/ripple/protocol/tests/RippleAddress.test.cpp @@ -19,6 +19,8 @@ #include #include +#include +#include #include namespace ripple { diff --git a/src/ripple/protocol/tests/STObject.test.cpp b/src/ripple/protocol/tests/STObject.test.cpp index 03cb6b3a8..f18385602 100644 --- a/src/ripple/protocol/tests/STObject.test.cpp +++ b/src/ripple/protocol/tests/STObject.test.cpp @@ -17,11 +17,14 @@ */ //============================================================================== +#include #include #include #include #include #include +#include +#include #include #include // diff --git a/src/ripple/protocol/tests/STTx.test.cpp b/src/ripple/protocol/tests/STTx.test.cpp index 3513ab8df..705a789ce 100644 --- a/src/ripple/protocol/tests/STTx.test.cpp +++ b/src/ripple/protocol/tests/STTx.test.cpp @@ -18,6 +18,8 @@ //============================================================================== #include +#include +#include #include namespace ripple { diff --git a/src/ripple/unity/basics.cpp b/src/ripple/unity/basics.cpp index 3c2658905..98c58cfcc 100644 --- a/src/ripple/unity/basics.cpp +++ b/src/ripple/unity/basics.cpp @@ -27,15 +27,16 @@ #include #include #include -#include +#include #include +#include +#include +#include #include #include #include #include #include -#include -#include #include #include diff --git a/src/ripple/unity/protocol.cpp b/src/ripple/unity/protocol.cpp index 2bd934c3c..e4464dc88 100644 --- a/src/ripple/unity/protocol.cpp +++ b/src/ripple/unity/protocol.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include