added instructions about how to use dynamic libraries of charm.
authorGengbin Zheng <gzheng@illinois.edu>
Wed, 17 Sep 2003 00:51:45 +0000 (00:51 +0000)
committerGengbin Zheng <gzheng@illinois.edu>
Wed, 17 Sep 2003 00:51:45 +0000 (00:51 +0000)
README

diff --git a/README b/README
index b0bdaabf4b3a5d88421a0769fc3ef4d562308dc5..ac9ae454beb5cf0e0ece1d6b08683c971fab5159 100644 (file)
--- a/README
+++ b/README
@@ -249,6 +249,24 @@ the run-time checking performed by Converse and Charm++ runtime. This option
 should be used only after the program has been debugged. Also, this option
 disables Converse/Charm++ tracing mechanisms such as projections and summary.
 
+When Charm++ is built successfully, the diretory structure under the
+target directory will look like:
+
+net-linux/
+   |
+   ---  bin/                   # all executables
+   |
+   ---  doc/                   # documentations
+   |
+   ---  include/               # header files
+   |
+   ---  lib/                   # libraries
+   |
+   ---  lib_so/                        # dynamic libraries
+   |
+   ---  pgms/                  # all sample programs
+   |
+   ---  tmp/                   # Charm++ build directory
 
 BUILDING A PROGRAM
 ==================
@@ -308,6 +326,32 @@ For more detailed information, please check the "INSTALLATION MANUAL" and "RUN M
 under doc/install.
 
 
+Build Charm++ in Dynamic libraries
+=============================
+
+In order to compile Charm++ into dynamic libraries, one need to specify
+"-build-shared" option as one of the Charm compiler script "charmc" 
+at link time. For example, to compile Charm++ under net-linux/tmp, run
+
+make charm++ OPTS='-O -build-shared'
+
+Charm++'s dynamic libraries are compiled into lib_so/ directory. 
+Typically, they are with ".so" suffix.
+
+Note, "-build-shared" option is automatically turned on when building 
+Charm++ using "build" script. So you don't need to pass "-build-shared" 
+option to "build".
+
+One can compile a Charm++ applicaiton linking against Charm++ dynamic 
+libraries, run charmc with "-charm-shared" as one of the link options.
+For example:
+
+charmc -o pgm pgm.o -charm-shared
+
+You can then run the program as usual.
+Note, linking against Charm++ dynamic libraries produces much smaller size
+binaries and takes much less linking time.
+
 FOR MORE INFORMATION
 ====================