@@ 3,17 3,33 @@
Free .o to .h converter.
protodump reads object files, looks for DWARF information and combines it with
-the table of exported symbols. Use it with `diff` to see whether your library
-API has changed.
+the table of exported symbols. It can also find differences between two object
+files and can be used to see if their ABI is the same.
## Building
Use `cargo build`.
+You may add and remove support for specific object file types with "Cargo
+features". They are all enabled by default:
+
+- `coff` (old windows executable)
+- `elf` (used in unixes)
+- `macho` (by apple)
+- `pe` (for windows)
+- `wasm` (web assembly)
+
+Use `cargo --no-default-features --features elf,wasm` to choose.
+
+Other available features:
+
+- `compression`: enable reading compressed debug info sections. Disabled by
+ default.
+
## Usage
```shell
-protodump $(which protodump)
+protodump $(command -v protodump)
# or
cargo run -- target/debug/protodump
```
@@ 23,13 39,10 @@ Run `protodump --help` for the list of options, and see the man page
## Contributing
-Ask questions and send patches on the mailing list:
-https://lists.sr.ht/~taiite/public-inbox
-
-File bugs on the bug tracker: https://todo.sr.ht/~taiite/protodump
+Ask questions and send patches on the [mailing list].
+File bugs on the [bug tracker].
-To send a patch, install & configure
-[git-send-email](https://git-send-email.io/), then
+To send a patch, install & configure [git-send-email], then
```
git config sendemail.to '~taiite/public-inbox@lists.sr.ht'
@@ 38,3 51,7 @@ vi makeyourchanges.txt
git commit -am nameyourchanges
git send-email 'HEAD^'
```
+
+[mailing list]: https://lists.sr.ht/~taiite/public-inbox
+[bug tracker]: https://todo.sr.ht/~taiite/protodump
+[git-send-email]: https://git-send-email.io/