aboutsummaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorViktor Szakats <commit@vsz.me>2023-12-14 03:36:09 +0000
committerViktor Szakats <commit@vsz.me>2023-12-14 03:36:09 +0000
commit848950877fb2d66d76cb1258fc28a2b1b453a42d (patch)
tree3008889d0dbb1ce97d753a1c0929a2e4cd0ceccc /crypto
parent05902e63c9b80d25f4367fb0f8f441669510eb2e (diff)
downloadportable-848950877fb2d66d76cb1258fc28a2b1b453a42d.tar.gz
portable-848950877fb2d66d76cb1258fc28a2b1b453a42d.tar.bz2
portable-848950877fb2d66d76cb1258fc28a2b1b453a42d.zip
cmake: stop exporting compat functions
Diffstat (limited to 'crypto')
-rw-r--r--crypto/CMakeLists.txt111
1 files changed, 38 insertions, 73 deletions
diff --git a/crypto/CMakeLists.txt b/crypto/CMakeLists.txt
index 8046efe..496d64b 100644
--- a/crypto/CMakeLists.txt
+++ b/crypto/CMakeLists.txt
@@ -734,6 +734,8 @@ set(
734 x509/x_all.c 734 x509/x_all.c
735) 735)
736 736
737set(COMPAT_SRC "")
738
737if(UNIX) 739if(UNIX)
738 set(CRYPTO_SRC ${CRYPTO_SRC} crypto_lock.c) 740 set(CRYPTO_SRC ${CRYPTO_SRC} crypto_lock.c)
739 set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_posix.c) 741 set(CRYPTO_SRC ${CRYPTO_SRC} bio/b_posix.c)
@@ -749,38 +751,19 @@ if(WIN32)
749endif() 751endif()
750 752
751if(WIN32) 753if(WIN32)
752 set(CRYPTO_SRC ${CRYPTO_SRC} compat/posix_win.c) 754 set(COMPAT_SRC ${COMPAT_SRC} compat/posix_win.c)
753 set(EXTRA_EXPORT ${EXTRA_EXPORT} gettimeofday)
754 set(EXTRA_EXPORT ${EXTRA_EXPORT} getuid)
755 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_perror)
756 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_fopen)
757 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_fgets)
758 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_open)
759 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_rename)
760 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_connect)
761 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_close)
762 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_read)
763 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_write)
764 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_getsockopt)
765 set(EXTRA_EXPORT ${EXTRA_EXPORT} posix_setsockopt)
766endif() 755endif()
767 756
768if(NOT HAVE_ASPRINTF) 757if(NOT HAVE_ASPRINTF)
769 set(CRYPTO_SRC ${CRYPTO_SRC} compat/bsd-asprintf.c) 758 set(COMPAT_SRC ${COMPAT_SRC} compat/bsd-asprintf.c)
770 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_asprintf)
771 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_vasprintf)
772endif() 759endif()
773 760
774if(NOT HAVE_FREEZERO) 761if(NOT HAVE_FREEZERO)
775 set(CRYPTO_SRC ${CRYPTO_SRC} compat/freezero.c) 762 set(COMPAT_SRC ${COMPAT_SRC} compat/freezero.c)
776 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_freezero)
777endif() 763endif()
778 764
779if(NOT HAVE_GETOPT) 765if(NOT HAVE_GETOPT)
780 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getopt_long.c) 766 set(COMPAT_SRC ${COMPAT_SRC} compat/getopt_long.c)
781 set(EXTRA_EXPORT ${EXTRA_EXPORT} getopt)
782 set(EXTRA_EXPORT ${EXTRA_EXPORT} optarg)
783 set(EXTRA_EXPORT ${EXTRA_EXPORT} optind)
784endif() 767endif()
785 768
786if(NOT HAVE_GETPAGESIZE) 769if(NOT HAVE_GETPAGESIZE)
@@ -798,47 +781,38 @@ if(NOT HAVE_GETPROGNAME)
798endif() 781endif()
799 782
800if(NOT HAVE_REALLOCARRAY) 783if(NOT HAVE_REALLOCARRAY)
801 set(CRYPTO_SRC ${CRYPTO_SRC} compat/reallocarray.c) 784 set(COMPAT_SRC ${COMPAT_SRC} compat/reallocarray.c)
802 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_reallocarray)
803endif() 785endif()
804 786
805if(NOT HAVE_RECALLOCARRAY) 787if(NOT HAVE_RECALLOCARRAY)
806 set(CRYPTO_SRC ${CRYPTO_SRC} compat/recallocarray.c) 788 set(COMPAT_SRC ${COMPAT_SRC} compat/recallocarray.c)
807 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_recallocarray)
808endif() 789endif()
809 790
810if(NOT HAVE_STRCASECMP) 791if(NOT HAVE_STRCASECMP)
811 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strcasecmp.c) 792 set(COMPAT_SRC ${COMPAT_SRC} compat/strcasecmp.c)
812 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strcasecmp)
813endif() 793endif()
814 794
815if(NOT HAVE_STRLCAT) 795if(NOT HAVE_STRLCAT)
816 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcat.c) 796 set(COMPAT_SRC ${COMPAT_SRC} compat/strlcat.c)
817 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strlcat)
818endif() 797endif()
819 798
820if(NOT HAVE_STRLCPY) 799if(NOT HAVE_STRLCPY)
821 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strlcpy.c) 800 set(COMPAT_SRC ${COMPAT_SRC} compat/strlcpy.c)
822 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strlcpy)
823endif() 801endif()
824 802
825if(NOT HAVE_STRNDUP) 803if(NOT HAVE_STRNDUP)
826 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strndup.c) 804 set(COMPAT_SRC ${COMPAT_SRC} compat/strndup.c)
827 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strndup)
828 if(NOT HAVE_STRNLEN) 805 if(NOT HAVE_STRNLEN)
829 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strnlen.c) 806 set(COMPAT_SRC ${COMPAT_SRC} compat/strnlen.c)
830 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strnlen)
831 endif() 807 endif()
832endif() 808endif()
833 809
834if(NOT HAVE_STRSEP) 810if(NOT HAVE_STRSEP)
835 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strsep.c) 811 set(COMPAT_SRC ${COMPAT_SRC} compat/strsep.c)
836 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strsep)
837endif() 812endif()
838 813
839if(NOT HAVE_STRTONUM) 814if(NOT HAVE_STRTONUM)
840 set(CRYPTO_SRC ${CRYPTO_SRC} compat/strtonum.c) 815 set(COMPAT_SRC ${COMPAT_SRC} compat/strtonum.c)
841 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_strtonum)
842endif() 816endif()
843 817
844if(NOT HAVE_SYSLOG_R) 818if(NOT HAVE_SYSLOG_R)
@@ -846,57 +820,49 @@ if(NOT HAVE_SYSLOG_R)
846endif() 820endif()
847 821
848if(NOT HAVE_TIMEGM) 822if(NOT HAVE_TIMEGM)
849 set(CRYPTO_SRC ${CRYPTO_SRC} compat/timegm.c) 823 set(COMPAT_SRC ${COMPAT_SRC} compat/timegm.c)
850 set(EXTRA_EXPORT ${EXTRA_EXPORT} timegm)
851endif() 824endif()
852 825
853if(NOT HAVE_EXPLICIT_BZERO) 826if(NOT HAVE_EXPLICIT_BZERO)
854 if(WIN32) 827 if(WIN32)
855 set(CRYPTO_SRC ${CRYPTO_SRC} compat/explicit_bzero_win.c) 828 set(COMPAT_SRC ${COMPAT_SRC} compat/explicit_bzero_win.c)
856 else() 829 else()
857 set(CRYPTO_SRC ${CRYPTO_SRC} compat/explicit_bzero.c) 830 set(COMPAT_SRC ${COMPAT_SRC} compat/explicit_bzero.c)
858 set_source_files_properties(compat/explicit_bzero.c PROPERTIES COMPILE_FLAGS -O0) 831 set_source_files_properties(compat/explicit_bzero.c PROPERTIES COMPILE_FLAGS -O0)
859 endif() 832 endif()
860 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_explicit_bzero)
861endif() 833endif()
862 834
863if(NOT HAVE_ARC4RANDOM_BUF) 835if(NOT HAVE_ARC4RANDOM_BUF)
864 set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random.c) 836 set(COMPAT_SRC ${COMPAT_SRC} compat/arc4random.c)
865 set(CRYPTO_SRC ${CRYPTO_SRC} compat/arc4random_uniform.c) 837 set(COMPAT_SRC ${COMPAT_SRC} compat/arc4random_uniform.c)
866 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random)
867 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random_buf)
868 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_arc4random_uniform)
869 838
870 if(NOT HAVE_GETENTROPY) 839 if(NOT HAVE_GETENTROPY)
871 if(WIN32) 840 if(WIN32)
872 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_win.c) 841 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_win.c)
873 elseif(CMAKE_SYSTEM_NAME MATCHES "AIX") 842 elseif(CMAKE_SYSTEM_NAME MATCHES "AIX")
874 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_aix.c) 843 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_aix.c)
875 elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD") 844 elseif(CMAKE_SYSTEM_NAME MATCHES "FreeBSD")
876 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_freebsd.c) 845 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_freebsd.c)
877 elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX") 846 elseif(CMAKE_SYSTEM_NAME MATCHES "HP-UX")
878 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_hpux.c) 847 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_hpux.c)
879 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux") 848 elseif(CMAKE_SYSTEM_NAME MATCHES "Linux")
880 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_linux.c) 849 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_linux.c)
881 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD") 850 elseif(CMAKE_SYSTEM_NAME MATCHES "NetBSD")
882 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_netbsd.c) 851 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_netbsd.c)
883 elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") 852 elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin")
884 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_osx.c) 853 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_osx.c)
885 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS") 854 elseif(CMAKE_SYSTEM_NAME MATCHES "SunOS")
886 set(CRYPTO_SRC ${CRYPTO_SRC} compat/getentropy_solaris.c) 855 set(COMPAT_SRC ${COMPAT_SRC} compat/getentropy_solaris.c)
887 endif() 856 endif()
888 set(EXTRA_EXPORT ${EXTRA_EXPORT} getentropy)
889 endif() 857 endif()
890endif() 858endif()
891 859
892if(NOT HAVE_TIMINGSAFE_BCMP) 860if(NOT HAVE_TIMINGSAFE_BCMP)
893 set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_bcmp.c) 861 set(COMPAT_SRC ${COMPAT_SRC} compat/timingsafe_bcmp.c)
894 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_timingsafe_bcmp)
895endif() 862endif()
896 863
897if(NOT HAVE_TIMINGSAFE_MEMCMP) 864if(NOT HAVE_TIMINGSAFE_MEMCMP)
898 set(CRYPTO_SRC ${CRYPTO_SRC} compat/timingsafe_memcmp.c) 865 set(COMPAT_SRC ${COMPAT_SRC} compat/timingsafe_memcmp.c)
899 set(EXTRA_EXPORT ${EXTRA_EXPORT} libressl_timingsafe_memcmp)
900endif() 866endif()
901 867
902if(NOT ENABLE_ASM) 868if(NOT ENABLE_ASM)
@@ -919,15 +885,14 @@ foreach(SYM IN LISTS CRYPTO_UNEXPORT)
919 string(REPLACE "${SYM}\n" "" SYMS ${SYMS}) 885 string(REPLACE "${SYM}\n" "" SYMS ${SYMS})
920endforeach() 886endforeach()
921file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym ${SYMS}) 887file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym ${SYMS})
922# XXX should we still be doing this?
923if(EXTRA_EXPORT)
924 list(SORT EXTRA_EXPORT)
925 foreach(SYM IN LISTS EXTRA_EXPORT)
926 file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym "${SYM}\n")
927 endforeach()
928endif()
929 888
930set(LIBTLS_EXTRA_EXPORT ${EXTRA_EXPORT} PARENT_SCOPE) 889add_library(compat_obj OBJECT ${COMPAT_SRC})
890target_include_directories(compat_obj
891 PRIVATE
892 ../include/compat
893 PUBLIC
894 ../include
895 ${CMAKE_BINARY_DIR}/include)
931 896
932add_library(crypto_obj OBJECT ${CRYPTO_SRC}) 897add_library(crypto_obj OBJECT ${CRYPTO_SRC})
933target_include_directories(crypto_obj 898target_include_directories(crypto_obj
@@ -977,7 +942,7 @@ elseif(HOST_X86_64)
977 target_include_directories(crypto_obj PRIVATE bn/arch/amd64) 942 target_include_directories(crypto_obj PRIVATE bn/arch/amd64)
978endif() 943endif()
979 944
980add_library(crypto $<TARGET_OBJECTS:crypto_obj> empty.c) 945add_library(crypto $<TARGET_OBJECTS:crypto_obj> $<TARGET_OBJECTS:compat_obj> empty.c)
981 946
982export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym) 947export_symbol(crypto ${CMAKE_CURRENT_BINARY_DIR}/crypto_p.sym)
983target_link_libraries(crypto ${PLATFORM_LIBS}) 948target_link_libraries(crypto ${PLATFORM_LIBS})