aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Taves <mwtoews@gmail.com>2021-08-28 22:06:41 +1200
committerGitHub <noreply@github.com>2021-08-28 22:06:41 +1200
commita2713d85eab58eff28da416942e0b0c73edd4fcb (patch)
treec27a21b9915e482b094ced6107098fa94487c1da
parent3bb6c1bf02c454686edf557a520ae6c70d6ae5d9 (diff)
downloadPROJ-a2713d85eab58eff28da416942e0b0c73edd4fcb.tar.gz
PROJ-a2713d85eab58eff28da416942e0b0c73edd4fcb.zip
proj.pc.in: add -lm -ldl in Libs.private (#2825)
-rw-r--r--cmake/ProjConfig.cmake1
-rw-r--r--cmake/ProjUtilities.cmake10
-rw-r--r--configure.ac16
-rw-r--r--proj.pc.in2
4 files changed, 26 insertions, 3 deletions
diff --git a/cmake/ProjConfig.cmake b/cmake/ProjConfig.cmake
index d43a2767..a53c3af1 100644
--- a/cmake/ProjConfig.cmake
+++ b/cmake/ProjConfig.cmake
@@ -15,6 +15,7 @@ check_function_exists(localeconv HAVE_LOCALECONV)
check_function_exists(strerror HAVE_STRERROR)
if(NOT WIN32)
check_library_exists(dl dladdr "" HAVE_LIBDL)
+ check_library_exists(m exp "" HAVE_LIBM)
endif()
set(PACKAGE "proj")
diff --git a/cmake/ProjUtilities.cmake b/cmake/ProjUtilities.cmake
index f8688cd6..55d53cbb 100644
--- a/cmake/ProjUtilities.cmake
+++ b/cmake/ProjUtilities.cmake
@@ -83,6 +83,16 @@ function(configure_proj_pc)
if(CURL_ENABLED)
set(CURL_LIBS -lcurl)
endif()
+ set(EXTRA_LIBS "-lstdc++")
+ if(HAVE_LIBM)
+ list(APPEND EXTRA_LIBS "-lm")
+ endif()
+ if(HAVE_LIBDL)
+ list(APPEND EXTRA_LIBS "-ldl")
+ endif()
+ # Join list with a space
+ string(REPLACE ";" " " _tmp_str "${EXTRA_LIBS}")
+ set(EXTRA_LIBS "${_tmp_str}")
configure_file(
${CMAKE_CURRENT_SOURCE_DIR}/proj.pc.in
diff --git a/configure.ac b/configure.ac
index 1cb1cb39..d3b1aa2d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -181,7 +181,7 @@ esac
dnl Checks for libraries.
save_CFLAGS="$CFLAGS"
CFLAGS=`echo "$CFLAGS" | sed "s/-Werror/ /"`
-AC_CHECK_LIB(m,exp,,,)
+AC_CHECK_LIB(m,exp,,HAVE_LIBM=no,)
CFLAGS="$save_CFLAGS"
dnl We check for headers
@@ -198,7 +198,7 @@ AC_SEARCH_LIBS([sqrt], [m])
AC_CHECK_FUNC(localeconv, [AC_DEFINE(HAVE_LOCALECONV,1,[Define to 1 if you have localeconv])])
AC_CHECK_FUNCS([strerror])
-AC_CHECK_LIB(dl,dladdr,,,)
+AC_CHECK_LIB(dl,dladdr,,HAVE_LIBDL=no,)
dnl ---------------------------------------------------------------------------
dnl Provide a mechanism to disable real mutex support (if lacking win32 or
@@ -321,6 +321,18 @@ AC_SUBST(CURL_LIBS,$CURL_LIBS)
AC_SUBST(CURL_ENABLED_FLAGS,$CURL_ENABLED_FLAGS)
AM_CONDITIONAL(HAVE_CURL, [test "x$FOUND_CURL" = "xyes"])
+dnl ---------------------------------------------------------------------------
+dnl Check for extra libraries, required for static linking with pkg-config
+dnl ---------------------------------------------------------------------------
+
+EXTRA_LIBS="-lstdc++"
+if test "$HAVE_LIBM" != "no" ; then
+ EXTRA_LIBS="$EXTRA_LIBS -lm"
+fi
+if test "$HAVE_LIBDL" != "no" ; then
+ EXTRA_LIBS="$EXTRA_LIBS -ldl"
+fi
+AC_SUBST(EXTRA_LIBS,$EXTRA_LIBS)
dnl ---------------------------------------------------------------------------
dnl proj-lib-env-var-tried-last
diff --git a/proj.pc.in b/proj.pc.in
index 846310d1..d63a3d9d 100644
--- a/proj.pc.in
+++ b/proj.pc.in
@@ -10,5 +10,5 @@ Description: Coordinate transformation software library
Requires:
Version: @VERSION@
Libs: -L${libdir} -lproj
-Libs.private: @SQLITE3_LIBS@ @TIFF_LIBS@ @CURL_LIBS@ -lstdc++
+Libs.private: @SQLITE3_LIBS@ @TIFF_LIBS@ @CURL_LIBS@ @EXTRA_LIBS@
Cflags: -I${includedir}