aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Support standalone LLVM/Clang as crosscompilerAlfred Persson Forsberg2023-08-221-0/+20
| | | | | | | | | | | | | | | | | | | | | | This change makes it possible to use Clang instead of GCC in Crossdev. As LLVM is already able to target other architectures, provided that LLVM_TARGETS is set accordingly, the only thing needed to do is compile builtins (compiler-rt) for the target triple. Note that compiler-rt needs libc headers to target when building, and in turn linux-headers needs to be installed for Linux targets, so most stages except binutils and GCC are still there. Currently having both a GCC and LLVM Crossdev environment installed for the same triple is not supported since many ebuilds just use /usr/${CTARGET} as a hardcoded sysroot, but I plan adding support. Note: by standalone I mean a pure LLVM toolchain not dependent on an existing GCC toolchain. Bug: https://bugs.gentoo.org/680652 Signed-off-by: Alfred Persson Forsberg <cat@catcream.org> Closes: https://github.com/gentoo/crossdev/pull/10 Signed-off-by: Sam James <sam@gentoo.org>
* Avoid calling portageq from Makefile20230616Mike Gilbert2023-06-161-1/+2
| | | | | | | It is probably better to look up the repo path at runtime anyway. Bug: https://bugs.gentoo.org/908602 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* wrappers: fix typo in ebuild wrapperMike Frysinger2021-11-261-1/+1
| | | | | Closes: https://bugs.gentoo.org/519636 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* wrappers: add an ebuild helper tooMike Frysinger2021-10-271-1/+1
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* crossdev, emerge-wrapper: request EAPI=7 on eclass importsDavid Seifert2021-06-211-1/+1
| | | | | | | | | | | | | | | | | | | Today ::gentoo dropped support for EAPI=0 from multilib.eclass and toolchain-funcs.eclass. Due to lack of error handling on crossdev side srossdev derived wrong environment for $CTARGET (and mostly fell back to CHOST). This caused at best failing early on gcc-stage1 build. At worst crossdev installed libraries into a wrong $(get_libdir), installed symlinks from wrong host and other disasters. Previous crossdev commits make crossdev crash earlier instead of generating wrong environment. This commit allows dropping EAI=0 support for eclasses eventually. Reported-by: Marco Scardovi (scardracs) Bug: https://bugs.gentoo.org/797367 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers/emerge-wrapper: fail crossdev setup when toolchain-funcs.eclass ↵Sergei Trofimovich2021-06-211-1/+3
| | | | | | | | | | | | | | | | | | | sourcing fails Before the change toolchain-funcs.eclass import failure did not fail hard and generated suboptimal default ARCH. It's not as bad as crossdev's equivalent 'multilib.eclass' source failure, but still not perfect. The change exposes die() calls to be visible in crossdev run: ``` $ rm -rf '@GENTOO_PORTAGE_EPREFIX@/usr/foo/etc'; ./emerge-wrapper --target foo --init emerge-wrapper: ERROR: toolchain-funcs.eclass: EAPI 0 not supported emerge-wrapper: ERROR: Failed calling 'tc-arch' from toolchain-funcs.eclass. ``` Reported-by: Marco Scardovi (scardracs) Bug: https://bugs.gentoo.org/797367 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers/emerge-wrapper: drop population of profile/package.providedSergei Trofimovich2019-08-301-10/+0
| | | | | | | | | | 'profile/package.provided' is created empty for quite a while because wrapper init is called before any cross-* package gets merged. Let's drop that completely and focus on always installing headers and libc into target. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers: tweak rarning message to contain config file pathsSergei Trofimovich2019-07-121-1/+1
| | | | | | | | | commit 393e1cd0c6d3ac81fa166bafe6065d42849f622c ("wrappers: create profile/ and override ARCH, LIBC and KERNEL there") broke config paths reporting as it upgraded 'conf' singleton to 'confs' array but did not update warning message accordingly. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* emerge-wrapper: pin bare-metal targets to LIBC=newlibPalmer Dabbelt2019-03-181-0/+1
| | | | Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
* emerge-wrapper: declare KERNEL=Winnt for *mingw* targets, bug #594576Sergei Trofimovich2019-03-111-0/+1
| | | | | | Reported-by: Fabio Rossi Bug: https://bugs.gentoo.org/594576 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Switch from sys-libs/uclibc to sys-libs/uclibc-ng package.Sergei Trofimovich2018-12-021-1/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers: use @TOPDIR@ and @PREFIX@ instead of __TOPDIR__ and __PREFIX__Sergei Trofimovich2018-10-201-2/+2
| | | | | | | Leave __<var>__ substitutions for runtime substitution and keep @<var>@ for 'make install' substitution. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers: create profile/ and override ARCH, LIBC and KERNEL thereSergei Trofimovich2018-04-051-2/+19
| | | | | | | | | | | | Need for make.defaults: portage does not allow ARCH override in make.conf anymore Need for use.force: embedded profile enforces linux target on us. It's ok as a default but would be nice to be able to override it with nothing (bare-metal) or other OS without existing profile. Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* emerge-wrapper: add a note that 'package.provided' are normally incompleteSergei Trofimovich2018-04-051-0/+1
| | | | Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers/emerge-wrapper: add ELIBC=Cygwin autodetectionSergei Trofimovich2017-12-301-0/+1
| | | | | Reported-by: Marty E. Plummer Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* wrappers/emerge-wrapper: add ELIBC=musl autodetectionSergei Trofimovich2017-12-301-0/+1
| | | | | Reported-by: Marty E. Plummer Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* prefixify build system and scripts.XU Benda2016-06-251-1/+1
|
* crossdev/emerge-wrapper: merge repos.conf parsersMike Frysinger2015-05-181-14/+1
| | | | | | | | | | | The crossdev code had a more full-featured parser of the repos.conf output than the emerge-wrapper. The latter failed to include the last overlay in the list leading to ugly warnings like: /usr/bin/emerge-wrapper: line 48: /eclass/toolchain-funcs.eclass: No such file or directory /usr/bin/emerge-wrapper: line 49: tc-arch: command not found URL: https://bugs.gentoo.org/546748 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* crossdev: set LIBC=mingw for mingw targetsMike Frysinger2014-10-301-3/+4
| | | | | URL: https://bugs.gentoo.org/340989 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: improve warning messagesMike Frysinger2014-10-301-7/+9
| | | | | | The current output isn't clear as to what is wrong. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* switch from PORTDIR/PORTDIR_OVERLAY to repositories_configurationMike Frysinger2014-09-171-2/+17
| | | | | URL: https://bugs.gentoo.org/520880 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: mark the C library/linux-headers as provided in the sysrootMike Frysinger2014-01-181-0/+9
| | | | | | | | Since the cross-xxx/{glibc,linux-headers} packages are installed into the sysroot, we don't want to try and install them in here too as they'll run into file collisions. So automatically add them to package.provided. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* wrappers: drop UCLIBC_CPU supportMike Frysinger2013-12-221-6/+0
| | | | | | | | We've deleted most of this from the uclibc ebuilds and have been pushing people to use CFLAGS for optimization selection. Drop the logic from here too. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* wrappers: drop custom bashrc/e_machine logicMike Frysinger2013-12-221-14/+0
| | | | | | | | Cross-compiling logic has largely stabilized enough now that we don't need this post-install hack to keep things sane. Plus, if you install a package that doesn't cross-compile properly, you'll notice pretty quickly. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: drop "wrap all targets" logicMike Frysinger2013-12-221-17/+7
| | | | | | | We don't really need to do this anymore as crossdev will initialize things automatically for you now. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: stop setting up make.globalsMike Frysinger2013-01-281-7/+0
| | | | | | Portage will take care of this itself internally. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: move files to /etc/portage/Mike Frysinger2011-03-101-2/+8
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: use EM_386 for ARCH=x86Mike Frysinger2010-10-271-0/+1
| | | | | | There is no such "EM_X86" machine type. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: restore __CHOST__ replacementSven Rebhan2010-10-271-0/+1
| | | | | | | The rewrite lost the __CHOST__ sed. Signed-off-by: Sven Rebhan <odinshorse@googlemail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: rewrite & integrate with crossdevMike Frysinger2010-08-101-92/+144
| | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* drop $Header: markingsMike Frysinger2009-12-091-1/+0
| | | | | | These cause cross-scm comparisons a pita. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: clean up target parsingT Parys2009-12-091-13/+20
| | | | | | URL: http://bugs.gentoo.org/264343 Signed-off-by: T Parys <tparys@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: try to accept all chost combos #282311Ned Ludd2009-11-221-1/+1
| | | | | Signed-off-by: Ned Ludd <solar@gentoo.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: add superh supportNed Ludd2009-11-221-0/+4
| | | | | Signed-off-by: Ned Ludd <solar@gentoo.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: add GENTOO_MIRRORS automaticallyNed Ludd2009-11-221-0/+1
| | | | | | | This helps firewall users out. Signed-off-by: Ned Ludd <solar@gentoo.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* emerge-wrapper: some updatesNed Ludd2009-11-221-2/+14
| | | | | Signed-off-by: Ned Ludd <solar@gentoo.org> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Setup PORTDIR and DISTDIR in the cross environment make.conf. Bug #244671Alexis Ballier2008-10-291-0/+4
| | | | This makes it work out of the box on setups with custom PORTDIR and DISTDIR
* Initial commit to crossdev repo.Robin H. Johnson2008-06-221-0/+82