summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2018-01-24 13:33:14 -0800
committerGuy Harris <guy@alum.mit.edu>2018-01-24 13:33:14 -0800
commit8c6ffa51249f49f15336fda77421deeac891776d (patch)
treec7fd9487d32ae72e06131cd79e63520cc3b00b9b /CMakeLists.txt
parent1d96b4ecf1b4eba3f036170b50c68995b92512bb (diff)
downloadtcpdump-8c6ffa51249f49f15336fda77421deeac891776d.tar.gz
OK, even with -lxnet, we may need -lnsl.
You are in a twisty little maze of Solaris libraries, all different.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 13 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 688e0e29..eed9a8f7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -354,10 +354,22 @@ check_function_exists(setlinebuf HAVE_SETLINEBUF)
#
# This may require additional libraries.
+# In particular, it may required -lnsl on Solaris, even if we've chosen
+# to use -lxnet above.
#
cmake_push_check_state()
set(CMAKE_REQUIRED_LIBRARIES ${TCPDUMP_LINK_LIBRARIES})
-check_function_exists(getrpcbynumber HAVE_GETRPCBYNUMBER)
+check_function_exists(getrpcbynumber STDLIBS_HAVE_GETRPCBYNUMBER)
+if(STDLIBS_HAVE_GETRPCBYNUMBER)
+ set(HAVE_GETRPCBYNUMBER TRUE)
+else(STDLIBS_HAVE_GETRPCBYNUMBER)
+ set(CMAKE_REQUIRED_LIBRARIES ${TCPDUMP_LINK_LIBRARIES} nsl)
+ check_function_exists(getrpcbynumber LIBNSL_HAS_GETRPCBYNUMBER)
+ if(LIBNSL_HAS_GETRPCBYNUMBER)
+ set(HAVE_GETRPCBYNUMBER TRUE)
+ set(TCPDUMP_LINK_LIBRARIES ${TCPDUMP_LINK_LIBRARIES nsl)
+ endif(LIBNSL_HAS_GETRPCBYNUMBER)
+endif(STDLIBS_HAVE_GETRPCBYNUMBER)
cmake_pop_check_state()
#