aboutsummaryrefslogtreecommitdiff
path: root/scripts/mkflags.c
AgeCommit message (Collapse)Author
2016-06-30Fix option parsing infrastructure bug.Rob Landley
In main.c: used adjusted string with placeholers for removed options (so flag values don't move based on config, allowing FORCE_FLAGS to work). In scripts/mkflags.c: test was wrong, a bare longopt never matches a single letter command, but it was treated as always matching when comparing allyesconfig vs current config to determine which options were disabled, so there was a corner case that got the flag values wrong.
2016-01-18Implement basic pkill plumbing, and fix FORCE_FLAGS on flag context switch.Rob Landley
2015-12-10Expand toys.optargs to 64 bits so people adding more options to ls don't run ↵Rob Landley
out. Keep the low 32 bits of FLAG_x constants as 32 bit numbers so that at least on little endian platforms it's still normal 32 bit math outside of lib/args.c.
2015-08-30Build updates: make change should use top level .config for global settings,Rob Landley
add NOSTRIP variable to force skipping strip, and save intermediate flag data in generated/flags.raw and have mkflags.c error message point to that.
2015-08-08scripts/mkflags.c: add missing unistd.h, ctype.hIsaac Dunham
2015-05-03If a shortopt is configured out right before a bare longopt, the option ↵Rob Landley
parsing infrastructure segfaults because there's no next shortopt but the list isn't empty. (There was a test for this, but we're simultaneously traversing two lists and it was testing the wrong one.)
2015-03-04scripts/mkflags.c : main function need return 0 if normal exitHyejin Kim
2014-12-31Redo option parsing infrastructure so #define FORCE_FLAGS can unzero flag ↵Rob Landley
macros for a disabled command (needed when multiple commands share infrastructure with a common set of flags). This means the flag space is no longer packed, but leaves gaps where the zeroes go. (Actual flag bit positions are the same for all configs.) Since the option parsing needs to know where the holes are, the OPTSTR values are now generated as part of flags.h with ascii 1 values for the disabled values. (So generated/oldflags.h went away.) This also means that the option string argument for OLDTOY() went away, it now uses the same arguments as the NEWTOY() it references.
2014-05-10Catch duplicate command name (which breaks the build already, but doesn't ↵Rob Landley
identify the culprit).
2014-04-09_mkflags_ had an issue for generating FLAG_xxxx macros for long options.Ashwini Sharma
Only the first __long__ option, without any __short__ option had a proper flag value, rest all were defined to ZERO. Becaus the _flist_ was not moved to the next in this case.
2014-03-19There are cases when the long options are of the format abc-def. In current ↵Ashwini Sharma
implementation FLAG_xxx macros are generated for long options too. with __-__ sign in the macro, it will generate errors. I am of the opinion that __-__ be converted to '_' for generating the FLAG_xxx macros and be used in the command. This will enable the user to 'abc-def', but be handled like 'abc_def' in code.
2014-02-24Put all FOR_xxx blocks after all CLEANUP_xxx in generated/flags.h so the ↵Rob Landley
usages don't have to be in alphabetical order.
2014-02-16Make CLEANUP transitions work, so multiple NEWTOY() can exist in the same file.Rob Landley
Don't #undefine TT in the CLEANUP blocks of generated/flags.h, and #ifdef around the other TT definition. That way you can put a union at the start of your GLOBALS() with the arguments filled out by option parsing, and then have multiple main() functions with different argumetns and different FLAG_x macros, while sharing infrastructure that's not under lib.
2014-02-16Various cleanups found by Tom Sparrow's static analysis.Rob Landley
2014-02-08Fix segfault with single build of a command with bare longopts.Rob Landley
2013-10-03Switch flag generation from shell to C.Rob Landley
This should actually generate FLAG_longopt 0 #defines for disabled bare longopts (ala ls without --color). Put temporary executables under "generated" (including instlist for install).