From 4ef414197ba007861526ef8dc5fbbc6ae2232d0f Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Tue, 11 Jan 2005 05:12:54 +0000 Subject: [PATCH] * Describe the LOADABLE_MODULE feature * Get rid of non-compliant elements (how did that get in there?) llvm-svn: 19458 --- docs/MakefileGuide.html | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/docs/MakefileGuide.html b/docs/MakefileGuide.html index 64fe536cb6f..c91b14c3737 100644 --- a/docs/MakefileGuide.html +++ b/docs/MakefileGuide.html @@ -240,6 +240,16 @@ Note that you normally do not need to specify the sources involved. The LLVM Makefile system will infer the source files from the contents of the source directory.

+

The LOADABLE_MODULE=1 directive can be used in conjunction with + SHARED_LIBRARY=1 to indicate that the resulting shared library should + be openable with the dlopen function and searchable with the + dlsym function (or your operating system's equivalents). While this + isn't strictly necessary on Linux and a few other platforms, it is required + on systems like HP-UX and Darwin. You should use LOADABLE_MODULE for + any shared library that you intend to be loaded into an tool via the + -load option. See the + WritingAnLLVMPass.html document + for an example of why you might want to do this. @@ -539,8 +549,8 @@ $(BUILD_OBJ_ROOT) directoy by removing its content entirely and reconfiguring the directory. This returns the $(BUILD_OBJ_ROOT) directory to a completely fresh state. All content in the directory except - configured files and top-level makefiles will be lost. - Use with caution.

+ configured files and top-level makefiles will be lost.

+

Use with caution.

@@ -652,6 +662,12 @@
LLVMLIBS
Specifies the set of libraries from the LLVM $(ObjDir) that will be linked into the tool or library.
+
LOADABLE_MODULE
+
If set to any value, causes the shared library being built to also be + a loadable module. Loadable modules can be opened with the dlopen() function + and searched with dlsym (or the operating system's equivalent). Note that + setting this variable without also setting SHARED_LIBRARY will have + no effect.
MODULE_NAME
Specifies the name of a bytecode module to be created. A bytecode module can be specified in conjunction with other kinds of library builds