You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by cm...@apache.org on 2023/10/16 20:03:00 UTC

[trafficserver] branch master updated: Add resolv find package script (#10624)

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

cmcfarlen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficserver.git


The following commit(s) were added to refs/heads/master by this push:
     new e3e379bf7b Add resolv find package script (#10624)
e3e379bf7b is described below

commit e3e379bf7bcd427596e8fd082b55ba2b195b3001
Author: Chris McFarlen <ch...@mcfarlen.us>
AuthorDate: Mon Oct 16 15:02:53 2023 -0500

    Add resolv find package script (#10624)
    
    * Add resolv find package script
---
 CMakeLists.txt                                     |  3 ++
 .../CMakeLists.txt => cmake/Findresolv.cmake       | 44 ++++++----------------
 iocore/eventsystem/CMakeLists.txt                  |  2 +-
 src/tscore/CMakeLists.txt                          |  5 +--
 4 files changed, 17 insertions(+), 37 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88bac33e31..59966792ad 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -421,6 +421,9 @@ check_struct_has_member("struct sockaddr_in6" sin6_len "netinet/in.h" HAVE_STRUC
 check_struct_has_member("struct stat" st_mtimespec "sys/stat.h" HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC)
 check_struct_has_member("struct stat" st_mtim "sys/stat.h" HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC)
 
+# find resolv library if available
+find_package(resolv)
+
 if(ENABLE_DOCS OR ENABLE_AUTEST)
     find_package(Python3 REQUIRED)
     find_program(PipEnv pipenv REQUIRED)
diff --git a/iocore/eventsystem/CMakeLists.txt b/cmake/Findresolv.cmake
similarity index 50%
copy from iocore/eventsystem/CMakeLists.txt
copy to cmake/Findresolv.cmake
index aa0c3fc0fe..eefa1a89c0 100644
--- a/iocore/eventsystem/CMakeLists.txt
+++ b/cmake/Findresolv.cmake
@@ -15,41 +15,19 @@
 #
 #######################
 
+find_library(resolv_LIBRARY resolv)
+find_path(resolv_INCLUDE_DIR resolv.h)
 
-add_library(inkevent STATIC
-        EventSystem.cc
-        IOBuffer.cc
-        Inline.cc
-        Lock.cc
-        MIOBufferWriter.cc
-        PQ-List.cc
-        Processor.cc
-        ProtectedQueue.cc
-        ProxyAllocator.cc
-        SocketManager.cc
-        Tasks.cc
-        Thread.cc
-        UnixEThread.cc
-        UnixEvent.cc
-        UnixEventProcessor.cc
-        ConfigProcessor.cc
-        RecRawStatsImpl.cc
-        RecProcess.cc)
-add_library(ts::inkevent ALIAS inkevent)
+mark_as_advanced(resolv_FOUND resolv_LIBRARY resolv_INCLUDE_DIR)
 
-target_include_directories(inkevent PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}")
-
-target_link_libraries(inkevent
-    PUBLIC
-        ts::records
-        ts::tscore
-    PRIVATE
-        libswoc
-        resolv # transitive
-        tscpputil # transitive
-        yaml-cpp::yaml-cpp # transitive
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(resolv
+    REQUIRED_VARS resolv_LIBRARY resolv_INCLUDE_DIR
 )
 
-if(TS_USE_HWLOC)
-        target_link_libraries(inkevent PRIVATE hwloc::hwloc)
+# Add the library but only add libraries if resolv is found
+add_library(resolv::resolv INTERFACE IMPORTED)
+if(resolv_FOUND)
+  target_include_directories(resolv::resolv INTERFACE ${resolv_INCLUDE_DIRS})
+  target_link_libraries(resolv::resolv INTERFACE ${resolv_LIBRARY})
 endif()
diff --git a/iocore/eventsystem/CMakeLists.txt b/iocore/eventsystem/CMakeLists.txt
index aa0c3fc0fe..c2d005bfaa 100644
--- a/iocore/eventsystem/CMakeLists.txt
+++ b/iocore/eventsystem/CMakeLists.txt
@@ -45,7 +45,7 @@ target_link_libraries(inkevent
         ts::tscore
     PRIVATE
         libswoc
-        resolv # transitive
+        resolv::resolv # transitive
         tscpputil # transitive
         yaml-cpp::yaml-cpp # transitive
 )
diff --git a/src/tscore/CMakeLists.txt b/src/tscore/CMakeLists.txt
index 6be2921cb1..af86033818 100644
--- a/src/tscore/CMakeLists.txt
+++ b/src/tscore/CMakeLists.txt
@@ -118,8 +118,7 @@ target_link_libraries(tscore
         PCRE::PCRE
         libswoc
         yaml-cpp::yaml-cpp
-    PRIVATE
-        resolv
+        resolv::resolv
 )
 
 if(TS_USE_POSIX_CAP)
@@ -174,7 +173,7 @@ if(BUILD_TESTING)
                 ts::tscore
                 ts::tsapicore
                 yaml-cpp::yaml-cpp
-                resolv
+                resolv::resolv
                 ts::tscpputil
                 OpenSSL::Crypto
                 OpenSSL::SSL