diff options
| author | Avi Halachmi (:avih) <avihpit@yahoo.com> | 2016-06-12 14:51:29 +0300 |
|---|---|---|
| committer | Avi Halachmi (:avih) <avihpit@yahoo.com> | 2016-06-19 14:43:46 +0300 |
| commit | 100f94be99ef06fb168850da528492b00e7520dc (patch) | |
| tree | 2f3705fa318d68a964300989cb1ffb9136a9072c /win32/include/winapi/_timeval.h | |
| parent | 1ca685f887310b5cbdc415cdfc3a578dbc8d82d8 (diff) | |
| download | tinycc-100f94be99ef06fb168850da528492b00e7520dc.tar.gz tinycc-100f94be99ef06fb168850da528492b00e7520dc.tar.bz2 | |
tiny_libmaker: more robust arguments interpretation
- Syntax is now much closer to gnu ar, but still supports whatever was
supported before, with the following exceptions (which gnu ar has too):
- lib is now mandatory (was optional and defaulted to ar_test.a before).
- Path cannot start with '-' (but ./-myfile.o is OK).
- Unlike gnu ar, modes are still optional (as before).
- Now supports also (like gnu ar):
- First argument as options doesn't have to start with '-', later options do.
- Now supports mode v (verbose) with same output format as gnu ar.
- Any names for lib/objs (were limited to .a/.o - broke cmake on windows).
- Now explicitly fail on options which would be destructive for the user.
- Now doesn't get confused by options between file arguments.
- Still ignores other unknown options - as before.
- Now doesn't read out-of-bounds if an option is one char.
- As a result, cmake for windows can now use tiny_libmaker as ar, and
configure can also detect tiny_libmaker as a valid ar (both couldn't before).
Ignoring all options could previously cause to misinterpret the mode in a
destructive way, e.g. if the user wanted to do something with an existing
archive (such as p - print, or x - extract, etc), then it would instead just
delete (re-create) the archive.
Modes which can be destructive if ignored now explicitly fail. These include
[habdioptxN]. Note that 'h' can be ignored, but this way we also implicitly
print the usage for -h/--help.
The .a/.o name limitations previously resulted in complete failure on some
cases, such as cmake on windows which uses <filename>.obj and <libname>.lib .
Fixed: e.g. 'tiny_libmaker r x.a x.o' was reading out of bounds [-1] for 'r'.
Diffstat (limited to 'win32/include/winapi/_timeval.h')
0 files changed, 0 insertions, 0 deletions
