Commit Graph

114 Commits

Author SHA1 Message Date
Bernhard Reutner-Fischer
a528643330 - gcc-2.95 doesn't support -static-libgcc
- remove Winline
2006-09-21 11:54:51 +00:00
Rob Landley
f5bbc692a0 Bernhard Fischer complained about moving --sort-common. 2006-08-30 16:50:00 +00:00
Rob Landley
1fdd83f897 There's some strange bug in glibc that triggers if you combine the
--gc-sections linker flag with static linking.  If this happens, then
the "stdout" variable (used by printf() and such) will only work if stdout
is _not_ redirected.  I.E "./busybox" prints stuff, but "./busybox | cat"
does not produce any output.  (But even when redirected, "write(1,"blah",4);"
continues to work just fine.)

This is clearly a glibc bug, but to avoid triggering it I've moved the
--gc-sections flag so it only gets added when we're not statically linking.
If somebody would like to go poke Ulrich Drepper, you can trivially reproduce
this with a "hello world" program, ala:

  gcc -static -Wl,--gc-sections hello.c &&  (./a.out | cat)
2006-08-29 21:46:10 +00:00
Bernhard Reutner-Fischer
31e2c00ec3 - set version back to 1.2.0 like it was before. Add at least -svn to the Extraversion to be able to distinguish it from the now old 1.2.0 release 2006-08-29 20:21:33 +00:00
Mike Frysinger
6ce8dae1d5 need libsepol in addtion to libselinux 2006-08-28 23:24:38 +00:00
Bernhard Reutner-Fischer
99b706858b - do maintainers duty by bumping version to 1.3.0-pre0;
pullup r15828 from busybox_scratch
2006-08-28 21:21:25 +00:00
Rob Landley
43ee36c6da Yann E. Morin spotted a broken check_ld macro. 2006-08-20 23:13:33 +00:00
Bernhard Reutner-Fischer
71193a853d - remove CRIS specific CFLAG from generic flags-checking. 2006-08-18 17:44:52 +00:00
Rob Landley
533320c659 1) ifeq is make syntax, #ifeq is a make comment.
2) The check_cc macros should probably all have the same number of arguments.
3) Move the -Werror into the gcc 4.0 on i386 test, because gcc 4.1 is broken
and produces warnings for things that provably aren't incorrect.

In other news it would be nice if our check_ld macro actually did something,
and why does or makefile do all the check_cc calls, then call itself as if
it's building out of tree, then do all the check_cc calls again?
2006-07-31 22:56:17 +00:00
Rob Landley
25c194fd19 Add -Werror. 2006-07-16 08:03:29 +00:00
Rob Landley
4ae905a31c Minor build tweaks that save 1100 bytes building busybox on Ubuntu 6.06. 2006-07-06 17:22:54 +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
Rob Landley
01772aea33 Annoint 1.2.0. 2006-06-30 22:40:13 +00:00
Rob Landley
1fa4a9448b Patch from Shaun Jackman to replace CFLAGS_EXTRA with .config.mak 2006-06-22 22:05:00 +00:00
Rob Landley
7900b7b9b9 Use -ffunction-sections -fdata-sections --gc-sections if the compiler supports
it.  If nothing else, this gives us better granularity in bloatcheck.
2006-06-13 16:17:16 +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
081b1ac6b4 - invert logic for nocheck_targets to exclude the empty default target. 2006-06-11 16:41:10 +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
Bernhard Reutner-Fischer
077368194c - cleanup conftest temporary files. 2006-05-29 20:01:52 +00:00
Bernhard Reutner-Fischer
01d23ade57 - add central knob to turn off getopt_long everywhere. EXPERIMENTAL!
Adds "Enable getopt long" under "General options", default y.
  Send patches to fix getopt_ulflags and run_parts.c if you turn this off..
  See http://busybox.net/lists/busybox/2006-May/021828.html for a start to run-parts
2006-05-26 20:19:22 +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
Rob Landley
282a26b8ba The one line fix to Bernhard Fischer's "profoundly". 2006-05-15 18:38:11 +00:00
Mike Frysinger
8d2cb8be3b back out default implicit %.o rule for now 2006-05-11 05:33:31 +00:00
Mike Frysinger
6143c0719b add implicit rule for %.a to help debugging in subdirs 2006-05-10 18:12:16 +00:00
Mike Frysinger
673c9443ba add a default .o rule for easier debug 2006-05-10 17:12:12 +00:00
Rob Landley
c503df5bdd Split CONFIG_DEBUG from CONFIG_DEBUG_PESSIMIZE, and consolidate some Rules.mak
stuff along the way.
2006-05-09 22:08:56 +00:00
Bernhard Reutner-Fischer
45d545890f - fix build 2006-05-08 20:20:32 +00:00
Rob Landley
d61b8d8f9b The changes svn 14960 made to Rules.mak broke building out of tree
(with O=directory), and reverting them fixes building out of tree.  I'd be
happy to fix them up instead of reverting them if I had the foggiest idea
what they were trying to do, but I don't, and this at least gets building
out of tree working again...
2006-05-08 18:18:02 +00:00
Rob Landley
a389651115 Remove bb_strlen() in favor of -fno-builtin-strlen. Saves as many bytes
as the old optimization did (actually does slightly better under gcc 4.0), and
simplifies the code.
2006-05-07 20:20:34 +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
Bernhard Reutner-Fischer
3737c03630 - rerun gcse pass after reload, enable whole-program iff we are not building
the lib (due to bug in gcc; see comment.)
I would have run the testsuite to check if everything is still behaving, but
unfortunately i cannot run the testsuite anymore: it just sits there and does
nothing even with a pristine checkout and an old gcc.
srcdir=/tmp/busybox/testsuite /tmp/busybox/testsuite/runtest 
PASS: Applet order
FAIL: Common typos
PASS: Obsolete function usage
PASS: Obsolete function usage
<spins, ^C>
make[1]: *** [check] Interrupt
make: *** [check] Interrupt

