Commit Graph

247 Commits

Author SHA1 Message Date
Daniel Laird
5432f26f0e Adding Central config.cache options
The following changes allow for use of a central configure cache
file.  This speeds up configuration of packages.
Its use is configurable at the top level (BR2_CONFIG_CACHE - default n).
Old style makefiles can use it if they use the following MACRO in makefiles:
$(AUTO_CONFIGURE_TARGET) see my change to directfb.mk.
New style Autotools.in will use it if you set the global option.
However you can enable the global option and on a per package overrule it by doing
the following: $(PKGNAME)_USE_CONFIG_CACHE = NO see fontconfig.mk for an example 
of this.
Finally I have removed a few config variable settings which indicated no CXX compiler
as this is wrong and breaks the build when using this central cache.

 Config.in                        |    8 ++++++++
 package/Makefile.autotools.in    |    5 ++++-
 package/Makefile.in              |   28 +++++++++++++++++++++++++++-
 package/atk/atk.mk               |    2 +-
 package/directfb/directfb.mk     |    7 +------
 package/fontconfig/fontconfig.mk |    3 +++
 package/libglib2/libglib2.mk     |    2 +-
 package/libgtk2/libgtk2.mk       |    1 -
 8 files changed, 45 insertions(+), 11 deletions(-)

I would appreciate feedback on this change (I have been testing for 2-3 weeks)
But I can never test all cases!  If you enable the BR2_CONFIG_CACHE option some
Makefile.autotools.in based packages may now break - I cannot build them all.
In this case you may need to remove config options that are being hardcoded all
over the place (like gtk saying we have 2 CXX compiler) or disable the use
of CONFIG CACHE file like I have done in fontconfig.
I can build all packages required to get WebKit on DirectFB up and running
and it runs fine.
I will try to resolve any issues this creates as fast as I can.

Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-11-28 14:20:47 +00:00
Peter Korsgaard
5098ee9c7f Revert r24000: "Fix external toolchain build"
This breaks builds with internal toolchain, so let's revert this until we find
a proper solution.
2008-11-21 14:51:10 +00:00
Thomas Petazzoni
60d39dbb3f Fix external toolchain build
This patch is a new version of a patch already sent several times on
the mailing-list, committed and reverted a few times by Daniel Laird,
due to several imperfections. This version is a new try at finding a
solution that works for everybody. Hopefully it'll work :-)

The original problem is that external toolchain builds failed because
packages couldn't find their dependent libraries at configure time and
could not be linked with them. To fix these two problems, two things
are added:

 * The TARGET_LDFLAGS variable was exposed as LDFLAGS at ./configure
   time thanks to TARGET_CONFIGURE_OPTS. The TARGET_LDFLAGS variable
   contains -L options with the path in the STAGING_DIR for the
   libraries. It allows ./configure scripts to properly compile the
   small test programs testing whether a dependency is properly
   installed.

 * The TARGET_CFLAGS contains a new -Wl,--rpath-link option for both
   $(STAGING_DIR)/lib and $(STAGING_DIR)/usr/lib. It allows library
   depending on other libraries to link properly. The TARGET_CFLAGS is
   exposed as CFLAGS in TARGET_CONFIGURE_OPTS.

This new version fixes a problem encountered by hartleys
<hartleys@visionengravers.com> when building the kernel. The problem
was that the -Wl,--rpath-link options were added to LDFLAGS, while
there are options for the C compiler, not the ld linker. Moving them
to CFLAGS seems to fix the issue.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2008-11-11 18:32:31 +00:00
Daniel Laird
2dbf951819 package/Makefile.in: revert rpath setup for toolchains.
Revert the rpath patch, it looked good up until someone tried 
to build a kernel as well.  This seems to break as a result.

Will post a new patch soon and see how that goes.. 

Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-11-07 08:15:53 +00:00
Daniel Laird
fd3bb17cbb package/Makefile.in: rpath setup for toolchains.
Apply the patch I posted some time ago that fixes 
rpath issues with external toolchains.
Has been tested by users of buildroot and feedback looks good.

