1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55
|
# Contributing
If you intend to make major changes you should let others know by creating a
[new issue](https://github.com/randy408/libspng/issues).
# Fork
Fork this project on GitHub and clone your repository.
```
git clone https://github.com/username/libspng.git
cd libspng
git remote add upstream https://github.com/randy408/libspng.git
```
Create a debug build
```
meson -Ddev_build=true --buildtype=debug build
cd build
```
Enable ASan/UBSan
```
meson configure -Db_sanitize=address,undefined
```
# Code
* Coding style should be consistent with the existing style.
* Use C99 standard code.
* Code must be free of undefined behavior
* Code must conform to the rules of the [CERT C Coding Standard](https://wiki.sei.cmu.edu/confluence/display/c/SEI+CERT+C+Coding+Standard).
# Test
Start with running Clang Static Analyzer
`ninja scan-build`
Run the testuite
`ninja test`
All tests should pass, some runtime errors reported by ASan/UBSan do not fail
a test but are considered bugs, check build/meson-logs/testlog.txt for any errors.
# Push
Create a merge request once you've pushed your local commits.
|