Browse Source

configure or cmake sets LIBM variable if required, and write it in wolfssl.pc.

suzuki toshiya 2 months ago
parent
commit
e4b1e54235
3 changed files with 12 additions and 1 deletions
  1. 10 0
      CMakeLists.txt
  2. 1 0
      configure.ac
  3. 1 1
      support/wolfssl.pc.in

+ 10 - 0
CMakeLists.txt

@@ -2576,6 +2576,16 @@ if(WOLFSSL_INSTALL)
     set(includedir "\${prefix}/include")
     set(VERSION ${PROJECT_VERSION})
 
+    # Setting libm in Libs.private of wolfssl.pc.
+    # See "Link Libraries" in above about `m` insertion to LINK_LIBRARIES
+    get_target_property(_wolfssl_dep_libs wolfssl LINK_LIBRARIES)
+    list(FIND _wolfssl_dep_libs m _dep_libm)
+    if ("${_dep_libm}" GREATER -1)
+      set(LIBM -lm)
+    else()
+      set(LIBM)
+    endif()
+
     configure_file(support/wolfssl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc @ONLY)
     install(FILES ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc
     DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

+ 1 - 0
configure.ac

@@ -9172,6 +9172,7 @@ AC_SUBST([AM_LDFLAGS])
 AC_SUBST([AM_CCASFLAGS])
 AC_SUBST([LIB_ADD])
 AC_SUBST([LIB_STATIC_ADD])
+AC_SUBST([LIBM])
 
 # FINAL
 AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])

+ 1 - 1
support/wolfssl.pc.in

@@ -7,5 +7,5 @@ Name: wolfssl
 Description: wolfssl C library.
 Version: @VERSION@
 Libs: -L${libdir} -lwolfssl
-Libs.private: -lm
+Libs.private: @LIBM@
 Cflags: -I${includedir}