Commit Graph

477 Commits

Author SHA1 Message Date
Denis Vlasenko
eb98be02ac "kernel config" -> "busybox config"
suggested by Roberto A. Foglietta <roberto.foglietta@gmail.com>
2006-11-30 22:40:32 +00:00
Denis Vlasenko
14aa9f7415 build system: Makefiles are in source dir, add $(srctree) 2006-10-31 23:03:09 +00:00
Denis Vlasenko
b54b208d90 Fix largefile breakage; advance version to 1.2.2 2006-10-27 09:05:40 +00:00
Denis Vlasenko
52b5eba715 applets/applets.o must be rebuilt if usage.h is modified. 2006-10-19 22:11:06 +00:00
Denis Vlasenko
4e33e07f60 strip -> $(STRIP); fix "unused variable" warning
(patch by Diekema, Jon (AGRE) <Jon.Diekema@smiths-aerospace.com>)
2006-10-16 18:24:57 +00:00
Denis Vlasenko
665b02cb60 build system: fix build in separate obj tree 2006-10-11 21:24:42 +00:00
Denis Vlasenko
cba9ef5523 fixes from Vladimir Dronnikov <dronnikov@gmail.ru> 2006-10-10 21:00:47 +00:00
Denis Vlasenko
da8f43fd34 build system: fix for non-i386 builds 2006-10-09 19:47:38 +00:00
Denis Vlasenko
bede7d0ebe build system: do not generate include/linux 2006-10-06 16:14:12 +00:00
Denis Vlasenko
8bf7bb8541 yet another fixlet: make clean/distclean/mrproper 2006-10-05 17:42:55 +00:00
Denis Vlasenko
1868409c86 fixing build system overhaul fallout... 2006-10-05 17:11:08 +00:00
Denis Vlasenko
7d219aab70 build system overhaul 2006-10-05 10:17:08 +00:00
Denis Vlasenko
fe54458e46 runit/chpst: "change process state" utility
It's "nice" on steroids - can set uid/gid, mem/cpu limits etc. +3.5k
2006-10-03 15:57:40 +00:00
Bernhard Reutner-Fischer
73561cc75a - pull from busybox_scratch: r15829:15850
Various fixes, cleanups and shrinkage:
saves 952 Bytes:
   text    data     bss     dec     hex filename
1087742   15853  790632 1894227  1ce753 ../busybox/busybox.old
1086790   15853  790632 1893275  1ce39b busybox
via:
# scripts/bloat-o-meter ../busybox/busybox_unstripped.old busybox_unstripped 
function                                             old     new   delta
ipcrm_main                                           756     822     +66
getval                                                 -      61     +61
maybe_set_utc                                          -      40     +40
udhcpc_main                                         2896    2912     +16
md5_hash_block                                       428     437      +9
opt                                                    8      16      +8
qgravechar                                           106     110      +4
make_bitmap                                          292     295      +3
inflate_unzip                                       2056    2059      +3
add_partition                                       1412    1414      +2
__parsespent                                         156     158      +2
qrealloc                                              41      42      +1
format                                                 -       1      +1
catv_main                                            313     314      +1
watch_main                                           293     292      -1
varunset                                              81      80      -1
part                                                   1       -      -1
check_if_skip                                        837     836      -1
start_stop_daemon_main                               840     837      -3
create_lost_and_found                                175     172      -3
supress_non_delimited_lines                            4       -      -4
static.l                                               4       -      -4
static.c                                               5       1      -4
bsd_sum_file                                         237     233      -4
eval2                                                338     332      -6
arithmetic_common                                    166     158      -8
cmpfunc                                               22       5     -17
cksum_main                                           294     275     -19
cmp_main                                             465     439     -26
dd_main                                             1535    1508     -27
rmmod_main                                           376     333     -43
cut_file                                             727     644     -83
ipcs_main                                           3809    3721     -88
cut_main                                             722     614    -108
date_main                                           1443    1263    -180
remove_ids                                           222       -    -222
------------------------------------------------------------------------------
(add/remove: 3/4 grow/shrink: 11/18 up/down: 217/-853)       Total: -636 bytes
2006-08-28 23:31:54 +00:00
Bernhard Reutner-Fischer
82ac9ecfe5 - pgf(?) found and fixed that missing dependency (usage: .config, IIRC), so remove the now unneeded NOTPARALLEL clause 2006-08-28 13:29:41 +00:00
Rob Landley
e6a3fef08c Add busybox_old to distclean. 2006-08-04 20:39:56 +00:00
Rob Landley
91dc086d63 Switch off CONFIG_NITPICK in defconfig. (Kind of the point of CONFIG_NITPICK.) 2006-07-30 18:56:29 +00:00
Rob Landley
1f9145c5c3 More minor tweaks. 2006-07-12 21:31:16 +00:00
Paul Fox
e3324502a5 fix dependencies so that compressed usage gets rebuilt if
a) include/usage.h is changed, and 
    b) after "make clean".
