summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam A. Rowe Jr <wrowe@apache.org>2003-03-10 20:32:29 +0000
committerWilliam A. Rowe Jr <wrowe@apache.org>2003-03-10 20:32:29 +0000
commite11ceb751886a69c7fc996aaee5b601697efd7af (patch)
tree1fcfef5d344ccf8d94a9ce31a366ea9daf1043fe
parent6dc0b1d7c859a1ce3cc264e271a99b458e2f94fd (diff)
downloadapr-e11ceb751886a69c7fc996aaee5b601697efd7af.tar.gz
A very fast pass through the new debugging symbols and top level projects.
Needs *much* more work. git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@64416 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--CHANGES6
-rw-r--r--docs/win32_builds.html63
2 files changed, 65 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index f4cb02a85..3f52339bd 100644
--- a/CHANGES
+++ b/CHANGES
@@ -30,10 +30,8 @@ Changes with APR 0.9.2
*) Introduce Release mode debugging symbols for Win32 builds of apr.
All library builds gain /Zi for debug symbols (which are discarded
at link time if some flavor of the /debug flag isn't passed to link)
- and .dll builds gain both .pdb and .dbg files (older debuggers and
- Dr. Watson-type utilities on WinNT or Win9x don't support the newer
- .pdb symbol files.) Documentation on how-to-use these symbol files
- will be forthcoming. [Allen Edwards, William Rowe]
+ and .dll builds gain .pdb symbols. Documentation on how-to-use these
+ symbols will be forthcoming. [Allen Edwards, William Rowe]
*) Add two new proc attributes to improve diagnostics for
apr_proc_create() failures on platforms where fork()+exec() is used.
diff --git a/docs/win32_builds.html b/docs/win32_builds.html
new file mode 100644
index 000000000..2d72b9864
--- /dev/null
+++ b/docs/win32_builds.html
@@ -0,0 +1,63 @@
+<HTML>
+<HEAD><TITLE>APR Win32 Builds and Debugging</TITLE></HEAD>
+<BODY>
+<h1>APR Win32 Builds and Debugging</h1>
+
+<h2>Configuration and Flavors</h2>
+
+<p>The Win32 APR Developer Studio projects consist of</p>
+
+<dl>
+ <dt>apr/apr.dsp</dt>
+
+ <dd>Builds the static apr.lib library (-D APR_DECLARE_STATIC)</dd>
+ <dt>apr/libapr.dsp</dt>
+
+ <dd>Builds the dynamic libapr.dll library (no define required)</dd>
+ <dt>apr-util/aprutil.dsp</dt>
+
+ <dd>Builds the static aprutil.lib library (-D APU_DECLARE_STATIC)</dd>
+ <dt>apr-util/libaprutil.dsp</dt>
+
+ <dd>Builds the dynamic libaprutil.dll library (no define required)</dd>
+ <dt>apr-iconv/apriconv.dsp</dt>
+
+ <dd>Builds the static apriconv.lib library (-D API_DECLARE_STATIC)</dd>
+ <dt>apr-iconv/libapriconv.dsp</dt>
+
+ <dd>Builds the dynamic libapriconv.dll library (no define required)</dd>
+</dl>
+
+<p>In order to prepare to use one of the <em>static</em> libraries above,
+ your application must be compiled with the define shown above, so that the
+ correct linkage is created. The APR authors intended the use of dynamic
+ libraries by default, so application authors do not need any special
+ defines in order to link to the dynamic library flavors.</p>
+
+<p>In order to build APR, you must use the proper dependencies. A good
+ example of those dependencies is given in the apr-util/aprutil.dsw
+ Developer Studio workspace. You can borrow the parts of that structure
+ your application needs, that workspace defines both the dynamic and static
+ library dependencies.</p>
+
+<p>The APR libraries (dynamic and static) are compiled with debugging symbols ,
+ even in Release builds. The dynamic library symbols are always usable,
+ simply keep the correspond .pdb file in the same path as the library .dll.
+ (E.g. both libapr.dll and libapr.pdb should be copied to the same path.)</p>
+
+<p>The static symbols will only be fully usable if your application does <em>not<em>
+ link with the /pdbtype:sept flag! At the time your application links to
+ an APR library, the corresponding _src.pdb file should exist in the original
+ path the library was built, or it may be sufficient to keep the _src.pdb file
+ in the same path as the library file. (E.g. apr.lib and apr_src.pdb should
+ reside together in your lib directory.) The later option is unconfirmed.</p>
+
+<p>In order to keep the symbols compiled into the static library, your application
+ must use the linker's /debug flag. If you do not want the application to be
+ debuggable with its corresponding .pdb file, omit the /debug flag and all debug
+ symbolic information is discarded. Note that your application can only be
+ debugged with the corresponding .pdb file created by the linker, unless you use
+ /debugtype:coff or /debugtype:both in your link options.</p>
+
+</BODY>
+</HTML>