You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@apr.apache.org by wr...@apache.org on 2001/09/23 01:07:13 UTC

cvs commit: apr-site compiling_win32.html index.html

wrowe       01/09/22 16:07:13

  Modified:    .        index.html
  Added:       .        compiling_win32.html
  Log:
    Something here is better than nothing, third question in a month about
    this in private mails.  Unix hacks, where is yours :-?
  
  Revision  Changes    Path
  1.15      +14 -1     apr-site/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/apr-site/index.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- index.html	2001/09/09 17:14:06	1.14
  +++ index.html	2001/09/22 23:07:13	1.15
  @@ -38,12 +38,25 @@
         </ul>
       </p>
   
  -    <h3>How to contribute</h3>
  +    <h3>How to build</h3>
  +    <p>
  +      This section, in general, needs alot of work.  We hope it starts
  +      you in the right direction, and will offer more info soon as we
  +      begin to package APR as a seperate distribution, with it's own
  +      release schema.
  +    </p>
       <p>
         <a href="anoncvs.txt">Getting</a> the source code.
       </p>
       <p>
         <a href="http://cvs.apache.org/snapshots/apr/">Download</a> a tarball of the latest code snapshot.
  +    </p>
  +    <p>
  +      <a href="compiling_win32.html">Compiling</a> on Win32.  More help
  +      and details about other platforms coming soon!
  +    </p>
  +
  +    <h3>How to contribute</h3>
       <p>
         See the <a href="guidelines.html">project's guidelines</a> for
         more information about how the project works.
  
  
  
  1.1                  apr-site/compiling_win32.html
  
  Index: compiling_win32.html
  ===================================================================
  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
  <html>
  <head>
  <title>Compiling APR for Microsoft Windows</title>
  </head>
  
  <!-- Background white, links blue (unvisited), navy (visited), red (active) -->
  <body
   bgcolor="#FFFFFF"
   text="#000000"
   link="#0000FF"
   vlink="#000080"
   alink="#FF0000"
  >
  <!--#include virtual="header.html" -->
  
  <h1 align="center">Compiling APR for Microsoft Windows</h1>
  
  <h3><a name="requirements">Requirements</a></h3>
  
  <p>Compiling apr, apr-iconv and/or apr-util requires the following environment 
     to be properly installed;
  
  <ul>
  
  <li>Microsoft Visual C++ 5.0 or higher.<br><br>APR can be built using
      the command line tools, or from within the Visual Studio IDE Workbench.
      the command line tools are configured with the vcvars32 batch file:
  <pre>
    "c:\Program Files\DevStudio\VC\Bin\vcvars32.bat"
  </pre>
  
  <li>The Windows Platform SDK.<br><br>Visual C++ 5.0 need the updated Microsoft
      Windows Platform SDK to enable some APR features.  For command line 
      builds, the Platform SDK environment is prepared by the setenv batch file:
  <pre>
    "c:\Program Files\Platform SDK\setenv.bat"
  </pre>
      The Platform SDK files distributed with Visual C++ 6.0 and later are
      sufficient, so those users may skip this requirement.<br><br>
  
      <strong>Note</strong> that the Windows
      Platform SDK update is required to enable all supported features.
      Without a recent update, APR will issue warnings under MSVC++ 5.0
      or fail to build entirely.  Look for the update on Microsoft's website,
      we are afraid they change the link to often to cite.</p> 
  
  <li>The awk utility (awk, gawk or similar.)<br><br>
      To build APR, several files are modified using the awk utility.  
      awk was chosen since it is a very small download (compared with Perl 
      or WSH/VB) and accomplishes the task. Brian Kernighan's  
      <a href="http://cm.bell-labs.com/cm/cs/who/bwk/"
      >http://cm.bell-labs.com/cm/cs/who/bwk/</a> site has a compiled native 
      Win32 binary, <a href="http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe"
      >http://cm.bell-labs.com/cm/cs/who/bwk/awk95.exe</a> 
      which you should name awk.exe rather than awk95.exe.<br>
      Note that Developer Studio IDE will only find awk.exe from the 
      <u>T</u>ools menu <u>O</u>ptions... Directories settings for the 
      Executable files.  Add the path for awk.exe to this list, as needed.</p>
  
  </ul>
  
  <h3><a name="commandline">Command-Line Build</a></h3>
  
  <p>First, unpack the APR distribution into an appropriate
     directory.  The directory will contain the apr, apr-iconv and apr-util
     directories.  Open a command-line prompt and cd to the apr-util
     directory.  Simply use one of the following commands to compiled the 
     static or dynamic libraries, respectively, on Visual C++ 6.0 or later:</p>
  <pre>
  	msdev aprutil.dsw /MAKE \
  		"apriconv - Win32 Release" \
  		"apr - Win32 Release" \
  		"libapr - Win32 Release" \
  		"gen_uri_delims - Win32 Release" \
  		"xml - Win32 Release" \
          	"aprutil - Win32 Release" \
  
  	msdev aprutil.dsw /MAKE \
  		"libapr - Win32 Release" \
  		"libapriconv - Win32 Release" \
  		"gen_uri_delims - Win32 Release" \
  		"xml - Win32 Release" \
          	"libaprutil - Win32 Release" \
  
  </pre>
  
  <p>Either command will compile APR. The latter will build the libraries as
     .dll dynamic shared libraries, rather than static libraries.</p>
  
  <p>Replace <code>Release</code> with <code>Debug</code> to include debugging
     information in the resulting files, making it easier to find bugs and
     track down problems.</p>
  
  <h3><a name="workspace">Developer Studio Workspace IDE Build</a></h3>
  
  <p>APR can also be compiled using VC++'s VisualStudio development
     environment. To simplify this process, a complete VisualStudio workspace,
     apr-util/aprutil.dsw, is provided.  This workspace exposes the entire list 
     of working .dsp projects that are required for the complete APR binary 
     release.  It includes dependencies between the projects to assure that 
     they are built in the appropriate order.</p>
  
  <p>Open the apr-util/aprutil.dsw workspace, and choose either aprutil or
     libaprutil (for static or dynamic libraries) with the Release or Debug
     build as the Active Project.  aprutil.dsw causes all related projects to 
     be built.</p>
  
  <p>The apr test environment can be compiled using VC++'s VisualStudio 
     development environment with the apr/test/aprtest.dsw project.  
     This workspace exposes the apr/apr.dsp static library and the 
     apr/test/aprtest.dsp projects that allow the developer to assemble the
     entire test application suite.</p>
  
  <p>The .dsp project files are distributed in Visual C++ 6.0 format.  Visual
     C++ 5.0 (97) will recognize them.  To quickly prepare the .dsp files in 
     the native Visual Studio 5.0 (97) format, you can run this command
     from the top-level apr directory (above apr, apr-util and apr-iconv):
  <pre>
       perl apr\build\cvtdsp.pl -5
  </pre>
     You must type this command from the <em>top level</em> directory of the apr
     source tree.  Every VC6 .dsp project file within the current directory and 
     below will be listed as it is converted.  If you contribute back a patch that
     revises project files, please convert them back with the the -6 option instead
     of -5, which returns the project files to Visual Studio 6.0 format.</p>
  
  <h3><a name="integrating">Integrating the Library</a></h3>
  
  <h3><a name="components">Library Components</a></h3>
  
  <p>The apr-util/aprutil.dsw workspace builds the .dsp projects of the 
     Apache server listed with dependent projects preceeding their
     dependencies:</p>
  
  <ol>
     <li><code>apr-util\aprutil.dsp</code>
     <li><code>apr-util\libaprutil.dsp</code>
     <li><code>apr-util\uri\gen_uri_delims.dsp</code>
     <li><code>apr-util\xml\expat\lib\xml.dsp</code>
     <li><code>apr-iconv\apriconv.dsp</code>
     <li><code>apr-iconv\libapriconv.dsp</code>
     <li><code>apr\apr.dsp</code>
     <li><code>apr\libapr.dsp</code>
  </ol>
  
  <p>The libXXX projects create .dll targets, dynamic shared libraries.
     Their non-libXXX counterparts create static .lib targets.</p>
  
  <p>To compile code for the libraries, the consuming compiliation must
     include the apr/include and apr-util/include directories in their
     include file search paths.  To target the static .lib versions of
     the library, the consuming compiliation must define the macros
     APR_DECLARE_STATIC and APU_DECLARE_STATIC.  This prevents the apr
     and apr-util symbols from being tagged as __declspec(dllimport),
     eliminating compiliation warnings and speeding up execution.</p>
  
  <p><strong>Warning about building Apache from the development tree</strong></p>
  
  <p>Only the .dsp files are maintained within CVS.  Win32 .mak files 
     are NOT maintained in CVS, due to the tremendous waste of
     reviewer's time.  Therefore, you cannot rely on the NMAKE commands 
     above to build revised .dsp project files unless you then export
     all .mak files yourself from the project.  This is unnecessary if 
     you build from within the Microsoft DeveloperStudio environment, or
     use Visual C++ 6.0 or greater.</p>
  
  <!--#include virtual="footer.html" -->
  </body>
  </body>
  
  
  

