import os import sys (sysname, nodename, release, version, machine)=os.uname() env=Environment() # default build options env.Replace(CFLAGS="-fPIC -fmax-errors=2 -Wall -Werror -fmax-errors=2") env.Replace(CXXFLAGS="-fPIC -fmax-errors=2 -Wall -Werror -fmax-errors=2 ") env.Replace(LINKFLAGS="-fPIC -fmax-errors=2 -Wall -Werror -fmax-errors=2 ") # parse arguments into env and set default values. env.Replace(SECURITY_TRANSFORMS_HOME=os.environ['SECURITY_TRANSFORMS_HOME']) env.Replace(IRDB_SDK=os.environ['IRDB_SDK']) env.Replace(SMPSA_HOME=os.environ['SMPSA_HOME']) env.Replace(do_64bit_build=ARGUMENTS.get("do_64bit_build",None)) env.Replace(debug=ARGUMENTS.get("debug",0)) env.Replace(build_deep=ARGUMENTS.get("build_deep", 0)) env.Replace(build_tools=ARGUMENTS.get("build_tools", 1)) env.Replace(build_stars=ARGUMENTS.get("build_stars", 1)) env.Replace(build_cgc=ARGUMENTS.get("build_cgc", 0)) if 'PEDI_HOME' in os.environ: env.Replace(PEDI_HOME=os.environ['PEDI_HOME']) env.Append(LINKFLAGS=" -Wl,-unresolved-symbols=ignore-in-shared-libs ") if int(env['debug']) == 1: print "Setting debug mode" env.Append(CFLAGS=" -g ") env.Append(CXXFLAGS=" -g ") env.Append(LINKFLAGS=" -g ") env.Append(SHLINKFLAGS=" -g ") else: print "Setting release mode" env.Append(CFLAGS=" -O3 ") env.Append(CXXFLAGS=" -O3 ") env.Append(LINKFLAGS=" -O3 ") env.Append(SHLINKFLAGS=" -O3 ") # set 32/64 bit build properly print "env[64bit]="+str(env['do_64bit_build']) if env['do_64bit_build'] is None: print 'Defaulting to default compilation size.' elif int(env['do_64bit_build']) == 1: print 'Using 64-bit compilation size.' env.Append(CFLAGS=" -m64 ") env.Append(CXXFLAGS=" -m64 ") env.Append(LINKFLAGS=" -m64 ") env.Append(SHLINKFLAGS=" -m64 ") else: print 'Using 32-bit compilation size.' env.Append(CFLAGS=" -m32 ") env.Append(CXXFLAGS=" -m32 ") env.Append(LINKFLAGS=" -m32 ") env.Append(SHLINKFLAGS=" -m32 ") # add extra flag for solaris. if sysname == "SunOS": env.Append(LINKFLAGS=" -L/opt/csw/lib -DSOLARIS ") env.Append(SHLINKFLAGS=" -L/opt/csw/lib -DSOLARIS ") env.Append(CFLAGS=" -I/opt/csw/include -DSOLARIS ") env.Append(CXXFLAGS=" -I/opt/csw/include -DSOLARIS ") Export('env') if int(env['build_deep']) == 1: SConscript("SConscript.deep") else: SConscript("SConscript")