I've just corrected that wrong double-printing.

Anyway. with gcc-4.1-HEAD from earlier today, we now have for
defconfig+ COMPILE_AT_ONCE:


880 -rwxr-xr-x  1 433 433 893476 Apr 28 21:41 busybox.oorig-4.0
860 -rwxr-xr-x  1 433 433 874560 Apr 28 21:36 busybox.oorig
844 -rwxr-xr-x  1 433 433 858752 Apr 28 21:49 busybox

   text    data     bss     dec     hex filename
 879920   11568 1039148 1930636  1d758c busybox.oorig-4.0
 862802   10192 1038796 1911790  1d2bee busybox.oorig
 848066    9100 1037536 1894702  1ce92e busybox

values for 4.0.2 just added for reference..
2006-04-28 20:02:29 +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
Rob Landley
5076eb4af9 svn 14824 broke -funsigned-char and possibly building out of tree, because
$(srcdir) can't bind early since it's set to a different value in each subdir.
If it binds early, it's blank, hence an empty -I which eats the next option
as a directory to look for #include files in.

So CFLAGS has to bind late, but the check_gcc stuff should only get run once.
I added a "make V=2" mode to show when check_gcc gets run, and turned WARNINGS
into a CFLAGS line since it was always getting added anyway.
2006-04-19 20:32:27 +00:00
Bernhard Reutner-Fischer
d0ea52ee04 - pin the CFLAGS to make sure that we don't have to re-evaluate the
check_gcc over and over again. Makes make -j work for me..
2006-04-11 20:48:24 +00:00
Bernhard Reutner-Fischer
7f77810633 - switch Warning Of the Week to wrong or missing prototypes.
e.g. archival/uncompress.c wrongly includes libbb.h instead of busybox.h
  decompress_bunzip2.c,open_transformer.c don't include the proper "unarchive.h"
  etc, etc.
2006-04-02 20:41:55 +00:00
Bernhard Reutner-Fischer
abaef6565e - warn a bit more verbosely about fmt stuff for non-release versions 2006-03-29 22:28:27 +00:00
Bernhard Reutner-Fischer
6018225238 - mark trunk as 1.2.0-pre0 2006-03-29 22:22:37 +00:00
Rob Landley
dbd91af061 Mike Frysinger pointed out we can go
CFLAGS=-I/usr/some/funky/path/to/selinux \
  LDFLAGS=-L/usr/some/funky/path/to/selinux make
So Jan Kiszka reverted part of the selinux patch.
2006-03-28 19:40:15 +00:00
Rob Landley
164a5be04e Patch from Jan Kiszka: In case the libselinux development installation is not
located at its default location, this patch allows to override the path via
SELINUX_INC and SELINUX_LIB when invoking make.
2006-03-27 23:00:32 +00:00
Rob Landley
ca8d0b029b We make both busybox and busybox_unstripped all the time now, no need to
specify whether or not to strip the binary.
2006-03-22 21:03:21 +00:00
Rob Landley
7328c8fdc1 Annoint 1.1.1. 2006-03-22 14:07:23 +00:00
Bernhard Reutner-Fischer
d1ba916167 - workaroung pr25795 in gcc-4.1
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25795
2006-03-21 11:06:43 +00:00
Bernhard Reutner-Fischer
df10094870 - revert back to r14406 2006-03-13 19:04:00 +00:00
Mike Frysinger
c70240cc1d add a sep option for stripping 2006-03-10 23:20:48 +00:00
Bernhard Reutner-Fischer
478a188e85 - remove check. Fixes e.g. buildroot 2006-03-09 16:49:46 +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
d9969ea175 - correct comment.
Should revisit gcc >= 4.1 with that =1 later on
2006-03-03 20:31:33 +00:00
Rob Landley
c05dda4b2d Denis Vlasenko noticed that falign=0 is meaningless, and that should probably
be falign=1.  Saves a little over 3k on an x86 "make defconfig" build.
2006-03-03 17:57:50 +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
5d26126b9e - fixes parallel builds (make -j)
- use less resources for the buildsystem itself
2006-03-01 22:54:48 +00:00