Skip to content

Commit f869daa

Browse files
authored
Merge pull request #9037 from night1rider/issue-9009-cmake-options
Updating configure/Cmake to track Apple options for resulting wolfssl.pc file that is generated
2 parents b56cafd + 4dfa75f commit f869daa

File tree

3 files changed

+23
-1
lines changed

3 files changed

+23
-1
lines changed

CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,9 @@ set(WOLFSSL_DEFINITIONS)
6666
set(WOLFSSL_LINK_LIBS)
6767
set(WOLFSSL_INCLUDE_DIRS)
6868

69+
# Initialize pkg-config private variables
70+
set(PC_LIBS_PRIVATE "")
71+
6972
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
7073
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions.cmake)
7174

@@ -2969,6 +2972,16 @@ if(WOLFSSL_INSTALL)
29692972
endif()
29702973
endif()
29712974

2975+
# Add required frameworks for static linking on Apple platforms
2976+
if(APPLE AND NOT BUILD_SHARED_LIBS)
2977+
if(WOLFSSL_SYS_CA_CERTS)
2978+
list(APPEND PC_LIBS_PRIVATE "-framework CoreFoundation" "-framework Security")
2979+
endif()
2980+
endif()
2981+
2982+
# Convert lists to space-separated strings for pkg-config
2983+
string(JOIN " " PC_LIBS_PRIVATE ${PC_LIBS_PRIVATE})
2984+
29722985
configure_file(support/wolfssl.pc.in ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc @ONLY)
29732986
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/support/wolfssl.pc
29742987
DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig)

configure.ac

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,7 @@ OPTIMIZE_HUGE_CFLAGS="-funroll-loops -DTFM_SMALL_SET -DTFM_HUGE_SET"
200200
DEBUG_CFLAGS="-g -DDEBUG -DDEBUG_WOLFSSL"
201201
LIB_ADD=
202202
LIB_STATIC_ADD=
203+
PC_LIBS_PRIVATE=""
203204

204205
OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS $EXTRA_OPTS_CFLAGS"
205206
OPTIMIZE_FAST_CFLAGS="$OPTIMIZE_FAST_CFLAGS $EXTRA_OPTS_CFLAGS"
@@ -10696,6 +10697,13 @@ case $host_os in
1069610697
MINGW_LIB_WARNING="yes"
1069710698
fi
1069810699
fi ;;
10700+
*darwin*)
10701+
# Add required frameworks for static linking on macOS
10702+
if test "$enable_shared" = "no"; then
10703+
if test "x$ENABLED_SYS_CA_CERTS" = "xyes"; then
10704+
PC_LIBS_PRIVATE="$PC_LIBS_PRIVATE -framework CoreFoundation -framework Security"
10705+
fi
10706+
fi ;;
1069910707
esac
1070010708
1070110709
if test "$enable_shared" = "no"; then
@@ -11003,6 +11011,7 @@ AC_SUBST([AM_CCASFLAGS])
1100311011
AC_SUBST([LIB_ADD])
1100411012
AC_SUBST([LIB_STATIC_ADD])
1100511013
AC_SUBST([LIBM])
11014+
AC_SUBST([PC_LIBS_PRIVATE])
1100611015
1100711016
# FINAL
1100811017
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])

support/wolfssl.pc.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@ Name: wolfssl
77
Description: wolfssl C library.
88
Version: @VERSION@
99
Libs: -L${libdir} -lwolfssl
10-
Libs.private: @LIBM@
10+
Libs.private: @LIBM@ @PC_LIBS_PRIVATE@
1111
Cflags: -I${includedir}

0 commit comments

Comments
 (0)