diff options
Diffstat (limited to '')
-rw-r--r-- | crypto/CMakeLists.txt | 44 |
1 files changed, 42 insertions, 2 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt index dd0e569..45765d4 100644 --- a/crypto/CMakeLists.txt +++ b/crypto/CMakeLists.txt | |||
@@ -648,46 +648,70 @@ endif() | |||
648 | 648 | ||
649 | if(CMAKE_HOST_WIN32) | 649 | if(CMAKE_HOST_WIN32) |
650 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_win.c) | 650 | set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_win.c) |
651 | set(CRYPTO_UNEXPORT ${CRYPTO_UNEXPORT} BIO_s_log) | ||
651 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl_win.c) | 652 | set(CRYPTO_SRC ${CRYPTO_SRC} ui/ui_openssl_win.c) |
652 | endif() | 653 | endif() |
653 | 654 | ||
654 | if(CMAKE_HOST_WIN32) | 655 | if(CMAKE_HOST_WIN32) |
655 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/posix_win.c) | 656 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/posix_win.c) |
657 | set(EXTRA_EXPORT ${EXTRA_EXPORT} gettimeofday) | ||
658 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_perror) | ||
659 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_fopen) | ||
660 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_fgets) | ||
661 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_open) | ||
662 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_rename) | ||
663 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_connect) | ||
664 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_close) | ||
665 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_read) | ||
666 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_write) | ||
667 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_getsockopt) | ||
668 | set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_setsockopt) | ||
669 | set(EXTRA_EXPORT ${EXTRA_EXPORT} sleep) | ||
656 | endif() | 670 | endif() |
657 | 671 | ||
658 | if(NOT HAVE_ASPRINTF) | 672 | if(NOT HAVE_ASPRINTF) |
659 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/bsd-asprintf.c) | 673 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/bsd-asprintf.c) |
674 | set(EXTRA_EXPORT ${EXTRA_EXPORT} asprintf) | ||
675 | set(EXTRA_EXPORT ${EXTRA_EXPORT} vasprintf) | ||
660 | endif() | 676 | endif() |
661 | 677 | ||
662 | if(NOT HAVE_INET_PTON) | 678 | if(NOT HAVE_INET_PTON) |
663 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/inet_pton.c) | 679 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/inet_pton.c) |
680 | set(EXTRA_EXPORT ${EXTRA_EXPORT} inet_pton) | ||
664 | endif() | 681 | endif() |
665 | 682 | ||
666 | if(NOT HAVE_REALLOCARRAY) | 683 | if(NOT HAVE_REALLOCARRAY) |
667 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/reallocarray.c) | 684 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/reallocarray.c) |
685 | set(EXTRA_EXPORT ${EXTRA_EXPORT} reallocarray) | ||
668 | endif() | 686 | endif() |
669 | 687 | ||
670 | if(NOT HAVE_STRCASECMP) | 688 | if(NOT HAVE_STRCASECMP) |
671 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strcasecmp.c) | 689 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strcasecmp.c) |
690 | set(EXTRA_EXPORT ${EXTRA_EXPORT} strcasecmp) | ||
672 | endif() | 691 | endif() |
673 | 692 | ||
674 | if(NOT HAVE_STRLCAT) | 693 | if(NOT HAVE_STRLCAT) |
675 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcat.c) | 694 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcat.c) |
695 | set(EXTRA_EXPORT ${EXTRA_EXPORT} strlcat) | ||
676 | endif() | 696 | endif() |
677 | 697 | ||
678 | if(NOT HAVE_STRLCPY) | 698 | if(NOT HAVE_STRLCPY) |
679 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcpy.c) | 699 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcpy.c) |
700 | set(EXTRA_EXPORT ${EXTRA_EXPORT} strlcpy) | ||
680 | endif() | 701 | endif() |
681 | 702 | ||
682 | if(NOT HAVE_STRNDUP) | 703 | if(NOT HAVE_STRNDUP) |
683 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strndup.c) | 704 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strndup.c) |
705 | set(EXTRA_EXPORT ${EXTRA_EXPORT} strndup) | ||
684 | if(NOT HAVE_STRNLEN) | 706 | if(NOT HAVE_STRNLEN) |
685 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strnlen.c) | 707 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/strnlen.c) |
708 | set(EXTRA_EXPORT ${EXTRA_EXPORT} strnlen) | ||
686 | endif() | 709 | endif() |
687 | endif() | 710 | endif() |
688 | 711 | ||
689 | if(NOT HAVE_TIMEGM) | 712 | if(NOT HAVE_TIMEGM) |
690 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timegm.c) | 713 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timegm.c) |
714 | set(EXTRA_EXPORT ${EXTRA_EXPORT} timegm) | ||
691 | endif() | 715 | endif() |
692 | 716 | ||
693 | if(NOT HAVE_EXPLICIT_BZERO) | 717 | if(NOT HAVE_EXPLICIT_BZERO) |
@@ -697,10 +721,13 @@ if(NOT HAVE_EXPLICIT_BZERO) | |||
697 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/explicit_bzero.c) | 721 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/explicit_bzero.c) |
698 | set_source_files_properties(compat/explicit_bzero.c PROPERTIES COMPILE_FLAGS -O0) | 722 | set_source_files_properties(compat/explicit_bzero.c PROPERTIES COMPILE_FLAGS -O0) |
699 | endif() | 723 | endif() |
724 | set(EXTRA_EXPORT ${EXTRA_EXPORT} explicit_bzero) | ||
700 | endif() | 725 | endif() |
701 | 726 | ||
702 | if(NOT HAVE_ARC4RANDOM_BUF) | 727 | if(NOT HAVE_ARC4RANDOM_BUF) |
703 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random.c) | 728 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random.c) |
729 | set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random) | ||
730 | set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random_buf) | ||
704 | 731 | ||
705 | if(NOT HAVE_GETENTROPY) | 732 | if(NOT HAVE_GETENTROPY) |
706 | if(CMAKE_HOST_WIN32) | 733 | if(CMAKE_HOST_WIN32) |
@@ -720,19 +747,23 @@ if(NOT HAVE_ARC4RANDOM_BUF) | |||
720 | elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS") | 747 | elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS") |
721 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_solaris.c) | 748 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_solaris.c) |
722 | endif() | 749 | endif() |
750 | set(EXTRA_EXPORT ${EXTRA_EXPORT} getentropy) | ||
723 | endif() | 751 | endif() |
724 | endif() | 752 | endif() |
725 | 753 | ||
726 | if(NOT HAVE_ARC4RANDOM_UNIFORM) | 754 | if(NOT HAVE_ARC4RANDOM_UNIFORM) |
727 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random_uniform.c) | 755 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random_uniform.c) |
756 | set(EXTRA_EXPORT ${EXTRA_EXPORT} arc4random_uniform) | ||
728 | endif() | 757 | endif() |
729 | 758 | ||
730 | if(NOT HAVE_TIMINGSAFE_BCMP) | 759 | if(NOT HAVE_TIMINGSAFE_BCMP) |
731 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_bcmp.c) | 760 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_bcmp.c) |
761 | set(EXTRA_EXPORT ${EXTRA_EXPORT} timingsafe_bcmp) | ||
732 | endif() | 762 | endif() |
733 | 763 | ||
734 | if(NOT HAVE_TIMINGSAFE_MEMCMP) | 764 | if(NOT HAVE_TIMINGSAFE_MEMCMP) |
735 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_memcmp.c) | 765 | set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_memcmp.c) |
766 | set(EXTRA_EXPORT ${EXTRA_EXPORT} timingsafe_memcmp) | ||
736 | endif() | 767 | endif() |
737 | 768 | ||
738 | if(NOT ENABLE_ASM) | 769 | if(NOT ENABLE_ASM) |
@@ -749,13 +780,22 @@ else() | |||
749 | add_definitions(-DOPENSSLDIR=\"${CMAKE_INSTALL_PREFIX}/etc/ssl\") | 780 | add_definitions(-DOPENSSLDIR=\"${CMAKE_INSTALL_PREFIX}/etc/ssl\") |
750 | endif() | 781 | endif() |
751 | 782 | ||
783 | file(READ ${CMAKE_CURRENT_SOURCE_DIR}/crypto.sym SYMS) | ||
784 | foreach(SYM IN LISTS CRYPTO_UNEXPORT) | ||
785 | string(REPLACE "${SYM}\n" "" SYMS ${SYMS}) | ||
786 | endforeach() | ||
787 | file(WRITE ${CMAKE_CURRENT_SOURCE_DIR}/crypto_p.sym ${SYMS}) | ||
788 | list(SORT EXTRA_EXPORT) | ||
789 | foreach(SYM IN LISTS EXTRA_EXPORT) | ||
790 | file(APPEND ${CMAKE_CURRENT_SOURCE_DIR}/crypto_p.sym "${SYM}\n") | ||
791 | endforeach() | ||
792 | |||
752 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) | 793 | add_library(crypto-objects OBJECT ${CRYPTO_SRC}) |
753 | if (BUILD_SHARED) | 794 | if (BUILD_SHARED) |
754 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) | 795 | add_library(crypto STATIC $<TARGET_OBJECTS:crypto-objects>) |
755 | add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>) | 796 | add_library(crypto-shared SHARED $<TARGET_OBJECTS:crypto-objects>) |
797 | export_symbol(crypto-shared ${CMAKE_CURRENT_SOURCE_DIR}/crypto_p.sym) | ||
756 | if (WIN32) | 798 | if (WIN32) |
757 | target_sources(crypto-shared PRIVATE | ||
758 | ${CMAKE_CURRENT_SOURCE_DIR}/crypto.def) | ||
759 | target_link_libraries(crypto-shared Ws2_32.lib) | 799 | target_link_libraries(crypto-shared Ws2_32.lib) |
760 | set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION}) | 800 | set(CRYPTO_POSTFIX -${CRYPTO_MAJOR_VERSION}) |
761 | endif() | 801 | endif() |