Commit Graph

420 Commits

Author SHA1 Message Date
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
Rob Landley
d24eaac9e6 add "make help" 2005-09-26 15:49:41 +00:00
Mike Frysinger
de242f6d5f this should fix parallel building with .depend/bb_config.h 2005-09-25 04:53:35 +00:00
Mike Frysinger
016d6289a1 fix parallel building again 2005-09-24 06:15:23 +00:00
Mike Frysinger
ce0cf1d44b make test an alias for check 2005-09-24 05:47:52 +00:00
"Vladimir N. Oleynik"
cef737f038 moved include/bbconfigopts.h from miscutils to to top Makefile before generate .depend. Remove allyesconfig build problem, noticed by Bernhard Fischer 2005-09-21 07:49:34 +00:00
Rob Landley
90252bb4c9 The testsuite/links directory wasn't being created. 2005-09-20 14:09:57 +00:00
"Vladimir N. Oleynik"
4a5d95d3fb corect build bbconfig applet, Thanks, Bernhard Fischer 2005-09-19 16:18:46 +00:00
"Vladimir N. Oleynik"
5e60dc4a20 new my scripts/mm_mkdep, dependences work now 2005-09-12 12:33:27 +00:00
Rob Landley
a7e14db495 This combines a patch from Bernhard Fischer (moving the clean of
scripts/config from distclean to clean) with a sed consolidation that's
been in my tree for a bit, and switching the GPL boilerplate to just point
at LICENSE.
2005-09-11 01:16:47 +00:00
Rob Landley
1689075c99 Working on a new test harness. Moved the sort tests into it. 2005-09-02 00:41:53 +00:00
Rob Landley
ac692b2cf7 Bernhard Fischer sent a patch to make "make sizes" work when building in
another output directory.
2005-09-01 02:40:21 +00:00
Rob Landley
d9f7165de1 Dumb little hack, "make sizes". Try it. 2005-08-28 08:24:21 +00:00
Rob Landley
e1d9633e20 Bernhard Fischer submitted a couple of Makefile patches:
- Fix building out-of-tree
- remove duplicate rule in toplevel Makefile
- peruse make's builtin notion of `dirname $@'
2005-08-24 00:41:52 +00:00
Eric Andersen
4306bb13f6 When doing 'make release' nuke the .svn directories, not the
CVS dirs (since they are no longer present)
2005-08-17 00:03:23 +00:00
Mike Frysinger
f9bd87b0a7 make sure distclean punts include/bbconfigopts.h 2005-08-11 21:59:52 +00:00
Rob Landley
157e8071be In bb_config.h, replace AUTOCONF_INCLUDED guard with the more reasonable and
obvious (and less side-effect prone in strange build environments) BB_CONFIG_H.

Yeah, I know Erik ripped it out of our copy of menuconfig (which is a good
thing), but that doesn't fix people whose headers have it inherited from
linux-kernel headers or old versions of uclibc, and Erik's fix could easily
get forgotten and reverted the next time we update menuconfig anyway...
2005-08-02 10:02:23 +00:00
Mike Frysinger
f1dbd4a6f7 fix bbconfigopts.h depend 2005-08-01 20:49:32 +00:00
Mike Frysinger
fcafa4bfc1 screw around with whitespace 2005-08-01 20:48:00 +00:00
Paul Fox
79c142d938 new config display applet, from bug 46. i've changed the name
of the applet from "config" to "bbconfig", and renamed the
source filenames and symbols to match appropriately.
2005-08-01 16:04:40 +00:00
Mike Frysinger
9d6e0833bc patch by pkj in Bug 3 to not export all make variables 2005-07-31 22:50:17 +00:00
Mike Frysinger
c99e2c5f4c dont output anything when running in silent mode 2005-07-28 22:14:35 +00:00
Rob Landley
ef8f423e90 Erik pointed out that in the last try at the #ifdef cleanup
infrastructure, the compiler isn't smart enough to replace const static 
int with the constant, and allocates space for each set of them, 
bloating the executable something fierce.  Oops.

So now, we #define ENABLE_XXX to 0 or 1 for each CONFIG_XXX (which
is still there so the 1000+ #ifdef/#ifndef tests don't have to be
replaced wholesale).  Changed the test instance in networking/ifconfig.c 
to use this.
2005-07-28 19:36:33 +00:00
Rob Landley
193c8c7383 #ifdef reduction infrastructure, based on an argument between Shaun Jackman,
Rob Landley, and others.

Currently CONFIG options are defined or undefined, so we chop out code with
#ifdefs, ala:
#ifdef CONFIG_THING
  stuff();
#endif

This creates a new header file, bb_config.h, which sets the CONFIG entry to 1
or 0, and lets us do:

  if(CONFIG_THING) stuff();

