# Builds the enormous beast known as hackerlab.

# Copyright 2003 Walter Landry

# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA

Import('env')

hackerlab_objects=[]
boot_objects=[]
boot2_objects=[]

Export('hackerlab_objects')
Export('boot_objects')
Export('boot2_objects')

## Libboot directories
SConscript('arrays/SConscript')
SConscript('bitsets/SConscript')
SConscript('bugs/SConscript')
SConscript('char/SConscript')
SConscript('cmd/SConscript')
SConscript('fmt/SConscript')
SConscript('fs/SConscript')
SConscript('hash/SConscript')
SConscript('machine/SConscript')
SConscript('mem/SConscript')
SConscript('os/SConscript')
SConscript('sort/SConscript')
SConscript('rx/SConscript')
SConscript('rx-posix/SConscript')
SConscript('uni/SConscript')
SConscript('vu/SConscript')
SConscript('vu-network/SConscript')

libboot=env.StaticLibrary('boot',boot_objects)
Export('libboot')

## Libboot2 directories
SConscript('unidata-scaffolding/SConscript')
SConscript('unicode/SConscript')
SConscript('unidata/SConscript')

boot2_objects+=boot_objects
libboot2=env.StaticLibrary('boot2',boot2_objects)
Export('libboot2')

## Libhackerlab directories
SConscript('xml-scaffolding/SConscript')
SConscript('rx-xml/SConscript')
SConscript('xml/SConscript')

hackerlab_objects+=boot2_objects
libhackerlab=env.StaticLibrary('hackerlab',hackerlab_objects)
Export('libhackerlab')

## tests
SConscript('tests/SConscript')
