From 62f2a73061eda53f5d60cfa7fab7dfb6bd7803ad Mon Sep 17 00:00:00 2001 From: kinichiro Date: Tue, 6 Sep 2016 23:25:28 +0900 Subject: export DLLs functions for MSVC with CMake - Add 3 DEF files to export functions from Windows DLLs - Add gettimeofday to crypto/crypto.def (*1) - Remove gai_strerrorA from tls/tls.def (*1) - Fix CMakeLists.txt to use DEF files as PRIVATE - Change DLL import library file name since it duplicates with static library - Ignore compiler warning C4267, and Edit CMAKE_C_FLAGS not to overwrite it (*1) - Add USE_SHARED option to build openssl.exe with shared libraries (*1) (*1) recommended by @mcnameej --- tls/CMakeLists.txt | 5 +++- tls/Makefile.am | 1 + tls/tls.def | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 tls/tls.def (limited to 'tls') diff --git a/tls/CMakeLists.txt b/tls/CMakeLists.txt index 2377685..e522fe2 100644 --- a/tls/CMakeLists.txt +++ b/tls/CMakeLists.txt @@ -33,11 +33,14 @@ if (BUILD_SHARED) add_library(tls STATIC $) add_library(tls-shared SHARED $) if (WIN32) + target_sources(tls-shared PRIVATE + ${CMAKE_CURRENT_SOURCE_DIR}/tls.def) target_link_libraries(tls-shared ssl-shared crypto-shared Ws2_32.lib) set(TLS_POSTFIX -${TLS_MAJOR_VERSION}) endif() set_target_properties(tls-shared PROPERTIES - OUTPUT_NAME tls${TLS_POSTFIX} ARCHIVE_OUTPUT_NAME tls) + OUTPUT_NAME tls${TLS_POSTFIX} + ARCHIVE_OUTPUT_NAME tls${TLS_POSTFIX}) set_target_properties(tls-shared PROPERTIES VERSION ${TLS_VERSION} SOVERSION ${TLS_MAJOR_VERSION}) install(TARGETS tls tls-shared DESTINATION lib) diff --git a/tls/Makefile.am b/tls/Makefile.am index 8350e4d..51f31db 100644 --- a/tls/Makefile.am +++ b/tls/Makefile.am @@ -4,6 +4,7 @@ lib_LTLIBRARIES = libtls.la EXTRA_DIST = VERSION EXTRA_DIST += CMakeLists.txt +EXTRA_DIST += tls.def libtls_la_LDFLAGS = -version-info @LIBTLS_VERSION@ -no-undefined libtls_la_LIBADD = $(abs_top_builddir)/ssl/libssl.la diff --git a/tls/tls.def b/tls/tls.def new file mode 100644 index 0000000..f8f91e5 --- /dev/null +++ b/tls/tls.def @@ -0,0 +1,86 @@ +EXPORTS +strsep +tls_accept_cbs +tls_accept_fds +tls_accept_socket +tls_check_name +tls_client +tls_close +tls_config_add_keypair_file +tls_config_add_keypair_mem +tls_config_clear_keys +tls_config_error +tls_config_free +tls_config_insecure_noverifycert +tls_config_insecure_noverifyname +tls_config_insecure_noverifytime +tls_config_load_file +tls_config_new +tls_config_parse_protocols +tls_config_prefer_ciphers_client +tls_config_prefer_ciphers_server +tls_config_set_alpn +tls_config_set_ca_file +tls_config_set_ca_mem +tls_config_set_ca_path +tls_config_set_cert_file +tls_config_set_cert_mem +tls_config_set_ciphers +tls_config_set_dheparams +tls_config_set_ecdhecurve +tls_config_set_error +tls_config_set_errorx +tls_config_set_key_file +tls_config_set_key_mem +tls_config_set_keypair_file +tls_config_set_keypair_mem +tls_config_set_protocols +tls_config_set_verify_depth +tls_config_verify +tls_config_verify_client +tls_config_verify_client_optional +tls_configure +tls_configure_server +tls_configure_ssl +tls_configure_ssl_keypair +tls_configure_ssl_verify +tls_conn_alpn_selected +tls_conn_cipher +tls_conn_servername +tls_conn_version +tls_connect +tls_connect_cbs +tls_connect_fds +tls_connect_servername +tls_connect_socket +tls_conninfo_free +tls_conninfo_populate +tls_error +tls_error_set +tls_error_setx +tls_free +tls_handshake +tls_handshake_client +tls_handshake_server +tls_host_port +tls_init +tls_load_file +tls_new +tls_peer_cert_contains_name +tls_peer_cert_hash +tls_peer_cert_issuer +tls_peer_cert_notafter +tls_peer_cert_notbefore +tls_peer_cert_provided +tls_peer_cert_subject +tls_read +tls_reset +tls_server +tls_server_conn +tls_set_cbs +tls_set_error +tls_set_errorx +tls_sni_ctx_free +tls_sni_ctx_new +tls_ssl_error +tls_write -- cgit v1.2.3-55-g6feb