And let the compiler do dead code elimination to get rid of it.  (Note: #ifdef
will still work because for the 1 case it's a static const int, not a #define.)
2005-07-27 06:55:36 +00:00
Mike Frysinger
e9903cfa0f move config.h requirement to the actual .depend target rather than the depend alias 2005-06-11 00:13:58 +00:00
Rob Landley
60158cb93e A patch from Takeharu KATO to update/fix SE-Linux support. 2005-05-03 06:25:50 +00:00
Mike Frysinger
d89e629e52 add new subdir for e2fsprogs 2005-04-24 05:07:59 +00:00
Eric Andersen
bcf27247d1 Remove whitespace 2005-02-13 22:15:59 +00:00
Peter Kjellerstedt
88da3ef506 Correct the install-hardlinks target the same way as was already done
for the install target.
2004-11-02 09:05:22 +00:00
Eric Andersen
6302486ce6 egor duda writes:
egor duda wrote:
>Ok, here's an updated patch.
>'make check' should work now, and one make creates Makefile in build
>directory, so one can run 'make' in build directory after that.

ahem. It looks like i'm slightly late with it but... Here's a little
addition to make 'make O=/some/where PREFIX=/some/where/else install'
work. Sorry for delay :(

egor
2004-10-13 17:45:57 +00:00
Eric Andersen
7daa076d3e egor duda writes:
Hi!

I've created a patch to busybox' build system to allow building it in
separate tree in a manner similar to kbuild from kernel version 2.6.

That is, one runs command like
'make O=/build/some/where/for/specific/target/and/options'
and everything is built in this exact directory, provided that it exists.

I understand that applyingc such invasive changes during 'release
candidates' stage of development is at best unwise. So, i'm currently
asking for comments about this patch, starting from whether such thing
is needed at all to whether it coded properly.

'make check' should work now, and one make creates Makefile in build
directory, so one can run 'make' in build directory after that.

One possible caveat is that if we build in some directory other than
source one, the source directory should be 'distclean'ed first.

egor
2004-10-08 07:46:08 +00:00
Eric Andersen
138791050d Improve the setuid situation a bit, and make it more apparent
when people really ought to make busybox setuid root.
 -Erik
2004-08-26 23:13:00 +00:00
Eric Andersen
8f41bfc05c The 'tests' target is long gone. 2004-07-20 06:04:28 +00:00
Eric Andersen
f730088bbc Eliminate all trace of the sgml based docs. It was a noble effort,
but it just never worked out...
2004-04-06 15:26:25 +00:00
Eric Andersen
515881c6e1 Fix it so build dependancies actually work and do something useful 2004-04-06 15:19:52 +00:00
Eric Andersen
674b08a6b8 Fix it so usage is _always_ in sync with applets.c. Previously,
broken depends allowed these to get out of sync.
2004-04-06 14:28:35 +00:00
Eric Andersen
b07ae7ba10 Yet more 'make allyesconfig' adjustments 2004-04-06 11:51:45 +00:00
Eric Andersen
8ee6943d3e Make 'allyesconfig' be a bit less stupid 2004-04-06 11:46:56 +00:00
Eric Andersen
c7bda1ce65 Remove trailing whitespace. Update copyright to include 2004. 2004-03-15 08:29:22 +00:00
Glenn L McGrath
0874a613d2 Use the PROG variable instead of 'busybox' in the release target 2003-11-17 10:26:43 +00:00
Glenn L McGrath
6376b583e2 Use a variable for the config files, makes it easier to syncronise with
debian builds
2003-09-24 15:48:29 +00:00
Glenn L McGrath
d72e34c752 Patch by Steinar H. Gunderson to fix debian bug #211675.
Linking to my_getgrnam from libpwdgrp wasnt working, instead it was
trying to use functionality from glibc, which pulled in libnss.
2003-09-20 00:59:35 +00:00
Glenn L McGrath
b19c73dee6 Change make to $(MAKE), patch by Hideki IWAMOTO 2003-08-29 13:25:55 +00:00
Glenn L McGrath
87470def24 * Since busybox binary is unnecessary, deleted it from prerequisites.
* Changed so that not only links but /bin/busybox might be deleted.
* When double quoted PREFIX is defined by `.config' is used,
  `make uninstall' does not work correctly.
  When default PREFIX `pwd`/_install defined by Rules.mak is used,
  similarly it does not work correctly.
  Changed $$PREFIX into $(PREFIX) in order to fix this.
Patch by Hideki IWAMOTO
2003-08-29 12:20:31 +00:00
Eric Andersen
24e098a77d Fixup 'make clean' to properly clean the _install directory 2003-08-22 20:53:38 +00:00
Eric Andersen
eac20451d2 Set libbb dead last in the link order 2003-07-29 07:45:05 +00:00
Eric Andersen
d4fcb80609 Yet more preparation to make a release... 2003-07-15 00:28:26 +00:00
Eric Andersen
cb81e6484d Update a bunch of docs. Run a script to update my email addr. 2003-07-14 21:21:08 +00:00
Eric Andersen
9e48045e45 Patch from Russell Coker:
I've attached my latest SE Linux patch for busybox against the latest CVS
    version of busybox.
2003-07-03 10:07:04 +00:00
Eric Andersen
1c25ba9de1 Oops. As Andrew Dennison just noticed, I left a stray
space in the Makefile, thereby totally breaking it.
2003-06-25 05:18:48 +00:00
Eric Andersen
b6071ea5cb Regenerate the busybox.links file when the .config changes 2003-06-25 03:26:04 +00:00
Manuel Novoa III
cad5364599 Major coreutils update. 2003-03-19 09:13:01 +00:00
Glenn L McGrath
3238ea1673 Merge fileutils, textutils and shellutils into coreuils 2003-02-15 10:53:40 +00:00
Eric Andersen
a99534354a Don't wipe the config system on 'make clean' 2003-01-27 22:11:59 +00:00
Eric Andersen
92a06d0943 Clean config binsries on 'make clean' 2003-01-14 08:52:18 +00:00
Eric Andersen
aaab46baba Fix an obvious mistake 2003-01-11 18:02:51 +00:00
Glenn L McGrath
4d7f965c8e Adjust for new .depend target 2002-12-20 10:06:38 +00:00
Glenn L McGrath
e86e4a2282 busybox target wasnt checking .depend, clean kbuild binaries only on distclean 2002-12-20 06:03:47 +00:00