From d9eb27597eabe5b7c17520f4f9b3f8a282d72573 Mon Sep 17 00:00:00 2001 From: Georgios Pinitas Date: Tue, 3 Apr 2018 13:44:29 +0100 Subject: COMPMID-797: Switch to new graph. - Cleaned up build system Change-Id: If2faa27ee5b31fa8b972836960ab3ef671059c8d Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/126435 Tested-by: Jenkins Reviewed-by: Pablo Tello --- examples/SConscript | 71 ++++++++++++++++++++++------------------------------- 1 file changed, 29 insertions(+), 42 deletions(-) (limited to 'examples/SConscript') diff --git a/examples/SConscript b/examples/SConscript index 80bce57316..7f7df3e9aa 100644 --- a/examples/SConscript +++ b/examples/SConscript @@ -24,70 +24,57 @@ import os.path Import('env') -if env['opencl']: - Import('opencl') - -if env['gles_compute'] and env['os'] != 'android': - Import('egl') - Import('glesv2') - examples_env = env.Clone() examples_env.Append(CPPPATH = ["#"]) -examples_env.Append(LIBPATH = ["#build/%s/opencl-1.2-stubs" % env['build_dir']]) # Build examples utils = examples_env.Object("../utils/Utils.cpp") if env['os'] in ['android', 'bare_metal'] or env['standalone']: + Import('arm_compute_graph_a') Import('arm_compute_a') Import('arm_compute_core_a') arm_compute_libs = [ arm_compute_a, arm_compute_core_a ] arm_compute_dependency = arm_compute_a + graph_dependency = [arm_compute_graph_a] else: + Import('arm_compute_graph_so') Import('arm_compute_so') - arm_compute_libs = ["arm_compute", "arm_compute_core"] + arm_compute_libs = ["arm_compute_graph", "arm_compute", "arm_compute_core"] arm_compute_dependency = arm_compute_so + graph_dependency = [arm_compute_graph_so] + +# Build graph examples +graph_utils = examples_env.Object("../utils/GraphUtils.cpp") +for file in Glob("./graph_*.cpp"): + example = os.path.basename(os.path.splitext(str(file))[0]) + prog = None + arm_compute_graph_libs = arm_compute_libs -if env['opencl'] and env['neon']: - for file in Glob("./neoncl_*.cpp"): - example = os.path.basename(os.path.splitext(str(file))[0]) - prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = arm_compute_libs +["OpenCL"]) - Depends(prog, [arm_compute_dependency, opencl]) - alias = examples_env.Alias(example, prog) - Default(alias) if env['os'] == 'android': - Import('arm_compute_graph2_a') - Import('arm_compute_graph_a') - Import('arm_compute_core_a') - Import('arm_compute_a') - arm_compute_graph_libs = [ arm_compute_a, arm_compute_core_a, "OpenCL"] - graph_dependency = [arm_compute_graph_a, arm_compute_graph2_a] + prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--whole-archive',graph_dependency,'-Wl,--no-whole-archive']) + Depends(prog, graph_dependency) else: - Import('arm_compute_graph2_so') - Import('arm_compute_graph_so') - arm_compute_graph_libs = ["arm_compute_graph2", "arm_compute_graph", "arm_compute", "arm_compute_core"] - graph_dependency = [arm_compute_graph_so, arm_compute_graph2_so] + #-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies + prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--allow-shlib-undefined'] ) + Depends(prog, graph_dependency) + alias = examples_env.Alias(example, prog) + Default(alias) - graph_utils = examples_env.Object("../utils/GraphUtils.cpp") - for file in Glob("./graph_*.cpp"): +if env['opencl'] and env['neon']: + for file in Glob("./neoncl_*.cpp"): example = os.path.basename(os.path.splitext(str(file))[0]) - prog = None - if env['os'] == 'android': - prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = arm_compute_graph_libs + ["OpenCL"], LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--whole-archive',graph_dependency,'-Wl,--no-whole-archive']) - Depends(prog, [graph_dependency, opencl]) - else: - #-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies - prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = arm_compute_graph_libs, LINKFLAGS=examples_env["LINKFLAGS"]+['-Wl,--allow-shlib-undefined'] ) - Depends(prog, graph_dependency) + prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = arm_compute_libs) + Depends(prog, arm_compute_dependency) alias = examples_env.Alias(example, prog) Default(alias) if env['opencl']: for file in Glob("./cl_*.cpp"): example = os.path.basename(os.path.splitext(str(file))[0]) - prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = arm_compute_libs +["OpenCL"]) - Depends(prog, [arm_compute_dependency, opencl]) + prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = arm_compute_libs) + Depends(prog, arm_compute_dependency) alias = examples_env.Alias(example, prog) Default(alias) @@ -103,13 +90,13 @@ if env['gles_compute']: for file in Glob("./gc_*.cpp"): example = os.path.basename(os.path.splitext(str(file))[0]) if env['os'] != 'android': - prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = [arm_compute_libs, "EGL", "GLESv2"]) - Depends(prog, [arm_compute_dependency, egl, glesv2]) + prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = arm_compute_libs) + Depends(prog, arm_compute_dependency) else: if env['arch'] != 'armv7a': - prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = [arm_compute_libs, "EGL", "GLESv3"]) + prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = arm_compute_libs) else: - prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = [arm_compute_libs, "EGL", "GLESv2"]) + prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = arm_compute_libs) Depends(prog, [arm_compute_dependency]) alias = examples_env.Alias(example, prog) Default(alias) -- cgit v1.2.1