|
761 | 761 | # define ASIO_VERSION_TAG_b |
762 | 762 | #endif // defined(ASIO_WINDOWS) |
763 | 763 |
|
| 764 | +// Cygwin target using Win32 sockets. |
| 765 | +#if !defined(ASIO_CYGWIN_W32_SOCKETS) |
| 766 | +# if defined(__CYGWIN__) |
| 767 | +# if defined(__USE_W32_SOCKETS) |
| 768 | +# define ASIO_CYGWIN_W32_SOCKETS 1 |
| 769 | +# endif // defined(__USE_W32_SOCKETS) |
| 770 | +# endif // defined(__CYGWIN__) |
| 771 | +#endif // !defined(ASIO_CYGWIN_W32_SOCKETS) |
| 772 | +#if defined(ASIO_CYGWIN_W32_SOCKETS) |
| 773 | +# define ASIO_VERSION_TAG_c c |
| 774 | +#else // defined(ASIO_CYGWIN_W32_SOCKETS) |
| 775 | +# define ASIO_VERSION_TAG_c |
| 776 | +#endif // defined(ASIO_CYGWIN_W32_SOCKETS) |
| 777 | + |
764 | 778 | // Windows: target OS version. |
765 | | -#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 779 | +#if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
766 | 780 | # if !defined(_WIN32_WINNT) && !defined(_WIN32_WINDOWS) |
767 | 781 | # if defined(_MSC_VER) || (defined(__BORLANDC__) && !defined(__clang__)) |
768 | 782 | # pragma message( \ |
|
795 | 809 | # endif // !defined(_WINSOCK2API_) |
796 | 810 | # endif // defined(__WIN32__) && !defined(WIN32) |
797 | 811 | # endif // defined(__BORLANDC__) |
798 | | -# if defined(__CYGWIN__) |
| 812 | +# if defined(ASIO_CYGWIN_W32_SOCKETS) |
799 | 813 | # if !defined(__USE_W32_SOCKETS) |
800 | 814 | # error You must add -D__USE_W32_SOCKETS to your compiler options. |
801 | 815 | # endif // !defined(__USE_W32_SOCKETS) |
802 | | -# endif // defined(__CYGWIN__) |
803 | | -#endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 816 | +# endif // defined(ASIO_CYGWIN_W32_SOCKETS) |
| 817 | +#endif // defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
804 | 818 |
|
805 | 819 | // Windows: minimise header inclusion. |
806 | | -#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 820 | +#if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
807 | 821 | # if !defined(ASIO_NO_WIN32_LEAN_AND_MEAN) |
808 | 822 | # if !defined(WIN32_LEAN_AND_MEAN) |
809 | 823 | # define WIN32_LEAN_AND_MEAN |
810 | 824 | # endif // !defined(WIN32_LEAN_AND_MEAN) |
811 | 825 | # endif // !defined(ASIO_NO_WIN32_LEAN_AND_MEAN) |
812 | | -#endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 826 | +#endif // defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
813 | 827 |
|
814 | 828 | // Windows: suppress definition of "min" and "max" macros. |
815 | | -#if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 829 | +#if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
816 | 830 | # if !defined(ASIO_NO_NOMINMAX) |
817 | 831 | # if !defined(NOMINMAX) |
818 | 832 | # define NOMINMAX 1 |
819 | 833 | # endif // !defined(NOMINMAX) |
820 | 834 | # endif // !defined(ASIO_NO_NOMINMAX) |
821 | | -#endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 835 | +#endif // defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
822 | 836 |
|
823 | 837 | // Windows: IO Completion Ports. |
824 | 838 | #if !defined(ASIO_HAS_IOCP) |
825 | | -# if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 839 | +# if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
826 | 840 | # if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0400) |
827 | 841 | # if !defined(UNDER_CE) && !defined(ASIO_WINDOWS_APP) |
828 | 842 | # if !defined(ASIO_DISABLE_IOCP) |
829 | 843 | # define ASIO_HAS_IOCP 1 |
830 | 844 | # endif // !defined(ASIO_DISABLE_IOCP) |
831 | 845 | # endif // !defined(UNDER_CE) && !defined(ASIO_WINDOWS_APP) |
832 | 846 | # endif // defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0400) |
833 | | -# endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 847 | +# endif // defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
834 | 848 | #endif // !defined(ASIO_HAS_IOCP) |
835 | 849 | #if defined(ASIO_HAS_IOCP) |
836 | | -# define ASIO_VERSION_TAG_c c |
| 850 | +# define ASIO_VERSION_TAG_d d |
837 | 851 | #else // defined(ASIO_HAS_IOCP) |
838 | | -# define ASIO_VERSION_TAG_c |
| 852 | +# define ASIO_VERSION_TAG_d |
839 | 853 | #endif // defined(ASIO_HAS_IOCP) |
840 | 854 |
|
841 | 855 | // Windows: Slim Reader/Writer Locks. |
|
852 | 866 | # endif // !defined(ASIO_DISABLE_WINDOWS_SRWLOCK) |
853 | 867 | #endif // !defined(ASIO_HAS_WINDOWS_SRWLOCK) |
854 | 868 | #if defined(ASIO_HAS_WINDOWS_SRWLOCK) |
855 | | -# define ASIO_VERSION_TAG_d d |
| 869 | +# define ASIO_VERSION_TAG_e e |
856 | 870 | #else // defined(ASIO_HAS_WINDOWS_SRWLOCK) |
857 | | -# define ASIO_VERSION_TAG_d |
| 871 | +# define ASIO_VERSION_TAG_e |
858 | 872 | #endif // defined(ASIO_HAS_WINDOWS_SRWLOCK) |
859 | 873 |
|
860 | 874 | // On POSIX (and POSIX-like) platforms we need to include unistd.h in order to |
|
913 | 927 | # endif // defined(ASIO_HAS_IO_URING) |
914 | 928 | #endif // defined(__linux__) |
915 | 929 | #if defined(ASIO_HAS_EPOLL) |
916 | | -# define ASIO_VERSION_TAG_e e |
| 930 | +# define ASIO_VERSION_TAG_f f |
917 | 931 | #else // defined(ASIO_HAS_EPOLL) |
918 | | -# define ASIO_VERSION_TAG_e |
| 932 | +# define ASIO_VERSION_TAG_f |
919 | 933 | #endif // defined(ASIO_HAS_EPOLL) |
920 | 934 | #if defined(ASIO_HAS_EVENTFD) |
921 | | -# define ASIO_VERSION_TAG_f f |
| 935 | +# define ASIO_VERSION_TAG_g g |
922 | 936 | #else // defined(ASIO_HAS_EVENTFD) |
923 | | -# define ASIO_VERSION_TAG_f |
| 937 | +# define ASIO_VERSION_TAG_g |
924 | 938 | #endif // defined(ASIO_HAS_EVENTFD) |
925 | 939 | #if defined(ASIO_HAS_TIMERFD) |
926 | | -# define ASIO_VERSION_TAG_g g |
| 940 | +# define ASIO_VERSION_TAG_h h |
927 | 941 | #else // defined(ASIO_HAS_TIMERFD) |
928 | | -# define ASIO_VERSION_TAG_g |
| 942 | +# define ASIO_VERSION_TAG_h |
929 | 943 | #endif // defined(ASIO_HAS_TIMERFD) |
930 | 944 | #if defined(ASIO_HAS_IO_URING) |
931 | | -# define ASIO_VERSION_TAG_h h |
| 945 | +# define ASIO_VERSION_TAG_i i |
932 | 946 | #else // defined(ASIO_HAS_IO_URING) |
933 | | -# define ASIO_VERSION_TAG_h |
| 947 | +# define ASIO_VERSION_TAG_i |
934 | 948 | #endif // defined(ASIO_HAS_IO_URING) |
935 | 949 |
|
936 | 950 | // Linux: io_uring is used instead of epoll. |
|
940 | 954 | # endif // !defined(ASIO_HAS_EPOLL) && defined(ASIO_HAS_IO_URING) |
941 | 955 | #endif // !defined(ASIO_HAS_IO_URING_AS_DEFAULT) |
942 | 956 | #if defined(ASIO_HAS_IO_URING_AS_DEFAULT) |
943 | | -# define ASIO_VERSION_TAG_i i |
| 957 | +# define ASIO_VERSION_TAG_j j |
944 | 958 | #else // defined(ASIO_HAS_IO_URING_AS_DEFAULT) |
945 | | -# define ASIO_VERSION_TAG_i |
| 959 | +# define ASIO_VERSION_TAG_j |
946 | 960 | #endif // defined(ASIO_HAS_IO_URING_AS_DEFAULT) |
947 | 961 |
|
948 | 962 | // Mac OS X, FreeBSD, NetBSD, OpenBSD: kqueue. |
|
960 | 974 | // || defined(__NetBSD__) |
961 | 975 | // || defined(__OpenBSD__) |
962 | 976 | #if defined(ASIO_HAS_KQUEUE) |
963 | | -# define ASIO_VERSION_TAG_j j |
| 977 | +# define ASIO_VERSION_TAG_k k |
964 | 978 | #else // defined(ASIO_HAS_KQUEUE) |
965 | | -# define ASIO_VERSION_TAG_j |
| 979 | +# define ASIO_VERSION_TAG_k |
966 | 980 | #endif // defined(ASIO_HAS_KQUEUE) |
967 | 981 |
|
968 | 982 | // Solaris: /dev/poll. |
|
979 | 993 | # if defined(ASIO_HAS_IOCP) \ |
980 | 994 | || !defined(ASIO_WINDOWS) \ |
981 | 995 | && !defined(ASIO_WINDOWS_RUNTIME) \ |
982 | | - && !defined(__CYGWIN__) |
| 996 | + && !defined(ASIO_CYGWIN_W32_SOCKETS) |
983 | 997 | # if !defined(__SYMBIAN32__) |
984 | 998 | # if !defined(ASIO_DISABLE_SERIAL_PORT) |
985 | 999 | # define ASIO_HAS_SERIAL_PORT 1 |
|
988 | 1002 | # endif // defined(ASIO_HAS_IOCP) |
989 | 1003 | // || !defined(ASIO_WINDOWS) |
990 | 1004 | // && !defined(ASIO_WINDOWS_RUNTIME) |
991 | | - // && !defined(__CYGWIN__) |
| 1005 | + // && !defined(ASIO_CYGWIN_W32_SOCKETS) |
992 | 1006 | #endif // !defined(ASIO_HAS_SERIAL_PORT) |
993 | 1007 |
|
994 | 1008 | // Windows: stream handles. |
|
1012 | 1026 | // Windows: object handles. |
1013 | 1027 | #if !defined(ASIO_HAS_WINDOWS_OBJECT_HANDLE) |
1014 | 1028 | # if !defined(ASIO_DISABLE_WINDOWS_OBJECT_HANDLE) |
1015 | | -# if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 1029 | +# if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
1016 | 1030 | # if !defined(UNDER_CE) && !defined(ASIO_WINDOWS_APP) |
1017 | 1031 | # define ASIO_HAS_WINDOWS_OBJECT_HANDLE 1 |
1018 | 1032 | # endif // !defined(UNDER_CE) && !defined(ASIO_WINDOWS_APP) |
1019 | | -# endif // defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 1033 | +# endif // defined(ASIO_WINDOWS) |
| 1034 | + // || defined(ASIO_CYGWIN_W32_SOCKETS) |
1020 | 1035 | # endif // !defined(ASIO_DISABLE_WINDOWS_OBJECT_HANDLE) |
1021 | 1036 | #endif // !defined(ASIO_HAS_WINDOWS_OBJECT_HANDLE) |
1022 | 1037 |
|
|
1034 | 1049 | # if !defined(ASIO_DISABLE_POSIX_STREAM_DESCRIPTOR) |
1035 | 1050 | # if !defined(ASIO_WINDOWS) \ |
1036 | 1051 | && !defined(ASIO_WINDOWS_RUNTIME) \ |
1037 | | - && !defined(__CYGWIN__) |
| 1052 | + && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1038 | 1053 | # define ASIO_HAS_POSIX_STREAM_DESCRIPTOR 1 |
1039 | 1054 | # endif // !defined(ASIO_WINDOWS) |
1040 | 1055 | // && !defined(ASIO_WINDOWS_RUNTIME) |
1041 | | - // && !defined(__CYGWIN__) |
| 1056 | + // && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1042 | 1057 | # endif // !defined(ASIO_DISABLE_POSIX_STREAM_DESCRIPTOR) |
1043 | 1058 | #endif // !defined(ASIO_HAS_POSIX_STREAM_DESCRIPTOR) |
1044 | 1059 |
|
|
1067 | 1082 | # if defined(ASIO_HAS_IOCP) \ |
1068 | 1083 | || !defined(ASIO_WINDOWS) \ |
1069 | 1084 | && !defined(ASIO_WINDOWS_RUNTIME) \ |
1070 | | - && !defined(__CYGWIN__) |
| 1085 | + && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1071 | 1086 | # if !defined(__SYMBIAN32__) |
1072 | 1087 | # if !defined(ASIO_DISABLE_PIPE) |
1073 | 1088 | # define ASIO_HAS_PIPE 1 |
|
1076 | 1091 | # endif // defined(ASIO_HAS_IOCP) |
1077 | 1092 | // || !defined(ASIO_WINDOWS) |
1078 | 1093 | // && !defined(ASIO_WINDOWS_RUNTIME) |
1079 | | - // && !defined(__CYGWIN__) |
| 1094 | + // && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1080 | 1095 | #endif // !defined(ASIO_HAS_PIPE) |
1081 | 1096 |
|
1082 | 1097 | // Can use sigaction() instead of signal(). |
1083 | 1098 | #if !defined(ASIO_HAS_SIGACTION) |
1084 | 1099 | # if !defined(ASIO_DISABLE_SIGACTION) |
1085 | 1100 | # if !defined(ASIO_WINDOWS) \ |
1086 | 1101 | && !defined(ASIO_WINDOWS_RUNTIME) \ |
1087 | | - && !defined(__CYGWIN__) |
| 1102 | + && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1088 | 1103 | # define ASIO_HAS_SIGACTION 1 |
1089 | 1104 | # endif // !defined(ASIO_WINDOWS) |
1090 | 1105 | // && !defined(ASIO_WINDOWS_RUNTIME) |
1091 | | - // && !defined(__CYGWIN__) |
| 1106 | + // && !defined(ASIO_CYGWIN_W32_SOCKETS) |
1092 | 1107 | # endif // !defined(ASIO_DISABLE_SIGACTION) |
1093 | 1108 | #endif // !defined(ASIO_HAS_SIGACTION) |
1094 | 1109 |
|
|
1104 | 1119 | // Can use getaddrinfo() and getnameinfo(). |
1105 | 1120 | #if !defined(ASIO_HAS_GETADDRINFO) |
1106 | 1121 | # if !defined(ASIO_DISABLE_GETADDRINFO) |
1107 | | -# if defined(ASIO_WINDOWS) || defined(__CYGWIN__) |
| 1122 | +# if defined(ASIO_WINDOWS) || defined(ASIO_CYGWIN_W32_SOCKETS) |
1108 | 1123 | # if defined(_WIN32_WINNT) && (_WIN32_WINNT >= 0x0501) |
1109 | 1124 | # define ASIO_HAS_GETADDRINFO 1 |
1110 | 1125 | # elif defined(UNDER_CE) |
|
1138 | 1153 | # endif // !defined(BOOST_NO_EXCEPTIONS) |
1139 | 1154 | #endif // !defined(ASIO_NO_EXCEPTIONS) |
1140 | 1155 | #if defined(ASIO_NO_EXCEPTIONS) |
1141 | | -# define ASIO_VERSION_TAG_k k |
| 1156 | +# define ASIO_VERSION_TAG_l l |
1142 | 1157 | #else // defined(ASIO_NO_EXCEPTIONS) |
1143 | | -# define ASIO_VERSION_TAG_k |
| 1158 | +# define ASIO_VERSION_TAG_l |
1144 | 1159 | #endif // defined(ASIO_NO_EXCEPTIONS) |
1145 | 1160 |
|
1146 | 1161 | // Whether the typeid operator is supported. |
|
1174 | 1189 | # endif // !defined(ASIO_DISABLE_THREADS) |
1175 | 1190 | #endif // !defined(ASIO_HAS_THREADS) |
1176 | 1191 | #if defined(ASIO_HAS_THREADS) |
1177 | | -# define ASIO_VERSION_TAG_l l |
| 1192 | +# define ASIO_VERSION_TAG_m m |
1178 | 1193 | #else // defined(ASIO_HAS_THREADS) |
1179 | | -# define ASIO_VERSION_TAG_l |
| 1194 | +# define ASIO_VERSION_TAG_m |
1180 | 1195 | #endif // defined(ASIO_HAS_THREADS) |
1181 | 1196 |
|
1182 | 1197 | // POSIX threads. |
|
1192 | 1207 | # endif // defined(ASIO_HAS_THREADS) |
1193 | 1208 | #endif // !defined(ASIO_HAS_PTHREADS) |
1194 | 1209 | #if defined(ASIO_HAS_PTHREADS) |
1195 | | -# define ASIO_VERSION_TAG_m m |
| 1210 | +# define ASIO_VERSION_TAG_n n |
1196 | 1211 | #else // defined(ASIO_HAS_PTHREADS) |
1197 | | -# define ASIO_VERSION_TAG_m |
| 1212 | +# define ASIO_VERSION_TAG_n |
1198 | 1213 | #endif // defined(ASIO_HAS_PTHREADS) |
1199 | 1214 |
|
1200 | 1215 | // Helper to prevent macro expansion. |
|
1578 | 1593 | # endif // !defined(ASIO_DISABLE_STD_ATOMIC_WAIT) |
1579 | 1594 | #endif // !defined(ASIO_HAS_STD_ATOMIC_WAIT) |
1580 | 1595 | #if defined(ASIO_HAS_STD_ATOMIC_WAIT) |
1581 | | -# define ASIO_VERSION_TAG_n n |
| 1596 | +# define ASIO_VERSION_TAG_o o |
1582 | 1597 | #else // defined(ASIO_HAS_STD_ATOMIC_WAIT) |
1583 | | -# define ASIO_VERSION_TAG_n |
| 1598 | +# define ASIO_VERSION_TAG_o |
1584 | 1599 | #endif // defined(ASIO_HAS_STD_ATOMIC_WAIT) |
1585 | 1600 |
|
1586 | 1601 | // Token-pasting helper (two levels needed to allow macro arguments to expand). |
|
1589 | 1604 |
|
1590 | 1605 | // Version tags for user-enabled features with no auto-detection in this file. |
1591 | 1606 | #if defined(ASIO_ENABLE_HANDLER_TRACKING) |
1592 | | -# define ASIO_VERSION_TAG_o o |
| 1607 | +# define ASIO_VERSION_TAG_p p |
1593 | 1608 | #else // defined(ASIO_ENABLE_HANDLER_TRACKING) |
1594 | | -# define ASIO_VERSION_TAG_o |
| 1609 | +# define ASIO_VERSION_TAG_p |
1595 | 1610 | #endif // defined(ASIO_ENABLE_HANDLER_TRACKING) |
1596 | 1611 |
|
1597 | 1612 | // Automatic version namespace v<ASIO_VERSION>_<tags>. |
|
1615 | 1630 | ASIO_DETAIL_CAT(ASIO_VERSION_TAG_l, \ |
1616 | 1631 | ASIO_DETAIL_CAT(ASIO_VERSION_TAG_m, \ |
1617 | 1632 | ASIO_DETAIL_CAT(ASIO_VERSION_TAG_n, \ |
1618 | | - ASIO_VERSION_TAG_o))))))))))))))))) |
| 1633 | + ASIO_DETAIL_CAT(ASIO_VERSION_TAG_o, \ |
| 1634 | + ASIO_VERSION_TAG_p)))))))))))))))))) |
1619 | 1635 | # endif // !defined(ASIO_VERSION_NAMESPACE) |
1620 | 1636 | #endif // defined(ASIO_ENABLE_VERSION_NAMESPACE) |
1621 | 1637 |
|
|
0 commit comments