# -*- 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

LIBMEM_RELDIR = 'conts/libmem'
LIBMEM_DIR = join(PROJROOT, LIBMEM_RELDIR)

env = Environment(CC = config.user_toolchain + 'gcc',
		  CCFLAGS = ['-std=gnu99', '-g', '-nostdlib', '-ffreestanding', '-Werror'],
		  LINKFLAGS = ['-nostdlib'],
		  ASFLAGS = ['-D__ASSEMBLY__'],
		  ENV = {'PATH' : os.environ['PATH']},
		  LIBS = 'gcc',
		  CPPPATH = ['#include', '#include/l4lib/arch', join(PROJROOT,'include'), \
                     LIBMEM_DIR])

#  TODO:  There are errors in this code that -Werror gives problems with.

objects = env.StaticObject(Glob('src/*.c') + Glob('src/thread/*.c') + Glob('src/' + arch + '/*.[cS]'))
library = env.StaticLibrary('l4', objects)

#Return('library')
