=========================================================
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.
This also provides a nice up-to-date filestamp if something got reconfigured (e.g. c++ support got toggled) that can be used in the future to depend accordingly.
This patch changes the way the top level Makefile searches for a
<board>_defconfig file, it will only look in the target/ directory and its sub
directories.
The patch also enables loading a defconfig even if there already is a .config.
(Hans-Christian Egtvedt)
wget's spider-mode (i.e. just see if the server says the file is there without
actually downloading the files.
Convenient to check for unavailable source-packages.
- depending on the BR2_GNU_BUILD_SUFFIX, set the respective EXEEXT, LIBEXT, SHREXT extensions for use on the target.
Thanks to Tom for suplying a diff which implements these.
Quick patch to avoid deleting my directory of RPM Sources.
I tend to use buildroot as "make DL_DIR=/.rh/SOURCES", with the rpm
topdir set to $HOME/.rh in my .rpmmacros -- allows me to build RPMs as
non-root, and share the source with buildroot. Problem is, buildroot
likes to delete my directory :(
and Dan Kegel's crosstools (7??-*).
Use makefile vars for toolchain names in ccache.mk and gdb.mk.
Fix a g++-related symlink issue with ccache.
Change the default to gcc 3.4.2 and binutils 2.15.91.0.2 (now that mips
is building). Let the users go forth and test... ;-)
1) Allow selection of binutils/gcc/gdb/kernel headers to build, although
some of the older tool patches probably need updating.
2) Rework gdb build so that remote debugging now works with gdbserver.
3) Misc. other package updates.3) Misc. other package updates.3) Misc. other package updates.
causing problems. Newer uml messes up sigcontext.h and is a pain
to build anyways. So kill it for now. It is trivial to build for
stock i386 and then boot the generated root_fs using uml.
works for dynamicly linked executables. Only tested so far on i386 with
gcc 3.3.2. But combined with the latest ldso updates, I can now get a
dynamicly linked java helloworld app to run.
Add a config toggle for building gcj and libgcj. The build runs fine
through gcc-final but currently requires hand interventions to build
gcc-target. Again, only tested so far on i386.
issues for applications, we also create staging_dir/bin/<arch>-linux-*
symlinks which allows us to configure most apps with target=<arch>-linux.
gcc 3.3.2 libstdc++ now correctly identifies uclibc locale support.
There are still some issues (mainly related to wide char time strings
and wcsftime) to be addressed, but those are on hold until the uClibc
locale internals are reworked once again.
With the new stuff, we can also build gcc 2.95 and STLport again, although
the native gcc build for the target is failing.
Archs supported (some archs not yet tested):
2.95 - i386, arm, mips*, powerpc.
3.3.2 - Hopefull all for which uClibc has shared lib support.
i386 (limited to 64 bit long double... same as double), arm (libfloat),
mips, and mipsel.
Enable cross compiling a native gcc 3.3 toolchain to run on the target.
Misc rootfs cleanups... strip some things that weren't, eliminate duplicate
libs, move openssl shared libs out of /lib, reduce size of libssl.so
by dynamicly linking with libcrypto.so, fix dropbear compile on mips.