Import('env')
-if env['opencl']:
- Import('opencl')
-
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]
-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_graph_a')
- Import('arm_compute_core_a')
- Import('arm_compute_a')
- arm_compute_graph_libs = [ arm_compute_graph_a, arm_compute_a, arm_compute_core_a]
- graph_dependency = arm_compute_graph_a
+# Build graph examples
+graph_utils = examples_env.Object("../utils/GraphUtils.cpp")
+examples_libs = examples_env.get("LIBS",[])
+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['os'] in ['android', 'bare_metal'] or env['standalone']:
+ prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = examples_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_graph_so')
- arm_compute_graph_libs = ["arm_compute_graph", "arm_compute", "arm_compute_core"]
- graph_dependency = arm_compute_graph_so
+ #-Wl,--allow-shlib-undefined: Ignore dependencies of dependencies
+ prog = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], LIBS = examples_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 = examples_env.Program(example, ["{}.cpp".format(example), utils, graph_utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = arm_compute_graph_libs + ["OpenCL"])
- Depends(prog, [graph_dependency, opencl])
+ prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_CL'], LIBS = examples_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 = examples_libs + arm_compute_libs)
+ Depends(prog, arm_compute_dependency)
alias = examples_env.Alias(example, prog)
Default(alias)
if env['neon']:
for file in Glob("./neon_*.cpp"):
example = os.path.basename(os.path.splitext(str(file))[0])
- prog = examples_env.Program(example, ["{}.cpp".format(example), utils], LIBS = arm_compute_libs)
+ prog = examples_env.Program(example, ["{}.cpp".format(example), utils], LIBS = examples_libs + arm_compute_libs)
+ Depends(prog, arm_compute_dependency)
+ alias = examples_env.Alias(example, prog)
+ Default(alias)
+
+if env['gles_compute']:
+ for file in Glob("./gc_*.cpp"):
+ example = os.path.basename(os.path.splitext(str(file))[0])
+ prog = examples_env.Program(example, ["{}.cpp".format(example), utils], CPPDEFINES=['ARM_COMPUTE_GC'], LIBS = examples_libs + arm_compute_libs)
Depends(prog, arm_compute_dependency)
alias = examples_env.Alias(example, prog)
Default(alias)