changing build management to scons
This commit is contained in:
parent
dd6c87e12d
commit
60d472ac56
7
Makefile
7
Makefile
@ -1,7 +0,0 @@
|
|||||||
all:
|
|
||||||
g++ -O3 -Wall -Wno-deprecated -fopenmp -march=native -lboost_regex-mt -lboost_iostreams-mt -lboost_thread-mt -lboost_system-mt -o routed routed.cpp -DNDEBUG
|
|
||||||
g++ createHierarchy.cpp -fopenmp -Wno-deprecated -o createHierarchy -O3 -march=native -DNDEBUG
|
|
||||||
g++ extractNetwork.cpp -fopenmp -Wno-deprecated -o extractNetwork -O3 -march=native -I/usr/include/libxml2/ -lxml2 -DNDEBUG
|
|
||||||
g++ extractLargeNetwork.cpp -fopenmp -Wno-deprecated -o extractLargeNetwork -O3 -march=native -I/usr/include/libxml2/ -lxml2 -DNDEBUG -I/usr/include/include -lstxxl
|
|
||||||
clean:
|
|
||||||
rm -rf createHierarchy routed extractNetwork *.o *.gch
|
|
14
README.TXT
14
README.TXT
@ -10,13 +10,15 @@ dependencies are installed:
|
|||||||
- sparsehash 1.4+
|
- sparsehash 1.4+
|
||||||
- g++ 4.4+
|
- g++ 4.4+
|
||||||
- libxml2
|
- libxml2
|
||||||
- make
|
- scons 1.20
|
||||||
|
- stxxl 1.2.1+
|
||||||
|
|
||||||
Once the dependencies are properly installed running 'make' should build the
|
Building the binaries is done by using scons. It should check for required
|
||||||
binaries. The Makefile has been built for Ubuntu 10.04, but it should work
|
libraries and header files and report missing ones.
|
||||||
under any recent Linux. It is possible to build and run the binaries under
|
|
||||||
OS X, but for the time being manual compilation is required. Nevertheless,
|
Once the dependencies are properly installed running 'scons' should build the
|
||||||
the code should compile under any recent flavor of UNIX.
|
binaries. The Sconstruct has been built for Ubuntu 10.04, but it should work
|
||||||
|
under any recent Linux.
|
||||||
|
|
||||||
Running the Server
|
Running the Server
|
||||||
---
|
---
|
||||||
|
70
Sconstruct
Normal file
70
Sconstruct
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#Sconstruct
|
||||||
|
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
env = Environment()
|
||||||
|
|
||||||
|
if sys.platform == 'win32':
|
||||||
|
#SCons really wants to use Microsoft compiler :D
|
||||||
|
print "Compiling has not been done on Windows"
|
||||||
|
Exit(-1)
|
||||||
|
else: #Mac OS X
|
||||||
|
if sys.platform == 'darwin':
|
||||||
|
print "Compiling has not been done on Mac"
|
||||||
|
else:
|
||||||
|
env.Append(CPPPATH = ['/usr/include', '/usr/include/include', '/usr/include/libxml2/'])
|
||||||
|
|
||||||
|
env.Append(CCFLAGS = ' -O3')
|
||||||
|
print "Compiling with: ", env['CC']
|
||||||
|
conf = Configure(env)
|
||||||
|
if not conf.CheckCC():
|
||||||
|
print "No suitable C++ Compiler installed"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckHeader('omp.h'):
|
||||||
|
print "Compiler does not support OpenMP. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckLib('stxxl'):
|
||||||
|
print "stxxl library not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckLibWithHeader('xml2', 'libxml/xmlreader.h', 'CXX'):
|
||||||
|
print "libxml2 library or header not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('stxxl.h'):
|
||||||
|
print "Could not locate stxxl header. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('google/sparse_hash_map'):
|
||||||
|
print "Could not find Google Sparsehash library. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('boost/asio.hpp'):
|
||||||
|
print "boost/asio.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckLibWithHeader('boost_thread', 'boost/thread.hpp', 'CXX'):
|
||||||
|
print "boost/thread.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('boost/bind.hpp'):
|
||||||
|
print "boost/bind.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('boost/thread.hpp'):
|
||||||
|
print "boost/thread.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('boost/noncopyable.hpp'):
|
||||||
|
print "boost/noncopyable.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('boost/shared_ptr.hpp'):
|
||||||
|
print "boost/shared_ptr.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
if not conf.CheckCXXHeader('kdtree++/kdtree.hpp'):
|
||||||
|
print "kdtree++/kdtree.hpp not found. Exiting"
|
||||||
|
Exit(-1)
|
||||||
|
|
||||||
|
env.Append(CCFLAGS = ' -fopenmp')
|
||||||
|
env.Append(LINKFLAGS = ' -fopenmp')
|
||||||
|
env.Program("extractNetwork.cpp")
|
||||||
|
env.Program("extractLargeNetwork.cpp")
|
||||||
|
env.Program("createHierarchy.cpp")
|
||||||
|
env.Append(CCFLAGS = ' -lboost_regex -lboost_iostreams -lboost_thread -lboost_system')
|
||||||
|
env.Append(LINKFLAGS = ' -lboost_regex -lboost_iostreams -lboost_thread -lboost_system')
|
||||||
|
env.Program("routed.cpp")
|
||||||
|
env = conf.Finish()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user