Cargo.toml 4.3 KB

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