summaryrefslogtreecommitdiffstats
path: root/target/sdk
Commit message (Collapse)AuthorAgeFilesLines
* sdk: bundle libraries for llvm toolchainTianling Shen2024-10-191-0/+4
| | | | | | | | | | This allows the llvm toolchain to be executed on different host. Also add it to strip list. Fixes: 0ac0840088d5 ("sdk: ship llvm toolchain") Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org> Link: https://github.com/openwrt/openwrt/pull/16674 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: use zstd for IB, toolchain, SDK and LLVM compressionPaul Spooren2024-04-131-4/+5
| | | | | | Use similar efficient but faster compression algorithm. Signed-off-by: Paul Spooren <mail@aparcar.org>
* sdk: include lib/crtsavres.o for powerpcRobert Marko2024-04-091-0/+4
| | | | | | | | | | | | | | | | | | | | Trying to link certain kernel modules like dahdi-linux when building with the OpenWrt SDK will fail with: openwrt-sdk-apm821xx-sata_gcc-13.2.0_musl.Linux-x86_64/staging_dir/toolchain-powerpc_464fp_gcc-13.2.0_musl/bin/powerpc-openwrt-linux-musl-ld: cannot find arch/powerpc/lib/crtsavres.o: No such file or directory Previously this worked with the PowerPC SDK since we carried a hack that was passing --save-restore-funcs to module LDFLAGS so the linker provided the required functions automatically as without --save-restore-funcs it doesnt do so automatically on relocatable links and as a sideffect did not require the kernel provided crtsaves.o to link against. Now that hack has been removed as upstream kernel now compiles crtsaves.o by default so it can be linked against but its not included in the SDK. So, lets include lib/crtsavres.o when SDK is generated for PowerPC. Fixes: 99c9d8abd677 ("kernel: bump 5.15 to 5.15.148") Signed-off-by: Robert Marko <robimarko@gmail.com>
* tools: add ledumon and ledhwbmon packagesFlorian Eckert2023-12-121-0/+1
| | | | | | | | | | | | ledumon: This program creates a new userspace LED class device and monitors it. For this it es using the kmod-leds-uled.ko kernel module. ledhwbmon: This program monitors LED brightness level changes having its origin in hardware/firmware, i.e. outside of kernel control. Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* tools: add tmon packageFlorian Eckert2023-12-051-0/+1
| | | | | | | | | | | | | | Add the 'tmon' packages. This is as a tool to help visualize, tune, and test the complex thermal subsystem. We get a compile warning for the tool that the printf format does not fit. This commit contains a patch that fixes this warning. This patch has also been sent upstream to the Linux kernel [1]. Links: [1] https://lore.kernel.org/all/20231204141335.2798194-1-fe@dev.tdt.de/ Signed-off-by: Florian Eckert <fe@dev.tdt.de>
* sdk: add cpupower to userspace sourcesJohn Audia2023-09-191-2/+3
| | | | | | | For https://github.com/openwrt/packages/pull/21533 to be merged, this source tree is needed to be included. Signed-off-by: John Audia <therealgraysky@proton.me>
* sdk: update SDK MakefileChristian Lamparter2023-07-151-1/+1
| | | | | | | | the SDK's Makefile referenced the old file name. Update it too. Fixes: 2d5f7035cf45 ("sdk: rename README") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* sdk: rename READMETomasz Maciej Nowak2023-07-151-0/+0
| | | | | | | | | | 'help' target fails not finding a file, so follow up on a change[2] made as a fix for main README[1]. 1. d0113711a31f ("README: port to 21st century") 2. 751486b31fd9 ("build: fix README.md reference after rename") Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* sdk: Expose CCACHE_DIR optionJeffery To2023-06-051-0/+7
| | | | | | | As the CCACHE option is already exposed, it would be helpful to also make the ccache directory easily customizable. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* treewide: add ORIG_PATH variableMichael Pratt2023-06-051-0/+2
| | | | | | | | | | | | | Add a variable that stores the original value of $PATH in the host system's shell, before Make alters it. This can be useful for when it is necessary to ignore symlinks and programs made by the build system. Define this new variable before all instances of 'export PATH:=' or similar. Signed-off-by: Michael Pratt <mcpratt@pm.me>
* sdk: do not exclude all doc directoriesMichael Pratt2023-05-091-1/+2
| | | | | | | | | | | | | Some packages which are using local gnulib source are expecting files to exist in the directory: staging_dir/host/share/gnulib/doc so delete the other doc directories directly instead of excluding all of them. Fixes: d167adbc4 ("gettext-full: bootstrap to local gnulib source") Signed-off-by: Michael Pratt <mcpratt@pm.me>
* sdk: expose PATENTED an NLS build optionsTomasz Maciej Nowak2023-03-051-0/+17
| | | | | | | | | Some packages offer functionalities guarded by these options and it'll be impossible to reach them without changing Config-build.in. So allow to toggle these in more friendly way, by exposing them in configuration menu. Signed-off-by: Tomasz Maciej Nowak <tmn505@gmail.com>
* toolchain: remove installing twice in the "initial" subdirAndre Heider2023-02-191-1/+0
| | | | | | | | | | | | | | | | This was apparently introduced to recreate the toolchain (wipe staging_dir/toolchain*, but keep build_dir/toolchain*, followed by a `make toolchain/compile`). But it leaves leftovers and causes re-links to happen at src_install phase, because of the changed paths, possibly adding yet another source of issues. With the prior commits removing various hacks related to the "initial" folder we can remove installing it twice altogether. The recreated toolchain is exactly the same as before. Signed-off-by: Andre Heider <a.heider@gmail.com>
* treewide: strip useless `default n` Kconfig linesTony Butler2023-02-031-5/+0
| | | | | | | | | | Kconfig docs say: > The default value deliberately defaults to 'n' in order to avoid > bloating the build. Apply this rule everywhere, to avoid more cloning of bad examples Signed-off-by: Tony Butler <spudz76@gmail.com>
* sdk: use git-src-full to allow Git versioningKuan-Yi Li2022-11-061-2/+2
| | | | | | | | | | | | | $(AUTORELEASE) uses Git log to determine releases and package timestamps. Base feed is shallow cloned by default in generated SDK, resulting in an incomplete Git log and therefore different local package versions than offered upstream. This patch complements commit 7fae1e5677 by setting the base feed to use `src-git-full` to solve that. Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
* build: fix warnings from grepChris Osgood2022-09-281-1/+1
| | | | | | | Fixes build warnings when using newer versions of grep. Signed-off-by: Chris Osgood <chris_github@functionalfuture.com> Tested-by: Georgi Valkov <gvalkov@gmail.com>
* toolchain: Select USE_SSTRIP with external musl toolchainHauke Mehrtens2022-09-121-1/+0
| | | | | | | | | When we use the internal toolchain USE_SSTRIP will be selected by default for musl libc and USE_STRIP when glibc is used. Do the same when an external toolchain is used. USE_GLIBC will also be set for external toolchain builds based on the EXTERNAL_TOOLCHAIN_LIBC_USE_GLIBC setting. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Makefile: replace head call with grep's -mRosen Penev2022-09-101-1/+1
| | | | | | head is not necessary here. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* sdk: add spidev-test to the bundle of userspace sourcesChristian Lamparter2022-07-171-2/+13
| | | | | | | | | | | | | moves and extends the current facilities, which have been added some time ago for the the usbip utility, to support more utilites that are shipped with the Linux kernel tree to the SDK. this allows to drop all the hand-waving and code for failed previous attempts to mitigate the SDK build failures. Fixes: bdaaf66e28bd ("utils/spidev_test: build package directly from Linux") Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
* build: scripts/config - update to kconfig-v5.14Eneas U de Queiroz2022-02-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Functional Changes ---------- ------- - make 'imply' not impose any restrictions: allow symbols implied by y to become m - change "modules" from sub-option to first-level attribute Bugfixes -------- - nconf: fix core dump when searching in empty menu - nconf: stop endless search loops - xconfig: fix content of the main widget - xconfig: fix support for the split view mode Other Changes ----- ------- - highlight xconfig 'comment' lines with '***' - xconfig: navigate menus on hyperlinks - xconfig: drop support for Qt4 - improve host ncurses detection Update the 'option modules' usage to just 'modules' in Config.in. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* sdk: ship llvm toolchainFelix Fietkau2022-01-271-2/+1
| | | | | | This allows ebpf packages like qosify to be built with it Signed-off-by: Felix Fietkau <nbd@nbd.name>
* treewide: drop use of whichAnsuel Smith2022-01-171-1/+1
| | | | | | | | | | | | | | Ubuntu started to flag which as deprecated and it seems which is not really standard and may vary across Distro. Drop the use of which and use the standard 'command -v' for this simple task. Which is still present in the prereq if some package/script still use which. A utility script called command_all.sh is implemented that will just mimic the output of which -a. Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com>
* llvm-bpf: support creating a tarball in binFelix Fietkau2021-11-042-2/+10
| | | | | | | | This can be used for adding the toolchain to an existing tree without having to build it from scratch. Enable building the toolchain + tarball by default on buildbot Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: unset BINARY_FOLDER and DOWNLOAD_FOLDER in final archivesSven Roederer2021-05-081-1/+7
| | | | | | | | | | | | | | | | Using these config-options to customize the folders used at build-time makes these folder settings appear in generated archive. This causes the SDK to be not portable, as it's going to use the build-time folders on the new systems. The errors vary from passing the build, disk out-of-space to permission denied. The build-time settings of these folders are passed into the archive via Config.build. The expected behavior is that the SDK acts after unpacking like these settings have their defaults, using intree folders. So just filter these folders out when running convert-config.pl to create Config.build. This addresses the same issue that's fixed in the previous commit for the imagebuilder. Signed-off-by: Sven Roederer <devel-sven@geroedel.de>
* sdk: expose binary strip settingsDavid Bauer2021-02-201-0/+46
| | | | | | | Expose the SDK options for binary stripping to the menuconfig. This way, packages can easily be built with debug symbols using the SDK. Signed-off-by: David Bauer <mail@david-bauer.net>
* target: fix copying of licenses for SDK/toolchainAdrian Schmutzler2021-02-141-1/+2
| | | | | | | | | | | | | | | The SDK and target/toolchain copy the license file into their directories. During the rename/move from LICENSE to a LICENSES folder, this has not been updated. Update it now, and include the new COPYING file. While at it, improve formatting/indent. Fixes: 882e3014610b ("LICENSES: include all used licenses in LICENSES directory") Signed-off-by: Adrian Schmutzler <freifunk@adrianschmutzler.de>
* sdk: invoke bundle-libraries.sh w/o buildroot dirs in $PATHJo-Philipp Wich2020-12-291-1/+4
| | | | | | | | | | Invoke bundle-libraries.sh with any buildroot related directory entries removed from $PATH to avoid picking up cross versions of utilities like ldd which will not properly work when used against host executables. This should fix executable bundling for glibc-target SDKs. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* sdk: fix missing include directoriesPetr Štetiar2020-11-021-1/+6
| | | | | | | | | | | | | It's not possible to compile some applications which are using `-Werror=missing-include-dirs` compiler flags with the SDK as some target directories are missing in the SDK tarball: cc1: error: staging_dir/target/usr/include: No such file or directory [-Werror=missing-include-dirs] cc1: error: staging_dir/target/include: No such file or directory [-Werror=missing-include-dirs] Fix this by adding the missing directories in the SDK. Signed-off-by: Petr Štetiar <ynezz@true.cz>
* sdk: keep the linux package in the same subdir as in the main build systemFelix Fietkau2020-10-261-1/+4
| | | | | Fixes: 953435795d17 ("build: always build package/kernel/linux") Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: SDK/IB reproducible and faster compressionPaul Spooren2020-08-231-1/+2
| | | | | | | | | | Both IB and SDK now use the same logic for packing. This commit add reproducible multithread compression to the SDK and corrects the file mtime for both. Previously all files where just copied over from the build system, generating random mtimes. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: improve ccache supportRoman Yeryomin2020-07-111-6/+2
| | | | | | | | | | | | | | | | | | Set CCACHE_DIR to $(TOPDIR)/.ccache and CCACHE_BASEDIR to $(TOPDIR). This allows to do clean and dirclean. Cache hit rate for test build after dirclean is ~65%. If CCACHE is enabled stats are printed out at the end of building process. CCACHE_DIR config variable allows to override default, which could be useful when sharing cache with many builds. cacheclean make target allows to clean the cache. Changes from v1: - remove ccache directory using CCACHE_DIR variable - remove ccache leftovers from sdk and toolchain make files - introduce CONFIG_CCACHE_DIR variable - introduce cacheclean make target Signed-off-by: Roman Yeryomin <roman@advem.lv>
* sdk: add OpenWrt branding to menuconfig & .configEneas U de Queiroz2020-05-201-0/+2
| | | | | | | | | Set the mainmenu symbol in SDK Config.in to "OpenWrt Configuration", the same as the main OpenWrt Config.in. This string is is used as the name of the top menu in menuconfig, and at the top of the .config file. If unset, current kconfig will use "Linux Kernel Configuration". Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com>
* sdk: fix host menu config targets using ncursesEneas U de Queiroz2020-05-201-0/+1
| | | | | | | | | | | | | | This applies 965f341aa9 ("build: fix host menu config targets using ncurses") to the SDK top Makefile. If there is a pkg-config in the staging dir, it will try to use it instead of the host system's pkg-config; then it will fail to find the ncurses package. Linux's default will be used, which fails in some cases, such as recent Gentoo systems. Signed-off-by: Eneas U de Queiroz <cotequeiroz@gmail.com> [fixed From: to match SoB] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* sdk: use bundle-libraries.sh to ship kernel objtool toolsJo-Philipp Wich2019-09-031-8/+2
| | | | | | | | | | Ensure that the kernel objtool utilities are processed by the library bundler in order to ensure that they're usable on foreign systems with different libc versions. Fixes: a9f6fceb42 ("sdk: fix building external modules when CONFIG_STACK_VALIDATION=y") Acked-by: Yousong Zhou <yszhou4tech@gmail.com> Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* sdk: fix GCC and Python dangling symlinksPetr Štetiar2019-08-121-1/+2
| | | | | | | | | | | | | Force prereq again in SDK in order to fix GCC and Python dangling symlinks: staging_dir/host/bin/g++ -> /builder/ath79_generic/ccache_cxx.sh staging_dir/host/bin/gcc -> /builder/ath79_generic/ccache_cc.sh staging_dir/host/bin/python -> /usr/bin/python3.5 staging_dir/host/bin/python3 -> /usr/bin/python3.5 Ref: FS#2424 Signed-off-by: Petr Štetiar <ynezz@true.cz>
* sdk: Fix cryptodev-linux build when CONFIG_ARM64_MODULE_PLTS=yJeffery To2019-08-041-1/+2
| | | | | | | | When CONFIG_ARM64_MODULE_PLTS=y, arch/arm64/kernel/module.lds is required to build cryptodev-linux. This updates the sdk to include this file. Signed-off-by: Jeffery To <jeffery.to@gmail.com>
* sdk: fix building external modules when CONFIG_STACK_VALIDATION=yYousong Zhou2019-04-261-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The option is at the moment enabled for x86/64. The selection chain should be config RETPOLINE select STACK_VALIDATION if HAVE_STACK_VALIDATION config x86 select HAVE_STACK_VALIDATION if X86_64 cryptdev-linux: make[4]: Entering directory '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/cryptodev-linux-cryptodev-linux-1.10' make -C /store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/linux-4.14.113 M=/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/cryptodev-linux-cryptodev-linux-1.10 ARCH=x86 CROSS_COMPILE=x86_64-openwrt-linux-musl- modules make[5]: Entering directory '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/linux-4.14.113' make[6]: *** No rule to make target '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/cryptodev-linux-cryptodev-linux-1.10/ioctl.o', needed by '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/cryptodev-linux-cryptodev-linux-1.10/cryptodev.o'. Stop. Makefile:1533: recipe for target '_module_/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/cryptodev-linux-cryptodev-linux-1.10' failed Open vSwitch intree kmods make[7]: Entering directory '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/openvswitch-2.11.0/datapath/linux' make -C /store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/linux-4.14.111 ARCH=x86 M=/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/openvswitch-2.11.0/datapath/linux modules make[8]: Entering directory '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/linux-4.14.111' make[9]: *** No rule to make target 'tools/objtool/objtool', needed by '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/openvswitch-2.11.0/datapath/linux/actions.o'. Stop. Makefile:1533: recipe for target '_module_/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/openvswitch-2.11.0/datapath/linux' failed make[8]: *** [_module_/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/openvswitch-2.11.0/datapath/linux] Error 2 make[8]: Leaving directory '/store/buildbot/slave/x86_64/build/sdk/build_dir/target-x86_64_musl/linux-x86_64/linux-4.14.111' Reference: builddeb: include objtool binary in headers package, https://patchwork.kernel.org/patch/9014071/ Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
* sdk: find kernel modules when KDIR is a symlinkKarl Vogel2018-11-291-1/+1
| | | | | | | | | | | The find statement would not return any results if the KDIR_BASE pointed to a symlink. Ran into this issue due to a custom Kernel/Prepare that was installing a symlink to the kernel directory. The extra slash at the end fixes this scenario and does no harm for targets that have a proper KDIR. Signed-off-by: Karl Vogel <karl.vogel@gmail.com>
* sdk: expose part of advanced configuration optionsTomasz Maciej Nowak2018-11-261-0/+57
| | | | | | | | These option can be useful in developement/packagig applications for OpenWrt. Instead of searching them by hand in Config-build.in lets expose them for easier access. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl>
* sdk: include arch/arm/ Linux includes along with arch/arm64/ onesJo-Philipp Wich2018-08-031-1/+7
| | | | | | | | | | | The Linux headers on arm64 architectures contain references to common arch/arm/ headers which were not bundled by the SDK so far. Check if we're packing the SDK for an arm64 target and if we do, also include arch/arm headers as well. Fixes FS#1725. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* sdk: bundle usbip userspace sourcesJo-Philipp Wich2018-08-011-0/+4
| | | | | | | | Bundle the usbip utility sources shipped with the Linux kernel tree in order to allow the usbip packages from the package feed to build within the OpenWrt SDK. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* sdk: change base feed fallback to git.openwrt.orgJo-Philipp Wich2018-01-111-1/+2
| | | | | | | Change the hardcoded lede-project.org base feed fallback to $(PROJECT_GIT)/openwrt/openwrt.git instead. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* sdk: switch base feed url to git.openwrt.orgJo-Philipp Wich2018-01-041-1/+1
| | | | | | | As LEDE is rebranding to OpenWrt now, adjust the base feed Git reference accordingly. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* merge: targets: update image generation and targetsZoltan HERPAI2017-12-082-4/+4
| | | | Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
* sdk: restrict base feed repo to public git for CONFIG_BUILDBOT onlyRafał Miłecki2017-12-051-1/+2
| | | | | | | | This allows people to build SDK from custom repository (git access using ssh) and keep original URL in SDK's feeds.conf.default. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Acked-by: Jo-Philipp Wich <jo@mein.io>
* build: get rid of host.mkFelix Fietkau2017-02-262-2/+1
| | | | | | Defined required host related variables in toplevel.mk instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: emit proper tag references for base URLsJo-Philipp Wich2017-02-191-3/+5
| | | | | | | | | Properly resolve symbolic tag names when constructing the base feed Git url and avoid emitting "HEAD" references when building from detached commits. Fixes #495, #501. Signed-off-by: Jo-Philipp Wich <jo@mein.io>
* build: add buildbot specific config option for setting defaultsFelix Fietkau2017-02-141-0/+1
| | | | | | | | | | This can be used to tweak the buildbot behavior without having to change buildbot's configuration. It will also allow us to add more aggressive clean steps (e.g. on toolchain changes), which would break developers' workflows if enable by default. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: clean scripts/config before packing tarball (FS#504)Felix Fietkau2017-02-131-0/+1
| | | | | | | Avoids shipping potentially incompatible object files and also reduces the tarball size Signed-off-by: Felix Fietkau <nbd@nbd.name>
* sdk: add missing change from r3328-f55c29e4c7Felix Fietkau2017-02-081-1/+1
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>