Commit Graph

88 Commits

Author SHA1 Message Date
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
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
dd53c24d41 Remove foo.txt and reenable -funsigned-char now that ash is fixed. 2006-01-30 01:27:08 +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
f64ff682a3 - correct flag for gcc-3.x 2006-01-24 18:25:51 +00:00
"Vladimir N. Oleynik"
e0ae702b0e ash with -funsigned-char don`t work! 2006-01-23 13:47:36 +00:00
Bernhard Reutner-Fischer
b565a12cf8 - bump version to 1.1.1 nonrelease series (let's say -pre0). 2006-01-19 09:22:39 +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
Rob Landley
009765d2ca And lo, we hath reached Release Candidate 1. 1.1.0 should happen this week. 2006-01-10 19:48:53 +00:00
Rob Landley
e0c418e13b The rest of Yann E. Morin's install revamp. 2005-12-15 07:25:54 +00:00
Bernhard Reutner-Fischer
e0b8778506 - check if CC supports -funsigned-char
- add CC_MAJOR and CC_MINOR variables. (gcc centric for now)
2005-12-13 11:52:46 +00:00
Rob Landley
4a070d1460 Make char default to "unsigned" on all platforms so we have a consistent base
to deal with all the new gcc 4.0.2 warnings from.
2005-12-01 17:01:43 +00:00
Mike Frysinger
5a5d0fa044 update license 2005-11-29 02:53:52 +00:00
Mike Frysinger
004ad11337 ShaneAnderson writes in Bug 565:
need to include .config file before setting CROSS otherwise
TARGET_ARCH isnt set properly
2005-11-29 02:52:25 +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
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
Bernhard Reutner-Fischer
1c943eb88a - remove unused variable TOPDIR 2005-09-26 16:01:43 +00:00
Rob Landley
ae32016fc9 A bit overdue... 2005-09-08 03:48:47 +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
1c1655a301 move -s from LDFLAGS to STRIPCMD 2005-07-31 22:11:33 +00:00
Rob Landley
c7a3e1be8f Fix "nm --size-sort" on the busybox binary and document how to make it work. 2005-07-31 04:25:00 +00:00
Mike Frysinger
b3b756dab3 further refine check_gcc usage so it is only called the bare min number of times 2005-07-28 22:26:25 +00:00
Mike Frysinger
c99e2c5f4c dont output anything when running in silent mode 2005-07-28 22:14:35 +00:00
Rob Landley
088ee4134b From Rich Paul:
I've noticed that when I compile busybox on my laptop, it compiles more
slowly than one would expect, and although it's a (more-or-less)
multiprocessor system and I use -j5, make never seems to run more than 
one job at a time.

I believe I have found the culprit:  each time a file is compiled, gcc
runs about 5 times.  This is because the $(check_gcc) macros and the
TARGET_ARCH macros are late binding.

The attached patch cuts the compilation time by 66%, from 1.5 minutes to
30 seconds.  Your mileage may very.  These statements have not been
evaluated by the FDA.
2005-07-28 19:38:52 +00:00
Mike Frysinger
4d00896d05 use toplevel ARFLAGS and update default ARFLAGS to be quiet 2005-07-27 01:09:24 +00:00
Eric Andersen
90d3317fbf Bump version 2004-10-08 10:52:33 +00:00