project = Project('Go Example') extensions = [GoPackage(project, 'compile_functions')] # Compile main package Phase(project=project, name='compile_main', executor=GoCompile(), inputs=glob('src/main.go'), extensions=extensions, output='main') # Compile functions package Phase(project=project, name='compile_functions', executor=GoCompile(), inputs=glob('src/functions.go'), output='ronin/functions') # Link Phase(project=project, name='link', executor=GoLink(), inputs_from=['compile_main'], extensions=extensions, output='example', run_output=1 if ctx.build.run else 0) cli(project)
from ronin.projects import Project from ronin.utils.paths import glob, input_path with new_context() as ctx: # Library library = Project('gcc Multi-Project Example: Library', file_name='library') executor = GccBuild() executor.create_shared_library() executor.pic() Phase(project=library, name='build', executor=executor, inputs=glob('src/foo/**/*.c'), output='foo') # Main main = Project('Multi-Project Example: Main', file_name='main') executor = GccBuild() executor.add_include_path(input_path('src/foo')) executor.linker_rpath_origin() # to load the .so file from executable's directory Phase(project=main, name='build', executor=executor, inputs=glob('src/main/**/*.c'), extensions=[OutputsExtension(library, 'build')], output='main', run_output=1 if ctx.build.run else 0) cli(library, main)
Phase(project=ard, name='ASM Sources Compile', executor=ardASMCompile, inputs=aASMSources) Phase(project=ard, name='Core Link', executor=ardAR, inputs_from=[ 'C Sources Compile', 'CXX Sources Compile', 'ASM Sources Compile' ], output='core.a') Phase(project=ard, name='Final Link', executor=ardLink, inputs_from=['Core Link'], output='robobo.elf') Phase(project=ard, name='Binary object creation', executor=ardBinary, inputs_from=['Final Link'], output='robobo.bin') if (ctx.build.test): cli(utproject) else: cli(ard)
link = Phase() link.executor = GccLink() link.inputs_from.append(compile) link.extensions += extensions link.output = 'opencv' link.executor.hooks.append(debug_hook) if ctx.build.run: link.run_output = 1 argv = str(ctx.get('args.argv')) print("Running with " + argv) to_run = ["{output}", argv] link.run_command = to_run project.phases['link'] = link project.phases['compile'] = compile return project with new_context() as ctx: project_version = int(ctx.get('args.version')) print("Running project version " + str(project_version)) if project_version is 1: p1 = generate_project('./inleiding-vision-cpp/', 'VisionCPP-1') cli(p1) elif project_version is 2: p2 = generate_project('./vision-cpp-gevorderden/', 'VisionCPP-2') cli(p2) else: print("No project version specified")
glob('src/receiver/configuration.gs') + \ glob('src/version.gs') + \ glob('src/models.gs') + \ glob('src/iterators.gs') + \ glob('src/utilities.gs') + \ glob_src('src/lib/logging/**') + \ glob_src('src/lib/console/**') + \ glob_src('src/lib/nap/**') + \ glob_src('src/lib/json/**') + \ glob_src('src/lib/dbus/**') + \ glob_src('src/lib/gtk/**') + \ glob_src('src/lib/avahi/**') + \ glob_src('src/lib/scrobbling/**') khovsgol_extensions = [ dependencies.libsoup, dependencies.gee, dependencies.json, dependencies.posix, dependencies.sqlite, dependencies.gtk, dependencies.unity, dependencies.indicate, dependencies.avahi, dependencies.avahi_gobject, dependencies.avahi_direct, dependencies.m ] khovsgold = create_project('khovsgold', khovsgold_inputs, khovsgold_extensions) khovsgolr = create_project('khovsgolr', khovsgolr_inputs, khovsgolr_extensions) khovsgolc = create_project('khovsgolc', khovsgolc_inputs, khovsgolc_extensions) khovsgol = create_project('khovsgol', khovsgol_inputs, khovsgol_extensions) cli(khovsgold, khovsgolr, khovsgolc, khovsgol)
glob('src/utilities.gs') + \ glob_src('src/lib/logging/**') + \ glob_src('src/lib/console/**') + \ glob_src('src/lib/nap/**') + \ glob_src('src/lib/json/**') + \ glob_src('src/lib/dbus/**') + \ glob_src('src/lib/gtk/**') + \ glob_src('src/lib/avahi/**') + \ glob_src('src/lib/scrobbling/**') khovsgol_extensions = [ dependencies.libsoup, dependencies.gee, dependencies.json, dependencies.posix, dependencies.sqlite, dependencies.gtk, dependencies.unity, dependencies.indicate, dependencies.avahi, dependencies.avahi_gobject, dependencies.avahi_direct, dependencies.m] khovsgold = create_project('khovsgold', khovsgold_inputs, khovsgold_extensions) khovsgolr = create_project('khovsgolr', khovsgolr_inputs, khovsgolr_extensions) khovsgolc = create_project('khovsgolc', khovsgolc_inputs, khovsgolc_extensions) khovsgol = create_project('khovsgol', khovsgol_inputs, khovsgol_extensions) cli(khovsgold, khovsgolr, khovsgolc, khovsgol)