Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,9 @@ set(WOLFSSL_DEFINITIONS)
set(WOLFSSL_LINK_LIBS)
set(WOLFSSL_INCLUDE_DIRS)

# Initialize pkg-config private variables
set(PC_LIBS_PRIVATE "")

set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/")
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/functions.cmake)

Expand Down Expand Up @@ -2969,6 +2972,16 @@ if(WOLFSSL_INSTALL)
endif()
endif()

# Add required frameworks for static linking on Apple platforms
if(APPLE AND NOT BUILD_SHARED_LIBS)
if(WOLFSSL_SYS_CA_CERTS)
list(APPEND PC_LIBS_PRIVATE "-framework CoreFoundation" "-framework Security")
endif()
endif()

# Convert lists to space-separated strings for pkg-config
string(JOIN " " PC_LIBS_PRIVATE ${PC_LIBS_PRIVATE})

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)
Expand Down
9 changes: 9 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -202,6 +202,7 @@ OPTIMIZE_HUGE_CFLAGS="-funroll-loops -DTFM_SMALL_SET -DTFM_HUGE_SET"
DEBUG_CFLAGS="-g -DDEBUG -DDEBUG_WOLFSSL"
LIB_ADD=
LIB_STATIC_ADD=
PC_LIBS_PRIVATE=""

OPTIMIZE_CFLAGS="$OPTIMIZE_CFLAGS $EXTRA_OPTS_CFLAGS"
OPTIMIZE_FAST_CFLAGS="$OPTIMIZE_FAST_CFLAGS $EXTRA_OPTS_CFLAGS"
Expand Down Expand Up @@ -10642,6 +10643,13 @@ case $host_os in
MINGW_LIB_WARNING="yes"
fi
fi ;;
*darwin*)
# Add required frameworks for static linking on macOS
if test "$enable_shared" = "no"; then
if test "x$ENABLED_SYS_CA_CERTS" = "xyes"; then
PC_LIBS_PRIVATE="$PC_LIBS_PRIVATE -framework CoreFoundation -framework Security"
fi
fi ;;
esac

if test "$enable_shared" = "no"; then
Expand Down Expand Up @@ -10941,6 +10949,7 @@ AC_SUBST([AM_CCASFLAGS])
AC_SUBST([LIB_ADD])
AC_SUBST([LIB_STATIC_ADD])
AC_SUBST([LIBM])
AC_SUBST([PC_LIBS_PRIVATE])

# FINAL
AC_CONFIG_FILES([stamp-h], [echo timestamp > stamp-h])
Expand Down
2 changes: 1 addition & 1 deletion support/wolfssl.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ Name: wolfssl
Description: wolfssl C library.
Version: @VERSION@
Libs: -L${libdir} -lwolfssl
Libs.private: @LIBM@
Libs.private: @LIBM@ @PC_LIBS_PRIVATE@
Cflags: -I${includedir}
Loading