[chaos-svn] SF.net SVN: chaos: [1227] trunk/chaos-old
Status: Pre-Alpha
Brought to you by:
sf_hal
|
From: <per...@us...> - 2007-03-12 20:30:18
|
Revision: 1227
http://chaos.svn.sourceforge.net/chaos/?rev=1227&view=rev
Author: perlundberg
Date: 2007-03-12 13:30:09 -0700 (Mon, 12 Mar 2007)
Log Message:
-----------
Added the rest of the missing files. We should be up-to-date with the 20001010 (plus some minor patches by me) now so now it's happy hacking time. :)
Modified Paths:
--------------
trunk/chaos-old/libraries/ipc/file.h
trunk/chaos-old/libraries/ipc/protocols.h
trunk/chaos-old/servers/system/boot/boot.c
trunk/chaos-old/servers/system/pci/pci-id.c
Added Paths:
-----------
trunk/chaos-old/programs/startup
trunk/chaos-old/servers/block/ata/autochaos.rules
trunk/chaos-old/servers/block/ata/changelog
trunk/chaos-old/servers/block/ata/configure
trunk/chaos-old/servers/file_system/fat/autochaos.rules
trunk/chaos-old/servers/file_system/fat/changelog
trunk/chaos-old/servers/file_system/fat/configure
trunk/chaos-old/servers/file_system/kernelfs/autochaos.rules
trunk/chaos-old/servers/file_system/kernelfs/changelog
trunk/chaos-old/servers/file_system/kernelfs/configure
trunk/chaos-old/servers/file_system/servicefs/autochaos.rules
trunk/chaos-old/servers/file_system/servicefs/changelog
trunk/chaos-old/servers/file_system/servicefs/configure
trunk/chaos-old/servers/file_system/virtual_file_system/autochaos.rules
trunk/chaos-old/servers/file_system/virtual_file_system/changelog
trunk/chaos-old/servers/file_system/virtual_file_system/configure
trunk/chaos-old/servers/network/3c509/AUTHORS
trunk/chaos-old/servers/network/3c509/README
trunk/chaos-old/servers/network/3c509/autochaos.rules
trunk/chaos-old/servers/network/3c509/configure
trunk/chaos-old/servers/network/3com-pci/autochaos.rules
trunk/chaos-old/servers/network/3com-pci/configure
trunk/chaos-old/servers/network/ipv4/AUTHORS
trunk/chaos-old/servers/network/ipv4/README
trunk/chaos-old/servers/network/ipv4/TODO
trunk/chaos-old/servers/network/ipv4/autochaos.rules
trunk/chaos-old/servers/network/ipv4/changelog
trunk/chaos-old/servers/network/ipv4/configure
trunk/chaos-old/servers/network/loopback/autochaos.rules
trunk/chaos-old/servers/network/loopback/configure
trunk/chaos-old/servers/network/realtek-pci/autochaos.rules
trunk/chaos-old/servers/network/realtek-pci/configure
trunk/chaos-old/servers/network/tulip/autochaos.rules
trunk/chaos-old/servers/network/tulip/configure
trunk/chaos-old/servers/network/via-rhine/autochaos.rules
trunk/chaos-old/servers/network/via-rhine/configure
trunk/chaos-old/servers/other/serial/autochaos.rules
trunk/chaos-old/servers/other/serial/changelog
trunk/chaos-old/servers/other/serial/configure
trunk/chaos-old/servers/sound/soundblaster/AUTHORS
trunk/chaos-old/servers/sound/soundblaster/README
trunk/chaos-old/servers/sound/soundblaster/autochaos.rules
trunk/chaos-old/servers/sound/soundblaster/configure
trunk/chaos-old/servers/sound/soundblaster/sblaster.doc
trunk/chaos-old/servers/system/boot/autochaos.rules
trunk/chaos-old/servers/system/boot/changelog
trunk/chaos-old/servers/system/boot/configure
trunk/chaos-old/servers/system/console/AUTHORS
trunk/chaos-old/servers/system/console/README
trunk/chaos-old/servers/system/console/autochaos.rules
trunk/chaos-old/servers/system/console/configure
trunk/chaos-old/servers/system/keyboard/AUTHORS
trunk/chaos-old/servers/system/keyboard/README
trunk/chaos-old/servers/system/keyboard/autochaos.rules
trunk/chaos-old/servers/system/keyboard/changelog
trunk/chaos-old/servers/system/keyboard/configure
trunk/chaos-old/servers/system/keyboard/keyboard_maps/
trunk/chaos-old/servers/system/keyboard/keyboard_maps/british.h
trunk/chaos-old/servers/system/keyboard/keyboard_maps/dvorak.h
trunk/chaos-old/servers/system/keyboard/keyboard_maps/swedish.h
trunk/chaos-old/servers/system/keyboard/keyboard_maps/us.h
trunk/chaos-old/servers/system/log/autochaos.rules
trunk/chaos-old/servers/system/log/configure
trunk/chaos-old/servers/system/pci/README
trunk/chaos-old/servers/system/pci/TODO
trunk/chaos-old/servers/system/pci/autochaos.rules
trunk/chaos-old/servers/system/pci/changelog
trunk/chaos-old/servers/system/pci/configure
trunk/chaos-old/servers/system/pci/makefile.template
trunk/chaos-old/servers/system/pci/pci.ids
trunk/chaos-old/servers/system/pci/pci.pl
trunk/chaos-old/servers/video/vga/autochaos.rules
trunk/chaos-old/servers/video/vga/changelog
trunk/chaos-old/servers/video/vga/configure
trunk/chaos-old/servers/video/vga/vgalib.asm
trunk/chaos-old/storm/current-arch
trunk/chaos-old/storm/generic/README
trunk/chaos-old/storm/generic/makefile.template
trunk/chaos-old/storm/ia32/irq_handlers.S
trunk/chaos-old/storm/ia32/kernel.ld
trunk/chaos-old/storm/ia32/makefile.template
trunk/chaos-old/storm/ia32/system_calls.pl
trunk/chaos-old/storm/include/
trunk/chaos-old/storm/include/makefile
trunk/chaos-old/storm/include/stamp-h
trunk/chaos-old/storm/include/storm/
trunk/chaos-old/storm/include/storm/current-arch
trunk/chaos-old/storm/include/storm/defines.h
trunk/chaos-old/storm/include/storm/dma.h
trunk/chaos-old/storm/include/storm/generic/
trunk/chaos-old/storm/include/storm/generic/arguments.h
trunk/chaos-old/storm/include/storm/generic/avl.h
trunk/chaos-old/storm/include/storm/generic/avl_debug.h
trunk/chaos-old/storm/include/storm/generic/avl_delete.h
trunk/chaos-old/storm/include/storm/generic/avl_rotate.h
trunk/chaos-old/storm/include/storm/generic/avl_update.h
trunk/chaos-old/storm/include/storm/generic/bit.h
trunk/chaos-old/storm/include/storm/generic/capability.h
trunk/chaos-old/storm/include/storm/generic/cpu.h
trunk/chaos-old/storm/include/storm/generic/dataarea.h
trunk/chaos-old/storm/include/storm/generic/debug.h
trunk/chaos-old/storm/include/storm/generic/defines.h
trunk/chaos-old/storm/include/storm/generic/dispatch.h
trunk/chaos-old/storm/include/storm/generic/elf.h
trunk/chaos-old/storm/include/storm/generic/idle.h
trunk/chaos-old/storm/include/storm/generic/init.h
trunk/chaos-old/storm/include/storm/generic/irq.h
trunk/chaos-old/storm/include/storm/generic/kernelfs.h
trunk/chaos-old/storm/include/storm/generic/limits.h
trunk/chaos-old/storm/include/storm/generic/log.h
trunk/chaos-old/storm/include/storm/generic/mailbox.h
trunk/chaos-old/storm/include/storm/generic/makefile
trunk/chaos-old/storm/include/storm/generic/memory.h
trunk/chaos-old/storm/include/storm/generic/memory_global.h
trunk/chaos-old/storm/include/storm/generic/memory_physical.h
trunk/chaos-old/storm/include/storm/generic/memory_virtual.h
trunk/chaos-old/storm/include/storm/generic/multiboot.h
trunk/chaos-old/storm/include/storm/generic/mutex.h
trunk/chaos-old/storm/include/storm/generic/port.h
trunk/chaos-old/storm/include/storm/generic/process.h
trunk/chaos-old/storm/include/storm/generic/return_values.h
trunk/chaos-old/storm/include/storm/generic/service.h
trunk/chaos-old/storm/include/storm/generic/slab.h
trunk/chaos-old/storm/include/storm/generic/string.h
trunk/chaos-old/storm/include/storm/generic/system_call.h
trunk/chaos-old/storm/include/storm/generic/tag.h
trunk/chaos-old/storm/include/storm/generic/thread.h
trunk/chaos-old/storm/include/storm/generic/time.h
trunk/chaos-old/storm/include/storm/generic/timer.h
trunk/chaos-old/storm/include/storm/generic/types.h
trunk/chaos-old/storm/include/storm/ia32/
trunk/chaos-old/storm/include/storm/ia32/cluster.h
trunk/chaos-old/storm/include/storm/ia32/cpu.h
trunk/chaos-old/storm/include/storm/ia32/cpuid.h
trunk/chaos-old/storm/include/storm/ia32/debug.h
trunk/chaos-old/storm/include/storm/ia32/defines.h
trunk/chaos-old/storm/include/storm/ia32/descriptor.h
trunk/chaos-old/storm/include/storm/ia32/dma.h
trunk/chaos-old/storm/include/storm/ia32/flags.h
trunk/chaos-old/storm/include/storm/ia32/gdt.h
trunk/chaos-old/storm/include/storm/ia32/idt.h
trunk/chaos-old/storm/include/storm/ia32/irq.h
trunk/chaos-old/storm/include/storm/ia32/makefile
trunk/chaos-old/storm/include/storm/ia32/memory.h
trunk/chaos-old/storm/include/storm/ia32/memory_virtual.h
trunk/chaos-old/storm/include/storm/ia32/mutex.h
trunk/chaos-old/storm/include/storm/ia32/port.h
trunk/chaos-old/storm/include/storm/ia32/string.h
trunk/chaos-old/storm/include/storm/ia32/system_calls.h
trunk/chaos-old/storm/include/storm/ia32/thread.h
trunk/chaos-old/storm/include/storm/ia32/timer.h
trunk/chaos-old/storm/include/storm/ia32/trap.h
trunk/chaos-old/storm/include/storm/ia32/tss.h
trunk/chaos-old/storm/include/storm/ia32/types.h
trunk/chaos-old/storm/include/storm/ia32/wrapper.h
trunk/chaos-old/storm/include/storm/kernelfs.h
trunk/chaos-old/storm/include/storm/limits.h
trunk/chaos-old/storm/include/storm/mailbox.h
trunk/chaos-old/storm/include/storm/makefile
trunk/chaos-old/storm/include/storm/makefile.template
trunk/chaos-old/storm/include/storm/process.h
trunk/chaos-old/storm/include/storm/return_values.h
trunk/chaos-old/storm/include/storm/service.h
trunk/chaos-old/storm/include/storm/stamp-h.in
trunk/chaos-old/storm/include/storm/state.h
trunk/chaos-old/storm/include/storm/storm.h
trunk/chaos-old/storm/include/storm/system_calls.h
trunk/chaos-old/storm/include/storm/tag.h
trunk/chaos-old/storm/include/storm/thread.h
trunk/chaos-old/storm/include/storm/types.h
trunk/chaos-old/stormG2/ia32/kernel.ld
trunk/chaos-old/stormG2/ia32/makefile.template
trunk/chaos-old/stormG2/include/
trunk/chaos-old/stormG2/include/storm/
trunk/chaos-old/stormG2/include/storm/defines.h
trunk/chaos-old/stormG2/include/storm/generic/
trunk/chaos-old/stormG2/include/storm/generic/bit.h
trunk/chaos-old/stormG2/include/storm/generic/debug.h
trunk/chaos-old/stormG2/include/storm/generic/defines.h
trunk/chaos-old/stormG2/include/storm/generic/dispatch.h
trunk/chaos-old/stormG2/include/storm/generic/id.h
trunk/chaos-old/stormG2/include/storm/generic/list.h
trunk/chaos-old/stormG2/include/storm/generic/main.h
trunk/chaos-old/stormG2/include/storm/generic/memory.h
trunk/chaos-old/stormG2/include/storm/generic/memory_global.h
trunk/chaos-old/stormG2/include/storm/generic/memory_physical.h
trunk/chaos-old/stormG2/include/storm/generic/memory_virtual.h
trunk/chaos-old/stormG2/include/storm/generic/multiboot.h
trunk/chaos-old/stormG2/include/storm/generic/process.h
trunk/chaos-old/stormG2/include/storm/generic/slab.h
trunk/chaos-old/stormG2/include/storm/generic/string.h
trunk/chaos-old/stormG2/include/storm/generic/thread.h
trunk/chaos-old/stormG2/include/storm/generic/types.h
trunk/chaos-old/stormG2/include/storm/ia32/
trunk/chaos-old/stormG2/include/storm/ia32/cpu.h
trunk/chaos-old/stormG2/include/storm/ia32/debug.h
trunk/chaos-old/stormG2/include/storm/ia32/defines.h
trunk/chaos-old/stormG2/include/storm/ia32/descriptor.h
trunk/chaos-old/stormG2/include/storm/ia32/exception.h
trunk/chaos-old/stormG2/include/storm/ia32/gdt.h
trunk/chaos-old/stormG2/include/storm/ia32/idt.h
trunk/chaos-old/stormG2/include/storm/ia32/memory.h
trunk/chaos-old/stormG2/include/storm/ia32/memory_physical.h
trunk/chaos-old/stormG2/include/storm/ia32/memory_virtual.h
trunk/chaos-old/stormG2/include/storm/ia32/string.h
trunk/chaos-old/stormG2/include/storm/ia32/types.h
trunk/chaos-old/stormG2/include/storm/limits.h
trunk/chaos-old/stormG2/include/storm/makefile.template
trunk/chaos-old/stormG2/include/storm/return_values.h
trunk/chaos-old/stormG2/include/storm/types.h
Removed Paths:
-------------
trunk/chaos-old/programs/defines/
Property Changed:
----------------
trunk/chaos-old/programs/cluido/
trunk/chaos-old/programs/tetris/
trunk/chaos-old/servers/block/initial_ramdisk/
Modified: trunk/chaos-old/libraries/ipc/file.h
===================================================================
--- trunk/chaos-old/libraries/ipc/file.h 2007-03-11 20:54:03 UTC (rev 1226)
+++ trunk/chaos-old/libraries/ipc/file.h 2007-03-12 20:30:09 UTC (rev 1227)
@@ -131,10 +131,6 @@
/* The location where we want this volume to be mounted. */
char location[MAX_PATH_NAME_LENGTH];
-
- /* The mailbox of the block device server for this volume. */
-
- mailbox_id_type mailbox_id;
} file_mount_type;
typedef struct
Modified: trunk/chaos-old/libraries/ipc/protocols.h
===================================================================
--- trunk/chaos-old/libraries/ipc/protocols.h 2007-03-11 20:54:03 UTC (rev 1226)
+++ trunk/chaos-old/libraries/ipc/protocols.h 2007-03-12 20:30:09 UTC (rev 1227)
@@ -46,6 +46,7 @@
IPC_PROTOCOL_ETHERNET,
IPC_PROTOCOL_IPV4,
IPC_PROTOCOL_BLOCK,
+ IPC_PROTOCOL_VIRTUAL_FILE_SYSTEM,
IPC_PROTOCOL_FILE,
IPC_PROTOCOL_LOG,
IPC_PROTOCOL_SERIAL,
Property changes on: trunk/chaos-old/programs/cluido
___________________________________________________________________
Name: svn:ignore
+ cluido
Added: trunk/chaos-old/programs/startup
===================================================================
--- trunk/chaos-old/programs/startup (rev 0)
+++ trunk/chaos-old/programs/startup 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1 @@
+programs/cluido
Property changes on: trunk/chaos-old/programs/tetris
___________________________________________________________________
Name: svn:ignore
+ tetris
Added: trunk/chaos-old/servers/block/ata/autochaos.rules
===================================================================
--- trunk/chaos-old/servers/block/ata/autochaos.rules (rev 0)
+++ trunk/chaos-old/servers/block/ata/autochaos.rules 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id: autochaos.rules,v 1.3 2000/10/20 21:45:34 plundis Exp $ -->
+
+<autochaos>
+ <package name="ata" version="0.0.1" type="server" license="GPL">
+ <library type="depend">log</library>
+ <library type="depend">ipc</library>
+ <library type="depend">string</library>
+ <library type="depend">system</library>
+ <library type="depend">memory</library>
+ <makefile>makefile</makefile>
+
+ <!-- Sources. -->
+
+ <source>ata.c</source>
+ <source>main.c</source>
+ </package>
+</autochaos>
+
+<!--
+
+Local Variables:
+ mode: html
+End:
+
+-->
\ No newline at end of file
Added: trunk/chaos-old/servers/block/ata/changelog
===================================================================
--- trunk/chaos-old/servers/block/ata/changelog (rev 0)
+++ trunk/chaos-old/servers/block/ata/changelog 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,6 @@
+2000-08-31 Per Lundberg <pl...@ch...>
+
+ * Made the code compile.
+
+ * Started writing this change log.
+
Added: trunk/chaos-old/servers/block/ata/configure
===================================================================
--- trunk/chaos-old/servers/block/ata/configure (rev 0)
+++ trunk/chaos-old/servers/block/ata/configure 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,486 @@
+#! /usr/bin/perl -w
+
+# Abstract: Script for configuring this package.
+
+# Copyright 2000 chaos development. This script is in the public domain.
+
+# Please note that this script was automatically generated by
+# autochaos 0.2.1. It should not be modified. Do the changes you
+# want in autochaos instead.
+
+use strict;
+use POSIX;
+
+my $chaos_root = "/tftpboot/chaos";
+my @libraries = ();
+my @headers = ();
+my @sources = ();
+my @objects = ();
+my @deps = ();
+my $MAKEFILE;
+my $TEMPLATE;
+my $root_dir = getcwd ();
+my %options =
+(
+);
+
+my $install_prefix_flag = 0;
+
+foreach my $argument (@ARGV)
+{
+ if ($install_prefix_flag eq 1)
+ {
+ $chaos_root = $argument;
+ $install_prefix_flag = 0;
+ }
+ else
+ {
+ if ($argument eq '--install-prefix')
+ {
+ $install_prefix_flag = 1;
+ }
+ elsif ($argument =~ m/--enable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--enable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'TRUE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ elsif ($argument =~ m/--disable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--disable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'FALSE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+}
+
+if ($install_prefix_flag eq 1)
+{
+ print "Malformed --install-prefix command option. Value missing.\n";
+ exit 1;
+}
+
+print "\n Configuring server: ata...\n\n";
+
+print ("Using chaos root... ($chaos_root)\n");
+
+print ("Checking for log library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_log.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "log");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: log is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for ipc library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_ipc.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "ipc");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: ipc is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for string library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_string.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "string");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: string is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for system library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_system.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "system");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: system is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for memory library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_memory.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "memory");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: memory is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+
+my $all_arguments = "";
+foreach my $argument (@ARGV)
+{
+ $all_arguments .= $argument . " ";
+}
+
+print ("Checking for autochaos... ");
+my $autochaos = `autochaos --version 2> /dev/null`;
+
+my $has_autochaos;
+unless ($autochaos)
+{
+ print ("not found.\n");
+ $has_autochaos = undef;
+}
+else
+{
+ (my $version) = ($autochaos =~ m/ ([\d\.]+)$/);
+ print ("found (version $version).\n");
+ $has_autochaos = $version;
+}
+
+
+
+@headers = (
+);
+
+@sources = (
+'ata.c',
+'main.c',
+);
+@objects = ('ata.o',
+'main.o',
+);
+@deps = ('ata.dep',
+'main.dep',
+);
+ print "Writing ./makefile...
+";
+ open (MAKEFILE, '>' . "./makefile") or
+ die ("Could not write to ./makefile: $!\n");
+
+# Write the default rules we want.
+
+ print (MAKEFILE <<STOP);
+# This makefile was generated by autochaos 0.2.1. Please do not
+# tamper with it unless you are very certain about what you are doing.
+
+ALL_ARGUMENTS = $all_arguments
+
+PREFIX = $chaos_root
+PACKAGE = ata
+
+# Compiler flags.
+
+CFLAGS = -Wall -W -Wshadow -Wpointer-arith -Waggregate-return \\
+-Wstrict-prototypes -Wredundant-decls -Winline -Wmissing-prototypes \\
+-Werror -Wcast-align -Wbad-function-cast -Wsign-compare \\
+-Wmissing-declarations -Wmissing-noreturn -pipe \\
+-Wnested-externs -O3 -fno-builtin -funsigned-char -g \$(EXTRA_CFLAGS) \$(DEFINES)
+
+INCLUDES = \\
+STOP
+print (MAKEFILE <<STOP);
+-I. -I\$(PREFIX)/data/programming/c/headers
+STOP
+ print MAKEFILE "
+ALL_OBJECTS =";
+ print MAKEFILE " \\\
+./ata.o";
+ print MAKEFILE " \\\
+./main.o";
+ print MAKEFILE "
+";
+print (MAKEFILE <<STOP);
+
+STATIC_LIBRARY_PATH = \$(PREFIX)/data/programming/libraries/static
+
+# Ideally, this would be -lwhatever, but we have not started patching
+# the GNU tools yet...
+
+STOP
+
+ print (MAKEFILE "LIBS = ");
+ foreach my $library (@libraries)
+ {
+ print MAKEFILE "\\\
+\$(STATIC_LIBRARY_PATH)/library_$library.a ";
+ }
+
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE "\n\nOBJECTS = ";
+ foreach my $object (@objects)
+ {
+ print MAKEFILE " \\\
+$object";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @headers > 0)
+ {
+ print MAKEFILE "\n\nHEADERS = ";
+ foreach my $header (@headers)
+ {
+ print MAKEFILE " \\\
+$header";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @sources > 0)
+ {
+ print MAKEFILE "\n\nSOURCES = ";
+ foreach my $source (@sources)
+ {
+ print MAKEFILE " \\\
+$source";
+ }
+ print MAKEFILE "\
+";
+
+ }
+
+ print (MAKEFILE <<STOP);
+
+HEADER_PATH = \$(PREFIX)/data/programming/c/headers/\$(PACKAGE)/.
+
+# TODO: Those should be overridable.
+
+CC = gcc-2.95
+NASM = nasm
+AR = ar
+RANLIB = ranlib
+GZIP = gzip -f
+
+%.o: %.c
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.S
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.asm
+ \$(NASM) -o \$(@) \$< -f elf
+
+.PHONY: splash all clean install package-source package-check package
+
+STOP
+
+ {
+ my $target = "ata" if (scalar @objects);
+
+ unless ($target)
+ {
+ $target = "";
+ }
+
+ print (MAKEFILE <<STOP);
+all: splash makefile $target
+STOP
+
+ }
+ if (!(scalar @objects) && 'ata' ne '\$(OBJECTS)')
+ {
+ print (MAKEFILE <<STOP);
+ \@\$(MAKE) ata
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+clean:
+STOP
+ print MAKEFILE " rm -f ata
+";
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE " rm -f \$(OBJECTS)
+";
+ }
+ print (MAKEFILE <<STOP);
+ rm -f *.dep
+ -\$(MAKE) clean-local
+STOP
+
+# FIXME: Pass all parameters to the configure script at this
+# point. Also, make sure the make process is restarted. (fork?)
+
+# FIXME: Support conditional gzipping.
+ print (MAKEFILE <<STOP);
+makefile: configure
+ @./configure
+
+splash:
+ \@echo -e "\\n Compiling server: ata...\\n"
+
+STOP
+
+ if ($has_autochaos)
+ {
+ print (MAKEFILE <<STOP);
+configure: autochaos.rules
+ \@autochaos
+
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+LDFLAGS = \$(PREFIX)/data/programming/c/startup/startup.o \\
+-nostdlib -Wl,-T,\$(PREFIX)/data/programming/linker/chaos.ld -lgcc \$(EXTRA_LDFLAGS)
+
+ata: \$(OBJECTS)
+ \@echo "Linking..."
+ \@\$(CC) -o \$(\@) \$(OBJECTS) \$(LIBS) \$(LDFLAGS)
+
+install: all
+ \@echo "Installing..."
+ \@mkdir -p \$(PREFIX)/system/servers
+ \@cp ata \$(PREFIX)/system/servers
+ \@strip -R .note -R .comment -R .eh_frame \$(PREFIX)/system/servers/ata
+ \@\$(GZIP) \$(PREFIX)/system/servers/ata # > \$(PREFIX)/system/servers/ata.gz
+STOP
+ print (MAKEFILE "\n");
+
+ print (MAKEFILE <<STOP);
+package-source:
+STOP
+print (MAKEFILE <<STOP);
+ mkdir -p $root_dir/package-source/.
+STOP
+ print (MAKEFILE <<STOP);
+ -cp -f autochaos.rules changelog configure COPYING README AUTHORS TODO INSTALL $root_dir/package-source/.
+STOP
+
+ print (MAKEFILE <<STOP);
+ -cp -f makefile.template \$(EXTRA_FILES) $root_dir/package-source/.
+STOP
+
+ if (scalar @headers > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for header in \$(HEADERS) ; do cp \$\$header $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ if (scalar @sources > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for source in \$(SOURCES) ; do cp \$\$source $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ print (MAKEFILE <<STOP);
+package-check: package-source
+ cd package-source && ./configure \$(ALL_ARGUMENTS) && \$(MAKE) && \$(MAKE) clean
+ find package-source -name makefile -exec rm {} ';'
+ rm package-source/config.h
+STOP
+
+ print (MAKEFILE <<STOP);
+package: package-check
+ rm -rf ata-0.0.1
+ mv package-source ata-0.0.1
+ tar cvIf ata-0.0.1.tar.bz2 ata-0.0.1
+
+STOP
+
+ # Include automatically generated dependencies.
+
+ if (scalar @deps > 0)
+ {
+ foreach my $dep (@deps)
+ {
+ print (MAKEFILE "-include $dep\n");
+ }
+ }
+
+ print (MAKEFILE "\n");
+
+ if (open (TEMPLATE, "." . "/makefile.template"))
+ {
+ while (<TEMPLATE>)
+ {
+ my $row = $_;
+
+ print (MAKEFILE $row);
+ }
+ }
+ close (MAKEFILE);
+
+
+ # Now, also write to the config.h
+
+ print "Writing config.h...\
+";
+ my $CONFIG;
+ open (CONFIG, '>config.h');
+ print (CONFIG <<STOP);
+/* Automatically generated by autochaos 0.2.1. Not intended to be
+ hand edited. */
+
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#define PACKAGE_NAME "ata"
+#define PACKAGE_VERSION "0.0.1"
+
+STOP
+
+ foreach my $option (keys %options)
+ {
+ print (CONFIG "#define OPTION_" . uc ($option) . " $options{$option}\n");
+ }
+
+ foreach my $library (@libraries)
+ {
+ print (CONFIG "#include <$library/$library.h>\n");
+ }
+
+ print (CONFIG "\n#endif /* !__CONFIG_H__ */");
+
+ close (CONFIG);
Property changes on: trunk/chaos-old/servers/block/initial_ramdisk
___________________________________________________________________
Name: svn:ignore
+ initial_ramdisk
Added: trunk/chaos-old/servers/file_system/fat/autochaos.rules
===================================================================
--- trunk/chaos-old/servers/file_system/fat/autochaos.rules (rev 0)
+++ trunk/chaos-old/servers/file_system/fat/autochaos.rules 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id: autochaos.rules,v 1.2 2000/10/11 19:11:05 plundis Exp $ -->
+
+<autochaos>
+ <package name="fat" version="0.0.1" type="server" license="GPL">
+ <library type="depend">file</library>
+ <library type="depend">ipc</library>
+ <library type="depend">log</library>
+ <library type="depend">string</library>
+ <library type="depend">system</library>
+ <library type="depend">memory</library>
+ <makefile>makefile</makefile>
+
+ <!-- Sources -->
+
+ <source>fat.c</source>
+ </package>
+</autochaos>
+
+<!--
+
+Local Variables:
+ mode: html
+End:
+
+-->
\ No newline at end of file
Added: trunk/chaos-old/servers/file_system/fat/changelog
===================================================================
--- trunk/chaos-old/servers/file_system/fat/changelog (rev 0)
+++ trunk/chaos-old/servers/file_system/fat/changelog 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,23 @@
+2000-07-25 Per Lundberg <pl...@ch...>
+
+ * fat.c: Changed some raw system_call functions to use library
+ functions instead.
+
+2000-07-15 Per Lundberg <pl...@ch...>
+
+ * fat.c: Implemented (hopefully working) support for
+ subdirectories.
+
+2000-07-03 Per Lundberg <pl...@ch...>
+
+ * fat/fat.h: Changed initialize to initialise.
+
+2000-03-12 Per Lundberg <pl...@ch...>
+
+ * Made it compile with the new kernel and libraries.
+
+1999-10-31 Per Lundberg <pl...@ch...>
+
+ * Reorganized lots of things. Removed the configure script, created
+ configure.in files for each servers and created a new Makefile.
+
Added: trunk/chaos-old/servers/file_system/fat/configure
===================================================================
--- trunk/chaos-old/servers/file_system/fat/configure (rev 0)
+++ trunk/chaos-old/servers/file_system/fat/configure 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,495 @@
+#! /usr/bin/perl -w
+
+# Abstract: Script for configuring this package.
+
+# Copyright 2000 chaos development. This script is in the public domain.
+
+# Please note that this script was automatically generated by
+# autochaos 0.2.1. It should not be modified. Do the changes you
+# want in autochaos instead.
+
+use strict;
+use POSIX;
+
+my $chaos_root = "/tftpboot/chaos";
+my @libraries = ();
+my @headers = ();
+my @sources = ();
+my @objects = ();
+my @deps = ();
+my $MAKEFILE;
+my $TEMPLATE;
+my $root_dir = getcwd ();
+my %options =
+(
+);
+
+my $install_prefix_flag = 0;
+
+foreach my $argument (@ARGV)
+{
+ if ($install_prefix_flag eq 1)
+ {
+ $chaos_root = $argument;
+ $install_prefix_flag = 0;
+ }
+ else
+ {
+ if ($argument eq '--install-prefix')
+ {
+ $install_prefix_flag = 1;
+ }
+ elsif ($argument =~ m/--enable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--enable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'TRUE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ elsif ($argument =~ m/--disable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--disable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'FALSE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+}
+
+if ($install_prefix_flag eq 1)
+{
+ print "Malformed --install-prefix command option. Value missing.\n";
+ exit 1;
+}
+
+print "\n Configuring server: fat...\n\n";
+
+print ("Using chaos root... ($chaos_root)\n");
+
+print ("Checking for file library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_file.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "file");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: file is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for ipc library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_ipc.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "ipc");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: ipc is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for log library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_log.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "log");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: log is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for string library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_string.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "string");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: string is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for system library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_system.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "system");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: system is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for memory library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_memory.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "memory");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: memory is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+
+my $all_arguments = "";
+foreach my $argument (@ARGV)
+{
+ $all_arguments .= $argument . " ";
+}
+
+print ("Checking for autochaos... ");
+my $autochaos = `autochaos --version 2> /dev/null`;
+
+my $has_autochaos;
+unless ($autochaos)
+{
+ print ("not found.\n");
+ $has_autochaos = undef;
+}
+else
+{
+ (my $version) = ($autochaos =~ m/ ([\d\.]+)$/);
+ print ("found (version $version).\n");
+ $has_autochaos = $version;
+}
+
+
+
+@headers = (
+);
+
+@sources = (
+'fat.c',
+);
+@objects = ('fat.o',
+);
+@deps = ('fat.dep',
+);
+ print "Writing ./makefile...
+";
+ open (MAKEFILE, '>' . "./makefile") or
+ die ("Could not write to ./makefile: $!\n");
+
+# Write the default rules we want.
+
+ print (MAKEFILE <<STOP);
+# This makefile was generated by autochaos 0.2.1. Please do not
+# tamper with it unless you are very certain about what you are doing.
+
+ALL_ARGUMENTS = $all_arguments
+
+PREFIX = $chaos_root
+PACKAGE = fat
+
+# Compiler flags.
+
+CFLAGS = -Wall -W -Wshadow -Wpointer-arith -Waggregate-return \\
+-Wstrict-prototypes -Wredundant-decls -Winline -Wmissing-prototypes \\
+-Werror -Wcast-align -Wbad-function-cast -Wsign-compare \\
+-Wmissing-declarations -Wmissing-noreturns -pipe \\
+-Wnested-externs -O3 -fno-builtin -funsigned-char -g \$(EXTRA_CFLAGS) \$(DEFINES)
+
+INCLUDES = \\
+STOP
+print (MAKEFILE <<STOP);
+-I. -I\$(PREFIX)/data/programming/c/headers
+STOP
+ print MAKEFILE "
+ALL_OBJECTS =";
+ print MAKEFILE " \\\
+./fat.o";
+ print MAKEFILE "
+";
+print (MAKEFILE <<STOP);
+
+STATIC_LIBRARY_PATH = \$(PREFIX)/data/programming/libraries/static
+
+# Ideally, this would be -lwhatever, but we have not started patching
+# the GNU tools yet...
+
+STOP
+
+ print (MAKEFILE "LIBS = ");
+ foreach my $library (@libraries)
+ {
+ print MAKEFILE "\\\
+\$(STATIC_LIBRARY_PATH)/library_$library.a ";
+ }
+
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE "\n\nOBJECTS = ";
+ foreach my $object (@objects)
+ {
+ print MAKEFILE " \\\
+$object";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @headers > 0)
+ {
+ print MAKEFILE "\n\nHEADERS = ";
+ foreach my $header (@headers)
+ {
+ print MAKEFILE " \\\
+$header";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @sources > 0)
+ {
+ print MAKEFILE "\n\nSOURCES = ";
+ foreach my $source (@sources)
+ {
+ print MAKEFILE " \\\
+$source";
+ }
+ print MAKEFILE "\
+";
+
+ }
+
+ print (MAKEFILE <<STOP);
+
+HEADER_PATH = \$(PREFIX)/data/programming/c/headers/\$(PACKAGE)/.
+
+# TODO: Those should be overridable.
+
+CC = gcc-2.95
+NASM = nasm
+AR = ar
+RANLIB = ranlib
+GZIP = gzip -f
+
+%.o: %.c
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.S
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.asm
+ \$(NASM) -o \$(@) \$< -f elf
+
+.PHONY: splash all clean install package-source package-check package
+
+STOP
+
+ {
+ my $target = "fat" if (scalar @objects);
+
+ unless ($target)
+ {
+ $target = "";
+ }
+
+ print (MAKEFILE <<STOP);
+all: splash makefile $target
+STOP
+
+ }
+ if (!(scalar @objects) && 'fat' ne '\$(OBJECTS)')
+ {
+ print (MAKEFILE <<STOP);
+ \@\$(MAKE) fat
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+clean:
+STOP
+ print MAKEFILE " rm -f fat
+";
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE " rm -f \$(OBJECTS)
+";
+ }
+ print (MAKEFILE <<STOP);
+ rm -f *.dep
+ -\$(MAKE) clean-local
+STOP
+
+# FIXME: Pass all parameters to the configure script at this
+# point. Also, make sure the make process is restarted. (fork?)
+
+# FIXME: Support conditional gzipping.
+ print (MAKEFILE <<STOP);
+makefile: configure
+ @./configure
+
+splash:
+ \@echo -e "\\n Compiling server: fat...\\n"
+
+STOP
+
+ if ($has_autochaos)
+ {
+ print (MAKEFILE <<STOP);
+configure: autochaos.rules
+ \@autochaos
+
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+LDFLAGS = \$(PREFIX)/data/programming/c/startup/startup.o \\
+-nostdlib -Wl,-T,\$(PREFIX)/data/programming/linker/chaos.ld -lgcc \$(EXTRA_LDFLAGS)
+
+fat: \$(OBJECTS)
+ \@echo "Linking..."
+ \@\$(CC) -o \$(\@) \$(OBJECTS) \$(LIBS) \$(LDFLAGS)
+
+install: all
+ \@echo "Installing..."
+ \@mkdir -p \$(PREFIX)/system/servers
+ \@cp fat \$(PREFIX)/system/servers
+ \@strip -R .note -R .comment -R .eh_frame \$(PREFIX)/system/servers/fat
+ \@\$(GZIP) \$(PREFIX)/system/servers/fat # > \$(PREFIX)/system/servers/fat.gz
+STOP
+ print (MAKEFILE "\n");
+
+ print (MAKEFILE <<STOP);
+package-source:
+STOP
+print (MAKEFILE <<STOP);
+ mkdir -p $root_dir/package-source/.
+STOP
+ print (MAKEFILE <<STOP);
+ -cp -f autochaos.rules changelog configure COPYING README AUTHORS TODO INSTALL $root_dir/package-source/.
+STOP
+
+ print (MAKEFILE <<STOP);
+ -cp -f makefile.template \$(EXTRA_FILES) $root_dir/package-source/.
+STOP
+
+ if (scalar @headers > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for header in \$(HEADERS) ; do cp \$\$header $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ if (scalar @sources > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for source in \$(SOURCES) ; do cp \$\$source $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ print (MAKEFILE <<STOP);
+package-check: package-source
+ cd package-source && ./configure \$(ALL_ARGUMENTS) && \$(MAKE) && \$(MAKE) clean
+ find package-source -name makefile -exec rm {} ';'
+ rm package-source/config.h
+STOP
+
+ print (MAKEFILE <<STOP);
+package: package-check
+ rm -rf fat-0.0.1
+ mv package-source fat-0.0.1
+ tar cvIf fat-0.0.1.tar.bz2 fat-0.0.1
+
+STOP
+
+ # Include automatically generated dependencies.
+
+ if (scalar @deps > 0)
+ {
+ foreach my $dep (@deps)
+ {
+ print (MAKEFILE "-include $dep\n");
+ }
+ }
+
+ print (MAKEFILE "\n");
+
+ if (open (TEMPLATE, "." . "/makefile.template"))
+ {
+ while (<TEMPLATE>)
+ {
+ my $row = $_;
+
+ print (MAKEFILE $row);
+ }
+ }
+ close (MAKEFILE);
+
+
+ # Now, also write to the config.h
+
+ print "Writing config.h...\
+";
+ my $CONFIG;
+ open (CONFIG, '>config.h');
+ print (CONFIG <<STOP);
+/* Automatically generated by autochaos 0.2.1. Not intended to be
+ hand edited. */
+
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#define PACKAGE_NAME "fat"
+#define PACKAGE_VERSION "0.0.1"
+
+STOP
+
+ foreach my $option (keys %options)
+ {
+ print (CONFIG "#define OPTION_" . uc ($option) . " $options{$option}\n");
+ }
+
+ foreach my $library (@libraries)
+ {
+ print (CONFIG "#include <$library/$library.h>\n");
+ }
+
+ print (CONFIG "\n#endif /* !__CONFIG_H__ */");
+
+ close (CONFIG);
Added: trunk/chaos-old/servers/file_system/kernelfs/autochaos.rules
===================================================================
--- trunk/chaos-old/servers/file_system/kernelfs/autochaos.rules (rev 0)
+++ trunk/chaos-old/servers/file_system/kernelfs/autochaos.rules 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id: autochaos.rules,v 1.2 2000/10/11 19:11:05 plundis Exp $ -->
+
+<autochaos>
+ <package name="kernelfs" version="0.0.1" type="server" license="GPL">
+ <library type="depend">file</library>
+ <library type="depend">ipc</library>
+ <library type="depend">log</library>
+ <library type="depend">string</library>
+ <library type="depend">system</library>
+ <library type="depend">memory</library>
+ <makefile>makefile</makefile>
+
+ <!-- Sources -->
+
+ <source>kernelfs.c</source>
+ </package>
+</autochaos>
+
+<!--
+
+Local Variables:
+ mode: html
+End:
+
+-->
\ No newline at end of file
Added: trunk/chaos-old/servers/file_system/kernelfs/changelog
===================================================================
--- trunk/chaos-old/servers/file_system/kernelfs/changelog (rev 0)
+++ trunk/chaos-old/servers/file_system/kernelfs/changelog 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,5 @@
+2000-08-31 Per Lundberg <pl...@ch...>
+
+ * Started writing the kernelfs server, which provides a file
+ system abstraction of some kernel data.
+
Added: trunk/chaos-old/servers/file_system/kernelfs/configure
===================================================================
--- trunk/chaos-old/servers/file_system/kernelfs/configure (rev 0)
+++ trunk/chaos-old/servers/file_system/kernelfs/configure 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,495 @@
+#! /usr/bin/perl -w
+
+# Abstract: Script for configuring this package.
+
+# Copyright 2000 chaos development. This script is in the public domain.
+
+# Please note that this script was automatically generated by
+# autochaos 0.2.1. It should not be modified. Do the changes you
+# want in autochaos instead.
+
+use strict;
+use POSIX;
+
+my $chaos_root = "/tftpboot/chaos";
+my @libraries = ();
+my @headers = ();
+my @sources = ();
+my @objects = ();
+my @deps = ();
+my $MAKEFILE;
+my $TEMPLATE;
+my $root_dir = getcwd ();
+my %options =
+(
+);
+
+my $install_prefix_flag = 0;
+
+foreach my $argument (@ARGV)
+{
+ if ($install_prefix_flag eq 1)
+ {
+ $chaos_root = $argument;
+ $install_prefix_flag = 0;
+ }
+ else
+ {
+ if ($argument eq '--install-prefix')
+ {
+ $install_prefix_flag = 1;
+ }
+ elsif ($argument =~ m/--enable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--enable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'TRUE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ elsif ($argument =~ m/--disable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--disable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'FALSE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+}
+
+if ($install_prefix_flag eq 1)
+{
+ print "Malformed --install-prefix command option. Value missing.\n";
+ exit 1;
+}
+
+print "\n Configuring server: kernelfs...\n\n";
+
+print ("Using chaos root... ($chaos_root)\n");
+
+print ("Checking for file library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_file.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "file");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: file is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for ipc library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_ipc.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "ipc");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: ipc is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for log library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_log.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "log");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: log is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for string library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_string.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "string");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: string is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for system library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_system.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "system");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: system is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for memory library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_memory.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "memory");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: memory is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+
+my $all_arguments = "";
+foreach my $argument (@ARGV)
+{
+ $all_arguments .= $argument . " ";
+}
+
+print ("Checking for autochaos... ");
+my $autochaos = `autochaos --version 2> /dev/null`;
+
+my $has_autochaos;
+unless ($autochaos)
+{
+ print ("not found.\n");
+ $has_autochaos = undef;
+}
+else
+{
+ (my $version) = ($autochaos =~ m/ ([\d\.]+)$/);
+ print ("found (version $version).\n");
+ $has_autochaos = $version;
+}
+
+
+
+@headers = (
+);
+
+@sources = (
+'kernelfs.c',
+);
+@objects = ('kernelfs.o',
+);
+@deps = ('kernelfs.dep',
+);
+ print "Writing ./makefile...
+";
+ open (MAKEFILE, '>' . "./makefile") or
+ die ("Could not write to ./makefile: $!\n");
+
+# Write the default rules we want.
+
+ print (MAKEFILE <<STOP);
+# This makefile was generated by autochaos 0.2.1. Please do not
+# tamper with it unless you are very certain about what you are doing.
+
+ALL_ARGUMENTS = $all_arguments
+
+PREFIX = $chaos_root
+PACKAGE = kernelfs
+
+# Compiler flags.
+
+CFLAGS = -Wall -W -Wshadow -Wpointer-arith -Waggregate-return \\
+-Wstrict-prototypes -Wredundant-decls -Winline -Wmissing-prototypes \\
+-Werror -Wcast-align -Wbad-function-cast -Wsign-compare \\
+-Wmissing-declarations -Wmissing-noreturns -pipe \\
+-Wnested-externs -O3 -fno-builtin -funsigned-char -g \$(EXTRA_CFLAGS) \$(DEFINES)
+
+INCLUDES = \\
+STOP
+print (MAKEFILE <<STOP);
+-I. -I\$(PREFIX)/data/programming/c/headers
+STOP
+ print MAKEFILE "
+ALL_OBJECTS =";
+ print MAKEFILE " \\\
+./kernelfs.o";
+ print MAKEFILE "
+";
+print (MAKEFILE <<STOP);
+
+STATIC_LIBRARY_PATH = \$(PREFIX)/data/programming/libraries/static
+
+# Ideally, this would be -lwhatever, but we have not started patching
+# the GNU tools yet...
+
+STOP
+
+ print (MAKEFILE "LIBS = ");
+ foreach my $library (@libraries)
+ {
+ print MAKEFILE "\\\
+\$(STATIC_LIBRARY_PATH)/library_$library.a ";
+ }
+
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE "\n\nOBJECTS = ";
+ foreach my $object (@objects)
+ {
+ print MAKEFILE " \\\
+$object";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @headers > 0)
+ {
+ print MAKEFILE "\n\nHEADERS = ";
+ foreach my $header (@headers)
+ {
+ print MAKEFILE " \\\
+$header";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @sources > 0)
+ {
+ print MAKEFILE "\n\nSOURCES = ";
+ foreach my $source (@sources)
+ {
+ print MAKEFILE " \\\
+$source";
+ }
+ print MAKEFILE "\
+";
+
+ }
+
+ print (MAKEFILE <<STOP);
+
+HEADER_PATH = \$(PREFIX)/data/programming/c/headers/\$(PACKAGE)/.
+
+# TODO: Those should be overridable.
+
+CC = gcc-2.95
+NASM = nasm
+AR = ar
+RANLIB = ranlib
+GZIP = gzip -f
+
+%.o: %.c
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.S
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.asm
+ \$(NASM) -o \$(@) \$< -f elf
+
+.PHONY: splash all clean install package-source package-check package
+
+STOP
+
+ {
+ my $target = "kernelfs" if (scalar @objects);
+
+ unless ($target)
+ {
+ $target = "";
+ }
+
+ print (MAKEFILE <<STOP);
+all: splash makefile $target
+STOP
+
+ }
+ if (!(scalar @objects) && 'kernelfs' ne '\$(OBJECTS)')
+ {
+ print (MAKEFILE <<STOP);
+ \@\$(MAKE) kernelfs
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+clean:
+STOP
+ print MAKEFILE " rm -f kernelfs
+";
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE " rm -f \$(OBJECTS)
+";
+ }
+ print (MAKEFILE <<STOP);
+ rm -f *.dep
+ -\$(MAKE) clean-local
+STOP
+
+# FIXME: Pass all parameters to the configure script at this
+# point. Also, make sure the make process is restarted. (fork?)
+
+# FIXME: Support conditional gzipping.
+ print (MAKEFILE <<STOP);
+makefile: configure
+ @./configure
+
+splash:
+ \@echo -e "\\n Compiling server: kernelfs...\\n"
+
+STOP
+
+ if ($has_autochaos)
+ {
+ print (MAKEFILE <<STOP);
+configure: autochaos.rules
+ \@autochaos
+
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+LDFLAGS = \$(PREFIX)/data/programming/c/startup/startup.o \\
+-nostdlib -Wl,-T,\$(PREFIX)/data/programming/linker/chaos.ld -lgcc \$(EXTRA_LDFLAGS)
+
+kernelfs: \$(OBJECTS)
+ \@echo "Linking..."
+ \@\$(CC) -o \$(\@) \$(OBJECTS) \$(LIBS) \$(LDFLAGS)
+
+install: all
+ \@echo "Installing..."
+ \@mkdir -p \$(PREFIX)/system/servers
+ \@cp kernelfs \$(PREFIX)/system/servers
+ \@strip -R .note -R .comment -R .eh_frame \$(PREFIX)/system/servers/kernelfs
+ \@\$(GZIP) \$(PREFIX)/system/servers/kernelfs # > \$(PREFIX)/system/servers/kernelfs.gz
+STOP
+ print (MAKEFILE "\n");
+
+ print (MAKEFILE <<STOP);
+package-source:
+STOP
+print (MAKEFILE <<STOP);
+ mkdir -p $root_dir/package-source/.
+STOP
+ print (MAKEFILE <<STOP);
+ -cp -f autochaos.rules changelog configure COPYING README AUTHORS TODO INSTALL $root_dir/package-source/.
+STOP
+
+ print (MAKEFILE <<STOP);
+ -cp -f makefile.template \$(EXTRA_FILES) $root_dir/package-source/.
+STOP
+
+ if (scalar @headers > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for header in \$(HEADERS) ; do cp \$\$header $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ if (scalar @sources > 0)
+ {
+ print (MAKEFILE <<STOP);
+ for source in \$(SOURCES) ; do cp \$\$source $root_dir/package-source/. || exit ; done
+STOP
+ }
+
+ print (MAKEFILE <<STOP);
+package-check: package-source
+ cd package-source && ./configure \$(ALL_ARGUMENTS) && \$(MAKE) && \$(MAKE) clean
+ find package-source -name makefile -exec rm {} ';'
+ rm package-source/config.h
+STOP
+
+ print (MAKEFILE <<STOP);
+package: package-check
+ rm -rf kernelfs-0.0.1
+ mv package-source kernelfs-0.0.1
+ tar cvIf kernelfs-0.0.1.tar.bz2 kernelfs-0.0.1
+
+STOP
+
+ # Include automatically generated dependencies.
+
+ if (scalar @deps > 0)
+ {
+ foreach my $dep (@deps)
+ {
+ print (MAKEFILE "-include $dep\n");
+ }
+ }
+
+ print (MAKEFILE "\n");
+
+ if (open (TEMPLATE, "." . "/makefile.template"))
+ {
+ while (<TEMPLATE>)
+ {
+ my $row = $_;
+
+ print (MAKEFILE $row);
+ }
+ }
+ close (MAKEFILE);
+
+
+ # Now, also write to the config.h
+
+ print "Writing config.h...\
+";
+ my $CONFIG;
+ open (CONFIG, '>config.h');
+ print (CONFIG <<STOP);
+/* Automatically generated by autochaos 0.2.1. Not intended to be
+ hand edited. */
+
+#ifndef __CONFIG_H__
+#define __CONFIG_H__
+
+#define PACKAGE_NAME "kernelfs"
+#define PACKAGE_VERSION "0.0.1"
+
+STOP
+
+ foreach my $option (keys %options)
+ {
+ print (CONFIG "#define OPTION_" . uc ($option) . " $options{$option}\n");
+ }
+
+ foreach my $library (@libraries)
+ {
+ print (CONFIG "#include <$library/$library.h>\n");
+ }
+
+ print (CONFIG "\n#endif /* !__CONFIG_H__ */");
+
+ close (CONFIG);
Added: trunk/chaos-old/servers/file_system/servicefs/autochaos.rules
===================================================================
--- trunk/chaos-old/servers/file_system/servicefs/autochaos.rules (rev 0)
+++ trunk/chaos-old/servers/file_system/servicefs/autochaos.rules 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!-- $Id: autochaos.rules,v 1.2 2000/10/22 21:38:16 plundis Exp $ -->
+
+<autochaos>
+ <package name="servicefs" version="0.0.1" type="server" license="GPL">
+ <library type="depend">file</library>
+ <library type="depend">ipc</library>
+ <library type="depend">log</library>
+ <library type="depend">string</library>
+ <library type="depend">system</library>
+ <library type="depend">memory</library>
+ <library type="depend">time</library>
+ <makefile>makefile</makefile>
+
+ <!-- Sources -->
+
+ <source>servicefs.c</source>
+ </package>
+</autochaos>
+
+<!--
+
+Local Variables:
+ mode: html
+End:
+
+-->
Added: trunk/chaos-old/servers/file_system/servicefs/changelog
===================================================================
--- trunk/chaos-old/servers/file_system/servicefs/changelog (rev 0)
+++ trunk/chaos-old/servers/file_system/servicefs/changelog 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,4 @@
+2000-10-20 Per Lundberg <pl...@ch...>
+
+ * New server.
+
Added: trunk/chaos-old/servers/file_system/servicefs/configure
===================================================================
--- trunk/chaos-old/servers/file_system/servicefs/configure (rev 0)
+++ trunk/chaos-old/servers/file_system/servicefs/configure 2007-03-12 20:30:09 UTC (rev 1227)
@@ -0,0 +1,509 @@
+#! /usr/bin/perl -w
+
+# Abstract: Script for configuring this package.
+
+# Copyright 2000 chaos development. This script is in the public domain.
+
+# Please note that this script was automatically generated by
+# autochaos 0.2.1. It should not be modified. Do the changes you
+# want in autochaos instead.
+
+use strict;
+use POSIX;
+
+my $chaos_root = "/tftpboot/chaos";
+my @libraries = ();
+my @headers = ();
+my @sources = ();
+my @objects = ();
+my @deps = ();
+my $MAKEFILE;
+my $TEMPLATE;
+my $root_dir = getcwd ();
+my %options =
+(
+);
+
+my $install_prefix_flag = 0;
+
+foreach my $argument (@ARGV)
+{
+ if ($install_prefix_flag eq 1)
+ {
+ $chaos_root = $argument;
+ $install_prefix_flag = 0;
+ }
+ else
+ {
+ if ($argument eq '--install-prefix')
+ {
+ $install_prefix_flag = 1;
+ }
+ elsif ($argument =~ m/--enable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--enable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'TRUE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ elsif ($argument =~ m/--disable-.*$/)
+ {
+ (my $option) = ($argument =~ m/--disable-(.*)$/);
+
+ if ($options{$option})
+ {
+ $options{$option} = 'FALSE';
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+ else
+ {
+ print "Unrecognised command line option.\n";
+ exit 1;
+ }
+ }
+}
+
+if ($install_prefix_flag eq 1)
+{
+ print "Malformed --install-prefix command option. Value missing.\n";
+ exit 1;
+}
+
+print "\n Configuring server: servicefs...\n\n";
+
+print ("Using chaos root... ($chaos_root)\n");
+
+print ("Checking for file library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_file.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "file");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: file is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for ipc library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_ipc.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "ipc");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: ipc is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for log library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_log.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "log");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: log is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for string library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_string.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "string");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: string is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for system library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_system.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "system");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: system is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for memory library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_memory.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "memory");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: memory is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+print ("Checking for time library... ");
+if (-f "$chaos_root/data/programming/libraries/static/library_time.a")
+{
+ print ("found.\n");
+
+ push (@libraries, "time");
+}
+else
+{
+ print ("not found.\n");
+ print ("\nError: time is a required library. Please check your configuration.\n\n");
+ exit 1;
+}
+
+
+my $all_arguments = "";
+foreach my $argument (@ARGV)
+{
+ $all_arguments .= $argument . " ";
+}
+
+print ("Checking for autochaos... ");
+my $autochaos = `autochaos --version 2> /dev/null`;
+
+my $has_autochaos;
+unless ($autochaos)
+{
+ print ("not found.\n");
+ $has_autochaos = undef;
+}
+else
+{
+ (my $version) = ($autochaos =~ m/ ([\d\.]+)$/);
+ print ("found (version $version).\n");
+ $has_autochaos = $version;
+}
+
+
+
+@headers = (
+);
+
+@sources = (
+'servicefs.c',
+);
+@objects = ('servicefs.o',
+);
+@deps = ('servicefs.dep',
+);
+ print "Writing ./makefile...
+";
+ open (MAKEFILE, '>' . "./makefile") or
+ die ("Could not write to ./makefile: $!\n");
+
+# Write the default rules we want.
+
+ print (MAKEFILE <<STOP);
+# This makefile was generated by autochaos 0.2.1. Please do not
+# tamper with it unless you are very certain about what you are doing.
+
+ALL_ARGUMENTS = $all_arguments
+
+PREFIX = $chaos_root
+PACKAGE = servicefs
+
+# Compiler flags.
+
+CFLAGS = -Wall -W -Wshadow -Wpointer-arith -Waggregate-return \\
+-Wstrict-prototypes -Wredundant-decls -Winline -Wmissing-prototypes \\
+-Werror -Wcast-align -Wbad-function-cast -Wsign-compare \\
+-Wmissing-declarations -Wmissing-noreturns -pipe \\
+-Wnested-externs -O3 -fno-builtin -funsigned-char -g \$(EXTRA_CFLAGS) \$(DEFINES)
+
+INCLUDES = \\
+STOP
+print (MAKEFILE <<STOP);
+-I. -I\$(PREFIX)/data/programming/c/headers
+STOP
+ print MAKEFILE "
+ALL_OBJECTS =";
+ print MAKEFILE " \\\
+./servicefs.o";
+ print MAKEFILE "
+";
+print (MAKEFILE <<STOP);
+
+STATIC_LIBRARY_PATH = \$(PREFIX)/data/programming/libraries/static
+
+# Ideally, this would be -lwhatever, but we have not started patching
+# the GNU tools yet...
+
+STOP
+
+ print (MAKEFILE "LIBS = ");
+ foreach my $library (@libraries)
+ {
+ print MAKEFILE "\\\
+\$(STATIC_LIBRARY_PATH)/library_$library.a ";
+ }
+
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE "\n\nOBJECTS = ";
+ foreach my $object (@objects)
+ {
+ print MAKEFILE " \\\
+$object";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @headers > 0)
+ {
+ print MAKEFILE "\n\nHEADERS = ";
+ foreach my $header (@headers)
+ {
+ print MAKEFILE " \\\
+$header";
+ }
+ print MAKEFILE "\
+";
+ }
+
+ if (scalar @sources > 0)
+ {
+ print MAKEFILE "\n\nSOURCES = ";
+ foreach my $source (@sources)
+ {
+ print MAKEFILE " \\\
+$source";
+ }
+ print MAKEFILE "\
+";
+
+ }
+
+ print (MAKEFILE <<STOP);
+
+HEADER_PATH = \$(PREFIX)/data/programming/c/headers/\$(PACKAGE)/.
+
+# TODO: Those should be overridable.
+
+CC = gcc-2.95
+NASM = nasm
+AR = ar
+RANLIB = ranlib
+GZIP = gzip -f
+
+%.o: %.c
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.S
+ \@echo Compiling \$<...
+ \@\$(CC) -o \$(@) \$(CFLAGS) \$(INCLUDES) \$(DEFS) -c \$<
+ \@\$(CC) -M \$< \$(CFLAGS) \$(INCLUDES) \$(DEFS) > \$(*F).dep
+
+%.o: %.asm
+ \$(NASM) -o \$(@) \$< -f elf
+
+.PHONY: splash all clean install package-source package-check package
+
+STOP
+
+ {
+ my $target = "servicefs" if (scalar @objects);
+
+ unless ($target)
+ {
+ $target = "";
+ }
+
+ print (MAKEFILE <<STOP);
+all: splash makefile $target
+STOP
+
+ }
+ if (!(scalar @objects) && 'servicefs' ne '\$(OBJECTS)')
+ {
+ print (MAKEFILE <<STOP);
+ \@\$(MAKE) servicefs
+STOP
+ }
+ print (MAKEFILE <<STOP);
+
+clean:
+STOP
+ print MAKEFILE " rm -f servicefs
+";
+ if (scalar @objects > 0)
+ {
+ print MAKEFILE " rm -f \$(OBJECTS)
+";
+ }
+ print (MAKEFILE <<STOP);
+ rm -f *.dep
+ -\$(MAKE) clean-local
+STOP
+
+# FIXME: Pass all parameters to the configure script at this
+# point. Also,...
[truncated message content] |