2
0

curl.BUILD 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. # Copyright The OpenTelemetry Authors
  2. # SPDX-License-Identifier: Apache-2.0
  3. # Builds CURL from a distribution.
  4. load("@io_opentelemetry_cpp//bazel:curl.bzl", "CURL_COPTS")
  5. package(features = ["no_copts_tokenization"])
  6. config_setting(
  7. name = "windows",
  8. constraint_values = [
  9. "@platforms//os:windows",
  10. ],
  11. visibility = ["//visibility:private"],
  12. )
  13. config_setting(
  14. name = "osx",
  15. constraint_values = [
  16. "@platforms//os:osx",
  17. ],
  18. visibility = ["//visibility:private"],
  19. )
  20. cc_library(
  21. name = "curl",
  22. srcs = glob([
  23. "lib/**/*.c",
  24. ]),
  25. hdrs = glob([
  26. "include/curl/*.h",
  27. "lib/**/*.h",
  28. ]),
  29. copts = CURL_COPTS + [
  30. "-DOS=\"os\"",
  31. ],
  32. defines = ["CURL_STATICLIB"],
  33. includes = [
  34. "include/",
  35. "lib/",
  36. ],
  37. linkopts = select({
  38. "//:windows": [
  39. "-DEFAULTLIB:ws2_32.lib",
  40. "-DEFAULTLIB:advapi32.lib",
  41. "-DEFAULTLIB:crypt32.lib",
  42. "-DEFAULTLIB:Normaliz.lib",
  43. ],
  44. "//:osx": [
  45. "-framework SystemConfiguration",
  46. "-lpthread",
  47. ],
  48. "//conditions:default": [
  49. "-lpthread",
  50. ],
  51. }),
  52. visibility = ["//visibility:public"],
  53. )