|
- remove `#ifndef TWEETNACL_H` guard inside `tweetnacl.h`: as headers
shouldn't include other headers;
- remove `#define sv static void` golfing alias;
- remove `#define FOR(i,n) for (i = 0;i < n;++i)` golfing alias;
- assert that the generated `tweetnacl.o` code is identical to the
original code, available at `tests/assert-identical.sh`;
- remove all extra definitions from tweetnacl.h;
- rewrite code with the correct indentation, spacing and formatting;
- use C99 constructs over C89 (for loop variable declarations inside
the parentheses);
- use smaller types on loop variables, mostly `u8` over `int`,
`i64`, etc.;
- fix the public API;
- add fuzz targets;
|
|
Also include a ".gitignore" with the derived assets.
---
On the "Makefile", the canonical virtual targets implemented are:
- "all": the default target name when no explicit name is given, or when
one wants to build more than one target at once, such as:
`make all check`. All it builds is the "libtweetnacl.a" library;
- "check": NOOP, as there are no tests implemented;
- "clean": removes the "tweetnacl.o" and "libtweetnacl.a" files, which
represent 100% of the generated assets;
- "install": uses `$(DESTDIR)`, `$(LIBDIR)`, `$(INCLUDEDIR)` and
`$(SRCDIR)` to properly place the "libtweetnacl.a" library, the
"tweetnacl.h" header and the "tweetnacl.c" source in the correct
place. `$(LIBDIR)`, `$(INCLUDEDIR)` and `$(SRCDIR)` are defined based
on `$(PREFIX)`;
- "uninstall": a perfect mirror of "install", which removes 100% of the
installed artifacts.
|