2006-07-06 20:00:43 +00:00
Bernhard Reutner-Fischer
273430aa8d - Pull r15593:
Rename to CROSS_COMPILE and move its configuration to .config.mak. (Shaun Jackman)
2006-07-04 08:26:55 +00:00
Bernhard Reutner-Fischer
fa61ca7591 - add cross-reference generation target.
Experimental.
2006-06-16 17:19:39 +00:00
Bernhard Reutner-Fischer
42f091a761 - let the scripts be prerequisites of the files the generate
- make sure that bbconfig isn't too stupid
2006-06-15 21:35:35 +00:00
Rob Landley
1dea55d577 Fix from Paul Fox to make compressed help text notice config changes. 2006-06-13 14:37:14 +00:00
Bernhard Reutner-Fischer
7b8ff22685 - make VERBOSE= and V= work equally; use BUILD_VERBOSE internally.
- move the link flags to cmd_link* so they are printed when requesting verbose output
2006-06-13 14:20:17 +00:00
Bernhard Reutner-Fischer
e5de38497a - don't check for toolchain-setting for make targets that don't need them
- we already depend on sed, so do away with tr. Avoids pulling in yet another
  dependency.
2006-06-10 14:58:33 +00:00
Rob Landley
0fbe7ddbdd Put the ending quote on the help entry... 2006-05-28 01:40:26 +00:00
Rob Landley
d9872aa0d7 Consolidate the .PHONY targets and add "make baseline" for bloatcheck. 2006-05-27 21:24:16 +00:00
Bernhard Reutner-Fischer
e28d1d6fdc - add target hosttools (see make help)
- rename check_gcc to check_cc and pass the CC to use as arg#1; peruse check_cc for HOSTCFLAGS
- add and use check_strip
- add checks for {,no-}whole-archive and {start,end}-group LD flags
2006-05-26 13:22:57 +00:00
Bernhard Reutner-Fischer
4148afe049 - fix wrong path to scripts/usage; It is in the builddir and not in the srcdir.
- flag .depend as .NOTPARALLEL to workaround bug in make-3.80 and make-3.81
Some more details on the second workaround (i.e. kludge):
make-3.80 silently fails, while make-3.81 is at least self-conscious enough to
admit:
include/usage_compressed.h: .config scripts/usage
#  Implicit rule search has not been done.
#  File does not exist.
#  File has not been updated.
#  Dependencies commands running (THIS IS A BUG).
#  commands to execute (from `/home/cow/src/bb2/Makefile', line 430):
        $(Q)$(SHELL) $(top_srcdir)/scripts/usage_compressed "$(top_builddir)/scripts" > $@

I'm giving up on trying to run the rest of the prerequisites of .depend in
parallel and just (try to) indicate that the prerequisites of .depend are
not to be run in parallel.

