summaryrefslogtreecommitdiff
path: root/include/package.mk
Commit message (Collapse)AuthorAgeFilesLines
* build: keep recursive dependency check stampfiles up to dateFelix Fietkau2017-02-011-0/+3
| | | | | | | | | Since the main stamp file depends on the _check stampfile, the _check stampfile needs to be created on the first run as well. Fixes spurious rebuilds with CONFIG_AUTOREBUILD=y Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: make the touch .autoremove call non-fatalFelix Fietkau2017-01-241-1/+1
| | | | | | | Fixes build issues when there is nothing to do on the compile step (e.g. with unselected packages). Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: do not auto-clean packages where the autoremove step has not runFelix Fietkau2017-01-231-2/+5
| | | | | | | This avoids repeatedly unpacking and rebuilding packages that are failing the build. Re-running the failing step should be much faster. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix CONFIG_AUTOREMOVE for packages with multiple variantsFelix Fietkau2017-01-221-2/+4
| | | | | | | | Calling the clean target removes all .ipk files and un-stages the package. Add a new target just for clearing the build dir and call that one instead of the full clean target Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: disable CONFIG_AUTOREMOVE for packages/tools where QUILT is usedFelix Fietkau2017-01-191-5/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: include CONFIG_AUTOREMOVE in STAMP_PREPAREDFelix Fietkau2017-01-191-1/+1
| | | | | | Fixes build issues when changing the CONFIG_AUTOREMOVE setting Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for automatically removing build dir contents during buildFelix Fietkau2017-01-181-0/+6
| | | | | | | | | This is used to save space on buildbot instances. If any part of a package needs to be rebuild, the whole package is rebuilt from scratch. Stamp files are preserved to allow dependency checks to work Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: introduce extra targets that contain only proper dependenciesFelix Fietkau2017-01-181-5/+6
| | | | | | This can be used to check if targets like prepare or compile are up to date Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: define common subdir targets in rules.mkFelix Fietkau2017-01-181-4/+1
| | | | | | Reduce build system clutter and enable further rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: move STAGING_DIR_HOSTPKG and BUILD_DIR_HOST back to a common ↵Matthias Schiffer2017-01-181-1/+1
| | | | | | | | | | | | | directory for all targets Using a single host package staging dir (and build dir) significantly speeds up builds when multiple targets are built in succession, especially for large host packages like NodeJS. $(STAGING_DIR)/host is kept in addition to $(STAGING_DIR_HOSTPKG) in most places; it is still used as destination for host files in Build/InstallDev. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* build: remove obsolete parallel build related optionsFelix Fietkau2017-01-101-7/+2
| | | | | | Always use the main make jobserver, which has been the default for ages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add defaults for PKG_SOURCE, PKG_SOURCE_SUBDIR, PKG_VERSIONFelix Fietkau2016-12-221-1/+2
| | | | | | | | This makes it easier to unify versioning of git based package downloads. PKG_SOURCE_DATE along with an 8-character abbreviation of the git hash is used as PKG_VERSION, PKG_RELEASE should be used like normal packages. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: implement make check and make package/X/checkFelix Fietkau2016-12-171-9/+13
| | | | | | | | | | | | | | | | This is intended to be used for a wide array of package sanity checks. The first check that is implemented is for the hash of downloaded files. It checks: - Missing hash - Use of SHA256 instead of MD5 - dl/<file> hash not matching hash in makefile - deprecated MD5SUM variable The deprecated MD5SUM variable check is skipped for feeds/ until OpenWrt is updated as well Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/package.mk: sync default value for hash fallback with mirror hashFelix Fietkau2016-12-161-1/+0
| | | | | | Simplifies dealing with PKG_HASH vs PKG_MD5SUM Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove duplicate Download/default definition from include/host-build.mkFelix Fietkau2016-12-161-13/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: replace MD5SUM variables with HASHFelix Fietkau2016-12-161-1/+3
| | | | | | | Since we've switched to preferring SHA256 over MD5, the old variable name is misleading. Packages using the old name remain compatible. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix cleaning configured stamp fileYousong Zhou2016-10-151-1/+1
| | | | | | | | | | | | | | We have packages with their own parts appended to standard STAMP_CONFIGURED (mostly with an underscore character). This will render the current STAMP_CONFIGURED_WILD setting invalid and the build system may miss a rebuild on config change 1. Build with config A 2. Build with config B, yet .configured_A_xx did not get cleaned 3. Return to config A, but rebuild will not happen because stamp file of config A still exists Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: don't add -j for parallel builds with Make 4.2+Matthias Schiffer2016-06-151-1/+1
| | | | | | | | | | | | | | | | | | Make usually passes -j and jobserver arguments as part of MAKEFLAGS. LEDE removes MAKEFLAGS to have better control of the build, and re-adds the jobserver arguments with -j to the Make commandline where desired. Make 4.2+ behave differently with these arguments passed on the commandline than in MAKEFLAGS: -j will override the jobserver argument and the job count will be unlimited. Moving the flags to MAKEFLAGS will need many packages to be changed and tested; therefore, we opt for a less invasive change for now and just remove -j for Make 4.2+, as the jobserver argument alone is enough to enable parallel builds for these Make versions. Signed-off-by: Jo-Philipp Wich <jo@mein.io> Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* build: add support for specifying extra package dependencies for prepared, ↵Felix Fietkau2016-05-051-3/+3
| | | | | | configured and built Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include: choose package output directory based on repository infoJo-Philipp Wich2016-04-061-1/+1
| | | | | | | | | | | Use the new repository metadata field to choose the output directory of the final package archives. Non-sharable packages will be placed in the per-target package directory while the rest will be placed in a per-repository sub directory within the $OUTPUT_DIR/packages/$CPU_TYPE/ prefix. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: use -iremap feature to replace __FILE__ absolute path names in ↵Felix Fietkau2016-01-251-0/+5
| | | | | | | | | | packages with ones relative to $(BUILD_DIR) improves reproducible builds Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48489
* build: use directory name instead of PKG_NAME for staging files and package ↵Felix Fietkau2016-01-041-14/+14
| | | | | | | | metadata Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48110
* buildroot: move hardening options into separate fileSteven Barth2015-06-201-46/+1
| | | | | | Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 46070
* package.mk: replicate SSP and relro in both CFLAGS and LDFLAGSSteven Barth2015-06-181-0/+4
| | | | | | Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 46035
* include: clean package staging dir files before configureJo-Philipp Wich2015-05-261-10/+14
| | | | | | | | | | | | | This is required to allow packages to ship libraries with a different API. Previously the linker would favor the old shared libraries in STAGING_DIR instead of the just compiled ones in PKG_BUILD_DIR. Avoid that problem by clearing the package staging files right after prepare. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 45759
* build: include variant name in STAMP_INSTALLEDFelix Fietkau2015-04-031-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45253
* include: remove trailing whitespacesLuka Perkov2015-03-291-2/+2
| | | | | | Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 45127
* build: clean up sitefiles, make them per-archFelix Fietkau2015-03-281-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 45090
* build: define STAMP_CONFIGURED recursivelyJohn Crispin2015-03-211-1/+1
| | | | | | | | | | | | | | | Defining STAMP_CONFIGURED statically caused it not to reflect changes to PKG_CONFIG_DEPENDS made after including package.mk, like the additional options added by feeds.mk for all packages. Furthermore, as STAMP_CONFIGURED_WILDCARD was already defined recursively, the patsubst in its definition would never match, and in consequence, the stamps were never removed. This caused packages not to be rebuilt when they should have been. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 44927
* build: explicitly unexport CONFIG_SITEFelix Fietkau2015-01-181-1/+1
| | | | | | | | | | | | | | | On systems with CONFIG_SITE in the environment (e.g. OpenSUSE) make will export the CONFIG_SITE set in include/package.mk by default. This will cause host builds to get the target site configuration, leading to all kinds of weirdness (wrong pointer size, wrong endianess). Fix this by explicitly unexporting CONFIG_SITE. The explicit export for the target builds overrides the unexport, so the target builds will still correctly get the site config. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net> SVN-Revision: 44019
* Support for building an hardened OpenWRTJohn Crispin2015-01-171-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce configuration options to build an "hardened" OpenWRT. Options to enable Stack-Smashing Protection, FORTIFY_SOURCE and RELRO have been introduced. uClibc makefile now automatically detects if SSP support is necessary. hostapd makefile has been fixed to use "^" as sed separator since using a comma was problematic when using "-Wl,-z,now" and the like in TARGET_CFLAGS. Currently enabling SSP on user space depends on enabling SSP kernel side, this is due to the fact that TARGET_CFLAGS are used to build kernel modules (at least). Suggestions on how to avoid this are welcome. Using "select" instead of "depends on" doesn't seem to work with choice entries. Tested with a lantiq (WBMR) router, GCC 4.8, uClibc and a subset of the available packages. Needs to be tested with GCC 4.9 and the remaining packages. PIE not currently included. Signed-off-by: Alessandro Di Federico <ale+owrt@clearmind.me> SVN-Revision: 44005
* build: clean up and optimize ipkg control generator codeFelix Fietkau2014-10-221-3/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43017
* PKG_CHECK_FORMAT_SECURITY: add a menuconfig option, disable by defaultJohn Crispin2014-08-251-3/+5
| | | | | | | | | | | The idea is still to enable it by default at some point I've tested all ar71xx packages (except oldpackages) using CONFIG_ALL=y Failing packages have been marked with PKG_CHECK_FORMAT_SECURITY:=0 for now I can test more targets but i have no idea which are the most used Signed-off-by: Etienne CHAMPETIER <champetier.etienne@gmail.com> SVN-Revision: 42282
* build: temporarily disable PKG_CHECK_FORMAT_SECURITY until after the releaseFelix Fietkau2014-07-041-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 41504
* build: Introduce PKG_CHECK_FORMAT_SECURITYFelix Fietkau2014-06-301-0/+4
| | | | | | | | | | The idea is to get rid of http://en.wikipedia.org/wiki/Uncontrolled_format_string by using "-Wformat -Werror=format-security" by default Signed-off-by: Etienne CHAMPETIER <etienne.champetier@free.fr> SVN-Revision: 41412
* build: reimplement package build directory overrideFelix Fietkau2014-04-181-15/+15
| | | | | | | | | Remove leftover pieces from package-version-override.mk support Add a new variable USE_SOURCE_DIR to use a custom build directory. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40527
* build: add alternative PKG_CONFIG_PATHFelix Fietkau2014-03-071-1/+1
| | | | | | | | | | | | | | | | | | This is a cryptographically signed message in MIME format. udev Makefile.am has two different .pc files and put them into two locations. Don't know if changing the udev Makefile or changing the pkgconfig paths is the right way - someone has to decide :) udev and vala use an additional pkg-config dir add it to the path discovered because openobex did not find udev.pc Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de> SVN-Revision: 39792
* build: allow packages to declare ABI versions to detect necessary package ↵Felix Fietkau2014-02-231-0/+12
| | | | | | | | | | | | | | | rebuilds If a package directly depends on another package that recently changed its ABI version, it will be cleaned up and rebuilt (assuming quilt is not used). This helps with packages that have no stable ABI, e.g. libubox, ubus, etc. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 39720
* build: fix typo in mips16 changesFelix Fietkau2013-08-141-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37776
* build: decouple the mips16 support flag from the toolchainFelix Fietkau2013-08-141-0/+7
| | | | | | | | | Add the flags from package.mk instead, and leave libc and gcc unaffected. Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 37770
* build: clean up stale files from a previous build when installing a package ↵Felix Fietkau2013-05-291-0/+5
| | | | | | | | build to the staging dir Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36755
* build: reduce the size of package metadata a bit to keep package list files ↵Felix Fietkau2012-12-221-1/+1
| | | | | | smaller SVN-Revision: 34871
* buildroot: isolate the .install stamp files for build variants (#12279)Jo-Philipp Wich2012-11-071-2/+3
| | | | | | | | This fixes missing embedded packages if multiple build variants are selected in the build config, e.g. missing ppp if CONFIG_PACKAGE_ppp=y and CONFIG_PACKAGE_ppp-multilink=m . SVN-Revision: 34106
* build: create pkginfo dir earlier to avoid build breakageFelix Fietkau2012-10-061-0/+1
| | | | SVN-Revision: 33633
* build: rework the package/install step - collect package install lists ↵Felix Fietkau2012-10-061-3/+9
| | | | | | during package/compile, then install all packages at once SVN-Revision: 33631
* build: ensure that package/host-build build system code does not run in ↵Felix Fietkau2012-09-171-0/+2
| | | | | | parallel, fixes rare spurious parallel build failures SVN-Revision: 33445
* build: move the -j flag to package.mk instead of grabbing it from makeflags, ↵Felix Fietkau2012-09-151-1/+1
| | | | | | otherwise it occasionally gets omitted on full builds SVN-Revision: 33422
* build: add a config option for passing the top-level make jobserver to ↵Felix Fietkau2012-09-151-1/+7
| | | | | | packages that have parallel build enabled, significantly improves parallelization and gets rid of CPU overcommit during intra-package parallel builds SVN-Revision: 33414
* use autoreconf hook instead of manual callJohn Crispin2012-07-251-0/+3
| | | | SVN-Revision: 32837
* build: add a config option for choosing the prefered standard c++ library ↵Felix Fietkau2012-06-141-0/+2
| | | | | | and add uclibc++.mk to make this easy to handle in packages SVN-Revision: 32369