Cargo.toml 2.8 KB

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