Cargo.toml 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. [package]
  2. name = "smoltcp"
  3. version = "0.7.1"
  4. edition = "2018"
  5. authors = ["whitequark <[email protected]>"]
  6. description = "A TCP/IP stack designed for bare-metal, real-time systems without a heap."
  7. documentation = "https://docs.rs/smoltcp/"
  8. homepage = "https://github.com/smoltcp-rs/smoltcp"
  9. repository = "https://github.com/smoltcp-rs/smoltcp.git"
  10. readme = "README.md"
  11. keywords = ["ip", "tcp", "udp", "ethernet", "network"]
  12. categories = ["embedded", "network-programming"]
  13. license = "0BSD"
  14. # Each example should have an explicit `[[example]]` section here to
  15. # ensure that the correct features are enabled.
  16. autoexamples = false
  17. [dependencies]
  18. managed = { version = "0.7", default-features = false, features = ["map"] }
  19. byteorder = { version = "1.0", default-features = false }
  20. log = { version = "0.4.4", default-features = false, optional = true }
  21. libc = { version = "0.2.18", optional = true }
  22. bitflags = { version = "1.0", default-features = false }
  23. [dev-dependencies]
  24. env_logger = "0.5"
  25. getopts = "0.2"
  26. rand = "0.3"
  27. url = "1.0"
  28. [features]
  29. std = ["managed/std"]
  30. alloc = ["managed/alloc"]
  31. verbose = []
  32. ethernet = ["socket"]
  33. "phy-raw_socket" = ["std", "libc", "ethernet"]
  34. "phy-tap_interface" = ["std", "libc", "ethernet"]
  35. "proto-ipv4" = []
  36. "proto-igmp" = ["proto-ipv4"]
  37. "proto-dhcpv4" = ["proto-ipv4", "socket-raw", "ethernet"]
  38. "proto-ipv6" = []
  39. "socket" = []
  40. "socket-raw" = ["socket"]
  41. "socket-udp" = ["socket"]
  42. "socket-tcp" = ["socket"]
  43. "socket-icmp" = ["socket"]
  44. "async" = []
  45. default = [
  46. "std", "log", # needed for `cargo test --no-default-features --features default` :/
  47. "ethernet",
  48. "phy-raw_socket", "phy-tap_interface",
  49. "proto-ipv4", "proto-igmp", "proto-dhcpv4", "proto-ipv6",
  50. "socket-raw", "socket-icmp", "socket-udp", "socket-tcp",
  51. "async"
  52. ]
  53. # experimental; do not use; no guarantees provided that this feature will be kept
  54. "rust-1_28" = []
  55. [[example]]
  56. name = "packet2pcap"
  57. path = "utils/packet2pcap.rs"
  58. required-features = ["std"]
  59. [[example]]
  60. name = "tcpdump"
  61. required-features = ["std", "phy-raw_socket", "proto-ipv4"]
  62. [[example]]
  63. name = "httpclient"
  64. required-features = ["std", "phy-tap_interface", "proto-ipv4", "proto-ipv6", "socket-tcp"]
  65. [[example]]
  66. name = "ping"
  67. required-features = ["std", "phy-tap_interface", "proto-ipv4", "proto-ipv6", "socket-icmp"]
  68. [[example]]
  69. name = "server"
  70. required-features = ["std", "phy-tap_interface", "proto-ipv4", "socket-tcp", "socket-udp"]
  71. [[example]]
  72. name = "client"
  73. required-features = ["std", "phy-tap_interface", "proto-ipv4", "socket-tcp", "socket-udp"]
  74. [[example]]
  75. name = "loopback"
  76. required-features = ["log", "proto-ipv4", "socket-tcp"]
  77. [[example]]
  78. name = "multicast"
  79. required-features = ["std", "phy-tap_interface", "proto-ipv4", "proto-igmp", "socket-udp"]
  80. [[example]]
  81. name = "benchmark"
  82. required-features = ["std", "phy-tap_interface", "proto-ipv4", "socket-raw", "socket-udp"]
  83. [[example]]
  84. name = "dhcp_client"
  85. required-features = ["std", "phy-tap_interface", "proto-ipv4", "proto-dhcpv4", "socket-raw"]
  86. [profile.release]
  87. debug = 2