Signed-off-by: Thomas Petazzoni
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-11-06 12:54:29 +00:00
Daniel Laird
eff04b41d3 package/Makefile.in: Remove rpath fix as it breaks Thomas png build
Remove my fix for rpath-link until I can find out why it works for me and not
Thomas.

Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-10-22 15:28:30 +00:00
Daniel Laird
ec65ef836f package/Makefile.in: Add -rpath-link
As per various email discussions add -rpath-link
to the LDFLAGS.
This definately fixes a few issues for Thomas and myself
Any objections and it can be pulled again.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@...> 
Signed-off-by: Daniel Laird <daniel.j.laird@nxp.com>
2008-10-22 12:47:53 +00:00
Peter Korsgaard
60b5eee76e package: global largefile CFLAGS handling 2008-08-04 19:07:18 +00:00
Peter Korsgaard
c666875912 package/Makefile.in: cleanup MAKE/MAKE1
The extra stuff doesn't seem to be needed, so lets just get rid of it.
2008-07-11 13:43:59 +00:00
Peter Korsgaard
607d0229ae package/Makefile.in: propagate -s make flag to sub makes 2008-07-01 13:30:26 +00:00
Peter Korsgaard
6eb60364c4 pkgconfig: bump version and cleanup
Upgrade to pkgconfig 0.23 which has native sysroot support (buggy,
but easily fixable), which allows us to get rid of pkgconfig-filter.sh.
At the same time cleanup the makefile.
2008-06-14 21:00:59 +00:00
Peter Korsgaard
ff1b7e871f Makefile: honor silent (-s) flag 2008-05-31 07:27:52 +00:00
John Voltz
41f6b79ff7 added more debugging options for packages 2008-03-12 13:07:10 +00:00
John Voltz
1beaf12098 added debug option 2008-03-11 18:15:30 +00:00
Ulf Samuelsson
0c85dfd60c Use host ldconfig, if external toolchain is used 2008-01-10 09:29:06 +00:00
Ulf Samuelsson
c8e376f83e FIx syntax error 2007-10-30 10:30:59 +00:00
Ulf Samuelsson
3c2739182b Allow to remove _nofpu from directories and images 2007-10-18 12:38:26 +00:00
Ulf Samuelsson
29ac0f18d2 Remove debugging info from package/Makefile.in 2007-10-18 07:40:19 +00:00
Ulf Samuelsson
c500802eaf Remove hyphen from images if empty rootfs suffix 2007-10-18 05:56:05 +00:00
Ulf Samuelsson
79d42d3238 Allow date to be added to Image 2007-10-07 18:23:01 +00:00
Bernhard Reutner-Fischer
5cfb2f794f - fix some whitespace damage..
- add COPYTO settings for cpio and tar and remove that ugly hardcoded DATE from that was added by Ulf
2007-10-05 12:55:40 +00:00
Bernhard Reutner-Fischer
05195c3d00 - default to mips I for mipsel and mips III for mips
- suggest some target flags for abi64
2007-10-02 21:36:49 +00:00
Bernhard Reutner-Fischer
14a71561a3 - just use the strip binary to avoid confusing libtool (quotes)
- use $(STRIPCMD) in packages to avoid clashes with $(STRIP)
2007-10-01 16:15:31 +00:00
Bernhard Reutner-Fischer
3569f2d045 - fix quotes for STRIP.
Sorry for any inconvenience this may have caused..
2007-09-29 14:27:39 +00:00
Bernhard Reutner-Fischer
4f5facb9ec - make sure that strip and all it's arguments are passed if used via
STRIP=$(TARGET_STRIP) (i.e. without quoting). Thanks to Dimitry Golubovsky
  for mentioning this.
2007-09-29 10:05:08 +00:00
Bernhard Reutner-Fischer
fbb5f1b94e - cleanup configure options 2007-09-28 22:15:19 +00:00
Bernhard Reutner-Fischer
5f97580e50 - add FC, remove some duplicate entries, cleanup
- fixup after Ulf: CXX doesn't take CFLAGS but CXXFLAGS
2007-09-28 20:10:22 +00:00
Ulf Samuelsson
966c37f7d2 Sort HOST/TARGET_CONFIGURE_OPTS, add some more, needed for gcc-4.1.2 2007-09-28 19:49:13 +00:00
Bernhard Reutner-Fischer
e27250c502 - add a query for suggestions on how to deal with MALLOC_GLIBC_COMPAT 2007-09-27 21:58:46 +00:00
Bernhard Reutner-Fischer
4b0d5a80f8 - revert some bad checkins, fixup bad settings in atmel targets and move the gcc target abi back to a place where the other arch-specific settings live 2007-09-26 21:12:38 +00:00
Bernhard Reutner-Fischer
fecac9bfb6 - revert r19918 for now 2007-09-20 18:28:53 +00:00
Bernhard Reutner-Fischer
7025afd93c - Reset flags, packages are usually built with -O2 otherwise.
Packages that need to pass additional CFLAGS in their .mk have to do something
  like this: ...configure $(foreach i,$(foo_CFLAGS),CFLAGS+=$$i) --prefix=...
