From e8a55dfb02f998ebdfe6ec2a06cd976206c0065f Mon Sep 17 00:00:00 2001 From: Anthony Barbier Date: Fri, 26 Oct 2018 09:05:01 +0100 Subject: COMPMID-1685: Allow build_dir to be an absolute path Change-Id: I875ffe0ccec3aa4f53bfb68d82e2a7292ab83358 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/155348 Reviewed-by: Georgios Pinitas Tested-by: bsgcomp --- SConstruct | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) (limited to 'SConstruct') diff --git a/SConstruct b/SConstruct index ea3402a316..4278e0b679 100644 --- a/SConstruct +++ b/SConstruct @@ -61,16 +61,23 @@ vars.AddVariables( ) env = Environment(platform="posix", variables=vars, ENV = os.environ) -env.Append(LIBPATH = ["#build/%s" % env['build_dir']]) +build_path = env['build_dir'] +# If build_dir is a relative path then add a #build/ prefix: +if not env['build_dir'].startswith('/'): + SConsignFile('build/%s/.scons' % build_path) + build_path = "#build/%s" % build_path +else: + SConsignFile('%s/.scons' % build_path) + +env.Append(LIBPATH = [build_path]) Export('env') Export('vars') -SConsignFile('build/.%s' % env['build_dir']) Help(vars.GenerateHelpText(env)) if env['build'] == "embed_only": - SConscript('./SConscript', variant_dir='#build/%s' % env['build_dir'], duplicate=0) + SConscript('./SConscript', variant_dir=build_path, duplicate=0) Return() if env['neon'] and 'x86' in env['arch']: @@ -248,16 +255,16 @@ env.Append(CXXFLAGS = env['extra_cxx_flags']) Export('version_at_least') if env['opencl']: - SConscript("./opencl-1.2-stubs/SConscript", variant_dir="build/%s/opencl-1.2-stubs" % env['build_dir'], duplicate=0) + SConscript("./opencl-1.2-stubs/SConscript", variant_dir="%s/opencl-1.2-stubs" % build_path, duplicate=0) if env['gles_compute'] and env['os'] != 'android': env.Append(CPPPATH = ['#/include/linux']) - SConscript("./opengles-3.1-stubs/SConscript", variant_dir="build/%s/opengles-3.1-stubs" % env['build_dir'], duplicate=0) + SConscript("./opengles-3.1-stubs/SConscript", variant_dir="%s/opengles-3.1-stubs" % build_path, duplicate=0) -SConscript('./SConscript', variant_dir='#build/%s' % env['build_dir'], duplicate=0) +SConscript('./SConscript', variant_dir=build_path, duplicate=0) if env['examples'] and env['os'] != 'bare_metal': - SConscript('./examples/SConscript', variant_dir='#build/%s/examples' % env['build_dir'], duplicate=0) + SConscript('./examples/SConscript', variant_dir='%s/examples' % build_path, duplicate=0) if env['os'] != 'bare_metal': - SConscript('./tests/SConscript', variant_dir='#build/%s/tests' % env['build_dir'], duplicate=0) + SConscript('./tests/SConscript', variant_dir='%s/tests' % build_path, duplicate=0) -- cgit v1.2.1