diff --git a/conts/libl4/SConstruct b/conts/libl4/SConstruct new file mode 100644 index 0000000..b9cbb1a --- /dev/null +++ b/conts/libl4/SConstruct @@ -0,0 +1,38 @@ +# -*- mode: python; coding: utf-8; -*- +# +# Codezero -- a microkernel for embedded systems. +# +# Copyright © 2009 B Labs Ltd +# +import os, sys + +PROJRELROOT = '../..' + +sys.path.append(PROJRELROOT) + +from config.projpaths import * +from config.configuration import * + +config = configuration_retrieve() + +arch = config.arch + +env = Environment(CC = 'arm-none-linux-gnueabi-gcc', + CCFLAGS = ['-g', '-nostdlib', '-ffreestanding'], + LINKFLAGS = ['-nostdlib'], + ASFLAGS = ['-D__ASSEMBLY__'], + ENV = {'PATH' : os.environ['PATH']}, + LIBS = 'gcc', + CPPPATH = ['#include', '#include/l4lib/arch', join(PROJROOT,'include') ]) + +def create_symlinks(arch): + if not os.path.exists("include/l4lib/arch"): + os.system("ln -s %s %s" % ("arch-" + arch, "include/l4lib/arch")) + +# TODO: There are errors in this code that -Werror gives problems with. + +create_symlinks(arch) +objects = env.StaticObject(Glob('src/*.c') + Glob('src/' + arch + '/*.[cS]')) +library = env.StaticLibrary('l4', objects) + +#Return('library')