While this makes `make distclean defconfig;make -j´ work for me, it is not a
real -- longterm -- solution; FIXME
2006-05-21 15:05:49 +00:00
Bernhard Reutner-Fischer
3c8c0690fd - there is no _usage.h anymore, so don't rm it in distclean. 2006-05-21 10:04:46 +00:00
Bernhard Reutner-Fischer
30ead9a9b9 - do not create usage_compressed.h if CONFIG_FEATURE_COMPRESS_USAGE is not set 2006-05-21 09:02:12 +00:00
Bernhard Reutner-Fischer
1a5eb46820 - there is no "sh". Use $(SHELL) 2006-05-21 08:25:45 +00:00
Bernhard Reutner-Fischer
d8e87a09d1 - forgot to make busybox_unstripped depend on the applets in IMA mode. 2006-05-19 18:37:34 +00:00
Bernhard Reutner-Fischer
351c832d75 - redirect stdout of scripts/config/conf to /nil for
allyesconfig, allnoconfig, defconfig, allbareconfig
- fix invalid call to "make"; use $(MAKE) instead.
2006-05-19 18:33:34 +00:00
Rob Landley
0690d1591f Tabs weren't lining up in the help text. 2006-05-11 17:33:10 +00:00
Mike Frysinger
59e46117b1 clean more files 2006-05-10 05:19:27 +00:00
Bernhard Reutner-Fischer
2431830018 - fix bug in make help introduced by landley in r15022:
Development:
  bloatcheck             - show size difference between busybox_unstripped
  /bin/sh: -c: line 0: unexpected EOF while looking for matching `''
  /bin/sh: -c: line 1: syntax error: unexpected end of file
  make[1]: *** [help] Error 2
  make: *** [help] Error 2
2006-05-09 11:29:56 +00:00
Rob Landley
92d8b35594 Make bloatcheck work when building out of tree. 2006-05-08 20:48:12 +00:00
Mike Frysinger
1b4e1dae71 re-enable udhcp in a few more places 2006-05-08 03:24:36 +00:00
Rob Landley
f8a8084267 Add "make bloatcheck" to run Matt Mackall's bloat-o-meter. Copy an old
busybox_unstripped to busybox_old, build a new version, and "make bloatcheck"
to see a detailed breakdown of the size difference.
2006-05-07 19:26:53 +00:00
Rob Landley
3958e0a151 Busybox's udhcp was deleted a while ago. Bolting an external project onto the
tree doesn't change that.
2006-05-05 18:20:42 +00:00
Bernhard Reutner-Fischer
3916b2a560 - add script to check for missing help entries of config options
Currently we have these errors:

./modutils/Config.in: No helptext for 'CONFIG_FEATURE_QUERY_MODULE_INTERFACE'
./networking/Config.in: No helptext for 'CONFIG_IPADDR'
./networking/Config.in: No helptext for 'CONFIG_IPLINK'
./networking/Config.in: No helptext for 'CONFIG_IPROUTE'
./networking/Config.in: No helptext for 'CONFIG_IPTUNNEL'
./coreutils/Config.in: No helptext for 'CONFIG_UNIX2DOS'
2006-05-04 11:38:33 +00:00
Mike Frysinger
12ef09b818 compile.h is incorrect; create a new do_link.h and use that for bb_mkdep and usage 2006-04-29 04:19:10 +00:00
Mike Frysinger
fe6bb3853c use pretty output for scripts/bb_mkdep and scripts/usage 2006-04-29 04:12:36 +00:00
Rob Landley
7e21d5f6b1 Patch from Dennis Vlasenko to add the option to compress help text. 2006-04-27 23:34:46 +00:00
Bernhard Reutner-Fischer
06a81d368e - patch from Denis Vlasenko to make sizes PHONY and to add objsizes which prints
the sizes of the individual object files.
2006-04-26 10:10:25 +00:00
Mike Frysinger
586ea61284 2006-04-20 Shaun Jackman <sjackman@gmail.com>
* Makefile: Build a bFLT binary.
        * Rules.mak: Ditto.
