Sent from my BlackBerry 10 smartphone on the Bell network.
From: Robert Middleton
Sent: Saturday, July 23, 2016 4:16 PM
To: Log4CXX Dev
Reply To: Log4CXX Dev
Subject: Re: Build log4cxx on Windows

I took a bit of time to create a Visual Studio project to use the log4cxx dll that I had created using CMake, and I was able to compile and link cleanly.  My only test was to create a project which came up and logged a single statement, so it's not extensively tested(the logging did work properly).  I can do more testing if it's necessary. 

Given my quick test, it seems like using CMake for Windows is a valid solution for building log4cxx, especially since the only dependencies for log4cxx also use CMake.  Thoughts?

-Robert Middleton

On Sun, Jul 17, 2016 at 2:36 PM, Robert Middleton <osfan6...@gmail.com> wrote:
I did try to add the APR folder for 'encoding' to the apr-build.xml, however it was not able to build it because apr_escape.c requires a (generated) header file that the log4cxx build process does not account for.

Ultimately, it doesn't seem like a good idea to essentially duplicate the APR build process in order for log4cxx to be built.  The ant build script must be kept up to date with whatever APR is doing, and there's already a build procedure for APR.

I have built log4cxx on Windows before, but that was a while ago(it was also not through Maven, which is what I tried this time).

I spent a bit of time making up a CMakeLists.txt for log4cxx.  It's based off of the CMake for APR.  It doesn't do everything that the APR one does, but it does compile and link cleanly(I have not yet created a project to use the dll): https://gist.github.com/rm5248/4c8ad8ca01bd3b5761a7ff942113e638

APR uses CMake for Windows and autotools for Unix-like systems, so adding in a CMake build for Windows would be consistent with what APR does.

-Robert Middleton

On Sun, Jul 17, 2016 at 4:57 AM, Thorsten Schöning <tschoen...@am-soft.de> wrote:
Guten Tag Robert Middleton,
am Samstag, 16. Juli 2016 um 21:47 schrieben Sie:

> The functions that are missing are apr_generate_random_bytes and apr_ escape_hex.

apr-build.xml:

>                <!-- Suppressing misc/win32/rand.c since it needs to include rpc.h -->
>                <fileset        dir="${src.dir}"
>                                        includes="**/${arch}/*.c"
>                                        excludes="**/apr_app.c misc/win32/rand.c"
>                />

This was introduced in the following ticket:

https://issues.apache.org/jira/browse/LOGCXX-74

I wonder how this could have ever worked in other environments, if it
doesn't for you. And I'm pretty sure that it did for me in the past
and some others were reporting it working on the list as well. Maybe
some changes in the versions of Visual Studio used? I last tried with
some version from 2013 or so.

As for apr_escape_hex, it looks to me that nothing of the folder
"encoding" is compiled currently as well. Maybe just adding a fileset
like for "tables" and "strings" with the needed files makes it work.

Mit freundlichen Grüßen,

Thorsten Schöning

--
Thorsten Schöning       E-Mail: thorsten.schoen...@am-soft.de
AM-SoFT IT-Systeme      http://www.AM-SoFT.de/

Telefon...........05151-  9468- 55
Fax...............05151-  9468- 88
Mobil..............0178-8 9468- 04

AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow




Reply via email to