aboutsummaryrefslogtreecommitdiffstats
path: root/include/prereq-build.mk
Commit message (Collapse)AuthorAgeFilesLines
* build: cleanup possibly dangling Python 3 host symlinkEtienne Champetier2019-11-091-0/+2
| | | | | | | | | | | | | | | When switching from master branch to 19.07 or older, we need to ensure that Python symlink in staging bin directory points to Python 2. We can't rely completly just on SetupHostCommand as its executed only in cases when the $(STAGING_DIR_HOST)/bin/python doesn't already exist, so we need to remove it before running SetupHostCommand. This is a cherry-pick of 3b68fb57c938af3948ae4c2da61501183fbef649 with python3 instead of python2 Signed-off-by: Petr Štetiar <ynezz@true.cz> Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
* build: fixup python SetupHostCommand to use python2Etienne Champetier2019-11-091-3/+3
| | | | | | | | | | | | Here is a way to break your build env without this patch: 1) have python point to python3, and no python2 2) start the build, SetupHostCommand will create a symlink ./staging_dir/host/bin/python -> /usr/bin/python 3) build fails on scons because it can't find any python2 4) install python2 and restart the build 5) the build fails on wireless-regdb compile because python is python3 instead of python Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
* build: adjust gcc/g++ version checks for newer apple compilersFelix Fietkau2019-10-101-2/+2
| | | | | Signed-off-by: Felix Fietkau <nbd@nbd.name> (cherry-picked from commit 46a129194de0f9e2f71b6526634569e1ec802504)
* build: fix umask detection bashismThorsten Glaser2019-01-301-1/+1
| | | | | | the leading 0 is optional and not emitted by some shells Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
* build: remove GNU time dependencyJo-Philipp Wich2018-08-051-5/+0
| | | | | | | | | | Replace the GNU time program invocation with a simple Perl script reporting the timing values. Since we require Perl anyway for the build system, we can as well use that instead of requiring a random GNU utility rarely installed by default. Fixes: ff6e62b288 ("build: log time taken by each packages/steps") Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: prereq-build.mk: fix gcc/g++ SetupHostCommand invocationJo-Philipp Wich2018-07-241-2/+2
| | | | | | | A missing comma caused the first command option to be considered part of the error message. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include/prereq-build.mk: explicitly check for -f flag when using busybox timeMatthias Schiffer2018-07-141-2/+2
| | | | | | | On Debian, busybox does have a time applet, but it does not support the -f flag. Catch this in prereq check to give users to proper error message. Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
* build: add busybox support to `time` prereq-checkAndy Boyett2018-06-181-2/+3
| | | | | | | | | | | | | | Busybox time supports the GNU time '-f' syntax used by the build time logging implemented in ff6e62b288c, however the prerequisite check added only works with GNU time installed as `time` or `gtime`. As busybox is a multicall binary, the name of the symlink setup by SetupHostCommand also must be changed from `gtime` to `time` to fix the value of argv[0]. This causes a number of shells (including bash) to use their builtin impelementation of time, so the sole invocation has been changed to use `env time` to use the value found on the $PATH. Signed-off-by: Andy Boyett <agb@agb.io>
* build: log time taken by each packages/stepsEtienne Champetier2018-05-071-0/+4
| | | | | | | | | | The idea is to easily get the list of packages taking the most time to build, and see if we can improve them v1: Use SetupHostCommand as recommended by John v2: add space after 'time:', remove useless /usr/bin/time from SetupHostCommand Signed-off-by: Etienne Champetier <champetier.etienne@gmail.com>
* tools/zlib: move zlib build to toolsHauke Mehrtens2018-04-281-5/+0
| | | | | | | | | | | | | This allows us to link the other tools against our libz and we do not need the system zlib any more. Only the static linked library is copied to the staging directory so we have a statically linked library on all systems and not only on Linux. This also adds the new dependencies of the packages which are depending on zlib. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* build: Improve GCC version detectionHauke Mehrtens2018-04-031-4/+8
| | | | | | | | | | This now makes sure that the beginning of the version number gets checked and "4.4.5" will not match was a supported version. GCC 8 and GCC 9 are now marked as supported, but we probably have to fix some problems for them. Closes: FS#1433 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* merge: etc: update remaining filesZoltan HERPAI2017-12-081-1/+1
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* build: accept gcc/g++ without minor versionJustin Kilpatrick2017-11-261-4/+4
| | | | | | | | | | | | | | | | | | | | | Build dependency: Please install the GNU C Compiler (gcc) 4.8 or later cc -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])' Build dependency: Please install the GNU C++ Compiler (g++) 4.8 or later g++ -dumpversion | grep -E '(4\.[8-9]|5\.[0-9]|6\.[0-9]|7\.[0-9])' Prerequisite check failed. Use FORCE=1 to override. On my Fedora 26 machine gcc and g++ -dumpversion returns a whole number '7' failing the regex introduced in commit: b78de6207f6fc1a9db857942cb89f9fcf730a240 This change makes minor versions optional in the build dependency regex for gcc and g++ whenever any minor version would be accepted and the whole number version is sufficient as a dependency check. For versions 4.* a minor version is still required. Signed-off-by: Justin Kilpatrick <jkilpatr@redhat.com>
* toolchain: Test for supported versions of GCCDaniel Engberg2017-11-251-14/+18
| | | | | | | | Only test for supported versions of GCC The version bump requirement for GCC is because gdb doesn't build with older versions. Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* build: fix high cpu usage / hang in prereq-build.mkFelix Fietkau2017-03-181-1/+0
| | | | | | host-build.mk should not be included for prereq Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: get rid of host.mkFelix Fietkau2017-02-261-4/+3
| | | | | | Defined required host related variables in toplevel.mk instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: use mkhash to replace various quirky md5sum/openssl callsFelix Fietkau2017-01-051-5/+0
| | | | 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>
* 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>
* include: prereq-build.mk: improve gcp checkJo-Philipp Wich2016-10-111-2/+2
| | | | | | | | | Adjust the check for gcp (GNU copy command) to rule out false positives with "Goffi's CoPier" a python copy command. Fixes FS#218. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include: remove XZ host prereqJo-Philipp Wich2016-10-061-3/+0
| | | | | | | We build XZ as part of tools/, so no need to require it to be available on the host system. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include/prereq-build.mk: Add xz-utils to make prereqDaniel Engberg2016-10-051-0/+3
| | | | | | Add xz-utils to make prereq Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* include: relax umask checkJo-Philipp Wich2016-10-041-1/+1
| | | | | | | | For now we only want to ensure that the group permission mask is permissive enough to not clobber required permissions on the rootfs, so allow less strict masks as well. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* include: add umask prereq checkJo-Philipp Wich2016-10-041-0/+4
| | | | | | | | | | | When building LEDE with umask values other than 022, the resulting packages will embed improper permissions, which may lead to random errors or non- functional scripts on the target. In order to make users aware of this problem, add a build-prereq check to assert a correct umask setting before starting the build. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: do not depend on svn any moreHauke Mehrtens2016-07-311-3/+0
| | | | | | LEDE does not need svn to build any more, remove the prerequisite check. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: allow to build LEDE on latest MacOS XWaldemar Brodkorb2016-06-071-0/+5
| | | | | | | | | | | | | Latest Xcode doesn't include openssl anymore. To compile mkimage from u-boot source you need SSL headers on your host. This patch provides libressl host package for any Darwin compilation. Unfortunately openssl from MacPorts can not be used, as the installed headers in /opt/local are breaking GDB compilation. Tested with a RB532 image build and resulting kernel booted on a device via TFTP. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Felix Fietkau <nbd@nbd.name> [fixes, dependencies]
* branding: add LEDE brandingJohn Crispin2016-03-241-1/+1
| | | | Signed-off-by: John Crispin <blogic@openwrt.org>
* prereq: stop relying on man pages and grep for --recursive on the ↵Felix Fietkau2016-03-051-1/+1
| | | | | | | | git-submodule script directly (fixes #21968) Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48934
* build: fix git prereq check to forcibly disable man pagers on the --help checkFelix Fietkau2016-03-051-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48927
* build: fix git prereq check to not rely on being in a git directory (#21968)Felix Fietkau2016-03-051-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48926
* buildroot: improve git submodule handling for packagesFelix Fietkau2016-02-291-2/+2
| | | | | | | | | | | | | | | | | | | Move the `--recursive` switch from `git clone` to `git submodule` so that submodules are cloned for upstream branches where the PKG_SOURCE_VERSION commit-ish has a different .gitmodules configuration than the repository default. This is, for example, required when the master branch for a source package does not use submodules, but its topic branch for OpenWRT does. This changes the buildroot dependency from git-1.6.2 to git 1.7.12.2, which was released September 2012. Signed-off-by: Darik Horn <dajhorn@vanadac.com> Signed-off-by: Karl Palsson <karlp@tweak.net.au> SVN-Revision: 48830
* Support LibreSSL as provider of opensslFelix Fietkau2016-01-171-1/+1
| | | | | | | | | | | | The build scripts check for openssl by grepping the string "OpenSSL" in the output of openssl version command. LibreSSL fails this test as it outputs something like "LibreSSL 2.2.4". This patch fix the prereq-bulid.mk file so that it accepts LibreSSL as openssl provider as well. Signed-off-by: Marek Behun <kabel@blackhole.sk> SVN-Revision: 48267
* build: use host cflags/ldflags for openssl prereq checkFelix Fietkau2015-10-051-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47138
* prereq-build: test availability of Perl Thread::Queue moduleJo-Philipp Wich2015-09-291-0/+4
| | | | | | | | This is needed for building automake. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 47069
* prereq-build: test for static zlib availabilityJo-Philipp Wich2015-09-161-2/+8
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 46976
* include: remove trailing whitespacesLuka Perkov2015-03-291-1/+1
| | | | | | Signed-off-by: Luka Perkov <luka@openwrt.org> SVN-Revision: 45127
* build: accept apple llvm as fallback for gcc/g++Felix Fietkau2015-02-071-2/+4
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44298
* include: fix prereq tests for perl and file (#18911)Jo-Philipp Wich2015-02-061-2/+2
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44296
* include: rework git prereq test to not require 'man'Jo-Philipp Wich2015-02-061-1/+1
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44292
* include: remove static tool linking supportJo-Philipp Wich2015-02-061-18/+0
| | | | | | Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44286
* include: set shell to "sh" for prereq testsJo-Philipp Wich2015-02-051-0/+1
| | | | | | | | | Bash is not guaranteed to be present, e.g. on a fresh FreeBSD install so perform prereq tests with /bin/sh. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44275
* include: prereq-build.mk: use TestHostCommand and SetupHostCommandJo-Philipp Wich2015-02-051-150/+123
| | | | | | | | | Also move tests from tools/Makefile and include/host.mk here to have all tests in a central place. Signed-off-by: Jo-Philipp Wich <jow@openwrt.org> SVN-Revision: 44271
* prereq-build: rename the openssl check to libssl, add back the old check - ↵Felix Fietkau2014-10-201-3/+7
| | | | | | | | it is required after all Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42999
* prereq-build: replace the openssl command check with a check for headersFelix Fietkau2014-10-201-2/+7
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42995
* build: clarify the file prereq check messageFelix Fietkau2014-04-241-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40569
* build: add a prereq check for file (#15692)Felix Fietkau2014-04-241-0/+4
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 40568
* Add package signing infrastructureSteven Barth2013-10-021-0/+4
| | | | | | | | | | | | | Add package signing key and certificate configuration options to the "Image configuration" submenu. If enabled, the Packages.gz list will be signed as file Packages.sig. The passphrase for the signing key can be sourced from a file or entered by the user. The signing certificate is automatically added to the firmware image if opkg-smime is selected. Signed-off-by: Evan Hunt <each@isc.org> Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 38284
* Revert "prereq-build: check for "bc" (#13767)"Florian Fainelli2013-07-011-4/+0
| | | | | | | | | Makes all buildbot builds fail; until we get the right software installed, revert this changeset. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 37122
* prereq-build: check for "bc" (#13767)Florian Fainelli2013-06-301-0/+4
| | | | | | | | | bc is required by the kernel to compute timeconsts files, add bc to the list of prereq to build OpenWrt. Signed-off-by: Florian Fainelli <florian@openwrt.org> SVN-Revision: 37108
* build: BSD compile fixesFelix Fietkau2013-03-071-5/+3
| | | | | | | | | | | | | | | | following patch allows to build images for Qemu ARM on OpenBSD 5.2 amd64 and FreeBSD 9.1 amd64. Mostly small pieces of code changes to get things right on the specific platform. Updated the README to describe better, which tools on the host are required. Added some kind of prepare scripts to install needed tools on BSD via packages. Signed-off-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de> SVN-Revision: 35900