2007-09-20 17:26:59 +00:00
Bernhard Reutner-Fischer
be10c4a8c9 - add v9a and v9b settings.
Will need to change the GCC_TARGET_TUNE accordingly.
2007-09-17 21:50:54 +00:00
Bernhard Reutner-Fischer
153ee9e247 - some more sparc{,64} twiddling 2007-09-15 22:04:49 +00:00
Ulf Samuelsson
49a1413d5d Add version info (date) to root fs image 2007-09-12 04:40:02 +00:00
Ulf Samuelsson
5f17c052bc Update various packages to make X run 2007-09-12 04:37:31 +00:00
Bernhard Reutner-Fischer
b6a2729be1 - cosmetic cleanup 2007-09-01 17:32:01 +00:00
Ulf Samuelsson
a9a68fabc5 Add default X11 install directory 2007-08-28 23:02:52 +00:00
Bernhard Reutner-Fischer
4427e87559 - add apropriate variables for the host-toolchain to HOST_CONFIGURE_OPTS 2007-08-28 08:14:51 +00:00
Bernhard Reutner-Fischer
6547bced93 - global whitespace trimming 2007-08-22 12:35:41 +00:00
Bernhard Reutner-Fischer
3471ebe0a3 - random whitespace cleanup 2007-08-22 11:47:22 +00:00
Bernhard Reutner-Fischer
1dbe6e3396 - our dependencies are project specific. First (untested) attempt to take this fact into account.
Will need to try to copy eventual pre-existing project-specific deps back
  to package/config in order not to mess up the corresponding timestamps (to avoid superfluous rebuilds)..
2007-08-21 17:56:47 +00:00
Bernhard Reutner-Fischer
1e3c369df8 - move the PROJECT variable setting to a more sensible place 2007-08-21 17:14:56 +00:00
Ulf Samuelsson
e4ead9c13c Remove switches if sstrip is run 2007-08-21 01:53:57 +00:00
Eric Andersen
a7e49eb2af Merge in X11R7 patches from Julien Letessier, posted 04 Jul 2007. Doesn't
quite work yet for me, but this clearly is a huge project and not having it
quite work on the first pass is hardly unexpected.  We definately want this
stuff in buildroot.
2007-08-10 19:07:51 +00:00
Peter Korsgaard
6c0c83fb56 Use cross ldconfig instead of host version 2007-08-08 14:58:47 +00:00
Bernhard Reutner-Fischer
bbd251a075 - add possibility to select different flavours of strip (or none at all for debugging purposes) 2007-07-31 18:06:50 +00:00
Bernhard Reutner-Fischer
cd1819ee15 - nil the CXX env var if we don't have a CXX cross-compiler 2007-07-31 15:10:55 +00:00
Bernhard Reutner-Fischer
85580c38a7 - fix typo in previous commit 2007-07-23 12:03:17 +00:00
Bernhard Reutner-Fischer
58002d40e9 - iff the cross-compiler supports certain mtune,march,mabi flags then use them for the packages.
This should make it obvious if the wrong compiler is used to build the target.
2007-07-23 11:37:25 +00:00
"Steven J. Hill"
f60905df62 No platform code in this file. 2007-07-22 20:09:54 +00:00
Ulf Samuelsson
3b7b07a422 ATMEL_MIRROR needs to be available before toolchain is built 2007-07-22 17:17:03 +00:00
Ulf Samuelsson
65a964b6a7 Add additional include directory, required by some packages 2007-07-20 11:36:52 +00:00
Ulf Samuelsson
e7c08c297d make source-check without permanently changing WGET command 2007-07-20 07:34:28 +00:00
Ulf Samuelsson
4705b60076 Ensure we use host 'make', even when building 'make' in buildroot 2007-07-17 12:09:07 +00:00
Ulf Samuelsson
e17c3858c4 Add comment on when to use BUILD_DIR vs PROJECT_BUILD_DIR 2007-07-12 15:32:04 +00:00
Ulf Samuelsson
412ca2a4d4 BSP Patch:
=========================================================
	The purpose of the BSP patch is to allow building
	several boards inside the same buildroot tree.
	For this to work, each board has to have its
	own "$(TARGET_DIR)" and all *configurable* packages
	must be rebuilt for each board.
	They are now built in the "$(PROJECT_BUILD_DIR)"
	All non configurable packages can and should still
	be built in the "$(BUILD_DIR)".
	If a package is built for one board, then when
	you build for a second board of the same architecture
	the build becomes a simple copy of the resulting
	binaries.

	-----
	Define BR2_PROJECT which will be used as the selector
	between different boards. Note that BR2_PROJECT allow
	you to build multiple root file systems for a single 
	board, and should not be confused with BR2_BOARD_NAME
	which relates to the H/W.

	-----
	Define PROJECT_BUILD_DIR as 	"PROJECT_BUILD_DIR/$(PROJECT)"
	Define BINARIES_DIR as 		"binaries/$(PROJECT)"
	Define TARGET_DIR as		"$(PROJECT_BUILD_DIR)/root"
	(some prefix/postfix may apply)

	Resulting images are stored in	"$(BINARIES_DIR)"

	-----
	Define a few new environment variables in Makefile

	PROJECT:	Stripped BR2_PROJECT
	DATE:		Date of build in YYYY-MM-DD format
	HOSTNAME:	Stripped BR2_HOSTNAME	=> /etc/hostname
	BANNER:		Stripped BR2_BANNER	=> /etc/issue

	Linux and Busybox will be built in $(PROJECT_BUILD_DIR)
	More patches will be needed later to ensure all
	configurable packages are built in this directory.
