Age | Commit message (Collapse) | Author |
|
After the addition of bare metal toolchains the menu system allowed
to create non-valid configurations. I reworked it so we can also
add other operating system support if we wish.
So first you choose your operating system, then your architecture
and endianess, after that your embedded system, emulator or
generic device and then you choose your task you want to run.
Tasks may be toolchain, a new appliance/application or some preconfigured
sets of packages and configurations as kodi, mpd, firefox and more.
The tasks are limited to a plausible choice of hardware and software.
Deduplicate CPU configuration.
You don't wanna compile Kodi for a H8/300 microcontroller ;)
|
|
The new prereq check is completely implemented in
POSIX shell in scripts/prereq.sh.
It combines the old features from Makefile, scan-tools.sh,
scan-pkgs.sh, reloc.sh and some wrappers for tools.
The big benefit is to have all portability stuff in one place.
Furthermore we can compile GNU make and bash on the fly, for
systems lacking the required tools.
All changes on the host are detected on the fly, no make
prereq required anymore.
The build process is separated in following three phases:
1. small wrapper Makefile is used for BSD make or GNU make
2. prereq.sh is called, doing all checking, calling Makefile.adk
3. old logic in Makefile.adk or mk/build.mk is used
Tested successfully on Linux, MacOS X, Cygwin, FreeBSD, OpenBSD
and NetBSD.
An old depmaker bug was fixed, only optional host tools are compiled.
For example, even when a host provides xz, a local xz was compiled
in the past, because other packages had a build dependency on it.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
This reverts commit fba2ff31928b18364c1934654169806f5c800e23.
|
|
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
|
- Sync with Kernel upstream Kconfig
- use new feature visible
- add a patch for select on choices
https://lkml.org/lkml/2011/2/17/379
- rename ADK_LINUX -> ADK_TARGET_ARCH
- remove package collection feature
- add appliance feature to define a appliance
more complete
|
|
Generate all data needed when adding a new arch or system.
Recognize any changes in target/*/systems as reported as bug by
Joerg.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
establish an extra dir for toolchain. Better for preparing toolchain
for other projetcs without host tools only used by openadk.
Use /usr prefix. No symlink workarounds needed anymore.
|
|
required. Add archivers to tools, remove prereq checks for them. Rename host_ dir in preparation for shared openadk source via nfs/smb from different host systems. Make some abi cleanup
|
|
resulting firmware
|
|
|
|
|
|
|
|
|
|
following build tools seem to be required to cross-compile
OpenJDK:
- fastjar
- classpath
- gcj
- jamvm
- ecj
Maybe cacao is better, maybe ant is required, too.
... hacking...
|
|
|
|
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
|
|
by jseitter
|
|
|
|
|
|
|
|
|
|
Make configuration of new targets cheap.
Just add a new file in target/arch/sys-enabled/foo.
See other files for syntax. While doing runtime tests
with the new infrastructure I've updated a lot of other
stuff:
- gcc 4.5.2
- uClibc 0.9.32-rc1 (NPTL)
- strongswan, php, miredo, parted, util-linux-ng, e2fsprogs
I promise, this is the last big fat commit this year ;)
|
|
|
|
|
|
Conflicts:
Config.in
package/dropbear/Makefile
package/iptables/Makefile
package/kismet/Makefile
package/nfs-utils/Makefile
package/ntpclient/Makefile
package/openvpn/Makefile
package/pkgmaker
package/rxvt-unicode/Makefile
package/vgp/Makefile
package/wpa_supplicant/Makefile
package/xf86-input-keyboard/Makefile
package/xf86-input-mouse/Makefile
|
|
- update busybox, dnsmasq, ppp and libusb
- add timezone and hostname configuration for target via menu
- fix resolv.conf creation for dhcp client
- fix usb for alix boards
- enable lsusb and lspci by default
|
|
|
|
When adjusting for auto-generated package/Config.in, I found out that
the splitting into Config.in{,.lib,.kmod} done by pkgmaker was rather
subversive to my approach. Categorisation of packages and subpackages
should be done via package section, which is enabled by this patch for
subpackages, too.
Instead of filling up the package subdirectories, use a common directory
package/pkgconfigs.d/ to contain all auto-generated Config.in files. In
order to allow simple assumption from config symbol to actual package
from within menuconfig (the path to the Config.in file containing the
current config symbol is printed as part of the help text), put all
generated Config.in files for a certain package into a common
subdirectory.
pkgmaker now saves each generated config symbol (excluding the flavours)
into it's own file, therefore allowing to sort subpackages of a package
into a different section.
|
|
The algorithm in package/pkgmaker works as follows:
1) for all package/*/Makefile
a) parse PKG_NAME and PKG_SECTION
b) skip if PKG_SECTION is 'kernel' (special ones)
c) check if Config.in{,.lib,.manual} contain something
d) fetch the first word of the first prompt from any result from c)
e) fetch the verbose section name from package/SECTIONS.list based on
PKG_SECTION, or just 'libs' if it's about Config.in.lib
f) write results to package/package_section_list, in the form:
'<Config.in prompt> <path to Config.in file> <verbose section name>'
2) sort package/package_section_list first by <verbose section name>,
next by <Config.in prompt>
3) create package/Config.in.auto using the result from 2)
|
|
- use Config.in.kmod for packages with kernel modules
- cleanup dots in uclibc Config.in
- avoid autotool in cryptsetup, breaks build on debian lenny
|
|
All packages need an update, so here is a very huge commit.
Most of the 460 source packages use automatic style for configuration,
building and installing. Make these styles default to "auto".
If you have a package, which does not conform to this, just use
manual style and add a do-$task make target.
I added a new style named AUTOTOOL style, which is needed for some
broken packages, which needs to be updated via autoconf or automake.
I renamed CONFIGURE_STYLE to CONFIG_STYLE.
Updates for some packages, which have newer upstream versions.
Renaming of all package/*/extra directories. Use the directory
src/ to provide overwrites of source files or to add the code, when
no upstream package is available or used. src directory will be automatically
used.
|
|
add bulk targets for allmodconfig/allconfig.
add more targets to the bulk list.
use a separate .cfg directory for target-libc combinations.
|
|
IMPORTANT: do a make distclean before compiling after
this commit.
The directories for all build and bin directories changed, so
that toolchains for different target-libc combinations can coexist.
This might be usefule in the future for continous compiling after
git commit, without rebuilding the toolchain.
Rework busybox rebuild, when config changes. Not optimal, but at least
working after this change to the directory structure.
|
|
|
|
remove xmlto dependency, do not generate alsa manpages
let aiccu cross-compile on != linux hosts
|
|
finally autogenerate menu Config.in files and Depends.mk
for packages. thx mirabilos
Conflicts:
.gitignore
Makefile
mk/build.mk
package/eglibc/Config.in
package/glibc/Config.in
package/uclibc++/Config.in
package/uclibc/Config.in
rules.mk
|
|
|
|
thx to mirabilos
|
|
no extra PKG_ID is needed anymore, we do not use
filesystem or target specific startup scripts.
Ignore .menu.
|
|
- update ctorrent, cups, gnutls and freeradius-server
- compile kerberos (heimdal,krb5) with com_err library from
e2fsprogs to allow both to be build without installing local
copys of libcom_err
- cleanup lynx package add zlib dependency
|
|
- you can now overwrite your target root dir files with either
- creating a directory extra/ and put a complet file hierarchy into it
- creating a directory anywhere and using make extra=/path/to/dir
both methods will copy the file hierarchy over root dir and then will
create images and tar balls.
useful for overwriten default configuration or adding non packaged
software like java runtime environment.
suggested by Joerg S.
|