SCM Repository
Annotation of /sml/trunk/src/cm/bootstrap/cmb-slave-stub.sml
Parent Directory
|
Revision Log
Revision 464 - (view) (download)
1 : | blume | 449 | (* |
2 : | * This is a stub providing "slave" functionality for CMB. | ||
3 : | blume | 452 | * (We use dynamic linking technology to avoid loading target-compilers.cm |
4 : | blume | 449 | * on the slave side unless it is really needed.) |
5 : | * | ||
6 : | * (C) 1999 Lucent Technologies, Bell Laboratories | ||
7 : | * | ||
8 : | * Author: Matthias Blume (blume@kurims.kyoto-u.ac.jp) | ||
9 : | *) | ||
10 : | structure CMBSlave = struct | ||
11 : | local | ||
12 : | blume | 464 | val loaded = ref StringSet.empty |
13 : | blume | 449 | in |
14 : | blume | 464 | fun slave load arch s = let |
15 : | val lib = arch ^ ".cm" | ||
16 : | in | ||
17 : | if StringSet.member (!loaded, lib) then () | ||
18 : | else if load lib then loaded := StringSet.add (!loaded, lib) | ||
19 : | else raise Fail (concat ["dynamic linkage for CMB slave ", | ||
20 : | arch, " failed"]); | ||
21 : | CMBSlaveHook.slave arch s | ||
22 : | end | ||
23 : | blume | 449 | end |
24 : | end |
root@smlnj-gforge.cs.uchicago.edu | ViewVC Help |
Powered by ViewVC 1.0.0 |