X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=SConstruct;h=e80caf4efd39ea078d0db2c520b7c849ca4c58e2;hb=c69e6b4c2e243af7126034e9c037eb87d63e5e8a;hp=f5cde93eb64c4466335d254b92c7935bac4077e0;hpb=c9038f2ab1936162717beb212541063abfaffed9;p=anna.git diff --git a/SConstruct b/SConstruct index f5cde93..e80caf4 100644 --- a/SConstruct +++ b/SConstruct @@ -1,4 +1,5 @@ import os +import sys, select # Basic paths prefix = ARGUMENTS.get ('prefix', "/usr/local") @@ -23,7 +24,13 @@ 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" + #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') @@ -138,12 +145,13 @@ env.Default (test_unit_list) # 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 # @@ -151,13 +159,17 @@ env.Alias('doc', env.Command('doc.dummy', [], 'cd docs/doxygen; doxygen')) 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) ])