aboutsummaryrefslogtreecommitdiffstats
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* build: disable CONFIG_AUTOREMOVE for packages/tools where QUILT is usedFelix Fietkau2017-01-195-10/+16
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: include CONFIG_AUTOREMOVE in HOST_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: 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: extend CONFIG_AUTOREMOVE to tools/Felix Fietkau2017-01-182-0/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: remove separate /install step for host buildsFelix Fietkau2017-01-181-2/+1
| | | | | | Reduces the number of recursive make invocations Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add support for automatically removing build dir contents during buildFelix Fietkau2017-01-182-3/+23
| | | | | | | | | 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: stage bin/ packages inside PKG_BUILD_DIRFelix Fietkau2017-01-181-2/+9
| | | | | | | | | This makes the build slightly more efficient by avoiding the need to re-stage packages on every full build run. It is also necessary for the upcoming CONFIG_AUTOREMOVE feature Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: stage unstripped packages inside PKG_BUILD_DIRFelix Fietkau2017-01-182-10/+14
| | | | | | | | | This makes the build slightly more efficient by avoiding the need to re-stage packages on every full build run. It is also necessary for the upcoming CONFIG_AUTOREMOVE feature Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: write ABI_VERSION file when staging the packageFelix Fietkau2017-01-181-7/+1
| | | | | | | The make target does not rewrite the file if the contents didn't change. This causes make to always consider the target old. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: introduce extra targets that contain only proper dependenciesFelix Fietkau2017-01-184-11/+18
| | | | | | 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-183-18/+6
| | | | | | Reduce build system clutter and enable further rework Signed-off-by: Felix Fietkau <nbd@nbd.name>
* git-kernel: $(SUBDIR) should always be $(LINUX_VERSION)Mirko Vogt2017-01-181-1/+1
| | | | | | | | | | | | | | | | | | Before SUBDIR was set to $(PATCHVER) which may or may not include the minor version number of the linux kernel version. Usually it doesn't. So the git-clone'd linux kernel was packed without the minor version number taken into account, which broke further processing, as it expected the extracted dir being named linux-$(LINUX_VERSION) (=with minor version) rather than linux-$(PATCHVER) (=without minor version). Changing SUBDIR to $(LINUX_VERSION) creates consistent behaviour here. Signed-off-by: Mirko Vogt <mirko-openwrt@nanl.de>
* build: move STAGING_DIR_HOSTPKG and BUILD_DIR_HOST back to a common ↵Matthias Schiffer2017-01-184-4/+4
| | | | | | | | | | | | | 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: properly pass CPP and CXX flags in HOST_MAKE_VARSJo-Philipp Wich2017-01-171-1/+2
| | | | Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: introduce default HOST_MAKE_VARS for host-buildsAlexandru Ardelean2017-01-171-1/+7
| | | | | | Inspired/adapted from `package-defaults.mk` MAKE_VARS. Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* ubox: turn logd into a separate packageAndrej Vlasic2017-01-161-1/+1
| | | | | | | | Currently system log is always included as a part of ubox. Add logd as a seperate package and add it to default packages list. Signed-off-by: Andrej Vlasic <andrej.vlasic@sartura.hr> Signed-off-by: Luka Perkov <luka.perkov@sartura.hr>
* include/feeds.mk: base list of enabled feeds on available instead of ↵Matthias Schiffer2017-01-161-1/+1
| | | | | | | | installed feeds This fixes handling of CONFIG_FEED_* options for uninstalled feeds. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* include/autotools.mk: use STAGING_DIR_HOSTPKG where appropriateMatthias Schiffer2017-01-141-2/+2
| | | | | | | Make sure binaries install to STAGING_DIR_HOSTPKG are still found when this variable is eventually modified. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* kernel: update 4.4 kernel to 4.4.42Hauke Mehrtens2017-01-131-2/+2
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* image.mk: add generic function for gzipping images if enabledFelix Fietkau2017-01-131-0/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image: when using the new image build code, gzip ext4 images by defaultFelix Fietkau2017-01-131-1/+6
| | | | | | | | | This reduces the amount of hacks in the makefile code. Remove the apm821xx code to do the same - it was broken and left both compressed and uncompressed images in $(BIN_DIR) Signed-off-by: Felix Fietkau <nbd@nbd.name>
* image.mk: use LINUX_KARCH rather than ARCH for mkitsIan Pozella2017-01-132-2/+2
| | | | | | | | | | | The generated 'its' is passed to mkimage which expects linux arch strings rather than the full arch (e.g. mips not mipsel). It currently works in some cases where LINUX_KARCH == ARCH but otherwise you get an unknown arch build error. Signed-off-by: Ian Pozella <Ian.Pozella@imgtec.com> Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: let make check warn about use of legacy PKG_MD5SUM variable in feedsFelix Fietkau2017-01-131-3/+0
| | | | | | | The variable rename change has been merged in OpenWrt now, so it's possible to convert the feeds as well. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: remove linux 4.1 supportFelix Fietkau2017-01-111-2/+0
| | | | | | | The only target still referencing it is omap24xx, and it is marked as broken. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: scan.mk: consider KernelPackage pattern as wellJo-Philipp Wich2017-01-101-1/+1
| | | | | | | | The removal of the ".+Package" pattern in scan.mk also caused the build system to skip over Makefiles defining only kmods. Adjust the grep pattern to consider packages with "call KernelPackage" signatures as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: scan.mk: remove overlay broad grep patternJo-Philipp Wich2017-01-101-1/+1
| | | | | | | | | | | | | | | | | Commit af0b91c "allow scan.mk to find python packages introduced in [8639]" added some special casing to scan.mk to accomodate some nonstandard python packages. Nowadays this pattern is not needed anymore and produces false positives when using the LEDE source repository as feed within the SDK since the metadata scanning wrongly picks up target/imagebuilder/Makefile as package, leading to an "ERROR: please fix feeds/base/target/imagebuilder/Makefile" message. Remove the now uneeded pattern to fix such stray errors during metadata scanning. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix HOST_CONFIGURE_VARS placementJo-Philipp Wich2017-01-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | Instead of passing HOST_CONFIGURE_VARS as arguments to the configure script, pass it as environment variables which brings the logic in line with the behaviour of package-defaults.mk. The change is needed since passing environment variables as configure parameters only works with GNU autoconf which evaluates command line arguments looking like variable assignments. Doing the same with non-autoconf configure scripts is not guaranteed to work since such scripts might terminate due to unknown argument errors. One example case is the cmake configure script which bails out when called as "./configure LDFLAGS=..." but not when called as "LDFLAGS=... ./configure". Also change the SHELL override to CONFIG_SHELL in the default HOST_CONFIGURE_VARS as the former is not properly propagated through the various GNU configure invocations since it gets lost when configure re- executes itself. A prior attempt to change the variable placement had to be reverted due to the missing SHELL -> CONFIG_SHELL change, leading to misgenerated libtool executables in various packages. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: remove obsolete parallel build related optionsFelix Fietkau2017-01-103-15/+5
| | | | | | Always use the main make jobserver, which has been the default for ages Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: fix build of ubifs imagesFelix Fietkau2017-01-092-6/+6
| | | | | | --force-compr was added by the xz compression patch, which is gone now. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add image command for calling kernel2minorFelix Fietkau2017-01-071-0/+5
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: bump to 4.4.40Hauke Mehrtens2017-01-061-2/+2
| | | | | | | Refresh patches on all 4.4 supported platforms. Compile & run tested: lantiq/xrx200 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "build: fix HOST_CONFIGURE_VARS placement"Jo-Philipp Wich2017-01-051-1/+1
| | | | | | | | | This reverts commit 8395b63aac616f72fd835c59240fc2a4a6b28106. Various host builds currently rely on the broken behaviour of HOST_CONFIGURE_VARS so roll back to the previous state. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: fix HOST_CONFIGURE_VARS placementJo-Philipp Wich2017-01-051-1/+1
| | | | | | | | | | Ensure that HOST_CONFIGURE_VARS are set before the actual configure command instead of passing them as configure command arguments. This change brings host-build.mk in line with package-defaults.mk and makes host configure environment variables work as expected. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: ensure that prereq-build is run before metadata scan from feeds (FS#367)Felix Fietkau2017-01-051-1/+1
| | | | | | Fixes ./scripts/feeds update Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: unzip: perform operations quietlyYousong Zhou2017-01-051-1/+1
| | | | Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* build: use mkhash to replace various quirky md5sum/openssl callsFelix Fietkau2017-01-058-18/+7
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: add a small standalone utility for calculating md5/sha256 hashFelix Fietkau2017-01-051-0/+6
| | | | | | | | This will be used to simplify the build system code for checking hashes. Instead of using various variants of md5sum / openssl, use one simple utility for all of them Signed-off-by: Felix Fietkau <nbd@nbd.name>
* host-build: remove openssl include path from host cflagsFelix Fietkau2017-01-051-5/+0
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* tools: build libressl on all systemsFelix Fietkau2017-01-051-14/+0
| | | | | | | Useful for having a more consistent build environment and finding API issues faster Signed-off-by: Felix Fietkau <nbd@nbd.name>
* kernel: allow subtarget specific KernelPackageStijn Tintel2017-01-041-0/+2
| | | | | | | | | Add a call to KernelPackage/$(1)/$(BOARD)/$(SUBTARGET) to the KernelPackage macro. This allows to add kernel packages for x86/64, without breaking x86. It's not possible to do this with BOARD, as BOARD=x86 for x86_64. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
* build: drop `trapret` function from non-Linux HOST_TAR variantAlexandru Ardelean2017-01-032-21/+1
| | | | | | | | | | | | | | | | | | | | | | | | Looks like this was meant to workaround some limitations with non-GNU tar variants (like BSD-tar which are present on Mac os BSD hosts). Though, I cannot find any use of that `+s` option that's mentioned in the comment. Last hash of this I found was 24faf55360271cd0bfc4751753384f9210d52f7f In my case, it now this fails for `python-setuptools` on Mac OS X (the host-build with): ``` trapret 2 tar -C <home-dir>/work/sources-work/lede/build_dir/target-i386_pentium4_musl-1.1.15/python-setuptools-27.2.0 --strip-components=1 -xzf <home-dir>/work/sources-work/lede/dl/setuptools-27.2.0.tar.gz bash: trapret: command not found ``` So, I was thinking maybe it's time to remove this workaround (9 years later). I could also fix the `python-setuptools` host build. If that's more preferred. [ Btw, I just recently transitioned to a Mac machine for dev-ing, so a lot of (this Mac) stuff I'm finding out is new to me too. ] Signed-off-by: Alexandru Ardelean <ardeleanalex@gmail.com>
* build: add defaults for PKG_SOURCE, PKG_SOURCE_SUBDIR, PKG_VERSIONFelix Fietkau2016-12-223-2/+10
| | | | | | | | 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>
* base-files: add support for overlaying rootfs contentRafał Miłecki2016-12-201-0/+9
| | | | | | | | | This adds support for install-overlay define. When used in package it allows installing files to a special directory that gets copied to the root when installing it. It allows overwriting files provided by other packages. Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
* kernel: bump to 4.4.39Kevin Darbyshire-Bryant2016-12-201-2/+2
| | | | | | | | Bump & refresh patches for all 4.4 targets. Compile & run tested: ar71xx Archer C7 v2 Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
* build: add FIXUP option for make checkFelix Fietkau2016-12-171-1/+18
| | | | | | | | This will attempt to automatically fix common mistakes like using MD5 instead of SHA256, using the MD5SUM variable instead of HASH, or even a missing mirror file hash. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: implement make check and make package/X/checkFelix Fietkau2016-12-176-22/+91
| | | | | | | | | | | | | | | | 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>
* treewide: clean up download hashesFelix Fietkau2016-12-162-6/+6
| | | | | | Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* include/package.mk: sync default value for hash fallback with mirror hashFelix Fietkau2016-12-162-2/+1
| | | | | | 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-163-23/+13
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: replace MD5SUM variables with HASHFelix Fietkau2016-12-162-3/+7
| | | | | | | 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>