curl.bzl 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. # Compiler options for building libcurl.
  4. BASE_CURL_COPTS = [
  5. # Disable everything else except HTTP protocol.
  6. "-DHTTP_ONLY=1",
  7. "-DENABLE_IPV6=1",
  8. "-DGETHOSTNAME_TYPE_ARG2=size_t",
  9. "-DGETSERVBYPORT_R_ARGS=6",
  10. "-DGETSERVBYPORT_R_BUFSIZE=4096",
  11. "-DHAVE_ALARM=1",
  12. "-DHAVE_ALLOCA_H=1",
  13. "-DHAVE_ARPA_INET_H=1",
  14. "-DHAVE_ARPA_TFTP_H=1",
  15. "-DHAVE_ASSERT_H=1",
  16. "-DHAVE_BASENAME=1",
  17. "-DHAVE_BOOL_T=1",
  18. "-DHAVE_CLOCK_GETTIME_MONOTONIC=1",
  19. "-DHAVE_CONNECT=1",
  20. "-DHAVE_DLFCN_H=1",
  21. "-DHAVE_ENGINE_LOAD_BUILTIN_ENGINES=1",
  22. "-DHAVE_ERRNO_H=1",
  23. "-DHAVE_FCNTL=1",
  24. "-DHAVE_FCNTL_H=1",
  25. "-DHAVE_FCNTL_O_NONBLOCK=1",
  26. "-DHAVE_FDOPEN=1",
  27. "-DHAVE_FREEADDRINFO=1",
  28. "-DHAVE_FREEIFADDRS=1",
  29. "-DHAVE_FSETXATTR=1",
  30. "-DHAVE_FSETXATTR_5=1",
  31. "-DHAVE_FTRUNCATE=1",
  32. "-DHAVE_GAI_STRERROR=1",
  33. "-DHAVE_GETADDRINFO=1",
  34. "-DHAVE_GETADDRINFO_THREADSAFE=1",
  35. "-DHAVE_GETEUID=1",
  36. "-DHAVE_GETHOSTBYADDR=1",
  37. "-DHAVE_GETHOSTBYADDR_R=1",
  38. "-DHAVE_GETHOSTBYADDR_R_8=1",
  39. "-DHAVE_GETHOSTBYNAME=1",
  40. "-DHAVE_GETHOSTBYNAME_R=1",
  41. "-DHAVE_GETHOSTBYNAME_R_6=1",
  42. "-DHAVE_GETHOSTNAME=1",
  43. "-DHAVE_GETIFADDRS=1",
  44. "-DHAVE_GETNAMEINFO=1",
  45. "-DHAVE_GETPPID=1",
  46. "-DHAVE_GETPWUID=1",
  47. "-DHAVE_GETPWUID_R=1",
  48. "-DHAVE_GETRLIMIT=1",
  49. "-DHAVE_GETSERVBYPORT_R=1",
  50. "-DHAVE_GETTIMEOFDAY=1",
  51. "-DHAVE_GMTIME_R=1",
  52. "-DHAVE_IFADDRS_H=1",
  53. "-DHAVE_IF_NAMETOINDEX=1",
  54. "-DHAVE_INET_NTOP=1",
  55. "-DHAVE_INET_PTON=1",
  56. "-DHAVE_INTTYPES_H=1",
  57. "-DHAVE_IOCTL=1",
  58. "-DHAVE_IOCTL_FIONBIO=1",
  59. "-DHAVE_IOCTL_SIOCGIFADDR=1",
  60. "-DHAVE_LIBGEN_H=1",
  61. "-DHAVE_LL=1",
  62. "-DHAVE_LOCALE_H=1",
  63. "-DHAVE_LOCALTIME_R=1",
  64. "-DHAVE_LONGLONG=1",
  65. "-DHAVE_MALLOC_H=1",
  66. "-DHAVE_MEMORY_H=1",
  67. "-DHAVE_NETDB_H=1",
  68. "-DHAVE_NETINET_IN_H=1",
  69. "-DHAVE_NETINET_TCP_H=1",
  70. "-DHAVE_NET_IF_H=1",
  71. "-DHAVE_PIPE=1",
  72. "-DHAVE_POLL=1",
  73. "-DHAVE_POLL_FINE=1",
  74. "-DHAVE_POLL_H=1",
  75. "-DHAVE_POSIX_STRERROR_R=1",
  76. "-DHAVE_PTHREAD_H=1",
  77. "-DHAVE_PWD_H=1",
  78. "-DHAVE_RECV=1",
  79. "-DHAVE_SELECT=1",
  80. "-DHAVE_SEND=1",
  81. "-DHAVE_SETJMP_H=1",
  82. "-DHAVE_SETLOCALE=1",
  83. "-DHAVE_SETRLIMIT=1",
  84. "-DHAVE_SETSOCKOPT=1",
  85. "-DHAVE_SGTTY_H=1",
  86. "-DHAVE_SIGACTION=1",
  87. "-DHAVE_SIGINTERRUPT=1",
  88. "-DHAVE_SIGNAL=1",
  89. "-DHAVE_SIGNAL_H=1",
  90. "-DHAVE_SIGSETJMP=1",
  91. "-DHAVE_SIG_ATOMIC_T=1",
  92. "-DHAVE_SOCKADDR_IN6_SIN6_SCOPE_ID=1",
  93. "-DHAVE_SOCKET=1",
  94. "-DHAVE_SOCKETPAIR=1",
  95. "-DHAVE_STDBOOL_H=1",
  96. "-DHAVE_STDINT_H=1",
  97. "-DHAVE_STDIO_H=1",
  98. "-DHAVE_STDLIB_H=1",
  99. "-DHAVE_STRCASECMP=1",
  100. "-DHAVE_STRDUP=1",
  101. "-DHAVE_STRERROR_R=1",
  102. "-DHAVE_STRINGS_H=1",
  103. "-DHAVE_STRING_H=1",
  104. "-DHAVE_STRNCASECMP=1",
  105. "-DHAVE_STRSTR=1",
  106. "-DHAVE_STRTOK_R=1",
  107. "-DHAVE_STRTOLL=1",
  108. "-DHAVE_STRUCT_SOCKADDR_STORAGE=1",
  109. "-DHAVE_STRUCT_TIMEVAL=1",
  110. "-DHAVE_SYS_IOCTL_H=1",
  111. "-DHAVE_SYS_PARAM_H=1",
  112. "-DHAVE_SYS_POLL_H=1",
  113. "-DHAVE_SYS_RESOURCE_H=1",
  114. "-DHAVE_SYS_SELECT_H=1",
  115. "-DHAVE_SYS_SOCKET_H=1",
  116. "-DHAVE_SYS_STAT_H=1",
  117. "-DHAVE_SYS_TIME_H=1",
  118. "-DHAVE_SYS_TYPES_H=1",
  119. "-DHAVE_SYS_UIO_H=1",
  120. "-DHAVE_SYS_UN_H=1",
  121. "-DHAVE_SYS_WAIT_H=1",
  122. "-DHAVE_SYS_XATTR_H=1",
  123. "-DHAVE_TERMIOS_H=1",
  124. "-DHAVE_TERMIO_H=1",
  125. "-DHAVE_TIME_H=1",
  126. "-DHAVE_UNISTD_H=1",
  127. "-DHAVE_UTIME=1",
  128. "-DHAVE_UTIMES=1",
  129. "-DHAVE_UTIME_H=1",
  130. "-DHAVE_VARIADIC_MACROS_C99=1",
  131. "-DHAVE_VARIADIC_MACROS_GCC=1",
  132. "-DHAVE_WRITABLE_ARGV=1",
  133. "-DHAVE_WRITEV=1",
  134. "-DRECV_TYPE_ARG1=int",
  135. "-DRECV_TYPE_ARG2=void*",
  136. "-DRECV_TYPE_ARG3=size_t",
  137. "-DRECV_TYPE_ARG4=int",
  138. "-DRECV_TYPE_RETV=ssize_t",
  139. "-DRETSIGTYPE=void",
  140. "-DSELECT_QUAL_ARG5=",
  141. "-DSELECT_TYPE_ARG1=int",
  142. "-DSELECT_TYPE_ARG234=fd_set*",
  143. "-DSELECT_TYPE_RETV=int",
  144. "-DSEND_QUAL_ARG2=const",
  145. "-DSEND_TYPE_ARG1=int",
  146. "-DSEND_TYPE_ARG2=void*",
  147. "-DSEND_TYPE_ARG3=size_t",
  148. "-DSEND_TYPE_ARG4=int",
  149. "-DSEND_TYPE_RETV=ssize_t",
  150. "-DSIZEOF_CURL_OFF_T=8",
  151. "-DSIZEOF_INT=4",
  152. "-DSIZEOF_LONG=8",
  153. "-DSIZEOF_OFF_T=8",
  154. "-DSIZEOF_SHORT=2",
  155. "-DSIZEOF_SIZE_T=8",
  156. "-DSIZEOF_TIME_T=8",
  157. "-DSTDC_HEADERS=1",
  158. "-DSTRERROR_R_TYPE_ARG3=size_t",
  159. "-DTIME_WITH_SYS_TIME=1",
  160. "-DUSE_THREADS_POSIX=1",
  161. "-DUSE_UNIX_SOCKETS=1",
  162. # Extra defines needed by curl
  163. "-DBUILDING_LIBCURL",
  164. "-DCURL_HIDDEN_SYMBOLS",
  165. ]
  166. LINUX_CURL_COPTS = [
  167. "-DHAVE_LINUX_TCP_H=1",
  168. "-DHAVE_MSG_NOSIGNAL=1",
  169. ]
  170. CURL_COPTS = select({
  171. "//:windows": [
  172. # Disable everything else except HTTP protocol.
  173. "/DHTTP_ONLY=1",
  174. "/DCURL_STATICLIB",
  175. "/DWIN32",
  176. "/DBUILDING_LIBCURL",
  177. "/DUSE_WIN32_IDN",
  178. "/DWANT_IDN_PROTOTYPES",
  179. "/DUSE_IPV6",
  180. "/DUSE_WINDOWS_SSPI",
  181. "/DUSE_SCHANNEL",
  182. ],
  183. "//:osx": BASE_CURL_COPTS,
  184. "//conditions:default": BASE_CURL_COPTS + LINUX_CURL_COPTS,
  185. })