changeset | 0bf35904cabc |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Yank $STRIP from config (and STRIP=no weirdness) and just allow strip to fail. |
files |
changeset | 2d5e3e345c14 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Add LDFLAGS and STRIP=no support. |
files |
changeset | 543bee60af4c |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Build standalone commands where "depends on" config entries need to be switched on. |
files |
changeset | 5fac2769a159 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Redo option parsing infrastructure so #define FORCE_FLAGS can unzero flag 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. |
files |
changeset | ae9d3ffeecbe |
---|---|
branch | |
bookmark | |
tag | |
user | Elliott Hughes <enh@google.com> |
description | those of us who need to check in generated files find that 'tr' and 'traceroute' keep swapping places. self-inflicted, yes, but not much i can do about it :-( |
files |
changeset | e5d81c69729b |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Oops. xfork() moved to portability.c and the config2help.c build wasn't including that. (Worked until I did a "make clean".) |
files |
changeset | 51b7d1af353b |
---|---|
branch | |
bookmark | |
tag | |
user | Elliott Hughes <enh@google.com> |
description | here's a patch that should let us replace toolbox's chcon. (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? |
files |
changeset | 1250bc526316 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Improve error reporting in parallel build. (On error, wait for all children to finish before exiting.) |
files |
changeset | a34104fc7544 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Add "make change" target to build the big toybox binary as a bunch of little ones (in the "change" subdirectory), and tweak scripts/make.sh to avoid redundant work when rebuilding. |
files |
changeset | 8bf5f528d352 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Delete generated/README.txt (the contents are in code.html now) so clean can just remove the "generated" directory entirely. |
files |
changeset | 93acc6369f4e |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Remove debug echo checked in by mistake. |
files |
changeset | 19435f12ec63 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Give library probe a progress indicator, and use 150% of detected CPUs to try to keep large SMP machines busy (each compiler invocation is short so they exit almost as fast as we launch them). |
files |
changeset | 4f25d3a3eda9 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Create a generated/build.sh with a single compiler command line to rebuild 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.) |
files |
changeset | 558b990afadc |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Oops, unbreak make.sh. Clearing out old .o files needs -r now that generated/obj has its own subdirectory. (Works if you make clean between, but shouldn't need it.) |
files |
changeset | aa0ae038e275 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Make tweaks: collate generated/*.o files into their own subdirectory, add PIPEFAIL for better error reporting, and simpler regex to select toys/*/*.c list based on NEWTOY/OLDTOY macros. |
files |
changeset | 4428d64c0c40 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Don't hang for $CPUS=1. echo prints a newline if it has nothing to print, so wc -l always returns at least 1. Fix: echo -n |
files |
changeset | ab91ee85afbd |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | More parallel build tweaks. echo "$PENDING" needs the quotes to avoid gluing the lines together, which prevents wc -l or head -n +2 from working right. |
files |
changeset | 5f9fbf75ad34 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Old compilers complain about linker options passed with -c, so split out $LDOPTIMIZE. |
files |
changeset | 0089cd84afea |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Another fix from Johan Bergstr?m, using the gnu/dammit version of sort on the host can be screwed up by more than one environment variable. |
files |
changeset | f46ccbcf3f13 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Fix parallel make not always catching errors before link time. jobs -p removes finished jobs from the list after reporting them once, so we need to record the output and remove duplicates ourselves. |
files |
changeset | e66fb422b78a |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Parallelize the build. (set CPUS=1 to force single processor build, or another number to override processor count autodetect.) |
files |
changeset | 2538fa09b1b1 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | host needs -lresolv |
files |
changeset | ad7d75f97029 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Pass the same $CFLAGS to the library probe as the final build, to work with broken build environments that provide different libraries for --static and dynamic builds. |
files |
changeset | 1c4c893d4e72 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Fix header file generation to not be confused by empty (but non-NULL) option string. You shouldn't use "" as an option string because a NULL allows toy_init() to avoid calling the option parsing logic entirely, which lets it drop out when nothing's using it (ala scripts/single.sh builds). That said, init.c is currently using a "" option string and a USE_ macro taking advantage of string concatenation may require a "" option config, so... |
files |
changeset | c86b1579c383 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | CLEANUP transitions require all the generated/flags.h stanzas always be present (even for commands disabled in the config) to avoid undefined symbol errors referencing FLAG_ macros. |
files |
changeset | 855b706d10dc |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Use right config for single builds. |
files |
changeset | 260cce6c3e35 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Replace python help converter with C implementation. |
files |
changeset | db517206d752 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Cosmetic tweak. |
files |
changeset | 2213cedd15b4 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Older python spit --version to stdout, 2.7 does it to stderr. Of course. |
files |
changeset | 3570984a1015 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Regression test against Ancient Build Environment (Ubuntu 8.04), fixup bit-rot. |
files |
changeset | 370f15d1ece1 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Don't use $CC without $CROSS_COMPILE because $HOSTCC could be something else entirely. |
files |
changeset | 1c15ba60aa64 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Switch flag generation from shell to C. 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). |
files |
changeset | 82c5eb459a91 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Fix generated/oldtoys.h to contain option strings with USE() macros in them. |
files |
changeset | 626cc2108480 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Allow shipped generated/help.h to still be used, until I rewrite the generator in C. |
files |
changeset | 223df8e9c694 |
---|---|
branch | |
bookmark | |
tag | |
user | Elie De Brauwer <eliedebrauwer@gmail.com> |
description | make.sh: Fix probing for python2.x and be verbose in error reporting |
files |
changeset | af1780148f7c |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Implement ls --color=auto, suggested by Rich Felker. |
files |
changeset | 40d0c96a8e89 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Add scripts/single.sh to build individual non-multiplexed standalone commands. Alas, you can't quite do this yet: make defconfig make for i in $(./toybox) do echo $i PREFIX=singles/ scripts/single.sh $i || break done Because the OLDTOY() aliases for commands won't build without the base command. And I can't just skip them because chown/chmod or mv/cp aren't the same thing. |
files |
changeset | 0af2375a8ef8 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | More grep cleanup, and make OPTSTR_command macros for use with OLDTOY() |
files |
changeset | 0d20619388b3 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Juhani Haverinen pointed out that python 3 doesn't work with config2help.py, so you python2 binary until finishing the C rewrite. |
files |
changeset | 86470ea03bc5 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Don't make a FLAG_ macro for " ", it's a control character, doing so throws the indexes off. Reported by Ashwini Sharma. |
files |
changeset | 39ac9e0ad6ad |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Generate FLAG_longopt macros for --longopts with no corresponding short option. |
files |
changeset | f2a8f8981c83 |
---|---|
branch | |
bookmark | |
tag | |
user | Felix Janda <felix.janda@posteo.de> |
description | generated/help.h depends on CONFIG_TOYBOX_HELP |
files |
changeset | c7e7b159568d |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | The host sort on many distros behaves stupidly, and sorts stuff in non-ascii order by default. Make it stop. |
files |
changeset | e2eb80481afc |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Use the specified compiler for preprocessing. |
files |
changeset | a950dd960593 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Cleanup i18n support (#ifdefectomy, move global init to process launch). Teach make.sh to emit "#define FLAG_x 0" for options inside disabled USE macros so we can unconditionally refer to them. |
files |
changeset | 3e81cd0bad4b |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Teach option parsing about [groups] of related options. |
files |
changeset | 7e846e281e38 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | New build infrastructure to generate FLAG_ macros and TT alias, #define FOR_commandname before #including toys.h to trigger it. Rename DEFINE_GLOBALS() to just GLOBALS() (because I could never remember if it was DECLARE_GLOBALS). Convert existing commands to use new infrastructure, and replace optflag constants with FLAG_ macros where appropriate. |
files |
changeset | c60ac785784f |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Add switch_root and fix infrastructure to understand name "switch_root". |
files |
changeset | 04feab07416c |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Teach build to compare toys/*/*.c against .config symbol names instead of stopping at first _ when assembling list of files to build, and convert - to _. This lets us have commands like switch_root or nbd-client. |
files |
changeset | 2986aa63a021 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Move commands into "posix", "lsb", and "other" menus/directories. |
files |
changeset | d8566c3321f0 |
---|---|
branch | |
bookmark | |
tag | 0.3.0 |
user | Rob Landley <rob@landley.net> |
description | Multiplexer needs stayroot flag for suid handling. |
files |
changeset | 1e07220fd3b6 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Probe available libraries to link --as-needed, avoiding "unknown libarary" errors. |
files |
changeset | 8a88a9e3c30b |
---|---|
branch | |
bookmark | |
tag | |
user | Elie De Brauwer <eliedebrauwer@gmail.com> |
description | Adding initial version of login.c |
files |
changeset | 05617db1a337 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Teach make.sh to create flag macros, but with the wrong names. Dunno how to make a translation macro or #ifdef guard to get the names right so they actually be _used_ yet... |
files |
changeset | 878b94b32866 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Comment and whitespace tweaks. |
files |
changeset | 9bcc288a1c54 |
---|---|
branch | |
bookmark | |
tag | 0.2.1 |
user | Rob Landley <rob@landley.net> |
description | Fix from Georgi Chorbadzhiyski to make cross compiling more robust. |
files |
changeset | f59b4b6bde5e |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Add V=1 support to make. |
files |
changeset | 6df3ac5165fa |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | The "strip" in gcc 4.4 doesn't set the executable bit on its output, despite what SUSv4 says it should do, so cope with buggy FSF tools. |
files |
changeset | 52e980b216d3 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Convert non-bool config values (such as int) into config.h entries. |
files |
changeset | d0bf1df83c04 |
---|---|
branch | |
bookmark | |
tag | |
user | Rob Landley <rob@landley.net> |
description | Re-wordwrap and reorder the .config->config.h sed script. (No real changes, just one command/line in a clearer order.) |
files |