summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2011-11-30 08:52:38 +0000
committerSimon Marlow <marlowsd@gmail.com>2011-11-30 08:52:38 +0000
commitb35a12aa910dcb90cfd7b40ca1fb6d89a0a63bc8 (patch)
tree5fe291a2da0949b1798025e58f24a1648e04fdfc
parent53055bb5023e8cc145ad8a9cd36ac56cee4695b0 (diff)
downloadhaskell-b35a12aa910dcb90cfd7b40ca1fb6d89a0a63bc8.tar.gz
remove obsolete notes (#5660)
-rw-r--r--compiler/DLL-NOTES58
1 files changed, 0 insertions, 58 deletions
diff --git a/compiler/DLL-NOTES b/compiler/DLL-NOTES
deleted file mode 100644
index c710b14251..0000000000
--- a/compiler/DLL-NOTES
+++ /dev/null
@@ -1,58 +0,0 @@
- The DLL story
- -------------
-
-***
-
-This file is intended to be a focal point for notes on how DLLs work. Please
-add cross-references to source and other docs, especially when you don't
-find something here that you need.
-
-***
-
-
-Introduction
-------------
-
-On Windows, DLLs are synonymous with packages (since 4.07; this change
-simplified a rather horrible mess). Hence whenever a module is to be
-compiled to go in a DLL, it must be compiled with -package-name dll-name.
-Typically, failing to do this gives Windows error message boxes of the form
-"The instruction at address <x> tried to read memory at address <x>".
-
-
-Dependencies
-------------
-
-Because references in DLLs must be fully resolved when the DLL is compiled
-(except for references to other DLLs), it is not possible for DLLs to call
-the main program. This means that the parts of the RTS and standard package
-which call the main program cannot be compiled into the relevant DLLs, and
-must instead be compiled as standalone object files and linked in to each
-executable. This gives the following picture of dependencies within a program:
-
- ___________ ___________
- | |------>| | GHC-land | Application-land
-DLL-land | HSrts.dll | | HSstd.dll | |
- |___________|<------|___________| |
- | ^ |
------------------|-------------------|-------------------|
- _____v_____ _____|______ |
-.o-land | | | | |
- | Main.o | | PrelMain.o |-----------------------
- |___________| |____________| | |
- | | ______v______
- | | | |
- ------------------------------------------>| Main.o |
- | |_____________|
-
-(The application's dependencies are not shown.)
-
-
-Bits of the compiler that deal with DLLs
-----------------------------------------
-
-basicTypes/Module.lhs is the most important place, as it deals with which
-modules identifiers are in.
-
-basicTypes/name.lhs, other bits of basicTypes/, nativeGen/, codeGen/,
-abcCSyn/, and even profiling/ have other references.