import os
+import sys, select
# Basic paths
prefix = ARGUMENTS.get ('prefix', "/usr/local")
# Versioning
release = ARGUMENTS.get ('release', 0)
+# Environment
+env = None
+rc = os.system("clang++ --version >/dev/null 2>/dev/null")
+if rc == 0:
+ print "\nDetected clang++ installed in the system"
+ print "\nSelect compiler:\n 1. g++\n 2. clang++"
+ #option = raw_input("\nInput option [1]: ") or "1"
+ # Read with timeout:
+ print "\nInput option [1]: "
+ option = 1
+ i, o, e = select.select( [sys.stdin], [], [], 60 )
+ if (i): option = sys.stdin.readline().strip()
+ else: print "expired! using default ..."
+ if option == "2":
+ env = Environment(CXX = 'clang++')
+ env.Append (CCFLAGS = '-DIS_CLANG')
+ env.Append (CXXFLAGS = '-Wno-parentheses-equality')
+ else:
+ env = Environment()
+else:
+ env = Environment()
+
+#oracle_includes = os.environ["ORACLE_HOME"] + "/include"
+oracle_includes = "/usr/lib/oracle/12.1/client64/include"
+
# Headers
source_include = os.path.join (current_directory, "include")
usr_include = [
- "/usr/include/oracle/11.2/client",
+ #"/usr/include/oracle/12.1/client64",
+ oracle_includes,
"/usr/include/libxml2",
#"/usr/include/boost",
#"/usr/include/mysql",
libraries = []
# Environment
-env = Environment ()
+#env = Environment ()
# CPPPATH will be relative to src/<target>
env.Append (CPPPATH = [source_include, usr_local_include, usr_include ])
-env.Append (CCFLAGS = '-std=c++0x')
+#env.Append (CCFLAGS = '-std=c++0x')
# C++11 support:
env.Append (CXXFLAGS = '-std=c++11')
env.Append (VARIANT = variant)
else:
variant='debug'
- env.Append (CCFLAGS = '-g -O0 -D_DEBUG')
+ env.Append (CCFLAGS = '-g -O0')
env.Append (LIBPATH = os.path.join (current_directory, variant))
env.Append (VARIANT = variant)
# only modified files:
env.Alias('doc', env.Command('doc.dummy', [], 'cd docs/doxygen; doxygen'))
+# Installation aliases:
#
-# Run 'sudo scons install' to install the suite:
-#
-# 'sudo scons install-include' for only headers
-# 'sudo scons install-lib' for only libraries
-# 'sudo scons install-bin' for only binaries
+# 'sudo scons install-include' for only headers
+# 'sudo scons install-lib' for only libraries
+# 'sudo scons install-include-and-lib' for headers & libraries
+# 'sudo scons install-example' for only example binaries/resources
+# 'sudo scons install' to install the whole suite
#
# Run 'sudo scons uninstall' to uninstall the suite
#
install_include = env.Install (target_usr_local_include, Glob("include/anna/*"))
install_lib = env.Install (target_usr_local_lib, Glob("source/*/" + variant + "/*.a"))
install_example = env.Install (target_opt_bin, Glob("example/*/*/" + variant + "/example_*"))
+postinstall_example = env.Command('./example/postinstall.out', None, './example/postinstall.sh')
+
#Default ('install')
Depends (install_include, test_unit_result)
Depends (install_lib, test_unit_result)
Depends (install_example, test_unit_result)
+ii = env.Alias('install-include', [target_usr_local_include])
+il = env.Alias('install-lib', [target_usr_local_lib])
iil = env.Alias('install-include-and-lib', [target_usr_local_include, target_usr_local_lib])
-iex = env.Alias('install-example', target_opt_bin)
+iex = env.Alias('install-example', [target_opt_bin, postinstall_example])
env.Alias('install', [iil, iex])
env.Command ("uninstall", None, [ Delete(target_usr_local_include), Delete(target_usr_local_lib), Delete(target_opt_bin) ])