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 498ae63379..4b439dfbc4 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 7cecff64c1..3b7d9f3022 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 c8d8974ec8..16a396a907 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 7abdc6be86..986afbbda3 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 30ea9e868e..17d80734aa 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 d0474ef5a7..20688d60d9 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 b6aa8b2be7..e2d3c0fd83 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 e01a3c6f5f..e4a7d3449b 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 a39a52ab4d..af415a43dc 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 a147624ecf..5ac79444ec 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 e59b3dcb1e..49c2c56085 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 b7e3517f8c..1385f9e728 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 3e09fdb449..25e855b0d4 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 a8d4776822..ec0068d252 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 c960eeb0e3..00176ea5e6 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 056c0c08c2..ce5fabbcd3 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 93c72d7e16..931eeef187 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 16340ff8e2..036046214d 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 f03eba61bf..ab9c9d2306 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 2595afc8df..933f4f0a0a 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 ef9ab14bf1..8f5026dad3 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 d2893e341a..6cbf438e1a 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 d11728615f..683d1693a5 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 8c3bb456aa..7ab5645300 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 510d52ea03..e5f4893541 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 73792dcf9f..5b8dc9050f 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 03cb6b3a84..f18385602b 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 3513ab8df4..705a789ce1 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 3c2658905a..98c58cfcc0 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 2bd934c3c3..e4464dc880 100644 --- a/src/ripple/unity/protocol.cpp +++ b/src/ripple/unity/protocol.cpp @@ -33,7 +33,6 @@ #include #include #include -#include #include #include #include