Commit Graph

95 Commits

Author SHA1 Message Date
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
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