Return-Path: X-Original-To: apmail-apr-commits-archive@www.apache.org Delivered-To: apmail-apr-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 6931110707 for ; Tue, 27 Aug 2013 23:16:39 +0000 (UTC) Received: (qmail 66013 invoked by uid 500); 27 Aug 2013 23:16:39 -0000 Delivered-To: apmail-apr-commits-archive@apr.apache.org Received: (qmail 65976 invoked by uid 500); 27 Aug 2013 23:16:39 -0000 Mailing-List: contact commits-help@apr.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: Reply-To: dev@apr.apache.org List-Id: Delivered-To: mailing list commits@apr.apache.org Received: (qmail 65964 invoked by uid 99); 27 Aug 2013 23:16:39 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Aug 2013 23:16:39 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Aug 2013 23:16:38 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 0E12023888D7; Tue, 27 Aug 2013 23:16:18 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1518029 - in /apr/apr/trunk: CMakeLists.txt include/apr.hwc Date: Tue, 27 Aug 2013 23:16:17 -0000 To: commits@apr.apache.org From: trawick@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20130827231618.0E12023888D7@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: trawick Date: Tue Aug 27 23:16:17 2013 New Revision: 1518029 URL: http://svn.apache.org/r1518029 Log: Add support for APU_HAVE_CRYPTO+APU_HAVE_OPENSSL. (Fully-qualifying the include file paths was implemented as part of specifying the include directories for apr_crypto_openssl-2; relative include paths don't work with SET_TARGET_PROPERTIES( ... INCLUDE_DIRECTORIES ... ) ) Update notes on what needs to be done: . OpenSSL flavor of APU_HAVE_CRYPTO is done as of this commit . COMMONCRYPTO is OS X/iOS, so that isn't applicable to Windows . APU_DSO_MODULE_BUILD is the style we have; static module builds is what is missing Modified: apr/apr/trunk/CMakeLists.txt apr/apr/trunk/include/apr.hwc Modified: apr/apr/trunk/CMakeLists.txt URL: http://svn.apache.org/viewvc/apr/apr/trunk/CMakeLists.txt?rev=1518029&r1=1518028&r2=1518029&view=diff ============================================================================== --- apr/apr/trunk/CMakeLists.txt (original) +++ apr/apr/trunk/CMakeLists.txt Tue Aug 27 23:16:17 2013 @@ -49,7 +49,6 @@ PROJECT(APR C) # . Build apr_app.c into libapr-2 properly (what about apr-2.lib?) # . Options for remaining features, along with finding any necessary libraries # + APR_POOL_DEBUG -# + APU_DSO_MODULE_BUILD # + DBM: # . APU_HAVE_GDBM # . APU_HAVE_NDBM @@ -61,12 +60,10 @@ PROJECT(APR C) # . APU_HAVE_SQLITE2 # . APU_HAVE_ORACLE # + CRYPTO: -# . APU_HAVE_CRYPTO -# . APU_HAVE_OPENSSL # . APU_HAVE_NSS -# . APU_HAVE_COMMONCRYPTO # + APU_HAVE_ICONV # + APU_USE_LIBXML2 (sketched in, but not working) +# . Static builds of APR modules # . Alternate build of test programs to use libapr-2.dll # . Support static *or* shared build of Expat # . Some easier way to run the test suite (the stuff besides testall.exe) @@ -77,9 +74,10 @@ PROJECT(APR C) CMAKE_MINIMUM_REQUIRED(VERSION 2.8) -# Either Expat or LibXml2 is required +# Either Expat or LibXml2 is required; the others are optional FIND_PACKAGE(Expat) FIND_PACKAGE(LibXml2) +FIND_PACKAGE(OpenSSL) IF(NOT EXPAT_FOUND AND NOT LIBXML2_FOUND) MESSAGE(FATAL_ERROR "Either Expat or LibXml2 is required, but neither was found") @@ -95,6 +93,7 @@ ELSE() ENDIF() OPTION(APR_INSTALL_PRIVATE_H "Install selected private .h files (for httpd)" OFF) +OPTION(APU_HAVE_CRYPTO "Crypto support" OFF) OPTION(APU_HAVE_ODBC "Build ODBC DBD driver" ON) OPTION(APR_HAVE_IPV6 "IPv6 support" ON) OPTION(APR_SHOW_SETTINGS "Show the build configuration" ON) @@ -107,9 +106,16 @@ IF(APU_USE_EXPAT AND APU_USE_LIBXML2) MESSAGE(FATAL_ERROR "Only one of Expat and LibXml2 can be selected") ENDIF() +IF(APU_HAVE_CRYPTO) +IF(NOT OPENSSL_FOUND) + MESSAGE(FATAL_ERROR "OpenSSL is the only supported crypto implementation, and it wasn't found!") +ENDIF() +ENDIF() + # create 1-or-0 representation of feature tests for apr.h SET(apr_have_ipv6_10 0) +SET(apu_have_crypto_10 0) SET(apu_use_libxml2_10 0) SET(apu_use_expat_10 0) @@ -117,6 +123,10 @@ IF(APR_HAVE_IPV6) SET(apr_have_ipv6_10 1) ENDIF() +IF(APU_HAVE_CRYPTO) + SET(apu_have_crypto_10 1) +ENDIF() + IF(APU_USE_EXPAT) SET(apu_use_expat_10 1) ELSE() @@ -160,10 +170,10 @@ ENDIF() SET(APR_INCLUDE_DIRECTORIES ${PROJECT_BINARY_DIR} - include - include/arch/win32 - include/arch/unix - include/private + ${CMAKE_CURRENT_SOURCE_DIR}/include + ${CMAKE_CURRENT_SOURCE_DIR}/include/arch/win32 + ${CMAKE_CURRENT_SOURCE_DIR}/include/arch/unix + ${CMAKE_CURRENT_SOURCE_DIR}/include/private ) SET(APR_SYSTEM_LIBS @@ -452,6 +462,16 @@ TARGET_LINK_LIBRARIES(apr-2 ${XMLLIB_LIB SET_TARGET_PROPERTIES(apr-2 PROPERTIES COMPILE_DEFINITIONS "APR_DECLARE_STATIC;APR_HAVE_MODULAR_DSO") ADD_DEPENDENCIES(apr-2 test_char_header) +IF(APU_HAVE_CRYPTO) + IF(NOT OPENSSL_FOUND) + MESSAGE(FATAL_ERROR "Only OpenSSL-based crypto is currently implemented in the cmake build") + ENDIF() + ADD_LIBRARY(apr_crypto_openssl-2 SHARED crypto/apr_crypto_openssl.c) + SET(install_targets ${install_targets} apr_crypto_openssl-2) + SET_TARGET_PROPERTIES(apr_crypto_openssl-2 PROPERTIES INCLUDE_DIRECTORIES "${APR_INCLUDE_DIRECTORIES};${OPENSSL_INCLUDE_DIR}") + TARGET_LINK_LIBRARIES(apr_crypto_openssl-2 libapr-2 ${APR_SYSTEM_LIBS} ${OPENSSL_LIBRARIES}) +ENDIF() + IF(APU_HAVE_ODBC) ADD_LIBRARY(apr_dbd_odbc-2 SHARED dbd/apr_dbd_odbc.c) SET(install_targets ${install_targets} apr_dbd_odbc-2) Modified: apr/apr/trunk/include/apr.hwc URL: http://svn.apache.org/viewvc/apr/apr/trunk/include/apr.hwc?rev=1518029&r1=1518028&r2=1518029&view=diff ============================================================================== --- apr/apr/trunk/include/apr.hwc (original) +++ apr/apr/trunk/include/apr.hwc Tue Aug 27 23:16:17 2013 @@ -666,7 +666,7 @@ typedef int apr_wait_t; #define APU_HAVE_ODBC 0 #endif -#define APU_HAVE_CRYPTO 0 +#define APU_HAVE_CRYPTO @apu_have_crypto_10@ #ifndef APU_DSO_MODULE_BUILD #define APU_HAVE_OPENSSL 0