2006-04-21 01:18:07 +00:00
Bernhard Reutner-Fischer
2b398bec9c - make sure that we see all lib*/.c in IMA-mode even when not building the .so 2006-04-03 21:16:52 +00:00
Rob Landley
786988faf7 Tweak allbareconfig not to pause. 2006-03-22 15:24:24 +00:00
Eric Andersen
a6db0eef59 Willy Tarreau writes:
I encountered a little typo in 'make help' : the prefix was
noted "$prefix" instead of "$(PREFIX)".
2006-03-20 17:50:08 +00:00
Bernhard Reutner-Fischer
a25d83b282 - remove superfluous dependency which was fixed in r14527 2006-03-13 19:30:06 +00:00
Bernhard Reutner-Fischer
df10094870 - revert back to r14406 2006-03-13 19:04:00 +00:00
Rob Landley
19808fea76 "make help" should not build the configurator first. 2006-03-13 03:19:46 +00:00
Rob Landley
9dc6913896 Fix "rm .config;make menuconfig" to work like "rm .config; make" (I.E. do
defconfig first), and group busybox administrative settings into a sub-menu.
2006-03-13 02:52:23 +00:00
Rob Landley
31e3610c4b Cleanup from Paul Fox. One find piped to xargs is faster/simpler than
lots of finds doing individual -exec rm.
2006-03-09 22:01:05 +00:00
Bernhard Reutner-Fischer
07a79e75f5 - backout using features which are not available with the previous stable
version of make (3.71.1).
2006-03-09 09:03:37 +00:00
Bernhard Reutner-Fischer
a59721166a - work around missing features and bugs in make-3.79.1:
- no order-only prerequisites; incomplete workaround (see comment in diff)
- no internal variable MAKEFILE_LIST; workaround
- define bar\nfoo:=<long-list>  doesn't work; workaround
also:
- reinstate clean, distclean as noconfig_target.
- unconditionally clean libbusybox.so*
2006-03-06 14:19:15 +00:00
Mike Frysinger
56ee779074 clean *.osm as pointed out by Robert P. J. Day 2006-03-05 18:04:23 +00:00
Mike Frysinger
33b45a09a1 clean busybox_unstripped as pointed out by Robert P. J. Day 2006-03-05 16:25:19 +00:00
Bernhard Reutner-Fischer
7ad83b4e2c - ar cruP doesn't replace ('r') but unconditionally _adds_ all objects.
landley, that one broke your tar-testing (see below).

To see the issue i was talking about in the comment to rev. 14431, remove the
'P' from ARFLAGS in Rules.mak, then recompile.

You will see undefined references to these symbols:
iplink_main
iproute_main
iptunnel_main
login_main
run_parts_main


These are due to the fact that these applets (named e.g. login.o) clash with
libbb/login.o, for example. So ar sees that we're going to add login.o
(the applet!) and does so. Later on, we add libbb/login.o (just the basename
is used, so login.o). and this libbb/login.o *replaces* the login.o (the
applet!).

I therefor want (you) to rename abovementioned files from libbb to have
a prefix bb_ (e.g. svn mv libbb/login.c libbb/bb_login.c) to avoid these
clashed.

ok?
TIA,
2006-03-03 14:19:15 +00:00
Bernhard Reutner-Fischer
e3ec99de82 - remove unused lists *-m 2006-03-02 18:23:13 +00:00
Bernhard Reutner-Fischer
c8e278f54b - make sure applets.o is rebuilt when the .config changes.
- don't overwrite objects in the archive. Affected applets with name-clash
  mostly vs. libbb:
iplink_main
iproute_main
iptunnel_main
login_main
run_parts_main
2006-03-02 18:13:05 +00:00
Bernhard Reutner-Fischer
9b6b894422 - allow for make /path/to/dir/file.o 2006-03-02 17:38:15 +00:00
Bernhard Reutner-Fischer
cfc5d860e6 Denis Vlasenko writes: make sizes was rebuilding busybox - unstripped one! 2006-03-02 09:44:32 +00:00
Bernhard Reutner-Fischer
5d26126b9e - fixes parallel builds (make -j)
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00
Rob Landley
8bbee85214 defconfig shouldn't enable CONFIG_INSTALL_NO_USR, and while we're at it
remove residue of old defconfig and tweak "make with no config" to run
defconfig before bringing up menuconfig.
2006-02-28 05:26:13 +00:00
Mike Frysinger
611e085c20 kill all .depend files 2006-02-18 20:13:22 +00:00
Mike Frysinger
a568ef2343 hide bb_mkdep build 2006-02-18 20:12:39 +00:00
"Vladimir N. Oleynik"
6732af2766 full removed config.h, use bb_config.h only 2006-02-15 12:29:37 +00:00
Rob Landley
7bfa88f315 New USE() macros
For each CONFIG_SYMBOL, include/bb_config.h now has both ENABLE_SYMBOL
and USE_SYMBOL(x).  ENABLE_SYMBOL is still always defined (1 or 0) so that
if(ENABLE) should optimize out when it's zero.  The USE_SYMBOL(X) will only
splice in X if the symbol is defined, otherwise it'll be empty.

Thus we can convert this:

#ifdef CONFIG_ARGS
    opt = bb_getopt_ulflags(argc, argv, "ab:c"
#ifdef CONFIG_THINGY
        "d:"
#endif
        , &bvalue
#ifdef CONFIG_THINGY
        , &thingy
#endif
    );
