Reordering dependenxy checks

This commit is contained in:
DennisOSRM 2012-01-01 15:53:55 +01:00
parent 44c07e9504
commit 62aab1cec6

View File

@ -92,26 +92,38 @@ if not conf.CheckHeader('omp.h'):
print "Continuing because we are on Mac. This might be fatal." print "Continuing because we are on Mac. This might be fatal."
else: else:
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('bz2', 'bzlib.h', 'CXX'):
print "bz2 library not found. Exiting"
Exit(-1)
if not conf.CheckLibWithHeader('libzip', 'zip.h', 'CXX'):
print "Zip library not found. Exiting"
Exit(-1)
if not conf.CheckLibWithHeader('protobuf', 'google/protobuf/descriptor.h', 'CXX'):
print "Google Protobuffer library not found. Exiting"
Exit(-1)
#check for protobuf 2.3.0
if not (conf.CheckProtobuf('2.3.0')):
print 'libprotobuf version >= 2.3.0 needed'
Exit(-1);
if not (env.Detect('protoc')):
print 'protobuffer compiler not found'
Exit(-1);
if not conf.CheckLibWithHeader('stxxl', 'stxxl.h', 'CXX'):
print "stxxl library not found. Exiting"
Exit(-1)
if not conf.CheckLibWithHeader('xml2', 'libxml/xmlreader.h', 'CXX'): if not conf.CheckLibWithHeader('xml2', 'libxml/xmlreader.h', 'CXX'):
print "libxml2 library or header not found. Exiting" print "libxml2 library or header not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('z', 'zlib.h', 'CXX'): if not conf.CheckLibWithHeader('z', 'zlib.h', 'CXX'):
print "zlib library or header not found. Exiting" print "zlib library or header not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckCXXHeader('stxxl.h'): #Check BOOST installation
print "Could not locate stxxl header. Exiting" if not (conf.CheckBoost('1.41')):
Exit(-1) print 'Boost version >= 1.41 needed'
if not conf.CheckCXXHeader('boost/foreach.hpp'): Exit(-1);
print "boost/foreach.hpp not found. Exiting"
Exit(-1) if not conf.CheckLib('boost_system', language="C++"):
if not conf.CheckCXXHeader('boost/property_tree/ptree.hpp'): print "boost_system library not found. Exiting"
print "boost/property_tree/ptree.hpp not found. Exiting"
Exit(-1)
if not conf.CheckCXXHeader('boost/property_tree/ini_parser.hpp'):
print "boost/property_tree/ini_parser.hpp not found. Exiting"
Exit(-1)
if not conf.CheckLibWithHeader('bz2', 'bzlib.h', 'CXX'):
print "bz2 library not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('boost_thread', 'boost/thread.hpp', 'CXX'): if not conf.CheckLibWithHeader('boost_thread', 'boost/thread.hpp', 'CXX'):
if not conf.CheckLibWithHeader('boost_thread-mt', 'boost/thread.hpp', 'CXX'): if not conf.CheckLibWithHeader('boost_thread-mt', 'boost/thread.hpp', 'CXX'):
@ -121,45 +133,33 @@ if not conf.CheckLibWithHeader('boost_thread', 'boost/thread.hpp', 'CXX'):
print "using boost -mt" print "using boost -mt"
env.Append(CCFLAGS = ' -lboost_thread-mt') env.Append(CCFLAGS = ' -lboost_thread-mt')
env.Append(LINKFLAGS = ' -lboost_thread-mt') env.Append(LINKFLAGS = ' -lboost_thread-mt')
if not conf.CheckCXXHeader('boost/thread.hpp'): if not conf.CheckLibWithHeader('boost_regex', 'boost/regex.hpp', 'CXX'):
print "boost thread header not found. Exiting" print "boost/regex.hpp not found. Exiting"
Exit(-1)
if not conf.CheckLib('boost_system', language="C++"):
print "boost_system library not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckCXXHeader('boost/bind.hpp'): if not conf.CheckCXXHeader('boost/bind.hpp'):
print "boost/bind.hpp not found. Exiting" print "boost/bind.hpp not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckCXXHeader('boost/thread.hpp'): if not conf.CheckCXXHeader('boost/foreach.hpp'):
print "boost/thread.hpp not found. Exiting" print "boost/foreach.hpp not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckCXXHeader('boost/noncopyable.hpp'): if not conf.CheckCXXHeader('boost/noncopyable.hpp'):
print "boost/noncopyable.hpp not found. Exiting" print "boost/noncopyable.hpp not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckCXXHeader('boost/property_tree/ptree.hpp'):
print "boost/property_tree/ptree.hpp not found. Exiting"
Exit(-1)
if not conf.CheckCXXHeader('boost/shared_ptr.hpp'): if not conf.CheckCXXHeader('boost/shared_ptr.hpp'):
print "boost/shared_ptr.hpp not found. Exiting" print "boost/shared_ptr.hpp not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('stxxl', 'stxxl.h', 'CXX'): if not conf.CheckCXXHeader('boost/property_tree/ini_parser.hpp'):
print "stxxl library not found. Exiting" print "boost/property_tree/ini_parser.hpp not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('protobuf', 'google/protobuf/descriptor.h', 'CXX'): if not conf.CheckCXXHeader('boost/thread.hpp'):
print "Google Protobuffer library not found. Exiting" print "boost thread header not found. Exiting"
Exit(-1) Exit(-1)
if not conf.CheckLibWithHeader('libzip', 'zip.h', 'CXX'): if not conf.CheckCXXHeader('boost/thread.hpp'):
print "Zip library not found. Exiting" print "boost/thread.hpp not found. Exiting"
Exit(-1) Exit(-1)
#if os.sysconf('SC_NPROCESSORS_ONLN') > 1:
# env.Append(CCFLAGS = ' -D_GLIBCXX_PARALLEL');
if not (conf.CheckBoost('1.41')):
print 'Boost version >= 1.41 needed'
Exit(-1);
#check for protobuf 2.3.0, else rebuild proto files
if not (conf.CheckProtobuf('2.3.0')):
print 'libprotobuf version >= 2.3.0 needed'
Exit(-1);
if not (env.Detect('protoc')):
print 'protobuffer compiler not found'
Exit(-1);
protobld = Builder(action = 'protoc -I=DataStructures/pbf-proto --cpp_out=DataStructures/pbf-proto $SOURCE') protobld = Builder(action = 'protoc -I=DataStructures/pbf-proto --cpp_out=DataStructures/pbf-proto $SOURCE')
env.Append(BUILDERS = {'Protobuf' : protobld}) env.Append(BUILDERS = {'Protobuf' : protobld})
@ -168,7 +168,7 @@ env.Protobuf('DataStructures/pbf-proto/osmformat.proto')
env.Append(CCFLAGS = ['-fopenmp']) env.Append(CCFLAGS = ['-fopenmp'])
env.Append(LINKFLAGS = ['-fopenmp']) env.Append(LINKFLAGS = ['-fopenmp'])
env.Program(target = 'osrm-extract', source = ["extractor.cpp", 'DataStructures/pbf-proto/fileformat.pb.cc', 'DataStructures/pbf-proto/osmformat.pb.cc']) env.Program(target = 'osrm-extract', source = ["extractor.cpp", Glob('DataStructures/pbf-proto/*.pb.cc'), Glob('Util/*.cpp')])
env.Program(target = 'osrm-prepare', source = ["createHierarchy.cpp", 'Contractor/EdgeBasedGraphFactory.cpp', Glob('Util/SRTMLookup/*.cpp')]) env.Program(target = 'osrm-prepare', source = ["createHierarchy.cpp", 'Contractor/EdgeBasedGraphFactory.cpp', Glob('Util/SRTMLookup/*.cpp')])
env.Append(CCFLAGS = ['-lboost_regex', '-lboost_iostreams', '-lbz2', '-lz', '-lprotobuf']) env.Append(CCFLAGS = ['-lboost_regex', '-lboost_iostreams', '-lbz2', '-lz', '-lprotobuf'])
env.Append(LINKFLAGS = ['-lboost_system']) env.Append(LINKFLAGS = ['-lboost_system'])