summaryrefslogtreecommitdiffstats
path: root/package/Makefile.package.in
Commit message (Collapse)AuthorAgeFilesLines
* dependencies: check for extract tools as wellPeter Korsgaard2011-12-041-0/+2
| | | | | | | | | | | | Most of the extract tools (gzip/bzip/..) we already check for explicitly in dependencies.sh (as they are used outside GENTARGETS), but not for xzcat. The .xz format is used fairly rarely, and it is likely to not be available on build hosts, so an explicit (hardcoded) check for it isn't optimal. Instead, add the inflate tools used to DL_TOOLS_DEPENDENCIES, similar to how we do it for svn/git/bzr/... Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Merge branch 'next'Peter Korsgaard2011-12-011-7/+75
|\ | | | | | | | | | | And kickoff 2012.02 cycle. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
| * Add support for packages stored in Mercurial (hg) repositoriesThomas De Schampheleire2011-11-271-4/+29
| | | | | | | | | | | | | | Add support for packages stored in Mercurial (hg) repositories. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
| * GENTARGETS: add support for scp://Thomas De Schampheleire2011-11-271-6/+49
| | | | | | | | | | | | | | | | | | | | | | | | This patch adds support for scp:// both for use in the package Makefiles, as for the BR2_PRIMARY_SITE variable. This patch was based on the work of Richard Guy Briggs (see https://bugs.busybox.net/show_bug.cgi?id=3343). [Peter: small whitespace fixes] Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* | clean-for-rebuild: also remove images_installed stampArnout Vandecappelle (Essensium/Mind)2011-11-151-0/+1
|/ | | | | | | | | Without this, a linux-rebuild or bootloader-rebuild will not install the rebuilt image in the images directory. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: fix bootloader buildingThomas Petazzoni2011-10-021-1/+1
| | | | | | | | | | | | | | | | The changes in e055aea216cff4d12cf55eab2e35ca1459edaa91 and 0849e8193ef429f29945b8c2a54eafc8635e0969 have broken the bootloader support. This is because the 'pkgparentdir' macro returns the string 'boot/' for bootloaders, while the GENTARGETS_INNER macro was testing this against 'boot' to know if the configuration option to check for this package is BR2_PACKAGE_* or BR2_TARGET_*. So, instead of testing against 'boot', we test against 'boot/'. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: normalize output of 'make external-deps'Thomas Petazzoni2011-09-301-3/+3
| | | | | | | | | | | | | For wget-downloaded packages, only the tarball name was displayed, while for svn/git/bzr packages, the complete repository URL was shown. As discussed on the list, what we want for 'make external-deps' is only the tarball name even for git/svn/bzr downloads. For local packages, we of course keep the full path since it's the only information that we can provide. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: SVN/BZR/GIT: don't append $(QUIET)Peter Korsgaard2011-09-301-3/+3
| | | | | | svn/bzr/git commands don't accept the -q option for quiet operation. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add support for local packages through 'file://' pseudo-protocolDavid Wagner2011-09-301-3/+18
| | | | | | | | | | | | | | | | | | | | This can be used this way : <pkg>_VERSION = 42 <pkg>_SITE = file:///some/local/directory <pkg>_SOURCE = mypkg-$(<pkg>_VERSION).tar.bz2 Can be useful to integrate a home-made project or for testing purposes. The default command to retrieve files is 'cp' but 'rsync' could also be used. Through sshfs, it should also be possible to get non-public remote files on a ssh server. [ Thomas Petazzoni: use $(PKG)_SITE and $(PKG)_SOURCE variables instead of $(1) and $(2) ] [ Peter: don't append $(QUIET), cp doesn't handle -q] Signed-off-by: David Wagner <david.wagner@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: remove useless arguments from GENTARGETSThomas Petazzoni2011-09-291-6/+4
| | | | | | | | | | Thanks to the pkgparentdir and pkgname functions, we can rewrite the GENTARGETS macro in a way that avoids the need for each package to repeat its name and the directory in which it is present. [Peter: pkgdir->pkgparentdir] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: add helper functions to get package name and directory magicallyThomas Petazzoni2011-09-291-0/+18
| | | | | | | | | | | | | | | | | | | This commit adds the functions "pkgname" and "pkgdir", which can then be used to automatically find the name of the package and the directory of the package which does the call to GENTARGETS/AUTOTARGETS/CMAKETARGETS. These functions use the $(MAKEFILE_LIST) variable, which make automatically makes available, and which contains the list of included Makefiles, with the current Makefile being last. Thanks to this variable and a little bit of string manipulation, we can easily find out automatically the package name and the directory it is part of. These functions are used in later commits to simplify the GENTARGETS, AUTOTARGETS and CMAKETARGETS calls. [Peter: Rename to pkgmakefile->pkgdir, pkgdir->pkgparentdir as that's what it is] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: implement a 'local' site methodThomas Petazzoni2011-09-291-0/+6
| | | | | | | | | | | | | | | | | | | | | | The new override source directory mechanism allows to tell Buildroot to use a particular directory as the source directory for a package. However, this mechanism works with a local override makefile and not directly within the package recipe itself. For some use cases, it might be desirable to write a package recipe which always refers to a local source directory (and not a http, git, svn or bazaar download). This commit makes this possible by adding the 'local' site method. It allows to write package recipes as follows: MYPKG_SITE = /tmp/mypkg-source-code MYPKG_SITE_METHOD = local [...] $(eval $(call GENTARGETS,package,mypkg)) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: add <pkg>-rebuild and <pkg>-reconfigureThomas Petazzoni2011-09-291-0/+16
| | | | | | | | | | | | | | | | We are often asked "how can I restart the build of a package ?" or "how can I restart the build of package from the configure part ?". Obviously, tweaking with stamp files is possible, but not very user friendly. Therefore this patch adds two new per-package targets: <pkg>-rebuild and <pkg>-reconfigure. They will remove the right stamp files and restart the complete build process (by using the 'all' target, so that not only the package is reconfigured, recompiled and reinstalled, but the root filesystem images are also regenerated). Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: enhance infrastructure to support source dir overrideThomas Petazzoni2011-09-291-2/+52
| | | | | | | | | | | | | | | | | | | When a variable <pkg>_OVERRIDE_SRCDIR is defined, then Buildroot will no longer try to download, extract and patch the package. It will simply use the value of this variable as the source directory for the package. The contents of the package sources will be rsynced to the package build directory in $(O)/build/pkg-version/. This can be used to tell Buildroot that the sources for a given package are inside some directory that you control, and which can be versioned in Git/SVN, or handled in whichever way you want. Those <pkg>_OVERRIDE_SRCDIR variables will be defined by a local makefile included by Buildroot, which will be handled in a later commit. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: add a PRE_PATCH_HOOKS hook pointThomas Petazzoni2011-09-201-0/+2
| | | | | | | | | This will be useful to integrate Xenomai and RTAI into Buildroot, so that they can patch the kernel before the normal patching process starts. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: change ordering of stepsThomas Petazzoni2011-09-181-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the dependency chain is : configure -> patch patch -> extract extract -> depends depends -> source + dependencies ready This is a problem for RTAI, as : * In linux/linux-ext-rtai.mk, we need the RTAI source code to be extracted/patched by the RTAI package, so we need to have a dependency on RTAI. * The RTAI package cannot have its configure step executed before the Linux kernel is built, because it needs the kernel source code to be extracted and configured. Therefore, we have a sort of circular dependency. We solve this circular dependency by having the RTAI kernel part depending on rtai-patch, and having the RTAI userspace part depending on the linux package. However, for this to work, we have to modify the dependency chain to: configure -> patch + depends patch -> extract extract -> source depends -> dependencies ready Which means that dependencies are guaranteed to be built not when the package is extracted, but when the package is configured. Which is technically more correct that what we were doing in the past. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* support: move patch-kernel.sh and rename itThomas Petazzoni2011-09-171-4/+4
| | | | | | | | The name "patch-kernel.sh" is a bit stupid, since this script is used to patch everything in Buildroot, not only kernel trees. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: fix <pkg>_DL_VERSION valueThomas Petazzoni2011-08-041-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 993e51bc22f508fbaf39c5c49fd0595fc5c56013 introduced a <pkg>_DL_VERSION in addition to <pkg>_VERSION. This variable, purely internal to the package infrastructure, allows to store the *raw* version name, as defined in the package .mk file. However, as this version string can contain slashes, it is not appropriate to be part of the build directory name of the package. This is why <pkg>_VERSION is defined to be the same thing as <pkg>_DL_VERSION, except that slashes are replaced by underscores. However, the initial implementation didn't take into account the case of host packages. So 763822e874fd8d39b591feaa9639f76183897fb7 was committed to fix this. But unfortunately, this commit got it wrong again: it forgot the case where <pkg>_VERSION is set, but not HOST_<pkg>_VERSION. In this case, HOST_<pkg>_DL_VERSION remained empty. This can be seen for example by building host-sstrip. This problem has been noticed by Julien Boibessot <julien.boibessot@free.fr>, who also helped in fixing the issue. Thanks! The fix is simply to ensure that <pkg>_DL_VERSION is properly set in all cases: when HOST_<pkg>_VERSION is defined, when only <pkg>_VERSION is defined, and when no version is defined. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: use "" for MESSAGE argumentsPeter Korsgaard2011-07-181-3/+3
| | | | | | | | Otherwise we get output like: >>> host-pkg-config 0.25 'Installing to host directory' Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: Add BR2_XZCAT for LZMA compression typeAllan W. Nielsen2011-07-121-0/+1
| | | | | | Signed-off-by: Allan W. Nielsen <a@awn.dk> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Improve TARGETS handling for bootloaders and kernelThomas Petazzoni2011-07-111-3/+13
| | | | | | | | | | | | | | | | | | As the kernel and bootloaders do not use the normal BR2_PACKAGE_* Kconfig options, their target name was not automatically added to the global TARGETS variable. Each bootloader .mk and the linux.mk had to add their own target manually to TARGETS, and the package infrastructure was making tests on non-existing Kconfig variables. This commit improves the package infrastructure so that it looks at BR2_PACKAGE_<pkg> for packages, BR2_TARGET_<pkg> for bootloaders and at the special BR2_LINUX_KERNEL for the linux package. This allows to simplify a little bit the bootloaders and linux .mk files. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: add support for post-download hooksThomas Petazzoni2011-07-101-0/+2
| | | | | | | | This will be needed for the Linux kernel package, which needs to download patches in a custom way. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: fix patching procedure for host packagesThomas Petazzoni2011-07-071-14/+12
| | | | | | | | | | | | | | | | | | | The patching procedure was using $($(NOHOSTPKG)_NAME) to find the name of the package without the host- prefix for host packages, which is needed to find the package directory and the prefix of the patches. However, this $($(NOHOSTPKG)_NAME) variable is empty when there is only an host variant for the package and no target variant for it. Therefore, instead of using this $($(NOHOSTPKG)_NAME) variable, we now use a new $(RAWNAME) variable, which is always the name of the package without the host- prefix, even for host packages. Thanks to Yann E. Morin for providing the tip on using patsubst instead of subst. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package: add infrastructure to install things in images/Thomas Petazzoni2011-07-071-1/+19
| | | | | | | | This will allow the bootloader makefiles and the kernel makefile to rely on the GENTARGETS infrastructure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix quoting in default extract commandThomas Petazzoni2011-07-071-1/+2
| | | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: Makes it possible to override the default extract commandsAllan W. Nielsen2011-07-071-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | When using GENTARGETS (or macroes depending on it), there is no way of specifying a custom extraction procedure. When using the patch one can simply define $(PACKAGE_NAME)_EXTRACT_CMDS which will override the default. If non is defined it will fall back to the default extract procedure. An example could look like this: === PACKAGE BEGIN === FGLRX_VERSION=11-3 FGLRX_SOURCE:=ati-driver-installer-$(FGLRX_VERSION)-x86.x86_64.run FGLRX_SITE:=http://www2.ati.com/drivers/linux/ define FGLRX_EXTRACT_CMDS sh $(DL_DIR)/$(FGLRX_SOURCE) --extract $(@D) endef $(eval $(call GENTARGETS,package,fglrx)) === PACKAGE END === Signed-off-by: Allan W. Nielsen <a@awn.dk> Cc: Allan W. Nielsen <a@awn.dk> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: extract: only ensure r/w access for userPeter Korsgaard2011-07-071-1/+1
| | | | | | | There's no reason to make the source files writable for everyone. Reported-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* infrastructure: remove leftover of old style hooksDaniel Hobi2011-07-061-1/+1
| | | | | | | | | Commit ae2be8d (infrastructure: remove support for old style hooks) forgot to update an uninstall rule. Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* fetch/git: clone the repository as bareJean-Christophe PLAGNIOL-VILLARD2011-03-161-1/+1
| | | | | | | | | | This will reduce the space used and speed up the clone as it is only used to generate an archive, which doesn't need the git working tree. Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: make <pkg>_SOURCE optionalPeter Korsgaard2011-03-121-3/+3
| | | | | | | | | For packages where the sources are included in buildroot (E.G. makedevs). We unfortunately already use no <pkg>_SOURCE to mean <pkg>_<version>.tar.gz, in several packages (and for git/svn/bzr support), so you need to define <pkg>_SOURCE to the empty string to use it. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* package infra: fix versioned patches for host packagesGustavo Zacarias2010-12-271-1/+1
| | | | | | | | | Without this patch we'd need separate versioned patch directories for target and host packages, thus having unwanted duplication. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* infrastructure: only require download tools when neededThomas Petazzoni2010-12-241-2/+12
| | | | | | | Instead of having to require svn, git or bzr unconditionally, only require them when one package needs them to be downloaded. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package/Makefile.package.in: Added BZR download supportDaniel Nyström2010-12-241-11/+28
| | | | | Signed-off-by: Daniel Nyström <daniel.nystrom@timeterminal.se> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: move autoreconfigure step to pre configure hookLionel Landwerlin2010-11-051-0/+2
| | | | | | | [Peter: update documentation to match] Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix <PKG_NAME>_VERSION variable setupLionel Landwerlin2010-09-201-8/+8
| | | | | | | | | Commit 993e51bc22f508fbaf39c5c49fd0595fc5c56013 introduced a problem to compute <PKG_NAME>_VERSION variable when PKG_NAME start with 'HOST_'. Signed-off-by: Lionel Landwerlin <llandwerlin@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Merge branch 'for-2010.11/download-rework' of ↵Peter Korsgaard2010-09-171-14/+124
|\ | | | | | | | | | | git://git.busybox.net/~tpetazzoni/git/buildroot Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
| * Revert "Makefile.package.in: allow packages to override download step"Maxime Petazzoni2010-09-131-1/+1
| | | | | | | | | | | | | | This reverts commit 48cf66f1a2e2c501abeee98b7a2268b0d6d2010d. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Re-implement the source-check and external-deps targetsMaxime Petazzoni2010-09-131-13/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The new DL_MODE variable dispatches between the various download implementations of each method (Git, Subversion, Wget) to deal with the normal download (default mode, 'DOWNLOAD'), the source-check ('SOURCE_CHECK') and to show the external dependencies for external-deps ('SHOW_EXTERNAL_DEPS'). For the latter, the legacy script wget-show-external-deps.sh is no longer required as $(WGET) isn't called directly anymore but always through the DOWNLOAD helper. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Implement basic non-wget download methodsMaxime Petazzoni2010-09-131-4/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Packages can now be sourced from Git and Subversion repositories. The download method will be autodetected from the URI (git://, svn://, etc). If the repository is accessed through http(s), you can force the download method by setting a _SITE_METHOD variable to either 'git' or 'svn', respectively and without the quotes. The package's _VERSION variable defines which commit, revision, tag or branch should be checked out. For Git, it can be HEAD, a commit ID, a tag name or branch name (anything that can be checked out with `git checkout`). For Subversion, it must be a revision number, or HEAD. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
| * Remove the spider featureMaxime Petazzoni2010-09-131-10/+0
| | | | | | | | | | | | | | | | | | | | In preparation for the re-work of the DOWNLOAD helper to support multiple download methods and protocols, the spider feature used with wget is removed for now until it is re-implemented on top of the new download methods. Signed-off-by: Maxime Petazzoni <maxime.petazzoni@bulix.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* | infrastructure: remove support for old style hooksThomas Petazzoni2010-09-121-27/+6
|/ | | | | | | | Now that all old-style hooks occurences have been converted to new-style hooks, let's get rid of the code needed to support old-style hooks from the package infrastructure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Match whole words when changing .config optionsMalte Starostik2010-07-181-3/+3
| | | | | | | | | | | Make KCONFIG_{ENABLE,DISABLE,SET}_OPT match whole words only. Fixes that BR_INET_IPV6 enables CONFIG_IPV6 in the kernel's .config, but also nukes everything with "CONFIG_IPV6" in its name, e.g. CONFIG_IPV6_PRIVACY. This in turn causes any IPv6 options in a custom kernel .config to be lost and oldconfig going interactive. Signed-off-by: Malte Starostik <m-starostik@versanet.de> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: allow packages to override download stepPeter Korsgaard2010-07-011-1/+1
| | | | | | E.G. for checkout from version control instead. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.autotools.in fix typo (s/extrators/extractors/)Peter Korsgaard2010-06-231-1/+1
| | | | | | Noticed by Michael S. Zick. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Makefile.package.in: Add support for *.tbz2 package archivesPaul Jones2010-06-231-5/+6
| | | | | | Signed-off-by: Paul Jones <paul@pauljones.id.au> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add generic functions to enable/set/disable options in kconfig filesThomas Petazzoni2010-06-221-0/+15
| | | | | | | | | | | | | | The KCONFIG_ENABLE_OPT, KCONFIG_SET_OPT and KCONFIG_DISABLE_OPT are new make functions to respectively enable, set and disable options in Kconfig-like files (as used by the kernel, uClibc or Busybox). They can be used as follows : $(call KCONFIG_ENABLE_OPT,CONFIG_FOOBAR,/path/to/.config) $(call KCONFIG_SET_OPT,CONFIG_BARFOO,foobar,/path/to/.config) $(call KCONFIG_DISABLE_OPT,CONFIG_FARBOO,/path/to/.config) Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: Add new <pkg>-show-depends to list dependenciesThomas Petazzoni2010-05-211-0/+3
| | | | | | | The new <pkg>-show-depends simply outputs the list of dependencies for the given package. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Makefile.package.in: optimize UPPERCASE macroPeter Korsgaard2010-05-061-1/+15
| | | | | | | | | | | | | As noticed by Thomas, we call the UPPERCASE macro a lot, and it slows down startup quite a bit. Optimize it by implementing it in make, rather than forking a shell + tr. The implementation is heavily based on the 'up' macro from gmsl (http://gmsl.sf.net) With this in place, startup time is ~5 times lower. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Do not remove documentation on a per-package basisThomas Petazzoni2010-04-111-9/+0
| | | | | | | | Since the documentation cleanup is done by the main Makefile in a global way, there's no need to do that on a per-package basis in the generic package infrastructure. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Add generic package infrastructureThomas Petazzoni2009-12-151-0/+397
This new infrastructure allows to write simpler .mk files for packages not using the autotools as their build system, by factorizing many common steps (download, extract, patching), and will more easily allow Buildroot-wide changes in how the packages are handled. The main macro is called GENTARGETS and works similarly to the AUTOTARGETS macro that already exists for autotools-based packages. However, the set of variables to be defined before calling the macro is different. Refer to the documentation for details. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>