2007-07-12 13:11:03 +00:00
"Steven J. Hill"
9a4ca08e5f Remove usage of TARGET_LDFLAGS all together. Both TARGET_CFLAGS and TARGET_LDFLAGS are passed with the compilers and linker respectively so that we can pass CFLAGS and LDFLAGS on a per-package basis which was not possible previously and a number of packages failed to build. TARGET_CFLAGS usage in package makefiles will be removed next. 2007-07-06 04:26:32 +00:00
Bernhard Reutner-Fischer
afc61c6e8e - adjust infrastructure for new kconfig 2007-06-28 10:47:05 +00:00
Bernhard Reutner-Fischer
74d518dc2a - add endian handling, mmap, memcmp checks to TARGET_CONFIGURE_ARGS
- use TARGET_CONFIGURE_ARGS where appropriate.
2007-06-27 12:01:27 +00:00
Bernhard Reutner-Fischer
de18b661cf - introduce TARGET_CONFIGURE_ARGS to hold presets for configure for target packages 2007-06-27 09:48:23 +00:00
Bernhard Reutner-Fischer
a48d8f5414 - add BR2_INET_IPV6 and BR2_INET_RPC
TODO: use $(DISABLE_IPV6) in packages instead of a gazillion different hackish ways that are currently in there
2007-06-26 16:34:45 +00:00
Bernhard Reutner-Fischer
c77052465a - pass -msoft-float if BR2_SOFT_FLOAT is set. Closes bug #1069 2007-06-26 14:02:29 +00:00
Bernhard Reutner-Fischer
8027784c35 - add full sysroot support for non-ancient toolchains.
- start to separate usr/lib and lib to match normal system-layout
2007-06-20 11:26:36 +00:00
"Steven J. Hill"
116acadec9 Add another include path to the CFLAGS. 2007-05-07 04:01:24 +00:00
Bernhard Reutner-Fischer
4fc1724e27 - put staging_dir/usr/bin into the target path, so X-stuff can find freetype-config.
Closes #1233
2007-03-20 17:58:36 +00:00
"Steven J. Hill"
02f71aab47 Support building using an external toolchain. Questions to the mailing list and all other comments to <biteme@devnull.com>. 2007-02-06 18:19:38 +00:00
Bernhard Reutner-Fischer
4bbeb74b2e - the $(XSERVER) target can be provided by different X server impls. Adjust users
- rdesktop needs an xserver impl
2007-02-04 19:47:41 +00:00
Bernhard Reutner-Fischer
b82245322e - make absolutely sure that we are not trying to go into jobserver mode for MAKE1 2007-01-30 17:33:53 +00:00
Eric Andersen
4ac03cc86a filter pkgconfig output to force it do use our staging_dir and not
try to use the system libraries as it is inclined to do
2007-01-14 03:48:13 +00:00
Bernhard Reutner-Fischer
3c9baee374 - use centralized DISABLE_LARGEFILE
- nil CXX if there isn't one
2006-12-21 13:51:53 +00:00
Bernhard Reutner-Fischer
761ca0d1a5 - Quote TARGET_PATH. Closes #1107. 2006-12-08 12:45:45 +00:00
Bernhard Reutner-Fischer
4e5da4289e - add and use a HOSTCXX variable. 2006-11-20 16:09:43 +00:00
Bernhard Reutner-Fischer
6e2823c1fa - add and use BR2_BZCAT config option. 2006-11-17 15:43:51 +00:00
Eric Andersen
290615edc1 we use BR2_ENABLE_LOCALE not ENABLE_LOCALE 2006-10-17 16:57:02 +00:00
Bernhard Reutner-Fischer
6fe5f48cbf - add missing hung from the BR2_ZCAT introduction 2006-10-01 18:34:45 +00:00
Bernhard Reutner-Fischer
e4a303dd69 - fix bug #1042; Hardcoding system-paths is a bad idea. If some of them are not
in PATH seen by make then most likely for a very good reason. Set your PATH accordingly if you need /bin or /usr/local/bin et al.
2006-09-30 21:08:56 +00:00
Bernhard Reutner-Fischer
e16425c389 - pickup the PATH the user has set.
Fixes HOSTCC et al being installed in e.g. /opt where it wasn't found before.
2006-08-24 19:35:47 +00:00
Eric Andersen
ddb5ebab06 move TAR_OPTIONS to its rightful place 2006-07-18 22:58:58 +00:00
Paul Mundt
d56e2b342f Split the target suffix out as a config option, for the few cases where
we have to use a different one.
2006-06-05 21:49:44 +00:00
Bernhard Reutner-Fischer
6ff820d647 - pass $(TARGET_CROSS)strip as STRIP to the packages. 2006-03-10 08:44:16 +00:00
David Anders
54f724280d add TARGET_CXX per case 0000593 2006-01-25 17:28:23 +00:00
Mike Frysinger
70ea98efbb add an option for the --build so cygwin users can utilize buildroot 2005-12-27 08:42:13 +00:00
Mike Frysinger
ea26d735ae force CPP 2005-12-17 01:34:03 +00:00
Mike Frysinger
59a63a91eb let people control location of download dir 2005-10-01 00:35:24 +00:00
Mike Frysinger
e4de8b2f14 add sf mirrors list in help (fix by Bernhard Fischer) and allow people to add custom prefix/suffix to builds 2005-09-18 04:41:57 +00:00
"Steven J. Hill"
6b632ad624 Build 'file' for the host as well as the target. If the host system has a version older than that being built for buildroot, the target build will fail. So, we build 'file' for the host and add actually add '$(TOOL_BUILD_DIR)/bin' to the TARGET_PATH so that it takes precedence over the host system version. 2005-08-30 03:35:37 +00:00
Eric Andersen
29353e58bc Change root_fs_$(ARCH) to rootfs.$(ARCH) 2005-08-13 10:57:08 +00:00
"Steven J. Hill"
d5871cf8ad Fix bzip2 cross build error associated with host ranlib being
used instead of cross target ranlib.
2005-05-18 03:42:51 +00:00
Mike Frysinger
c76539aa58 SnarlCat writes: add OBJCOPY to build environment Bug #213 2005-04-07 00:25:21 +00:00
Eric Andersen
9cc9476c35 more dhcp updates 2005-02-16 19:48:03 +00:00
Eric Andersen
e30cf26cff Patch from scott: http://bugs.uclibc.org/view.php?id=42
0000042: add subversion (svn) support to buildroot

This patch adds support for subversion to checkout files, much like how CVS
already works. It uses 'SVN' macro in makefiles.
2005-01-23 11:20:30 +00:00
Eric Andersen
8e5fb3fb4a Add initial BR2_JLEVEL support, with some exceptions for apps that
have broken 'make -j' support
2004-12-11 13:01:10 +00:00
Eric Andersen
ba7c48f306 Add an option to allow people to relocate the toolchain 2004-12-11 10:25:40 +00:00
Tim Riker
788ddd9c45 nuke sources/ - you might want to move sources/dl/ to dl/ to avoid redownloading the world 2004-10-27 18:13:38 +00:00
Eric Andersen
44eedc5c44 facelift step number two 2004-10-09 02:49:33 +00:00
Eric Andersen
2d523c2317 Major buildroot facelift, step one.
-Erik
2004-10-09 01:06:03 +00:00