Commit 6ebb930b authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

log4cxx: new package

Initial work done by Aleksandar Zivkovic at
http://patchwork.ozlabs.org/patch/171109/

.

Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent a00fc227
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -568,6 +568,7 @@ source "package/libtpl/Config.in"
source "package/libseccomp/Config.in"
source "package/liburcu/Config.in"
source "package/linux-pam/Config.in"
source "package/log4cxx/Config.in"
source "package/lttng-libust/Config.in"
source "package/mpc/Config.in"
source "package/mpfr/Config.in"
+15 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_LOG4CXX
	bool "log4cxx"
	select BR2_PACKAGE_APR
	select BR2_PACKAGE_APR_UTIL
	# apr really needs shared library support
	depends on !BR2_PREFER_STATIC_LIB
	depends on BR2_INSTALL_LIBSTDCPP
	help
	  Apache log4cxx is a logging framework for C++ patterned
	  after Apache log4j.

	  http://apache.linux-mirror.org/logging/log4cxx/0.10.0

comment "log4cxx requires C++ support in toolchain"
	depends on !BR2_INSTALL_LIBSTDCPP
+43 −0
Original line number Diff line number Diff line
Fix build when iconv support is not available

When iconv support is not available, the apr-util library does not
provide character set conversion features, and therefore APR_HAS_XLATE
is false.

However, on Linux !defined(_WIN32) is always true, but the part of the
code that defines the APRCharsetDecoder and APRCharsetEncoder are only
enclosed in a #if APR_HAS_XLATE, without the "|| defined(_WIN32)"
which leads to build failures: the APRCharsetEncoder and
APRCharsetDecoder classes are used without being defined.

This patch removes the || !defined(_WIN32) so that when iconv support
is not here, we fall back to raising an exception at runtime.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/src/main/cpp/charsetdecoder.cpp
===================================================================
--- a/src/main/cpp/charsetdecoder.cpp
+++ b/src/main/cpp/charsetdecoder.cpp
@@ -476,7 +476,7 @@
         StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("ISO-LATIN-1"), LOG4CXX_STR("iso-latin-1"))) {
         return new ISOLatinCharsetDecoder();
     }
-#if APR_HAS_XLATE || !defined(_WIN32)
+#if APR_HAS_XLATE
     return new APRCharsetDecoder(charset);
 #else    
     throw IllegalArgumentException(charset);
Index: b/src/main/cpp/charsetencoder.cpp
===================================================================
--- a/src/main/cpp/charsetencoder.cpp
+++ b/src/main/cpp/charsetencoder.cpp
@@ -484,7 +484,7 @@
     } else if (StringHelper::equalsIgnoreCase(charset, LOG4CXX_STR("UTF-16LE"), LOG4CXX_STR("utf-16le"))) {
         return new UTF16LECharsetEncoder();
     }
-#if APR_HAS_XLATE || !defined(_WIN32)
+#if APR_HAS_XLATE
     return new APRCharsetEncoder(charset);
 #else    
     throw IllegalArgumentException(charset);
+44 −0
Original line number Diff line number Diff line
commit bcaf1f8a682d641cee325142099c371464fd5946
Author: Curtis William Arnold <carnold@apache.org>
Date:   Tue May 20 16:05:37 2008 +0000

    LOGCXX-286: gcc 4.3 requires #include <cstring>
    
    git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@658304 13f79535-47bb-0310-9956-ffa450edef68

diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp
index 6a01d8a..a673a10 100755
--- a/src/examples/cpp/console.cpp
+++ b/src/examples/cpp/console.cpp
@@ -22,6 +22,7 @@
 #include <log4cxx/logmanager.h>
 #include <iostream>
 #include <locale.h>
+#include <cstring>
 
 using namespace log4cxx;
 using namespace log4cxx::helpers;
diff --git a/src/main/cpp/inputstreamreader.cpp b/src/main/cpp/inputstreamreader.cpp
index 52b1c0a..cb45181 100644
--- a/src/main/cpp/inputstreamreader.cpp
+++ b/src/main/cpp/inputstreamreader.cpp
@@ -20,6 +20,7 @@
 #include <log4cxx/helpers/exception.h>
 #include <log4cxx/helpers/pool.h>
 #include <log4cxx/helpers/bytebuffer.h>
+#include <cstring>
 
 using namespace log4cxx;
 using namespace log4cxx::helpers;
diff --git a/src/main/cpp/socketoutputstream.cpp b/src/main/cpp/socketoutputstream.cpp
index 185f835..c61eb11 100644
--- a/src/main/cpp/socketoutputstream.cpp
+++ b/src/main/cpp/socketoutputstream.cpp
@@ -19,6 +19,7 @@
 #include <log4cxx/helpers/socketoutputstream.h>
 #include <log4cxx/helpers/socket.h>
 #include <log4cxx/helpers/bytebuffer.h>
+#include <cstring>
 
 using namespace log4cxx;
 using namespace log4cxx::helpers;
+21 −0
Original line number Diff line number Diff line
commit ce62c00ea5f9bf2f0740ecde5b245c9b7edc80ff
Author: Curtis William Arnold <carnold@apache.org>
Date:   Mon Apr 27 03:53:50 2009 +0000

    LOGCXX-332: fails to build with gcc 4.4
    
    git-svn-id: https://svn.apache.org/repos/asf/logging/log4cxx/trunk@768863 13f79535-47bb-0310-9956-ffa450edef68

diff --git a/src/examples/cpp/console.cpp b/src/examples/cpp/console.cpp
index a673a10..f44c944 100755
--- a/src/examples/cpp/console.cpp
+++ b/src/examples/cpp/console.cpp
@@ -23,6 +23,8 @@
 #include <iostream>
 #include <locale.h>
 #include <cstring>
+#include <cstdio>
+#include <stdint.h>
 
 using namespace log4cxx;
 using namespace log4cxx::helpers;
Loading