apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher Schultz <ch...@christopherschultz.net>
Subject Re: Building apr on win32
Date Fri, 13 Jun 2014 17:16:11 GMT
Greg,

On 6/13/14, 12:57 PM, Gregg Smith wrote:
> On 6/13/2014 9:36 AM, Christopher Schultz wrote:
>> Greg,
>>
>> On 6/13/14, 12:24 PM, Gregg Smith wrote:
>>> Old instrucions for building in IDE really. If you want to build in the
>>> IDE just open apr-util.dsw and allow VC to convert.
>>>
>>> If you want to build at the command line;
>> Yeah, I'd like something that I can script. Right now, there's basically
>> one guy who knows how to build tcnative on win32. We're trying to change
>> that ;)
>>
>>> On 6/13/2014 8:49 AM, Christopher Schultz wrote:
>>>> Hello,
>>>>
>>>> I'm trying to build apr on win32 from the command-line and I'm running
>>>> into some resistance. I'm using Visual Studio 12 on Windows 8.1. I have
>>>> installed the "Windows SDK" as well to try to help, but it doesn't seem
>>>> to have improved things.
>>>>
>>>> I'm following the instructions found here:
>>>> http://apr.apache.org/compiling_win32.html
>>>>
>>>> I have downloaded the ZIP files for apr, apr-util, and apr-iconv and
>>>> put
>>>> them into the requisite directories.
>>>>
>>>> I've run VS's VC\bin\vcvars32.bat to get the build tools in the path,
>>>  From here cd to c:\work\apr-util then
>>>
>>> nmake /f makefile.win ARCH="Win32 Release" buildall checkall
>>>
>>> See the makefile.win file for all possible options.
>> Okay, that seems to get started, but I haven't told it where to find
>> OpenSSL. I'd like to make sure that the crypto routines get built, and
>> makefile.win doesn't really make it clear (to me, anyway) how to specify
>> where the OpenSSL libraries, headers, etc. exist.
>>
>> It looks like ../crypto/[cryptos] should exist and perhaps it will
>> automatically look for ../crypto/openssl/stuff. Do I have that right?
> 
> Crypto, here's what you'll have to do;
> 
> Edit apr-util\include\apu.hw and change the 0 to 1 for
> 
> #define APU_HAVE_CRYPTO         0
> 
> #ifndef APU_DSO_MODULE_BUILD
> #define APU_HAVE_OPENSSL        0

Can I specify that stuff on the command-line like with
-DAPU_HAVE_CRYPTO=1 and -DAPU_HAVE_OPENSSL=1, or are those values
clobbered during the make?

> If you look at apr-util\crypto\apr_crypto_openssl.mak
> you will notice it looks for needed headers in "../../openssl/inc32" and
> libs in "..\..\openssl\out32dll" which translates to
> c:\work\openssl\inc32 and c:\work\openssl\out32dll

Okay, I can see both of those directories under ..\openssl-1.0.1h. I'll
re-name the openssl directory accordingly.

Are these things that could be parameterized? I noticed the "no
exceptions" note on the "Building on win32" page, but it seems like
NMAKE should be able to use paths defined on the CLI, no?

> You mentioned compiling in openssl statically (in your reply to Jeff I
> believe), in windows we normally compile and use DLLs, you would have to
> modify apr_crypto_openssl.mak to build using the openssl static lib.

Yeah, we do a statically-compiled tcnative because ... honestly I don't
really know. It's not that I need a static libapr... I need a static
tcnative. So as long as I produce linkable objects from libapr, I should
be able to statically-link tcnative (which itself is a .dll).

> and to build it's
> 
> nmake /f makefile.win ARCH="Win32 Release" CRYPTO_LIST="openssl"
> buildall checkall

Awesome. I'll give all that a try.

Thanks,
-chris


Mime
View raw message