Files
codezero/SConstruct.userlibs
Bahadir Balban 877b2cedc7 Integrated libl4thread with libl4. Added device number to device caps.
A 16-bit device number or id further distinguishes a device on the
system in addition to the device type. This is meant to be used for
the very first identification of the device for further probing. Any
further info is available by userspace mapping and probing.
2009-11-22 21:34:18 +02:00

59 lines
2.4 KiB
Python

# -*- mode: python; coding: utf-8; -*-
#
# Codezero -- Virtualization microkernel for embedded systems.
#
# Copyright © 2009 B Labs Ltd
#
import os, shelve
import configure
from configure import *
from os.path import *
config = configuration_retrieve()
arch = config.arch
subarcn = config.subarch
platform = config.platform
gcc_cpu_flag = config.gcc_cpu_flag
all_syms = config.all
env = Environment(CC = config.user_toolchain + 'gcc',
# We don't use -nostdinc because sometimes we need standard headers,
# such as stdarg.h e.g. for variable args, as in printk().
CCFLAGS = ['-g', '-nostdlib', '-ffreestanding', '-std=gnu99', '-Wall', \
'-Werror', ('-mcpu=' + gcc_cpu_flag)],
LINKFLAGS = ['-nostdlib'],
ASFLAGS = ['-D__ASSEMBLY__'],
ENV = {'PATH' : os.environ['PATH']}, # Inherit shell path
LIBS = 'gcc', # libgcc.a - This is required for division routines.
CPPPATH = "#include",
CPPFLAGS = '-include l4/config.h -include l4/macros.h -include l4/types.h')
libl4 = SConscript('conts/libl4/SConscript', \
exports = { 'arch' : arch }, duplicate = 0, \
variant_dir = join(BUILDDIR, os.path.relpath('conts/libl4', PROJROOT)))
e = env.Clone()
e.Replace(CPPFLAGS = '')
type = 'userspace'
libdev = SConscript('conts/libdev/SConscript', \
exports = { 'env' : e, 'arch' : arch, 'platform' : platform, 'type' : 'userspace' }, \
duplicate = 0, variant_dir = \
join(join(BUILDDIR, os.path.relpath('conts/libdev', PROJROOT)), 'sys-' + type))
libc = SConscript('conts/libc/SConscript', \
exports = { 'env' : env, 'arch' : arch, 'platform' : platform, 'type' : 'userspace' }, \
duplicate = 0, variant_dir = \
join(BUILDDIR, os.path.relpath('conts/libc', PROJROOT)))
libmm, libmc, libmalloc = SConscript('conts/libmem/SConscript', \
exports = { 'env' : env, 'arch' : arch, 'platform' : platform }, \
duplicate = 0, variant_dir = \
join(BUILDDIR, os.path.relpath('conts/libmem', PROJROOT)))
Alias('libl4', libl4)
Alias('libdev', libdev)
Alias('libc', libc)
Alias('libmm', libmm)
Alias('libmc', libmc)
Alias('libmalloc', libmalloc)