aboutsummaryrefslogtreecommitdiff
path: root/scripts
AgeCommit message (Collapse)Author
2015-12-16Don't discard previous block when mkstatus finds another span tag with same id.Rob Landley
2015-12-13Start of TAGGED_ARRAY() infrastructure.Rob Landley
This lets you have struct arrays with a string as the first member, ala: struct {char *name; int x, y} blah thingy[] = TAGGED_ARRAY(BLAH, {"one", 1, 2}, {"two", 3, 4}, {"three", 5, 6} ); And it produces #defines for the array index of each, ala: #define BLAH_one 0 #define BLAH_two 1 #define BLAH_three 2 So you can use thingy[BLAH_two].x and still reorder the elements at will. Note: if you screw up the array initializers, temporarily replace TAGGED_ARRAY(BLAH, with { and the ); with }; and the compiler will give you better error messages. (With the macro the compiler reports errors on the TAGGED_ARRAY line, not where the comma is missing in its contents.) Currently the TAGGED_ARRAY( and ); must be on their own lines, and the { and start of each attached string must be on the same line.
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-11-02Don't pass target $CFLAGS to host builds (telling x86 compiler to be big-endianRob Landley
seldom ends well). Instead add -DBUILD_FOR_HOST to $HOSTCC and wrap #ifdefs around problematic (smack) includes from toys.h.
2015-10-30Now that toybox is chmod -w, mv needs -f to overwrite it.Rob Landley
2015-10-29Tweak permissions of toybox binary.Rob Landley
2015-10-14make.sh: missing cflags for config2helpAlejandro Joya
config2help might require extra parameters to be passed to the compiler. For example it might need an additional header path.
2015-09-29Make defconfig build for nommu.Rob Landley
Adds XVFORK() macro, teaches xpopen_both() to call /proc/self/exe with NULL argv (and converts cpio -p to use that), adds TOYBOX_FORK guards to some unconverted commands.
2015-09-23The -o /dev/null trick in probing isn't compatible with elf2flt, so use ↵Rob Landley
tempfile.
2015-09-11Replace toys.exithelp with help_exit() in lib.Rob Landley
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-29Menuconfig option for musl-libc pretending mmu is just pining for the fijords.Rob Landley
2015-08-08scripts/mkflags.c: add missing unistd.h, ctype.hIsaac Dunham
2015-08-05Cosmetic tweak: newline at the end of "make change".Rob Landley
2015-07-06Save failure reason for each make change .bad file.Rob Landley
2015-07-03Probe for fork() instead of relying on a distro-specific #define.Rob Landley
2015-06-25Suggestion from Elliott Hughes: tweak test infrastructure to notice ifRob Landley
command exits with high errno and assume it segfaulted.
2015-05-31Redo mkstatus.py to grep pending for pending data and trust toyboxRob Landley
defconfig output for ready command list, to reduce manual updating.
2015-05-09Probe for -Wno-string-plus-int.Rob Landley
LLVM has its own nuts warnings about things that aren't wrong, but disabling them with the relevant -Wno-* warning disabling command line option drives gcc nuts because it's a command line option it doesn't recognize. (gcc 4.2.1 dies with an error. gcc 4.6 warns about it _only_ if it's warning about something else. (PICK ONE, either you warn about this or you don't, distract people from actual problems with noise about something clearly unrelated to what just changed is extra-stupid.) So just probe for it, and add the flag only if it doesn't complain about it while we're producing an unrelated warning.
2015-05-03Yank smack from singleconfig.Rob Landley
Need to come up with a better solution to this, but the problem is that single.sh's symbol enabling isn't dependency aware, and "silentoldconfig" prompts. I suspect the better solution is "write a kconfig replacement".
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-04-19Cleanup getprop, add qstrcmp() to lib for qsort (because posix-2008 brokeRob Landley
alphasort), add compile-time probe for config symbol TOYBOX_ON_ANDROID.
2015-04-17Link against libattr and libsmack.Xavier Roche
2015-04-17Make toybox --version use the "git describe" info if it's available.Rob Landley
2015-03-06Yank $STRIP from config (and STRIP=no weirdness) and just allow strip to fail.Rob Landley
2015-03-04scripts/mkflags.c : main function need return 0 if normal exitHyejin Kim
2015-02-28Add LDFLAGS and STRIP=no support.Rob Landley
2015-02-14Fix --help for single.sh builds.Rob Landley
2015-02-14Move guts of "make change" to scripts/change.sh, don't try to build sh or ↵Rob Landley
help standalone. sh builtin commands need multiplexer, help describes other enabled commands.
2015-02-07Build standalone commands where "depends on" config entries need to be ↵Rob Landley
switched on.
2015-01-16AOSP master has <pty.h> and builds netcat/nc.Elliott Hughes
2015-01-02Need to update install.c for the changed OLDTOY() argument list.Rob Landley
2015-01-01Tweak status.htmlRob Landley
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-12-23those of us who need to check in generated files find that 'tr' andElliott Hughes
'traceroute' keep swapping places. self-inflicted, yes, but not much i can do about it :-(
2014-12-13Oops. xfork() moved to portability.c and the config2help.c build wasn't ↵Rob Landley
including that. (Worked until I did a "make clean".)
2014-12-11here's a patch that should let us replace toolbox's chcon.Elliott Hughes
(it also adds a feature, -R, because toybox makes that so easy.) you'll probably want fancier configuration here because although the --as-needed works okay, a typical Ubuntu box will have the .so but not the .h files. i did consider adding a toys/selinux/ directory, but given that existing tools like ls and id will want -Z SELinux options, i wasn't sure whether you'd think it was worth segregating the SELinux-only toys. note that this won't help the tizen smack users (and patch for smack won't help SELinux users). so you might want to think about where you'd like us to be aiming: #if USE_SELINUX/USE_SMACK in all the relevant places, or a toys/selinux and a toys/smack (though we'd still need #if in at least ls and id), or a lib/security.c that concentrates all the differences into one file?
2014-11-28Improve error reporting in parallel build. (On error, wait for all children ↵Rob Landley
to finish before exiting.)
2014-11-28When running a test, the diff is always an ascii diff, not binary.Rob Landley
2014-11-28Add "make change" target to build the big toybox binary as a bunch of little ↵Rob Landley
ones (in the "change" subdirectory), and tweak scripts/make.sh to avoid redundant work when rebuilding.
2014-11-19Fixups for the android/bionic build probes patch.Rob Landley
The CFG_* symbols are always defined so if() can use them as compile-time constants, so don't if defined() them. Doing USE_BLAH() around variable definitions opens up the same potential for config-dependent build breaks as #ifdefs do, just make the whole command depend on the symbol for now, factor out the utmpx infrastructure later. The PTY probe was always failing because it used NULL without #including the header that defines it. Substitute 0 instead.
2014-11-19probe for getspnam(), forkpty(), utmpx, replace sethostname()Isaac Dunham
Android is missing all of these; we need to probe for some so we have a config symbol to depend on. sethostname() is easily replaced. We got termios.h via pty.h; now it's not included in configure-step tools, so we need termios.h to generate globals.
2014-11-14Add color support for scripts/test.sh and new SKIP_HOST for tests expected ↵Rob Landley
to fail on non-toybox implementations.
2014-09-27Multi-build single.sh should exit with an error when build breaks.Rob Landley
2014-09-27Allow single.sh to build more than one command per invocation.Rob Landley
2014-09-20Delete generated/README.txt (the contents are in code.html now) so clean can ↵Rob Landley
just remove the "generated" directory entirely.
2014-09-20Remove debug echo checked in by mistake.Rob Landley
2014-09-20Move testsuite out of scripts/test into its own top level tests directory, ↵Rob Landley
and make ctrl-c kill "make test" more reliably.
2014-09-20Give library probe a progress indicator, and use 150% of detected CPUs to ↵Rob Landley
try to keep large SMP machines busy (each compiler invocation is short so they exit almost as fast as we launch them).
2014-09-11Create a generated/build.sh with a single compiler command line to rebuild ↵Rob Landley
the toybox_unstripped binary using the existing generated/*.h files. This way we can snapshot the generated/*.{h,sh} from a defconfig build into a "shipped" directory or something, and then people can maybe build on crazy crippled environments like pcbsd that haven't got gmake and put bash under /usr/local so none of the #!/scripts can find it. This solves at least part of the "toybox can build with itself but you need to build toybox first to have the tools to run the build scripts" problem. Next up: work out the minimal config to provide the build tools needed to run an actual build. (This should, eventually, include a "make" command if freebsd's kernel is going to refuse to build with netbsd's "make" and we don't just write off the whole thing as crazy. But it probably shouldn't include commands that #include <linux/*.h> if we are trying to make that work.)