Re: cvs commit: apr-site compiling_win32.html index.html

Posted by Ian Holsman <ia...@cnet.com>.
Cliff Woolley wrote:

> On 22 Sep 2001 wrowe@apache.org wrote:
> 
> 
>>wrowe       01/09/22 16:07:13
>>
>>  Modified:    .        index.html
>>  Added:       .        compiling_win32.html
>>  Log:
>>    Something here is better than nothing, third question in a month about
>>    this in private mails.
>>
> 
> Thanks!  That's very helpful.
> 
> 
>> Unix hacks, where is yours :-?
>>
> 
> Ours isn't that hard. ;-)  Seriously, though, what would go in it?  If
> anyone can think of some FAQ's for building on Unix, I'd be happy to
> compile them...


./buildconf
./configure
make
make install

?

;-)


> 
> --Cliff
> 
> --------------------------------------------------------------
>    Cliff Woolley
>    cliffwoolley@yahoo.com
>    Charlottesville, VA
> 
> 




Re: cvs commit: apr-site compiling_win32.html index.html

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
From: "Cliff Woolley" <cl...@yahoo.com>
Sent: Saturday, September 22, 2001 7:37 PM


> >  Unix hacks, where is yours :-?
> 
> Ours isn't that hard. ;-)  Seriously, though, what would go in it?  If
> anyone can think of some FAQ's for building on Unix, I'd be happy to
> compile them...

Here's the issue (that Ryan raised last week) ... we aren't ready to be a
standalone library.  Win32 hackers trying to tie APR closely to their app
(not a preinstalled shared binary) needed some guidance yesterday, since
the static lib question is thorny.

If you want to add a placeholder, that would do nicely.

Bill



Re: cvs commit: apr-site compiling_win32.html index.html

Posted by Cliff Woolley <cl...@yahoo.com>.
On 22 Sep 2001 wrowe@apache.org wrote:

> wrowe       01/09/22 16:07:13
>
>   Modified:    .        index.html
>   Added:       .        compiling_win32.html
>   Log:
>     Something here is better than nothing, third question in a month about
>     this in private mails.

Thanks!  That's very helpful.

>  Unix hacks, where is yours :-?

Ours isn't that hard. ;-)  Seriously, though, what would go in it?  If
anyone can think of some FAQ's for building on Unix, I'd be happy to
compile them...

--Cliff

--------------------------------------------------------------
   Cliff Woolley
   cliffwoolley@yahoo.com
   Charlottesville, VA