#endif

into this:
    if (ENABLE_ARGS) {
        opt = bb_getopt_ulflags(argc, argv, "ab:c" USE_THINGY("d:"), &bvalue
                USE_THINGY(, &thingy));
    }

And it should produce the same code.

Unlike the old versions in include/_usage.h, the new USE_SYMBOL(x) can handle
commas in its arguments (as shown above).  (The _usage.h file is obsolete and
no longer generated.)

Nobody should need to include config.h directly anymore, bb_config.h should
define all the configuration stuff we need.  Someday, the CONFIG_SYMBOL
versions should go away in favor of ENABLE_SYMBOL and USE_SYMBOL().

Thanks to vodz for the new version of bb_mkdep.c that works with function
macros.
2006-02-13 19:16:41 +00:00
Rob Landley
1ab4c3dc25 Help text update and tweak to defconfig to remove two more things that
the "maximum sane configuration" shouldn't have.  (Explicit MTAB support in
mount, which you should only need if you have no /proc, and FEATURE_CLEAN_UP,
which exists to humor valgrind and otherwise just bloats the code).
2006-02-08 18:50:17 +00:00
Mike Frysinger
f37529d6b6 if the .pl script gets updated, force doc regen 2006-02-05 22:15:39 +00:00
Mike Frysinger
b38673fb9f make the build system puuuuuuuuuuurty 2006-02-02 01:41:53 +00:00
Bernhard Reutner-Fischer
81b94960a2 - pass -static via CC rather than LD 2006-01-31 11:29:22 +00:00
Rob Landley
a167ec5e63 Turn defconfig into what make allyesconfig is today. Turn allyesconfig
back into allyesconfig.  (Memo: apparently SELINUX doesn't compile anymore.)

Make defconfig shouldn't switch on libbusybox.so, but allyesconfig does.
2006-01-31 02:42:50 +00:00
Rob Landley
f8fd4db92f Move SUSv2 obsolete feature disabling to debug menu, invert meaning of
symbol (switched on to remove now: test your apps to make sure they _don't_
do this, because as some point we should just yank it), fixup head/tail/fold.

Also tweak "make allyesconfig" so anything starting with CONFIG_DEBUG gets
left switched off.  Possibly other things we want to put in the debug menu?
2006-01-30 01:30:39 +00:00
Bernhard Reutner-Fischer
08a1b5095d - add a macro to check for ld and as flags
Very unreliable as e.g the ld check will see the flags supported by each emulation, not just the active one.
  good enough for now..
  Fix would be to crate one or more dummy .c files and accually try if a flag
  works.
2006-01-27 15:45:56 +00:00
Bernhard Reutner-Fischer
08c5a1789b - Simplify the prereq and add more documentation.
- Fix regex for allyesconfig.
2006-01-25 15:58:04 +00:00
Bernhard Reutner-Fischer
9ed6ac2bea - Turn off combine for allyesconfig and allbareconfig.
The user ought to explicitely request this.
2006-01-24 18:15:20 +00:00
"Vladimir N. Oleynik"
b757699164 Oops, restore tabs 2006-01-23 11:39:05 +00:00
"Vladimir N. Oleynik"
9394b232ef cleanup (dist)clean logic 2006-01-23 11:24:58 +00:00
Bernhard Reutner-Fischer
86f5c9906b - add platform.h.
- use shorter boilerplate while at it.
2006-01-22 22:55:11 +00:00
Rob Landley
7a43bd07e6 Zap sysdeps directory, moving Config.in and defconfig to top of tree.
(Busybox should not be system dependent enough to have different default
configurations for different platforms.  We're not a kernel.)
2006-01-20 17:47:09 +00:00
Bernhard Reutner-Fischer
7ca61b6f33 - shared libbusybox.
- IMA compilation option (aka IPO, IPA,..)
Please holler if i broke something..
2006-01-15 14:04:57 +00:00
Bernhard Reutner-Fischer
26ea0b7f16 - turn off "nc gaping hole" and devfsd in allbareconfig, the latter doesn't
use the FEATURE notation and noone will update it to use it.
2006-01-13 16:25:03 +00:00
Rob Landley
a930bd3332 Stephane Billiart said:
the attached patch makes applet list in busybox.links
correctly include tr and watchdog.
Currently, they don't appear because they are prefixed
with ENABLE_ in include/applets.h
2005-12-16 06:12:46 +00:00
Rob Landley
d4f15e95d6 Install links patch from Yann E. Morin. (Another thing hanging around in my
tree forever.  Tweaked the docs a bit.)
2005-12-02 18:27:39 +00:00
Rob Landley
2d5d88ebc0 Two changes. One from Shaun Jackman makes libbb/interface.c compile only if
it's going to be used.  (I'm guessing it doesn't work with newlib.)

The other one is from me: allyesconfig shouldn't enable devfs because that
changes all sorts of unrelated stuff (like /dev/loop0->dev/loop/0), which
can come as a bit of a surprise.  (It's still there, but you have to go into
menuconfig and select it manually.)
2005-10-25 02:19:55 +00:00
Bernhard Reutner-Fischer
8c7a7e6e63 - split VERSION into parts
- add some filesystem operation wrapper variables for use in the makefiles and
  pull them in early in the toplevel makefile
- use the cross-toolchain for "make sizes"
2005-10-13 10:40:18 +00:00
Bernhard Reutner-Fischer
332fc1006c - remove passing PREFIX and CROSS to make which was added for bug #94.
My recent Makefile touch-up assures that make O=/tmp/o PREFIX=/tmp/i install
  works as expected without this ugly workaround.
2005-10-09 19:12:34 +00:00
Bernhard Reutner-Fischer
be5c10314d - rename bareconfig to allbareconfig and emit "is not set" strings needed for
oldconfig.
2005-10-08 11:08:28 +00:00
Bernhard Reutner-Fischer
a9d8913bc7 - add config target bareconfig. Enables all applets but without any features.
Rob wanted to have regression tests if a bug crops up. Here you are wrt find :)
2005-10-07 18:45:03 +00:00
"Vladimir N. Oleynik"
dfd1eb0387 trim dep lines 2005-10-07 15:53:21 +00:00
Bernhard Reutner-Fischer
4d63525f76 - fix bug #94: 'make install' does not respect PREFIX nor CROSS when using O=
- other minor cosmetic tweaks while at it
2005-10-07 10:53:15 +00:00
Bernhard Reutner-Fischer
e34e8782a9 - support make check V=1 to run the checks in verbose mode
- pass verbose from runtest to testing.sh
2005-10-06 12:48:03 +00:00
Bernhard Reutner-Fischer
14b1c1da9a - remove explicit dependency of busybox.o and applets.o and usage.h from the
Makefile. Instead fix the invocation of bb_mkdep.
2005-10-05 14:52:21 +00:00
Bernhard Reutner-Fischer
b48bfe795e - fix generation of .depend when building out of tree.
point bb_mkdep to the source directory and not the build-directory.
2005-10-05 13:55:45 +00:00
Bernhard Reutner-Fischer
5c071bcf2f - fix building out-of-tree;
to test, checkout the source (let's assume /scratch/src/busybox), then
  mkdir /tmp/bb ; cd /tmp/bb
  make top_srcdir=/scratch/src/busybox O="$(pwd)" -f /scratch/src/busybox/Makefile allyesconfig check
- default to O=$(pwd) if no O was specified. Now you can just specify
  the top_srcdir (without O=/somewhere) to create the obj-tree in pwd.
- make "make configtarget buildtarget" work. Previously this didn't
  work due to how HAVE_DOT_CONFIG was evaluated. Two separate steps were
  needed before, e.g. make config ; make busybox.
- remove some unneeded variables from Rules.mak (BB_SRC_DIR from Mr.
  ldoolitt@recycle.lbl) which suggest that the stuff fixed above
  didn't work before.
- move selinux libraries to where they belong (from Makefile to Rules.mak)
- update the docs to mention svn instead of cvs and provide an example
  for building out-of-tree in INSTALL.
2005-10-05 07:40:46 +00:00
Mike Frysinger
67451849de pass EXTRA_CFLAGS to final link since it may contain things that affect linking (such as -m32) 2005-09-27 04:06:39 +00:00
Bernhard Reutner-Fischer
1c943eb88a - remove unused variable TOPDIR 2005-09-26 16:01:43 +00:00