From eb45780f16d397395ed1b80f0d95bd8d27689e40 Mon Sep 17 00:00:00 2001 From: Russel Winder Date: Wed, 5 Aug 2009 12:21:02 +0100 Subject: [PATCH] Safety check-in of the next stage in getting the tasks linked. --- SConstruct | 3 ++- tasks/fs0/SConscript | 9 ++++++--- tasks/mm0/SConscript | 11 +++++++---- tasks/test0/SConscript | 7 +++++-- 4 files changed, 20 insertions(+), 10 deletions(-) diff --git a/SConstruct b/SConstruct index 66f49ee..c009bf7 100644 --- a/SConstruct +++ b/SConstruct @@ -197,7 +197,8 @@ else : LIBS = taskLibraries + ['gcc', libs['userspace']], PROGSUFFIX = '.axf', CPPDEFINES = ['__USERSPACE__'], - CPPPATH = ['#' + buildDirectory, '#' + buildDirectory + '/l4', '#' + includeDirectory, 'include', '#tasks/libl4/include', '#tasks/libmem', '#tasks/libposix/include']) + CPPPATH = ['#' + buildDirectory, '#' + buildDirectory + '/l4', '#' + includeDirectory, 'include', '#tasks/libl4/include', '#tasks/libmem', '#tasks/libposix/include'], + kernel = startAxf) tasks = [] for task in [f.name for f in Glob('tasks/*') if f.name not in taskLibraryNames + ['bootdesc']]: diff --git a/tasks/fs0/SConscript b/tasks/fs0/SConscript index ca54614..e96df6a 100644 --- a/tasks/fs0/SConscript +++ b/tasks/fs0/SConscript @@ -21,9 +21,12 @@ Import('environment') e = environment.Clone() e.Append(LINKFLAGS = ['-Ttasks/fs0/include/linker.lds']) +e.Append(LIBPATH=['#build/tasks/fs0', '#build/lib/c/userspace/crt/sys-userspace/arch-arm']) -objects = e.StaticObject(Glob('*.c') + Glob('src/*.c')) +objects = e.StaticObject(Glob('*.c') + [Glob(directory + '/*.c') for directory in [ 'src', 'src/lib', 'src/memfs']]) Depends(objects, e['configFiles']) -library = e.Program('fs0', objects + [e['crt0']]) +program = e.Program('fs0', objects) +physicalBaseLinkerScript = Command('include/physical_base.lds', e['kernel'], 'tools/pyelf/readelf.py --first-free-page ' + e['kernel'][0].path + ' >> $TARGET') +Depends(program, [physicalBaseLinkerScript, e['crt0']]) -Return('library') +Return('program') diff --git a/tasks/mm0/SConscript b/tasks/mm0/SConscript index c3d951f..f7d19eb 100644 --- a/tasks/mm0/SConscript +++ b/tasks/mm0/SConscript @@ -20,10 +20,13 @@ Import('environment') e = environment.Clone() -e.Append(LINKFLAGS = ['-Ttasks/mm0/include/linker.lds']) +e.Append(LINKFLAGS=['-Ttasks/mm0/include/linker.lds']) +e.Append(LIBPATH=['#build/tasks/mm0', '#build/lib/c/userspace/crt/sys-userspace/arch-arm']) -objects = e.StaticObject(Glob('*.c') + Glob('src/*.c')) +objects = e.StaticObject(Glob('*.c') + Glob('src/*.c') + Glob('src/lib/*.c') + Glob('src/arch/*.c')) Depends(objects, e['configFiles']) -library = e.Program('mm0', objects + [e['crt0']]) +program = e.Program('mm0', objects) +physicalBaseLinkerScript = Command('include/physical_base.lds', e['kernel'], 'tools/pyelf/readelf.py --first-free-page ' + e['kernel'][0].path + ' >> $TARGET') +Depends(program, [physicalBaseLinkerScript, e['crt0']]) -Return('library') +Return('program') diff --git a/tasks/test0/SConscript b/tasks/test0/SConscript index 2b0fde2..25fb263 100644 --- a/tasks/test0/SConscript +++ b/tasks/test0/SConscript @@ -21,9 +21,12 @@ Import('environment') e = environment.Clone() e.Append(LINKFLAGS = ['-Ttasks/test0/include/linker.lds']) +e.Append(LIBPATH=['#build/tasks/test0', '#build/lib/c/userspace/crt/sys-userspace/arch-arm']) objects = e.StaticObject(Glob('*.c') + Glob('src/*.c')) Depends(objects, e['configFiles']) -library = e.Program('test0', objects + [e['crt0']]) +program = e.Program('test0', objects) +physicalBaseLinkerScript = Command('include/physical_base.lds', e['kernel'], 'tools/pyelf/readelf.py --first-free-page ' + e['kernel'][0].path + ' >> $TARGET') +Depends(program, [physicalBaseLinkerScript, e['crt0']]) -Return('library') +Return('program')