You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rm...@apache.org on 2022/09/29 13:42:09 UTC

[logging-log4cxx] branch master updated: prefer pkg-config over apu-1-config executable (#133)

This is an automated email from the ASF dual-hosted git repository.

rmiddleton pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git


The following commit(s) were added to refs/heads/master by this push:
     new c09289a7 prefer pkg-config over apu-1-config executable (#133)
c09289a7 is described below

commit c09289a7d083a67d609dd9186523e068b21acaea
Author: Rolf Eike Beer <ei...@sf-mail.de>
AuthorDate: Thu Sep 29 15:42:04 2022 +0200

    prefer pkg-config over apu-1-config executable (#133)
    
    * prefer pkg-config over apu-1-config executable
    
    When calling pkg-config paths that are relative to a sysroot will automatically
    get the correct prefix, so try using that first.
    
    * prefer pkg-config over apr-1-config executable
    
    When calling pkg-config paths that are relative to a sysroot will automatically
    get the correct prefix, so try using that first. One needs to patch that script
    to be able to crosscompile apr-util anyway so it often just works.
    
    * remove extra search paths that CMake checks by default anyway
---
 src/cmake/FindAPR-Util.cmake | 57 +++++++++++++++++++++++----------------
 src/cmake/FindAPR.cmake      | 64 +++++++++++++++++++++++++-------------------
 2 files changed, 71 insertions(+), 50 deletions(-)

diff --git a/src/cmake/FindAPR-Util.cmake b/src/cmake/FindAPR-Util.cmake
index 17a2457c..ccc5e945 100644
--- a/src/cmake/FindAPR-Util.cmake
+++ b/src/cmake/FindAPR-Util.cmake
@@ -27,30 +27,41 @@ macro(_apu_invoke _varname)
     endif(_apr_failed)
 endmacro(_apu_invoke)
 
-find_program(APR_UTIL_CONFIG_EXECUTABLE
-    apu-1-config
-    PATHS /usr/local/bin    /usr/local/opt/apr-util/bin    /usr/bin    $ENV{ProgramFiles}/apr-util/bin
-    )
-mark_as_advanced(APR_UTIL_CONFIG_EXECUTABLE)
-if(EXISTS ${APR_UTIL_CONFIG_EXECUTABLE})
-    _apu_invoke(APR_UTIL_INCLUDE_DIR   --includedir)
-    if (APU_STATIC OR NOT BUILD_SHARED_LIBS)
-      _apu_invoke(_apu_util_link_args  --link-ld)
-      string(REGEX MATCH "-L([^ ]+)" _apu_util_L_flag ${_apu_util_link_args})
-      find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1.a PATHS "${CMAKE_MATCH_1}")
-      set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC)
-    else()
-      _apu_invoke(APR_UTIL_LIBRARIES   --link-ld)
-    endif()
+find_package(PkgConfig)
+pkg_check_modules(APR_UTIL apr-util-1)
+
+if(APR_UTIL_FOUND)
+  find_path(APR_UTIL_INCLUDE_DIR
+            NAMES apu.h
+            HINTS ${APR_UTIL_INCLUDE_DIRS}
+            PATH_SUFFIXES apr-1)
+  set(APR_UTIL_LIBRARIES ${APR_UTIL_LINK_LIBRARIES})
 else()
-    find_path(APR_UTIL_INCLUDE_DIR apu.h PATH_SUFFIXES apr-1)
-    if (APU_STATIC OR NOT BUILD_SHARED_LIBS)
-      set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC)
-      find_library(APR_UTIL_LIBRARIES NAMES aprutil-1)
-    else()
-      find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1)
-      find_program(APR_UTIL_DLL libaprutil-1.dll)
-    endif()
+  find_program(APR_UTIL_CONFIG_EXECUTABLE
+      apu-1-config
+      PATHS /usr/local/opt/apr-util/bin    $ENV{ProgramFiles}/apr-util/bin
+      )
+  mark_as_advanced(APR_UTIL_CONFIG_EXECUTABLE)
+  if(EXISTS ${APR_UTIL_CONFIG_EXECUTABLE})
+      _apu_invoke(APR_UTIL_INCLUDE_DIR   --includedir)
+      if (APU_STATIC OR NOT BUILD_SHARED_LIBS)
+        _apu_invoke(_apu_util_link_args  --link-ld)
+        string(REGEX MATCH "-L([^ ]+)" _apu_util_L_flag ${_apu_util_link_args})
+        find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1.a PATHS "${CMAKE_MATCH_1}")
+        set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC)
+      else()
+        _apu_invoke(APR_UTIL_LIBRARIES   --link-ld)
+      endif()
+  else()
+      find_path(APR_UTIL_INCLUDE_DIR apu.h PATH_SUFFIXES apr-1)
+      if (APU_STATIC OR NOT BUILD_SHARED_LIBS)
+        set(APR_UTIL_COMPILE_DEFINITIONS APU_DECLARE_STATIC)
+        find_library(APR_UTIL_LIBRARIES NAMES aprutil-1)
+      else()
+        find_library(APR_UTIL_LIBRARIES NAMES libaprutil-1)
+        find_program(APR_UTIL_DLL libaprutil-1.dll)
+      endif()
+  endif()
 endif()
 
 find_package_handle_standard_args(APR-Util
diff --git a/src/cmake/FindAPR.cmake b/src/cmake/FindAPR.cmake
index 8118ff75..84560a70 100644
--- a/src/cmake/FindAPR.cmake
+++ b/src/cmake/FindAPR.cmake
@@ -25,37 +25,47 @@ macro(_apr_invoke _varname)
     endif(_apr_failed)
 endmacro(_apr_invoke)
 
+find_package(PkgConfig)
+pkg_check_modules(APR apr-1)
 
-find_program(APR_CONFIG_EXECUTABLE
-    apr-1-config
-    PATHS /usr/local/bin    /usr/local/opt/apr/bin    /usr/bin    $ENV{ProgramFiles}/apr/bin
-    )
-mark_as_advanced(APR_CONFIG_EXECUTABLE)
-if(EXISTS ${APR_CONFIG_EXECUTABLE})
-    _apr_invoke(APR_INCLUDE_DIR  --includedir)
-    if (APR_STATIC OR NOT BUILD_SHARED_LIBS)
-      _apr_invoke(_apr_link_args  --link-ld)
-      string(REGEX MATCH "-L([^ ]+)" _apr_L_flag ${_apr_link_args})
-      find_library(APR_LIBRARIES NAMES libapr-1.a PATHS "${CMAKE_MATCH_1}")
-      set(APR_SYSTEM_LIBS  pthread)
-      set(APR_COMPILE_DEFINITIONS APR_DECLARE_STATIC)
-    else()
-      _apr_invoke(APR_LIBRARIES  --link-ld)
-    endif()
+if(APR_FOUND)
+  find_path(APR_INCLUDE_DIR
+            NAMES apr.h
+            HINTS ${APR_INCLUDE_DIRS}
+            PATH_SUFFIXES apr-1)
+  set(APR_LIBRARIES ${APR_LINK_LIBRARIES})
 else()
-    find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1)
-    if (APR_STATIC OR NOT BUILD_SHARED_LIBS)
-      if(WIN32)
-        set(APR_SYSTEM_LIBS  ws2_32  mswsock  rpcrt4)
-      else()
+  find_program(APR_CONFIG_EXECUTABLE
+      apr-1-config
+      PATHS /usr/local/opt/apr/bin    $ENV{ProgramFiles}/apr/bin
+      )
+  mark_as_advanced(APR_CONFIG_EXECUTABLE)
+  if(EXISTS ${APR_CONFIG_EXECUTABLE})
+      _apr_invoke(APR_INCLUDE_DIR  --includedir)
+      if (APR_STATIC OR NOT BUILD_SHARED_LIBS)
+        _apr_invoke(_apr_link_args  --link-ld)
+        string(REGEX MATCH "-L([^ ]+)" _apr_L_flag ${_apr_link_args})
+        find_library(APR_LIBRARIES NAMES libapr-1.a PATHS "${CMAKE_MATCH_1}")
         set(APR_SYSTEM_LIBS  pthread)
+        set(APR_COMPILE_DEFINITIONS APR_DECLARE_STATIC)
+      else()
+        _apr_invoke(APR_LIBRARIES  --link-ld)
+      endif()
+  else()
+      find_path(APR_INCLUDE_DIR apr.h PATH_SUFFIXES apr-1)
+      if (APR_STATIC OR NOT BUILD_SHARED_LIBS)
+        if(WIN32)
+          set(APR_SYSTEM_LIBS  ws2_32  mswsock  rpcrt4)
+        else()
+          set(APR_SYSTEM_LIBS  pthread)
+        endif()
+        set(APR_COMPILE_DEFINITIONS APR_DECLARE_STATIC)
+        find_library(APR_LIBRARIES NAMES apr-1)
+      else()
+        find_library(APR_LIBRARIES NAMES libapr-1)
+        find_program(APR_DLL libapr-1.dll)
       endif()
-      set(APR_COMPILE_DEFINITIONS APR_DECLARE_STATIC)
-      find_library(APR_LIBRARIES NAMES apr-1)
-    else()
-      find_library(APR_LIBRARIES NAMES libapr-1)
-      find_program(APR_DLL libapr-1.dll)
-    endif()
+  endif()
 endif()
 
 find_package_handle_standard_args(APR