Compile-time configuration infrastructure
authorAdam Chlipala <adamc@hcoop.net>
Sun, 30 Jul 2006 15:28:27 +0000 (15:28 +0000)
committerAdam Chlipala <adamc@hcoop.net>
Sun, 30 Jul 2006 15:28:27 +0000 (15:28 +0000)
.cvsignore [new file with mode: 0644]
Makefile [new file with mode: 0644]
configDefault/.cvsignore [new file with mode: 0644]
configDefault/domtool.cfg [new file with mode: 0644]
configDefault/domtool.cfs [new file with mode: 0644]
src/config.sig.footer [new file with mode: 0644]
src/config.sig.header [new file with mode: 0644]
src/config.sml [new file with mode: 0644]
src/configDefault.sml.footer [new file with mode: 0644]
src/configDefault.sml.header [new file with mode: 0644]
src/domtool.cm

diff --git a/.cvsignore b/.cvsignore
new file mode 100644 (file)
index 0000000..badbb3a
--- /dev/null
@@ -0,0 +1,2 @@
+.cm
+config.sml
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..4f173d4
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,18 @@
+all: configDefault/config.sig configDefault/configDefault.sml
+
+.PHONY: all
+
+configDefault/config.sig: src/config.sig.header \
+               configDefault/*.cfs src/config.sig.footer
+       cat src/config.sig.header \
+               configDefault/*.cfs \
+               src/config.sig.footer \
+               >configDefault/config.sig
+
+configDefault/configDefault.sml: src/configDefault.sml.header \
+               configDefault/*.cfg src/configDefault.sml.footer
+       cat src/configDefault.sml.header \
+               configDefault/*.cfg \
+               src/configDefault.sml.footer \
+               >configDefault/configDefault.sml
+
diff --git a/configDefault/.cvsignore b/configDefault/.cvsignore
new file mode 100644 (file)
index 0000000..99b2ae3
--- /dev/null
@@ -0,0 +1,3 @@
+.cm
+config.sig
+configDefault.sml
diff --git a/configDefault/domtool.cfg b/configDefault/domtool.cfg
new file mode 100644 (file)
index 0000000..4fdde33
--- /dev/null
@@ -0,0 +1 @@
+val configRoot = "/home/adamc/domtool"
diff --git a/configDefault/domtool.cfs b/configDefault/domtool.cfs
new file mode 100644 (file)
index 0000000..7d9aecc
--- /dev/null
@@ -0,0 +1,3 @@
+val configRoot : string
+(* Root directory for a directory hierarchy corresponding to domain structure,
+ * where each node contains files related to that domain's configuration. *)
diff --git a/src/config.sig.footer b/src/config.sig.footer
new file mode 100644 (file)
index 0000000..7f2d065
--- /dev/null
@@ -0,0 +1,2 @@
+
+end
diff --git a/src/config.sig.header b/src/config.sig.header
new file mode 100644 (file)
index 0000000..41860d9
--- /dev/null
@@ -0,0 +1,4 @@
+(* Types of configuration parameters *)
+
+signature CONFIG = sig
+
diff --git a/src/config.sml b/src/config.sml
new file mode 100644 (file)
index 0000000..cf3f048
--- /dev/null
@@ -0,0 +1,5 @@
+structure Config :> CONFIG = struct
+
+open ConfigDefault
+
+end
diff --git a/src/configDefault.sml.footer b/src/configDefault.sml.footer
new file mode 100644 (file)
index 0000000..7f2d065
--- /dev/null
@@ -0,0 +1,2 @@
+
+end
diff --git a/src/configDefault.sml.header b/src/configDefault.sml.header
new file mode 100644 (file)
index 0000000..1841036
--- /dev/null
@@ -0,0 +1,4 @@
+(* Default configuration settings *)
+
+structure ConfigDefault :> CONFIG = struct
+
index df4938b..34b52fc 100644 (file)
@@ -12,6 +12,11 @@ dataStructures.sml
 
 ast.sml
 
+../configDefault/config.sig
+../configDefault/configDefault.sml
+
+../config.sml
+
 domtool.lex
 domtool.grm