--- libmysql/CMakeLists.txt.orig	2024-07-12 15:20:22.000000000 -0400
+++ libmysql/CMakeLists.txt	2024-12-28 12:36:11.765844000 -0500
@@ -214,6 +214,11 @@
     ../sql-common/mysql_native_authentication_client.cc)
 ENDIF()
 
+INCLUDE(${MYSQL_CMAKE_SCRIPT_DIR}/compile_flags.cmake)
+IF (CMAKE_SYSTEM_NAME STREQUAL "MidnightBSD")
+  ADD_COMPILE_FLAGS(${CLIENT_SOURCES} COMPILE_FLAGS "-fPIC")
+ENDIF()
+
 #
 # Include protocol tracing infrastructure and the test
 # trace plugin if enabled by build options.
@@ -268,7 +273,7 @@
   SET(HAVE_WIN32_DNS_SRV 1 PARENT_SCOPE)
   SET(HAVE_DNS_SRV 1)
   MESSAGE(STATUS "Found Win32 DNS SRV APIs")
-ELSEIF(FREEBSD)
+ELSEIF(FREEBSD OR MIDNIGHTBSD)
   SET(HAVE_DNS_SRV 1)
   SET(HAVE_UNIX_DNS_SRV 1 PARENT_SCOPE)
   MESSAGE(STATUS "BSD built in DNS SRV APIs")
@@ -308,10 +313,18 @@
 ADD_SUBDIRECTORY(fido_client)
 
 # Merge several convenience libraries into one big mysqlclient
+IF(WITHOUT_CLIENTLIBS)
 MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE}
   COMPONENT Development
   LINK_LIBRARIES ${LIBS_TO_LINK}
+  SKIP_INSTALL
   )
+ELSE()
+MERGE_CONVENIENCE_LIBRARIES(mysqlclient ${LIBS_TO_MERGE}
+  COMPONENT Development
+  LINK_LIBRARIES ${LIBS_TO_LINK}
+  )
+ENDIF()
 
 # Visual Studio users need debug  static library for debug projects
 IF(MSVC)
@@ -358,6 +371,7 @@
 
 # Merge several convenience libraries into one big mysqlclient
 # and link them together into shared library.
+IF(WITHOUT_CLIENTLIBS)
 MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
   EXPORTS
   ${CLIENT_API_FUNCTIONS}
@@ -365,11 +379,21 @@
   ${CLIENT_API_NONBLOCKING_FUNCTIONS}
   COMPONENT SharedLibraries
   LINK_LIBRARIES ${LIBS_TO_LINK}
+  SKIP_INSTALL
+  )
+ELSE()
+MERGE_LIBRARIES_SHARED(libmysql ${LIBS_TO_MERGE}
+  EXPORTS
+  ${CLIENT_API_FUNCTIONS}
+  ${CLIENT_API_FUNCTIONS_UNDOCUMENTED}
+  ${CLIENT_API_NONBLOCKING_FUNCTIONS}
+  COMPONENT SharedLibraries
+  LINK_LIBRARIES ${LIBS_TO_LINK}
   ${UNIX_OUTPUT_NAME}
   ${UNIX_SOVERSION}
   ${UNIX_VERSION}
   )
-
+ENDIF()
 # Downgrade warning for strncat in my_crypt_genhash.
 IF((WITH_LTO OR CMAKE_COMPILER_FLAG_WITH_LTO) AND MY_COMPILER_IS_GNU)
   MY_TARGET_LINK_OPTIONS(libmysql "-Wno-error=stringop-truncation")
