Open tiborh opened 4 years ago
emerge --info '=dev-lang/luajit-2.0.5-r2::gentoo'
Portage 3.0.8 (python 3.6.12-final-0, default/linux/arm64/17.0/desktop, gcc-10.2.0, glibc-2.32-r2, 5.4.45-v8-3b41649ff96d-p4-bis+ aarch64)
=================================================================
System Settings
=================================================================
System uname: Linux-5.4.45-v8-3b41649ff96d-p4-bis+-aarch64-with-gentoo-2.7
KiB Mem: 7949164 total, 2734032 free
KiB Swap: 0 total, 0 free
Timestamp of repository gentoo: Tue, 06 Oct 2020 09:30:01 +0000
Head commit of repository gentoo: 3be8e67027b4ef698281a9971313896de0d91adf
Head commit of repository sakaki-tools: c97a6c18c4278fe1f487262e09640b6f9f580ab1
Head commit of repository genpi64: 2b1562ecb39733a19e588b54d8fd7221f2e88653
sh bash 5.0_p18
ld GNU ld (Gentoo 2.35.1 p1) 2.35.1
distcc 3.3.3 aarch64-unknown-linux-gnu [disabled]
app-shells/bash: 5.0_p18::gentoo
dev-java/java-config: 2.3.1::gentoo
dev-lang/perl: 5.30.3-r1::gentoo
dev-lang/python: 2.7.18-r4::gentoo, 3.6.12::gentoo, 3.7.9::genpi64, 3.8.6::gentoo, 3.9.0::gentoo
dev-util/cmake: 3.18.3::gentoo
dev-util/pkgconfig: 0.29.2::gentoo
sys-apps/baselayout: 2.7::gentoo
sys-apps/openrc: 0.42.1-r3::genpi64
sys-apps/sandbox: 2.20::gentoo
sys-devel/autoconf: 2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake: 1.16.2::gentoo
sys-devel/binutils: 2.35.1::gentoo
sys-devel/gcc: 10.2.0-r2::gentoo
sys-devel/gcc-config: 2.3.2::gentoo
sys-devel/libtool: 2.4.6-r6::gentoo
sys-devel/make: 4.3::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc: 2.32-r2::gentoo
Repositories:
gentoo
location: /var/db/repos/gentoo
sync-type: rsync
sync-uri: rsync://isshoni.org/gentoo-portage-pi64-gem
priority: -1000
sync-rsync-verify-metamanifest: yes
sync-rsync-verify-max-age: 24
sync-rsync-verify-jobs: 1
sync-rsync-extra-opts:
sakaki-tools
location: /var/db/repos/sakaki-tools
sync-type: git
sync-uri: https://github.com/sakaki-/sakaki-tools.git
masters: gentoo
priority: 50
genpi64
location: /var/db/repos/genpi64
sync-type: git
sync-uri: https://github.com/sakaki-/genpi64-overlay.git
masters: gentoo
priority: 100
ACCEPT_KEYWORDS="* arm64 ~* ~arm64"
ACCEPT_LICENSE="@BINARY-REDISTRIBUTABLE"
CBUILD="aarch64-unknown-linux-gnu"
CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /boot/startup.sh /etc /usr/lib64/libreoffice/program/sofficerc /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.6/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=5 --load-average=4"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles getbinpkg ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2"
GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://trumpetti.atm.tut.fi/gentoo/ http://distfiles.gentoo.org"
LANG="en_GB.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j5 -l4"
PKGDIR="/var/cache/binpkgs"
PORTAGE_BINHOST="https://isshoni.org/pi64pie"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa arm64 berkdb bluetooth branding bzip2 cairo cdda cdr cli crypt cups dbus dri dts dvdr egl elogind emboss encode exif ffmpeg flac fortran gdbm ghcbootstrap gif gles1 gles2 gpm gtk gui iconv icu ipv6 jpeg lcms libglvnd libnotify libtirpc lock mad mng mp3 mp4 mpeg ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt4 qt5 readline sdl seccomp spell split-usr ssl startup-notification svg tcpd thunar tiff truetype udev udisks unicode upower usb vorbis wxwidgets x264 xattr xcb xml xv xvid zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 v8 vfp vfp-d32 vfpv3 vfpv4" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" L10N="en en-GB" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LLVM_TARGETS="WebAssembly BPF" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_5 python3_6 python3_7 python2_7" QEMU_SOFTMMU_TARGETS="aarch64 arm i386 x86_64" QEMU_USER_TARGETS="aarch64" RUBY_TARGETS="ruby25 ruby27 ruby26" USERLAND="GNU" VIDEO_CARDS="fbdev vc4 v3d" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
$ sudo emerge -pqv '=dev-lang/luajit-2.0.5-r2::gentoo'
Password:
Local copy of remote index is up-to-date and will be used.
[ebuild N ] dev-lang/luajit-2.0.5-r2 USE="-lua52compat -static-libs"
$ sudo cat /var/tmp/portage/dev-lang/luajit-2.0.5-r2/temp/build.log
Password:
* Package: dev-lang/luajit-2.0.5-r2
* Repository: gentoo
* Maintainer: rafaelmartins@gentoo.org
* USE: arm64 elibc_glibc kernel_linux userland_GNU
* FEATURES: network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking LuaJIT-2.0.5.tar.gz to /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work
>>> Source unpacked in /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work
>>> Preparing source in /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5 ...
* Applying luajit-2-ldconfig.patch ...
[ ok ]
* Applying CVE-2020-15890.patch ...
[ ok ]
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5 ...
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5 ...
make -j5 -l4 Q= PREFIX=/usr MULTILIB=lib64 DESTDIR=/var/tmp/portage/dev-lang/luajit-2.0.5-r2/image/ HOST_CC=aarch64-unknown-linux-gnu-gcc STATIC_CC=aarch64-unknown-linux-gnu-gcc 'DYNAMIC_CC=aarch64-unknown-linux-gnu-gcc -fPIC' TARGET_LD=aarch64-unknown-linux-gnu-gcc 'TARGET_AR=aarch64-unknown-linux-gnu-ar rcus' BUILDMODE=dynamic TARGET_STRIP=true INSTALL_LIB=/var/tmp/portage/dev-lang/luajit-2.0.5-r2/image/usr/lib64 XCFLAGS=
==== Building LuaJIT 2.0.5 ====
make -C src
make[1]: Entering directory '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/src'
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
lj_arch.h:55:2: error: #error "No support for this architecture (yet)"
55 | #error "No support for this architecture (yet)"
| ^~~~~
lj_arch.h:294:2: error: #error "No target architecture defined"
294 | #error "No target architecture defined"
| ^~~~~
Makefile:254: *** Unsupported target architecture. Stop.
make[1]: Leaving directory '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/src'
make: *** [Makefile:110: default] Error 2
* ERROR: dev-lang/luajit-2.0.5-r2::gentoo failed (compile phase):
* emake failed
*
* If you need support, post the output of `emerge --info '=dev-lang/luajit-2.0.5-r2::gentoo'`,
* the complete build log and the output of `emerge -pqv '=dev-lang/luajit-2.0.5-r2::gentoo'`.
* The complete build log is located at '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/temp/environment'.
* Working directory: '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5'
* S: '/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5'
Content of /var/tmp/portage/dev-lang/luajit-2.0.5-r2/temp/environment
declare -x ABI="arm64"
declare -x ABI_MIPS=""
declare -x ABI_PPC=""
declare -x ABI_RISCV=""
declare -x ABI_S390=""
declare -x ABI_X86=""
declare -x ADA_TARGET=""
declare -x ALSA_CARDS=""
declare -x ANT_HOME="/usr/share/ant"
declare -x APACHE2_MODULES=""
declare -x APACHE2_MPMS=""
declare -x ARCH="arm64"
declare BDEPEND=""
declare -x BOOTSTRAP_USE="unicode internal-glib pkg-config split-usr python_targets_python3_7 python_targets_python2_7"
declare -x CALLIGRA_FEATURES=""
declare -x CAMERAS=""
declare -x CBUILD="aarch64-unknown-linux-gnu"
declare -x CFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
declare -x CFLAGS_default
declare -x CHOST="aarch64-unknown-linux-gnu"
declare -x CHOST_arm64="aarch64-unknown-linux-gnu"
declare -x CHOST_default="aarch64-unknown-linux-gnu"
declare -x COLLECTD_PLUGINS=""
declare -x CPU_FLAGS_ARM=""
declare -x CPU_FLAGS_PPC=""
declare -x CPU_FLAGS_X86=""
declare -x CTARGET_default="aarch64-unknown-linux-gnu"
declare -x CURL_SSL=""
declare -x CXXFLAGS="-march=armv8-a+crc -mtune=cortex-a72 -ftree-vectorize -O2 -pipe"
declare -x DCC_EMAILLOG_WHOM_TO_BLAME=""
declare -x DEFAULT_ABI="arm64"
declare -x DEFINED_PHASES=" compile install prepare"
declare DEPEND=""
declare DESCRIPTION="Just-In-Time Compiler for the Lua programming language"
declare -x DESTTREE="/usr"
declare -x DIROPTIONS="-m0755"
declare -x EAPI="6"
declare -x ELIBC="glibc"
declare -x ENLIGHTENMENT_MODULES=""
declare -x ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
declare -- EPOCHREALTIME="1603038145.241246"
declare -- EPOCHSECONDS="1603038145"
declare -x EXEOPTIONS="-m0755"
declare -x FCFLAGS="-O2"
declare -x FETCHCOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x FFLAGS="-O2"
declare -x FFTOOLS=""
declare -x FLTK_DOCDIR="/usr/share/doc/fltk-1.3.5-r4/html"
declare -x GCC_SPECS=""
declare -x GPSD_PROTOCOLS=""
declare -x GRUB_PLATFORMS=""
declare -x GSETTINGS_BACKEND="dconf"
declare HOMEPAGE="http://luajit.org/"
declare -x INHERITED=" pax-utils toolchain-funcs multilib estack versionator"
declare -x INPUT_DEVICES=""
declare -x INSDESTTREE=""
declare -x INSOPTIONS="-m0644"
declare IUSE="lua52compat static-libs "
declare -x IUSE_EFFECTIVE="alpha amd64 amd64-fbsd amd64-linux arm arm64 elibc_AIX elibc_Cygwin elibc_Darwin elibc_DragonFly elibc_FreeBSD elibc_HPUX elibc_Interix elibc_NetBSD elibc_OpenBSD elibc_SunOS elibc_Winnt elibc_bionic elibc_glibc elibc_mingw elibc_mintlib elibc_musl elibc_uclibc hppa ia64 kernel_AIX kernel_Darwin kernel_FreeBSD kernel_HPUX kernel_NetBSD kernel_OpenBSD kernel_SunOS kernel_Winnt kernel_freemint kernel_linux lua52compat m68k m68k-mint mips ppc ppc-aix ppc-macos ppc64 ppc64-linux prefix prefix-guest prefix-stack riscv s390 sparc sparc-solaris sparc64-solaris static-libs userland_BSD userland_GNU x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x IUSE_IMPLICIT="prefix prefix-guest prefix-stack"
declare -x KERNEL="linux"
declare -x KERNEL_ABI="arm64"
declare -x KEYWORDS="amd64 arm ppc x86 ~amd64-linux ~x86-linux"
declare -x L10N=""
declare -x LANG="en_GB.utf8"
declare -x LCD_DEVICES=""
declare -x LC_COLLATE="C"
declare -x LC_MESSAGES="C"
declare -x LDFLAGS="-Wl,-O1 -Wl,--as-needed"
declare -x LDFLAGS_default
declare -x LIBDIR_arm64="lib64"
declare -x LIBDIR_default="lib"
declare -x LIBOPTIONS="-m0644"
declare -x LIBREOFFICE_EXTENSIONS=""
declare -x LICENSE="MIT"
declare -x LIRC_DEVICES=""
declare -x LLVM_TARGETS=""
declare -x MAIL="/var/mail/root"
declare -x MAKEOPTS="-j5 -l4"
declare -x MANPAGER="manpager"
declare -x MONKEYD_PLUGINS=""
declare -x MULTILIB_ABIS="arm64"
declare -- MY_P="LuaJIT-2.0.5"
declare -- MY_PV="2.0.5"
declare -x NGINX_MODULES_HTTP=""
declare -x NGINX_MODULES_MAIL=""
declare -x NGINX_MODULES_STREAM=""
declare -x OFED_DRIVERS=""
declare -x OFFICE_IMPLEMENTATION=""
declare -x OPENGL_PROFILE="xorg-x11"
declare -x OPENMPI_FABRICS=""
declare -x OPENMPI_OFED_FEATURES=""
declare -x OPENMPI_RM=""
declare -a PATCHES=([0]="/var/tmp/portage/dev-lang/luajit-2.0.5-r2/files/luajit-2-ldconfig.patch" [1]="/var/tmp/portage/dev-lang/luajit-2.0.5-r2/files/CVE-2020-15890.patch")
declare -x PATH="/usr/lib/portage/python3.6/ebuild-helpers/xattr:/usr/lib/portage/python3.6/ebuild-helpers:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/lib/llvm/10/bin"
declare -- PAX_MARKINGS="none"
declare PDEPEND=""
declare -x PHP_TARGETS=""
declare -x PORTAGE_BINHOST_HEADER_URI="https://github.com/spreequalle/gentoo-binhost/releases/download/aarch64-unknown-linux-gnu"
declare -x PORTAGE_COMPRESSION_COMMAND="bzip2"
declare -a PORTAGE_DOCOMPRESS=([0]="/usr/share/doc" [1]="/usr/share/info" [2]="/usr/share/man")
declare -x PORTAGE_DOCOMPRESS_SIZE_LIMIT="128"
declare -a PORTAGE_DOCOMPRESS_SKIP=([0]="/usr/share/doc/luajit-2.0.5-r2/html")
declare -a PORTAGE_DOSTRIP=([0]="/")
declare -a PORTAGE_DOSTRIP_SKIP=()
declare -x POSTGRES_TARGETS=""
declare -x PROFILE_ONLY_VARIABLES="ARCH ELIBC IUSE_IMPLICIT KERNEL USERLAND USE_EXPAND_IMPLICIT USE_EXPAND_UNPREFIXED USE_EXPAND_VALUES_ARCH USE_EXPAND_VALUES_ELIBC USE_EXPAND_VALUES_KERNEL USE_EXPAND_VALUES_USERLAND"
declare -x PROPERTIES=""
declare -x PYTHONDONTWRITEBYTECODE="1"
declare -x PYTHON_SINGLE_TARGET=""
declare -x PYTHON_TARGETS=""
declare -x QEMU_SOFTMMU_TARGETS=""
declare -x QEMU_USER_TARGETS=""
declare -x QT_GRAPHICSSYSTEM="raster"
declare RDEPEND=""
declare REPOSITORY
declare REQUIRED_USE=""
declare -x RESTRICT=""
declare -x RESUMECOMMAND_SSH="bash -c \"x=\\\${2#ssh://} ; host=\\\${x%%/*} ; port=\\\${host##*:} ; host=\\\${host%:*} ; [[ \\\${host} = \\\${port} ]] && port= ; exec rsync --rsh=\\\"ssh \\\${port:+-p\\\${port}} \\\${3}\\\" -avP \\\"\\\${host}:/\\\${x#*/}\\\" \\\"\\\$1\\\"\" rsync \"\${DISTDIR}/\${FILE}\" \"\${URI}\" \"\${PORTAGE_SSH_OPTS}\""
declare -x ROS_MESSAGES=""
declare -x RUBY_TARGETS=""
declare -x S="/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5"
declare -x SANDBOX_DEBUG="0"
declare -x SANDBOX_DENY=""
declare -x SANDBOX_PREDICT="/var/tmp/portage/dev-lang/luajit-2.0.5-r2/homedir:/dev/crypto:/var/cache/man:/proc/self/coredump_filter:/var/cache/fontconfig"
declare -x SANDBOX_READ="/:/var/tmp/portage"
declare -x SANDBOX_VERBOSE="1"
declare -x SANDBOX_WRITE=":/dev/console:/dev/fd:/dev/full:/dev/null:/dev/ptmx:/dev/pts/:/dev/pty:/dev/shm:/dev/tts:/dev/tty:/dev/vc/:/dev/zero:/proc/self/fd:/tmp/:/usr/lib/cf:/usr/lib/conftest:/usr/lib32/cf:/usr/lib32/conftest:/usr/lib64/cf:/usr/lib64/conftest:/usr/tmp/cf:/usr/tmp/conftest:/var/tmp/:/var/tmp/portage:/var/tmp/portage/dev-lang/luajit-2.0.5-r2/homedir/.bash_history"
declare -x SANE_BACKENDS=""
declare -x SHELL="/bin/bash"
declare -x SLOT="2"
declare SRC_URI="http://luajit.org/download/LuaJIT-2.0.5.tar.gz
"
declare -x SUDO_COMMAND="/usr/bin/emerge sysbench"
declare -x SUDO_GID="1000"
declare -x SUDO_UID="1000"
declare -x SUDO_USER="demouser"
declare -x TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
declare -x UNCACHED_ERR_FD=""
declare -x USE="arm64 elibc_glibc kernel_linux userland_GNU"
declare -x USERLAND="GNU"
declare -x USE_EXPAND_IMPLICIT="ARCH ELIBC KERNEL USERLAND"
declare -x USE_EXPAND_UNPREFIXED="ARCH"
declare -x USE_EXPAND_VALUES_ARCH="alpha amd64 amd64-fbsd amd64-linux arm arm64 hppa ia64 m68k m68k-mint mips ppc ppc64 ppc64-linux ppc-aix ppc-macos riscv s390 sparc sparc64-solaris sparc-solaris x64-cygwin x64-macos x64-solaris x64-winnt x86 x86-cygwin x86-fbsd x86-linux x86-macos x86-solaris x86-winnt"
declare -x USE_EXPAND_VALUES_ELIBC="AIX bionic Cygwin Darwin DragonFly FreeBSD glibc HPUX Interix mingw mintlib musl NetBSD OpenBSD SunOS uclibc Winnt"
declare -x USE_EXPAND_VALUES_KERNEL="AIX Darwin FreeBSD freemint HPUX linux NetBSD OpenBSD SunOS Winnt"
declare -x USE_EXPAND_VALUES_USERLAND="BSD GNU"
declare -x UWSGI_PLUGINS=""
declare -x VIDEO_CARDS=""
declare -x VOICEMAIL_STORAGE=""
declare -x XDG_CONFIG_DIRS="/etc/xdg"
declare -x XDG_DATA_DIRS="/usr/local/share:/usr/share"
declare -x XFCE_PLUGINS=""
declare -x XSESSION="Xfce4"
declare -x XTABLES_ADDONS=""
declare -- _ESTACK_ECLASS="1"
declare -x _E_DOCDESTTREE_=""
declare -x _E_EXEDESTTREE_=""
declare -- _MULTILIB_ECLASS="1"
declare -- _PAX_UTILS_ECLASS="1"
declare -- _TOOLCHAIN_FUNCS_ECLASS="1"
declare -- _VERSIONATOR_ECLASS="1"
__eapi6_src_install ()
{
if [[ -f Makefile || -f GNUmakefile || -f makefile ]]; then
emake DESTDIR="${D}" install;
fi;
einstalldocs
}
__eapi6_src_prepare ()
{
if ___is_indexed_array_var PATCHES; then
[[ ${#PATCHES[@]} -gt 0 ]] && eapply "${PATCHES[@]}";
else
if [[ -n ${PATCHES} ]]; then
eapply ${PATCHES};
fi;
fi;
eapply_user
}
_clang_fullversion ()
{
local ver="$1";
shift;
set -- $($(tc-getCPP "$@") -E -P - <<<"__clang_major__ __clang_minor__ __clang_patchlevel__");
eval echo "$ver"
}
_eapply_patch ()
{
local f=${1};
local prefix=${2};
ebegin "${prefix:-Applying }${f##*/}";
local all_opts=(-p1 -f -g0 --no-backup-if-mismatch "${patch_options[@]}");
if ${patch_cmd} "${all_opts[@]}" --dry-run -s -F0 < "${f}" &> /dev/null; then
all_opts+=(-s -F0);
fi;
${patch_cmd} "${all_opts[@]}" < "${f}";
failed=${?};
if ! eend "${failed}"; then
__helpers_die "patch -p1 ${patch_options[*]} failed with ${f}";
fi
}
_emake ()
{
emake Q= PREFIX="${EPREFIX}/usr" MULTILIB="$(get_libdir)" DESTDIR="${D}" HOST_CC="$(tc-getBUILD_CC)" STATIC_CC="$(tc-getCC)" DYNAMIC_CC="$(tc-getCC) -fPIC" TARGET_LD="$(tc-getCC)" TARGET_AR="$(tc-getAR) rcus" BUILDMODE="$(usex static-libs mixed dynamic)" TARGET_STRIP="true" INSTALL_LIB="${ED%/}/usr/$(get_libdir)" "$@"
}
_gcc-install-dir ()
{
echo "$(LC_ALL=C $(tc-getCC) -print-search-dirs 2> /dev/null | awk '$1=="install:" {print $2}')"
}
_gcc-specs-directive_raw ()
{
local cc=$(tc-getCC);
local specfiles=$(LC_ALL=C ${cc} -v 2>&1 | awk '$1=="Reading" {print $NF}');
${cc} -dumpspecs 2> /dev/null | cat - ${specfiles} | awk -v directive=$1 'BEGIN { pspec=""; spec=""; outside=1 }
$1=="*"directive":" { pspec=spec; spec=""; outside=0; next }
outside || NF==0 || ( substr($1,1,1)=="*" && substr($1,length($1),1)==":" ) { outside=1; next }
spec=="" && substr($0,1,1)=="+" { spec=pspec " " substr($0,2); next }
{ spec=spec $0 }
END { print spec }';
return 0
}
_gcc-specs-exists ()
{
[[ -f $(_gcc-install-dir)/$1 ]]
}
_gcc_fullversion ()
{
local ver="$1";
shift;
set -- $($(tc-getCPP "$@") -E -P - <<<"__GNUC__ __GNUC_MINOR__ __GNUC_PATCHLEVEL__");
eval echo "$ver"
}
_pax_list_files ()
{
local f cmd;
cmd=$1;
shift;
for f in "$@";
do
${cmd} " ${f}";
done
}
_tc-getPROG ()
{
local tuple=$1;
local v var vars=$2;
local prog=($3);
var=${vars%% *};
for v in ${vars};
do
if [[ -n ${!v} ]]; then
export ${var}="${!v}";
echo "${!v}";
return 0;
fi;
done;
local search=;
[[ -n $4 ]] && search=$(type -p $4-${prog[0]});
[[ -z ${search} && -n ${!tuple} ]] && search=$(type -p ${!tuple}-${prog[0]});
[[ -n ${search} ]] && prog[0]=${search##*/};
export ${var}="${prog[*]}";
echo "${!var}"
}
clang-fullversion ()
{
_clang_fullversion '$1.$2.$3' "$@"
}
clang-major-version ()
{
_clang_fullversion '$1' "$@"
}
clang-micro-version ()
{
_clang_fullversion '$3' "$@"
}
clang-minor-version ()
{
_clang_fullversion '$2' "$@"
}
clang-version ()
{
_clang_fullversion '$1.$2' "$@"
}
delete_all_version_separators ()
{
replace_all_version_separators "" "${1}"
}
delete_version_separator ()
{
replace_version_separator "${1}" "" "${2}"
}
eapply ()
{
local failed patch_cmd=patch;
local -x LC_COLLATE=POSIX;
type -P gpatch > /dev/null && patch_cmd=gpatch;
function _eapply_patch ()
{
local f=${1};
local prefix=${2};
ebegin "${prefix:-Applying }${f##*/}";
local all_opts=(-p1 -f -g0 --no-backup-if-mismatch "${patch_options[@]}");
if ${patch_cmd} "${all_opts[@]}" --dry-run -s -F0 < "${f}" &> /dev/null; then
all_opts+=(-s -F0);
fi;
${patch_cmd} "${all_opts[@]}" < "${f}";
failed=${?};
if ! eend "${failed}"; then
__helpers_die "patch -p1 ${patch_options[*]} failed with ${f}";
fi
};
local patch_options=() files=();
local i found_doublehyphen;
for ((i = 1; i <= ${#@}; ++i ))
do
if [[ ${@:i:1} == -- ]]; then
patch_options=("${@:1:i-1}");
files=("${@:i+1}");
found_doublehyphen=1;
break;
fi;
done;
if [[ -z ${found_doublehyphen} ]]; then
for ((i = 1; i <= ${#@}; ++i ))
do
if [[ ${@:i:1} != -* ]]; then
patch_options=("${@:1:i-1}");
files=("${@:i}");
break;
fi;
done;
for i in "${files[@]}";
do
if [[ ${i} == -* ]]; then
die "eapply: all options must be passed before non-options";
fi;
done;
fi;
if [[ ${#files[@]} -eq 0 ]]; then
die "eapply: no files specified";
fi;
local f;
for f in "${files[@]}";
do
if [[ -d ${f} ]]; then
function _eapply_get_files ()
{
local LC_ALL=POSIX;
local prev_shopt=$(shopt -p nullglob);
shopt -s nullglob;
local f;
for f in "${1}"/*;
do
if [[ ${f} == *.diff || ${f} == *.patch ]]; then
files+=("${f}");
fi;
done;
${prev_shopt}
};
local files=();
_eapply_get_files "${f}";
[[ ${#files[@]} -eq 0 ]] && die "No *.{patch,diff} files in directory ${f}";
einfo "Applying patches from ${f} ...";
local f2;
for f2 in "${files[@]}";
do
_eapply_patch "${f2}" ' ';
[[ ${failed} -ne 0 ]] && return "${failed}";
done;
else
_eapply_patch "${f}";
[[ ${failed} -ne 0 ]] && return "${failed}";
fi;
done;
return 0
}
eapply_user ()
{
[[ ${EBUILD_PHASE} == prepare ]] || die "eapply_user() called during invalid phase: ${EBUILD_PHASE}";
local tagfile=${T}/.portage_user_patches_applied;
[[ -f ${tagfile} ]] && return;
>> "${tagfile}";
local basedir=${PORTAGE_CONFIGROOT%/}/etc/portage/patches;
local applied d f;
local -A _eapply_user_patches;
local prev_shopt=$(shopt -p nullglob);
shopt -s nullglob;
for d in "${basedir}"/${CATEGORY}/{${P}-${PR},${P},${PN}}{:${SLOT%/*},};
do
for f in "${d}"/*;
do
if [[ ( ${f} == *.diff || ${f} == *.patch ) && -z ${_eapply_user_patches[${f##*/}]} ]]; then
_eapply_user_patches[${f##*/}]=${f};
fi;
done;
done;
if [[ ${#_eapply_user_patches[@]} -gt 0 ]]; then
while read -r -d '' f; do
f=${_eapply_user_patches[${f}]};
if [[ -s ${f} ]]; then
eapply "${f}";
applied=1;
fi;
done < <(printf -- '%s\0' "${!_eapply_user_patches[@]}" |
LC_ALL=C sort -z);
fi;
${prev_shopt};
[[ -n ${applied} ]] && ewarn "User patches applied."
}
econf_build ()
{
local CBUILD=${CBUILD:-${CHOST}};
tc-env_build econf --build=${CBUILD} --host=${CBUILD} "$@"
}
einstalldocs ()
{
( if [[ $(declare -p DOCS 2>/dev/null) != *=* ]]; then
local d;
for d in README* ChangeLog AUTHORS NEWS TODO CHANGES THANKS BUGS FAQ CREDITS CHANGELOG;
do
[[ -f ${d} && -s ${d} ]] && docinto / && dodoc "${d}";
done;
else
if ___is_indexed_array_var DOCS; then
[[ ${#DOCS[@]} -gt 0 ]] && docinto / && dodoc -r "${DOCS[@]}";
else
[[ -n ${DOCS} ]] && docinto / && dodoc -r ${DOCS};
fi;
fi );
( if ___is_indexed_array_var HTML_DOCS; then
[[ ${#HTML_DOCS[@]} -gt 0 ]] && docinto html && dodoc -r "${HTML_DOCS[@]}";
else
[[ -n ${HTML_DOCS} ]] && docinto html && dodoc -r ${HTML_DOCS};
fi )
}
eshopts_pop ()
{
local s;
estack_pop eshopts s || die "${FUNCNAME}: unbalanced push";
eval "${s}" || die "${FUNCNAME}: sanity: invalid shopt options: ${s}"
}
eshopts_push ()
{
estack_push eshopts "$(shopt -p -o) $(shopt -p)";
if [[ $1 == -[su] ]]; then
[[ $# -le 1 ]] && return 0;
shopt "$@" || die "${FUNCNAME}: bad options to shopt: $*";
else
[[ $# -eq 0 ]] && return 0;
set "$@" || die "${FUNCNAME}: bad options to set: $*";
fi
}
estack_pop ()
{
[[ $# -eq 0 || $# -gt 2 ]] && die "estack_pop: incorrect # of arguments";
local _estack_name="_ESTACK_$1_";
shift;
local _estack_retvar=$1;
shift;
eval local _estack_i=\${#${_estack_name}\[@\]};
[[ $(( --_estack_i )) -eq -1 ]] && return 1;
if [[ -n ${_estack_retvar} ]]; then
eval ${_estack_retvar}=\"\${${_estack_name}\[${_estack_i}\]}\";
fi;
eval unset \"${_estack_name}\[${_estack_i}\]\"
}
estack_push ()
{
[[ $# -eq 0 ]] && die "estack_push: incorrect # of arguments";
local stack_name="_ESTACK_$1_";
shift;
eval ${stack_name}+=\( \"\$@\" \)
}
eumask_pop ()
{
[[ $# -eq 0 ]] || die "${FUNCNAME}: we take no options";
local s;
estack_pop eumask s || die "${FUNCNAME}: unbalanced push";
umask ${s} || die "${FUNCNAME}: sanity: could not restore umask: ${s}"
}
eumask_push ()
{
estack_push eumask "$(umask)";
umask "$@" || die "${FUNCNAME}: bad options to umask: $*"
}
evar_pop ()
{
local cnt=${1:-bad};
case $# in
0)
cnt=1
;;
1)
[[ -z ${cnt//[0-9]} ]] || die "${FUNCNAME}: first arg must be a number: $*"
;;
*)
die "${FUNCNAME}: only accepts one arg: $*"
;;
esac;
local var val;
while (( cnt-- )); do
estack_pop evar val || die "${FUNCNAME}: unbalanced push";
estack_pop evar var || die "${FUNCNAME}: unbalanced push";
[[ ${val} == "unset_76fc3c462065bb4ca959f939e6793f94" ]] && unset ${var} || printf -v "${var}" '%s' "${val}";
done
}
evar_push ()
{
local var val;
for var in "$@";
do
[[ ${!var+set} == "set" ]] && val=${!var} || val="unset_76fc3c462065bb4ca959f939e6793f94";
estack_push evar "${var}" "${val}";
done
}
evar_push_set ()
{
local var=$1;
evar_push ${var};
case $# in
1)
unset ${var}
;;
2)
printf -v "${var}" '%s' "$2"
;;
*)
die "${FUNCNAME}: incorrect # of args: $*"
;;
esac
}
gcc-fullversion ()
{
_gcc_fullversion '$1.$2.$3' "$@"
}
gcc-major-version ()
{
_gcc_fullversion '$1' "$@"
}
gcc-micro-version ()
{
_gcc_fullversion '$3' "$@"
}
gcc-minor-version ()
{
_gcc_fullversion '$2' "$@"
}
gcc-specs-directive ()
{
local directive subdname subdirective;
directive="$(_gcc-specs-directive_raw $1)";
while [[ ${directive} == *%\(*\)* ]]; do
subdname=${directive/*%\(};
subdname=${subdname/\)*};
subdirective="$(_gcc-specs-directive_raw ${subdname})";
directive="${directive//\%(${subdname})/${subdirective}}";
done;
echo "${directive}";
return 0
}
gcc-specs-nostrict ()
{
local directive;
directive=$(gcc-specs-directive cc1);
[[ "${directive/\{!fstrict-overflow:}" != "${directive}" ]]
}
gcc-specs-now ()
{
local directive;
directive=$(gcc-specs-directive link_command);
[[ "${directive/\{!nonow:}" != "${directive}" ]]
}
gcc-specs-pie ()
{
local directive;
directive=$(gcc-specs-directive cc1);
[[ "${directive/\{!nopie:}" != "${directive}" ]]
}
gcc-specs-relro ()
{
local directive;
directive=$(gcc-specs-directive link_command);
[[ "${directive/\{!norelro:}" != "${directive}" ]]
}
gcc-specs-ssp ()
{
local directive;
directive=$(gcc-specs-directive cc1);
[[ "${directive/\{!fno-stack-protector:}" != "${directive}" ]]
}
gcc-specs-ssp-to-all ()
{
local directive;
directive=$(gcc-specs-directive cc1);
[[ "${directive/\{!fno-stack-protector-all:}" != "${directive}" ]]
}
gcc-specs-stack-check ()
{
local directive;
directive=$(gcc-specs-directive cc1);
[[ "${directive/\{!fno-stack-check:}" != "${directive}" ]]
}
gcc-version ()
{
_gcc_fullversion '$1.$2' "$@"
}
gen_usr_ldscript ()
{
ewarn "${FUNCNAME}: Please migrate to usr-ldscript.eclass";
local lib libdir=$(get_libdir) output_format="" auto=false suffix=$(get_libname);
[[ -z ${ED+set} ]] && local ED=${D%/}${EPREFIX}/;
tc-is-static-only && return;
if [[ $(type -t multilib_is_native_abi) == "function" ]]; then
multilib_is_native_abi || return 0;
fi;
case ${CTARGET:-${CHOST}} in
*-darwin*)
;;
*-android*)
return 0
;;
*linux* | *-freebsd* | *-openbsd* | *-netbsd*)
use prefix && return 0
;;
*)
return 0
;;
esac;
dodir /usr/${libdir};
if [[ $1 == "-a" ]]; then
auto=true;
shift;
dodir /${libdir};
fi;
local flags=(${CFLAGS} ${LDFLAGS} -Wl,--verbose);
if $(tc-getLD) --version | grep -q 'GNU gold'; then
local d="${T}/bfd-linker";
mkdir -p "${d}";
ln -sf $(which ${CHOST}-ld.bfd) "${d}"/ld;
flags+=(-B"${d}");
fi;
output_format=$($(tc-getCC) "${flags[@]}" 2>&1 | sed -n 's/^OUTPUT_FORMAT("\([^"]*\)",.*/\1/p');
[[ -n ${output_format} ]] && output_format="OUTPUT_FORMAT ( ${output_format} )";
for lib in "$@";
do
local tlib;
if ${auto}; then
lib="lib${lib}${suffix}";
else
[[ -r ${ED}/${libdir}/${lib} ]] || continue;
fi;
case ${CTARGET:-${CHOST}} in
*-darwin*)
if ${auto}; then
tlib=$(scanmacho -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
else
tlib=$(scanmacho -qF'%S#F' "${ED}"/${libdir}/${lib});
fi;
[[ -z ${tlib} ]] && die "unable to read install_name from ${lib}";
tlib=${tlib##*/};
if ${auto}; then
mv "${ED}"/usr/${libdir}/${lib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die;
if [[ ${tlib} != ${lib%${suffix}}.*${suffix#.} ]]; then
mv "${ED}"/usr/${libdir}/${tlib%${suffix}}.*${suffix#.} "${ED}"/${libdir}/ || die;
fi;
rm -f "${ED}"/${libdir}/${lib};
fi;
if [[ ! -w "${ED}/${libdir}/${tlib}" ]]; then
chmod u+w "${ED}${libdir}/${tlib}";
local nowrite=yes;
fi;
install_name_tool -id "${EPREFIX}"/${libdir}/${tlib} "${ED}"/${libdir}/${tlib} || die "install_name_tool failed";
[[ -n ${nowrite} ]] && chmod u-w "${ED}${libdir}/${tlib}";
pushd "${ED}/usr/${libdir}" > /dev/null;
ln -snf "../../${libdir}/${tlib}" "${lib}";
popd > /dev/null
;;
*)
if ${auto}; then
tlib=$(scanelf -qF'%S#F' "${ED}"/usr/${libdir}/${lib});
[[ -z ${tlib} ]] && die "unable to read SONAME from ${lib}";
mv "${ED}"/usr/${libdir}/${lib}* "${ED}"/${libdir}/ || die;
if [[ ${tlib} != ${lib}* ]]; then
mv "${ED}"/usr/${libdir}/${tlib}* "${ED}"/${libdir}/ || die;
fi;
rm -f "${ED}"/${libdir}/${lib};
else
tlib=${lib};
fi;
cat > "${ED}/usr/${libdir}/${lib}" <<-END_LDSCRIPT
/* GNU ld script
Since Gentoo has critical dynamic libraries in /lib, and the static versions
in /usr/lib, we need to have a "fake" dynamic lib in /usr/lib, otherwise we
run into linking problems. This "fake" dynamic lib is a linker script that
redirects the linker to the real lib. And yes, this works in the cross-
compiling scenario as the sysroot-ed linker will prepend the real path.
See bug https://bugs.gentoo.org/4411 for more info.
*/
${output_format}
GROUP ( ${EPREFIX}/${libdir}/${tlib} )
END_LDSCRIPT
;;
esac
fperms a+x "/usr/${libdir}/${lib}" || die "could not change perms on ${lib}";
done
}
get_abi_CFLAGS ()
{
get_abi_var CFLAGS "$@"
}
get_abi_CHOST ()
{
get_abi_var CHOST "$@"
}
get_abi_CTARGET ()
{
get_abi_var CTARGET "$@"
}
get_abi_FAKE_TARGETS ()
{
get_abi_var FAKE_TARGETS "$@"
}
get_abi_LDFLAGS ()
{
get_abi_var LDFLAGS "$@"
}
get_abi_LIBDIR ()
{
get_abi_var LIBDIR "$@"
}
get_abi_var ()
{
local flag=$1;
local abi=${2:-${ABI:-${DEFAULT_ABI:-default}}};
local var="${flag}_${abi}";
echo ${!var}
}
get_after_major_version ()
{
echo $(get_version_component_range 2- "${1:-${PV}}")
}
get_all_abis ()
{
local x order="" mvar dvar;
mvar="MULTILIB_ABIS";
dvar="DEFAULT_ABI";
if [[ -n $1 ]]; then
mvar="$1_${mvar}";
dvar="$1_${dvar}";
fi;
if [[ -z ${!mvar} ]]; then
echo "default";
return 0;
fi;
for x in ${!mvar};
do
if [[ ${x} != ${!dvar} ]]; then
order="${order:+${order} }${x}";
fi;
done;
order="${order:+${order} }${!dvar}";
echo ${order};
return 0
}
get_all_libdirs ()
{
local libdirs abi;
for abi in ${MULTILIB_ABIS};
do
libdirs+=" $(get_abi_LIBDIR ${abi})";
done;
[[ " ${libdirs} " != *" lib "* ]] && libdirs+=" lib";
echo "${libdirs}"
}
get_all_version_components ()
{
eshopts_push -s extglob;
local ver_str=${1:-${PV}} result;
result=();
if [[ ${VERSIONATOR_CACHE_VER_STR} == ${ver_str} ]]; then
echo ${VERSIONATOR_CACHE_RESULT};
eshopts_pop;
return;
fi;
export VERSIONATOR_CACHE_VER_STR=${ver_str};
while [[ -n $ver_str ]]; do
case "${ver_str::1}" in
[[:digit:]])
result+=("${ver_str%%[^[:digit:]]*}");
ver_str=${ver_str##+([[:digit:]])}
;;
[-_.])
result+=("${ver_str::1}");
ver_str=${ver_str:1}
;;
[[:alpha:]])
local not_match=${ver_str##+([[:alpha:]])*([[:digit:]])};
result+=("${ver_str::${#ver_str} - ${#not_match}}");
ver_str=${not_match}
;;
*)
result+=("${ver_str::1}");
ver_str=${ver_str:1}
;;
esac;
done;
export VERSIONATOR_CACHE_RESULT=${result[*]};
echo ${result[@]};
eshopts_pop
}
get_exeext ()
{
case ${CHOST} in
*-cygwin* | mingw* | *-mingw*)
echo ".exe"
;;
esac
}
get_install_abis ()
{
local x order="";
if [[ -z ${MULTILIB_ABIS} ]]; then
echo "default";
return 0;
fi;
if [[ ${EMULTILIB_PKG} == "true" ]]; then
for x in ${MULTILIB_ABIS};
do
if [[ ${x} != "${DEFAULT_ABI}" ]]; then
has ${x} ${ABI_DENY} || order="${order} ${x}";
fi;
done;
has ${DEFAULT_ABI} ${ABI_DENY} || order="${order} ${DEFAULT_ABI}";
if [[ -n ${ABI_ALLOW} ]]; then
local ordera="";
for x in ${order};
do
if has ${x} ${ABI_ALLOW}; then
ordera="${ordera} ${x}";
fi;
done;
order=${ordera};
fi;
else
order=${DEFAULT_ABI};
fi;
if [[ -z ${order} ]]; then
die "The ABI list is empty. Are you using a proper multilib profile? Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package.";
fi;
echo ${order};
return 0
}
get_last_version_component_index ()
{
echo $(($(get_version_component_count "${1:-${PV}}" ) - 1))
}
get_libdir ()
{
local libdir_var="LIBDIR_${ABI}";
local libdir="lib";
[[ -n ${ABI} && -n ${!libdir_var} ]] && libdir=${!libdir_var};
echo "${libdir}"
}
get_libname ()
{
local libname;
local ver=$1;
case ${CHOST} in
*-cygwin*)
libname="dll.a"
;;
mingw* | *-mingw*)
libname="dll"
;;
*-darwin*)
libname="dylib"
;;
*-mint*)
libname="irrelevant"
;;
hppa*-hpux*)
libname="sl"
;;
*)
libname="so"
;;
esac;
if [[ -z $* ]]; then
echo ".${libname}";
else
for ver in "$@";
do
case ${CHOST} in
*-cygwin*)
echo ".${ver}.${libname}"
;;
*-darwin*)
echo ".${ver}.${libname}"
;;
*-mint*)
echo ".${libname}"
;;
*)
echo ".${libname}.${ver}"
;;
esac;
done;
fi
}
get_major_version ()
{
local c=($(get_all_version_components "${1:-${PV}}"));
echo ${c[0]}
}
get_modname ()
{
local modname;
local ver=$1;
case ${CHOST} in
*-darwin*)
modname="bundle"
;;
*)
modname="so"
;;
esac;
echo ".${modname}"
}
get_version_component_count ()
{
local a=($(get_version_components "${1:-${PV}}"));
echo ${#a[@]}
}
get_version_component_range ()
{
eshopts_push -s extglob;
local c v="${2:-${PV}}" range="${1}" range_start range_end;
local -i i=-1 j=0;
c=($(get_all_version_components "${v}"));
range_start=${range%-*};
range_start=${range_start:-1};
range_end=${range#*-};
range_end=${range_end:-${#c[@]}};
while ((j < range_start)); do
i+=1;
((i > ${#c[@]})) && eshopts_pop && return;
[[ -n "${c[i]//[-._]}" ]] && j+=1;
done;
while ((j <= range_end)); do
echo -n ${c[i]};
((i > ${#c[@]})) && eshopts_pop && return;
[[ -n "${c[i]//[-._]}" ]] && j+=1;
i+=1;
done;
eshopts_pop
}
get_version_components ()
{
local c=$(get_all_version_components "${1:-${PV}}");
echo ${c//[-._]/ }
}
has_multilib_profile ()
{
[ -n "${MULTILIB_ABIS}" -a "${MULTILIB_ABIS}" != "${MULTILIB_ABIS/ /}" ]
}
host-is-pax ()
{
grep -qs ^PaX: /proc/self/status
}
in_iuse ()
{
local use=${1};
if [[ -z "${use}" ]]; then
echo "!!! in_iuse() called without a parameter." 1>&2;
echo "!!! in_iuse <USEFLAG>" 1>&2;
die "in_iuse() called without a parameter";
fi;
local liuse=(${IUSE_EFFECTIVE});
has "${use}" "${liuse[@]#[+-]}"
}
is_final_abi ()
{
has_multilib_profile || return 0;
set -- $(get_install_abis);
local LAST_ABI=$#;
[[ ${!LAST_ABI} == ${ABI} ]]
}
list-paxables ()
{
file "$@" 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//'
}
multilib_env ()
{
local CTARGET=${1:-${CTARGET}};
local cpu=${CTARGET%%*-};
if [[ ${CTARGET} = *-musl* ]]; then
: ${MULTILIB_ABIS=default};
: ${DEFAULT_ABI=default};
export MULTILIB_ABIS DEFAULT_ABI;
return;
fi;
case ${cpu} in
aarch64*)
export CFLAGS_arm=${CFLAGS_arm-};
case ${cpu} in
aarch64*be)
export CHOST_arm="armv8b-${CTARGET#*-}"
;;
*)
export CHOST_arm="armv8l-${CTARGET#*-}"
;;
esac;
CHOST_arm=${CHOST_arm/%-gnu/-gnueabi};
export CTARGET_arm=${CHOST_arm};
export LIBDIR_arm="lib";
export CFLAGS_arm64=${CFLAGS_arm64-};
export CHOST_arm64=${CTARGET};
export CTARGET_arm64=${CHOST_arm64};
export LIBDIR_arm64="lib64";
: ${MULTILIB_ABIS=arm64};
: ${DEFAULT_ABI=arm64}
;;
x86_64*)
export CFLAGS_x86=${CFLAGS_x86--m32};
export CHOST_x86=${CTARGET/x86_64/i686};
CHOST_x86=${CHOST_x86/%-gnux32/-gnu};
export CTARGET_x86=${CHOST_x86};
if [[ ${SYMLINK_LIB} == "yes" ]]; then
export LIBDIR_x86="lib32";
else
export LIBDIR_x86="lib";
fi;
export CFLAGS_amd64=${CFLAGS_amd64--m64};
export CHOST_amd64=${CTARGET/%-gnux32/-gnu};
export CTARGET_amd64=${CHOST_amd64};
export LIBDIR_amd64="lib64";
export CFLAGS_x32=${CFLAGS_x32--mx32};
export CHOST_x32=${CTARGET/%-gnu/-gnux32};
export CTARGET_x32=${CHOST_x32};
export LIBDIR_x32="libx32";
case ${CTARGET} in
*-gnux32)
: ${MULTILIB_ABIS=x32 amd64 x86};
: ${DEFAULT_ABI=x32}
;;
*)
: ${MULTILIB_ABIS=amd64 x86};
: ${DEFAULT_ABI=amd64}
;;
esac
;;
mips64* | mipsisa64*)
export CFLAGS_o32=${CFLAGS_o32--mabi=32};
export CHOST_o32=${CTARGET/mips64/mips};
export CHOST_o32=${CHOST_o32/mipsisa64/mipsisa32};
export CTARGET_o32=${CHOST_o32};
export LIBDIR_o32="lib";
export CFLAGS_n32=${CFLAGS_n32--mabi=n32};
export CHOST_n32=${CTARGET};
export CTARGET_n32=${CHOST_n32};
export LIBDIR_n32="lib32";
export CFLAGS_n64=${CFLAGS_n64--mabi=64};
export CHOST_n64=${CTARGET};
export CTARGET_n64=${CHOST_n64};
export LIBDIR_n64="lib64";
: ${MULTILIB_ABIS=n64 n32 o32};
: ${DEFAULT_ABI=n32}
;;
powerpc64*)
export CFLAGS_ppc=${CFLAGS_ppc--m32};
export CHOST_ppc=${CTARGET/powerpc64/powerpc};
export CTARGET_ppc=${CHOST_ppc};
export LIBDIR_ppc="lib";
export CFLAGS_ppc64=${CFLAGS_ppc64--m64};
export CHOST_ppc64=${CTARGET};
export CTARGET_ppc64=${CHOST_ppc64};
export LIBDIR_ppc64="lib64";
: ${MULTILIB_ABIS=ppc64 ppc};
: ${DEFAULT_ABI=ppc64}
;;
riscv64*)
export CFLAGS_lp64d=${CFLAGS_lp64d--mabi=lp64d -march=rv64imafdc};
export CHOST_lp64d=${CTARGET};
export CTARGET_lp64d=${CTARGET};
export LIBDIR_lp64d="lib64/lp64d";
export CFLAGS_lp64=${CFLAGS_lp64--mabi=lp64 -march=rv64imac};
export CHOST_lp64=${CTARGET};
export CTARGET_lp64=${CTARGET};
export LIBDIR_lp64="lib64/lp64";
export CFLAGS_ilp32d=${CFLAGS_ilp32d--mabi=ilp32d -march=rv32imafdc};
export CHOST_ilp32d=${CTARGET/riscv64/riscv32};
export CTARGET_ilp32d=${CTARGET/riscv64/riscv32};
export LIBDIR_ilp32d="lib32/ilp32d";
export CFLAGS_ilp32=${CFLAGS_ilp32--mabi=ilp32 -march=rv32imac};
export CHOST_ilp32=${CTARGET/riscv64/riscv32};
export CTARGET_ilp32=${CTARGET/riscv64/riscv32};
export LIBDIR_ilp32="lib32/ilp32";
: ${MULTILIB_ABIS=lp64d lp64 ilp32d ilp32};
: ${DEFAULT_ABI=lp64d}
;;
riscv32*)
export CFLAGS_ilp32d=${CFLAGS_ilp32d--mabi=ilp32d};
export CHOST_ilp32d=${CTARGET};
export CTARGET_ilp32d=${CTARGET};
export LIBDIR_ilp32d="lib32/ilp32d";
export CFLAGS_ilp32=${CFLAGS_ilp32--mabi=ilp32 -march=rv32imac};
export CHOST_ilp32=${CTARGET};
export CTARGET_ilp32=${CTARGET};
export LIBDIR_ilp32="lib32/ilp32";
: ${MULTILIB_ABIS=ilp32d ilp32};
: ${DEFAULT_ABI=ilp32d}
;;
s390x*)
export CFLAGS_s390=${CFLAGS_s390--m31};
export CHOST_s390=${CTARGET/s390x/s390};
export CTARGET_s390=${CHOST_s390};
export LIBDIR_s390="lib";
export CFLAGS_s390x=${CFLAGS_s390x--m64};
export CHOST_s390x=${CTARGET};
export CTARGET_s390x=${CHOST_s390x};
export LIBDIR_s390x="lib64";
: ${MULTILIB_ABIS=s390x s390};
: ${DEFAULT_ABI=s390x}
;;
sparc64*)
export CFLAGS_sparc32=${CFLAGS_sparc32--m32};
export CHOST_sparc32=${CTARGET/sparc64/sparc};
export CTARGET_sparc32=${CHOST_sparc32};
export LIBDIR_sparc32="lib";
export CFLAGS_sparc64=${CFLAGS_sparc64--m64};
export CHOST_sparc64=${CTARGET};
export CTARGET_sparc64=${CHOST_sparc64};
export LIBDIR_sparc64="lib64";
: ${MULTILIB_ABIS=sparc64 sparc32};
: ${DEFAULT_ABI=sparc64}
;;
*)
: ${MULTILIB_ABIS=default};
: ${DEFAULT_ABI=default}
;;
esac;
export MULTILIB_ABIS DEFAULT_ABI
}
multilib_toolchain_setup ()
{
local v vv;
export ABI=$1;
local save_restore_variables=(CBUILD CHOST AR CC CXX F77 FC LD NM OBJDUMP PKG_CONFIG RANLIB READELF STRINGS STRIP PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG_SYSTEM_LIBRARY_PATH);
if [[ ${_DEFAULT_ABI_SAVED} == "true" ]]; then
for v in "${save_restore_variables[@]}";
do
vv="_abi_saved_${v}";
[[ ${!vv+set} == "set" ]] && export ${v}="${!vv}" || unset ${v};
unset ${vv};
done;
unset _DEFAULT_ABI_SAVED;
fi;
if [[ ${ABI} != ${DEFAULT_ABI} ]]; then
for v in "${save_restore_variables[@]}";
do
vv="_abi_saved_${v}";
[[ ${!v+set} == "set" ]] && export ${vv}="${!v}" || unset ${vv};
done;
export _DEFAULT_ABI_SAVED="true";
if [[ ${CBUILD} == "${CHOST}" ]]; then
export CBUILD=$(get_abi_CHOST $1);
fi;
export CHOST=$(get_abi_CHOST ${DEFAULT_ABI});
export AR="$(tc-getAR)";
export CC="$(tc-getCC) $(get_abi_CFLAGS)";
export CXX="$(tc-getCXX) $(get_abi_CFLAGS)";
export F77="$(tc-getF77) $(get_abi_CFLAGS)";
export FC="$(tc-getFC) $(get_abi_CFLAGS)";
export LD="$(tc-getLD) $(get_abi_LDFLAGS)";
export NM="$(tc-getNM)";
export OBJDUMP="$(tc-getOBJDUMP)";
export PKG_CONFIG="$(tc-getPKG_CONFIG)";
export RANLIB="$(tc-getRANLIB)";
export READELF="$(tc-getREADELF)";
export STRINGS="$(tc-getSTRINGS)";
export STRIP="$(tc-getSTRIP)";
export CHOST=$(get_abi_CHOST $1);
export PKG_CONFIG_LIBDIR=${EPREFIX}/usr/$(get_libdir)/pkgconfig;
export PKG_CONFIG_PATH=${EPREFIX}/usr/share/pkgconfig;
export PKG_CONFIG_SYSTEM_LIBRARY_PATH=${EPREFIX}/usr/$(get_libdir);
fi
}
number_abis ()
{
set -- `get_install_abis`;
echo $#
}
pax-mark ()
{
local f;
local flags;
local ret=0;
flags="${1//[!zPpEeMmRrSs]}";
[[ -n "${flags}" ]] || return 0;
shift;
local dodefault="";
[[ -n "${flags//[!z]}" ]] && dodefault="yes";
if has PT ${PAX_MARKINGS}; then
for f in "$@";
do
if type -p paxctl > /dev/null; then
einfo "PT_PAX marking -${flags} ${f} with paxctl";
paxctl -q${flags} "${f}" > /dev/null 2>&1 && continue;
fi;
if type -p paxctl-ng > /dev/null && paxctl-ng -L; then
einfo "PT_PAX marking -${flags} ${f} with paxctl-ng";
flags="${flags//z}";
[[ ${dodefault} == "yes" ]] && paxctl-ng -L -z "${f}" > /dev/null 2>&1;
[[ -n "${flags}" ]] || continue;
paxctl-ng -L -${flags} "${f}" > /dev/null 2>&1 && continue;
fi;
if type -p scanelf > /dev/null && [[ ${PAX_MARKINGS} != "none" ]]; then
einfo "PT_PAX marking -${flags} ${f} with scanelf";
scanelf -Xxz ${flags} "$f" > /dev/null 2>&1;
else
if [[ ${PAX_MARKINGS} != "none" ]]; then
elog "Failed to set PT_PAX markings -${flags} ${f}.";
ret=1;
fi;
fi;
done;
fi;
if has XT ${PAX_MARKINGS}; then
flags="${flags//z}";
for f in "$@";
do
if type -p paxctl-ng > /dev/null && paxctl-ng -l; then
einfo "XATTR_PAX marking -${flags} ${f} with paxctl-ng";
[[ ${dodefault} == "yes" ]] && paxctl-ng -d "${f}" > /dev/null 2>&1;
[[ -n "${flags}" ]] || continue;
paxctl-ng -l -${flags} "${f}" > /dev/null 2>&1 && continue;
fi;
if type -p setfattr > /dev/null; then
[[ -n "${flags//[!Ee]}" ]] || flags+="e";
einfo "XATTR_PAX marking -${flags} ${f} with setfattr";
[[ ${dodefault} == "yes" ]] && setfattr -x "user.pax.flags" "${f}" > /dev/null 2>&1;
setfattr -n "user.pax.flags" -v "${flags}" "${f}" > /dev/null 2>&1 && continue;
fi;
if [[ ${PAX_MARKINGS} != "none" ]]; then
elog "Failed to set XATTR_PAX markings -${flags} ${f}.";
ret=1;
fi;
done;
fi;
return ${ret}
}
pkg_nofetch ()
{
default
}
replace_all_version_separators ()
{
local c=($(get_all_version_components "${2:-${PV}}"));
c=${c[@]//[-._]/$1};
echo ${c// }
}
replace_version_separator ()
{
eshopts_push -s extglob;
local w c v="${3:-${PV}}";
declare -i i found=0;
w=${1:-1};
c=($(get_all_version_components ${v}));
if [[ ${w} != *[[:digit:]]* ]]; then
for ((i = 0; i < ${#c[@]}; i++))
do
if [[ ${c[i]} == ${w} ]]; then
c[i]=${2};
break;
fi;
done;
else
for ((i = 0; i < ${#c[@]}; i++))
do
if [[ -n "${c[i]//[^-._]}" ]]; then
found+=1;
if ((found == w)); then
c[i]=${2};
break;
fi;
fi;
done;
fi;
c=${c[*]};
echo ${c// };
eshopts_pop
}
src_compile ()
{
_emake XCFLAGS="$(usex lua52compat "-DLUAJIT_ENABLE_LUA52COMPAT" "")"
}
src_configure ()
{
default
}
src_install ()
{
_emake install;
pax-mark m "${ED}usr/bin/luajit-${MY_PV}";
HTML_DOCS="doc/." einstalldocs
}
src_prepare ()
{
if [[ -n ${HOTFIX} ]]; then
eapply "${DISTDIR}/${HOTFIX}";
fi;
default
}
src_test ()
{
default
}
src_unpack ()
{
default
}
tc-arch ()
{
tc-ninja_magic_to_arch portage "$@"
}
tc-arch-kernel ()
{
tc-ninja_magic_to_arch kern "$@"
}
tc-check-openmp ()
{
if ! tc-has-openmp; then
eerror "Your current compiler does not support OpenMP!";
if tc-is-gcc; then
eerror "Enable OpenMP support by building sys-devel/gcc with USE=\"openmp\".";
else
if tc-is-clang; then
eerror "OpenMP support in sys-devel/clang is provided by sys-libs/libomp.";
fi;
fi;
die "Active compiler does not have required support for OpenMP";
fi
}
tc-cpp-is-true ()
{
local CONDITION=${1};
shift;
$(tc-getTARGET_CPP) "${@}" -P - <<-EOF > /dev/null 2>&1
#if ${CONDITION}
true
#else
#error false
#endif
EOF
}
tc-detect-is-softfloat ()
{
[[ $(tc-getTARGET_CPP) == "gcc -E" ]] && return 1;
case ${CTARGET:-${CHOST}} in
*-newlib | *-elf | *-eabi)
return 1
;;
arm*)
if tc-cpp-is-true "defined(__ARM_PCS_VFP)"; then
echo "no";
else
if tc-cpp-is-true "defined(__SOFTFP__)"; then
echo "yes";
else
echo "softfp";
fi;
fi;
return 0
;;
*)
return 1
;;
esac
}
tc-enables-pie ()
{
tc-cpp-is-true "defined(__PIE__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp ()
{
tc-cpp-is-true "defined(__SSP__) || defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp-all ()
{
tc-cpp-is-true "defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-enables-ssp-strong ()
{
tc-cpp-is-true "defined(__SSP_STRONG__) || defined(__SSP_ALL__)" ${CPPFLAGS} ${CFLAGS}
}
tc-endian ()
{
local host=$1;
[[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
host=${host%%-*};
case ${host} in
aarch64*be)
echo big
;;
aarch64)
echo little
;;
alpha*)
echo little
;;
arm*b*)
echo big
;;
arm*)
echo little
;;
cris*)
echo little
;;
hppa*)
echo big
;;
i?86*)
echo little
;;
ia64*)
echo little
;;
m68*)
echo big
;;
mips*l*)
echo little
;;
mips*)
echo big
;;
powerpc*le)
echo little
;;
powerpc*)
echo big
;;
riscv*)
echo little
;;
s390*)
echo big
;;
sh*b*)
echo big
;;
sh*)
echo little
;;
sparc*)
echo big
;;
x86_64*)
echo little
;;
*)
echo wtf
;;
esac
}
tc-env_build ()
{
tc-export_build_env;
CFLAGS=${BUILD_CFLAGS} CXXFLAGS=${BUILD_CXXFLAGS} CPPFLAGS=${BUILD_CPPFLAGS} LDFLAGS=${BUILD_LDFLAGS} AR=$(tc-getBUILD_AR) AS=$(tc-getBUILD_AS) CC=$(tc-getBUILD_CC) CPP=$(tc-getBUILD_CPP) CXX=$(tc-getBUILD_CXX) LD=$(tc-getBUILD_LD) NM=$(tc-getBUILD_NM) PKG_CONFIG=$(tc-getBUILD_PKG_CONFIG) RANLIB=$(tc-getBUILD_RANLIB) READELF=$(tc-getBUILD_READELF) "$@"
}
tc-export ()
{
local var;
for var in "$@";
do
[[ $(type -t "tc-get${var}") != "function" ]] && die "tc-export: invalid export variable '${var}'";
"tc-get${var}" > /dev/null;
done
}
tc-export_build_env ()
{
tc-export "$@";
if tc-is-cross-compiler; then
: ${BUILD_CFLAGS:=-O1 -pipe};
: ${BUILD_CXXFLAGS:=-O1 -pipe};
: ${BUILD_CPPFLAGS:= };
: ${BUILD_LDFLAGS:= };
else
: ${BUILD_CFLAGS:=${CFLAGS}};
: ${BUILD_CXXFLAGS:=${CXXFLAGS}};
: ${BUILD_CPPFLAGS:=${CPPFLAGS}};
: ${BUILD_LDFLAGS:=${LDFLAGS}};
fi;
export BUILD_{C,CXX,CPP,LD}FLAGS;
local v;
for v in BUILD_{C,CXX,CPP,LD}FLAGS;
do
export ${v#BUILD_}_FOR_BUILD="${!v}";
done
}
tc-get-compiler-type ()
{
local code='
#if defined(__PATHSCALE__)
HAVE_PATHCC
#elif defined(__clang__)
HAVE_CLANG
#elif defined(__GNUC__)
HAVE_GCC
#endif
';
local res=$($(tc-getCPP "$@") -E -P - <<<"${code}");
case ${res} in
*HAVE_PATHCC*)
echo pathcc
;;
*HAVE_CLANG*)
echo clang
;;
*HAVE_GCC*)
echo gcc
;;
*)
echo unknown
;;
esac
}
tc-getAR ()
{
tc-getPROG AR ar "$@"
}
tc-getAS ()
{
tc-getPROG AS as "$@"
}
tc-getBUILD_AR ()
{
tc-getBUILD_PROG AR ar "$@"
}
tc-getBUILD_AS ()
{
tc-getBUILD_PROG AS as "$@"
}
tc-getBUILD_CC ()
{
tc-getBUILD_PROG CC gcc "$@"
}
tc-getBUILD_CPP ()
{
tc-getBUILD_PROG CPP "$(tc-getBUILD_CC) -E" "$@"
}
tc-getBUILD_CXX ()
{
tc-getBUILD_PROG CXX g++ "$@"
}
tc-getBUILD_LD ()
{
tc-getBUILD_PROG LD ld "$@"
}
tc-getBUILD_NM ()
{
tc-getBUILD_PROG NM nm "$@"
}
tc-getBUILD_OBJCOPY ()
{
tc-getBUILD_PROG OBJCOPY objcopy "$@"
}
tc-getBUILD_PKG_CONFIG ()
{
tc-getBUILD_PROG PKG_CONFIG pkg-config "$@"
}
tc-getBUILD_PROG ()
{
local vars="BUILD_$1 $1_FOR_BUILD HOST$1";
tc-is-cross-compiler || vars+=" $1";
_tc-getPROG CBUILD "${vars}" "${@:2}"
}
tc-getBUILD_RANLIB ()
{
tc-getBUILD_PROG RANLIB ranlib "$@"
}
tc-getBUILD_READELF ()
{
tc-getBUILD_PROG READELF readelf "$@"
}
tc-getBUILD_STRINGS ()
{
tc-getBUILD_PROG STRINGS strings "$@"
}
tc-getBUILD_STRIP ()
{
tc-getBUILD_PROG STRIP strip "$@"
}
tc-getCC ()
{
tc-getPROG CC gcc "$@"
}
tc-getCPP ()
{
tc-getPROG CPP "${CC:-gcc} -E" "$@"
}
tc-getCXX ()
{
tc-getPROG CXX g++ "$@"
}
tc-getDLLWRAP ()
{
tc-getPROG DLLWRAP dllwrap "$@"
}
tc-getF77 ()
{
tc-getPROG F77 gfortran "$@"
}
tc-getFC ()
{
tc-getPROG FC gfortran "$@"
}
tc-getGCJ ()
{
tc-getPROG GCJ gcj "$@"
}
tc-getGO ()
{
tc-getPROG GO gccgo "$@"
}
tc-getLD ()
{
tc-getPROG LD ld "$@"
}
tc-getNM ()
{
tc-getPROG NM nm "$@"
}
tc-getOBJCOPY ()
{
tc-getPROG OBJCOPY objcopy "$@"
}
tc-getOBJDUMP ()
{
tc-getPROG OBJDUMP objdump "$@"
}
tc-getPKG_CONFIG ()
{
tc-getPROG PKG_CONFIG pkg-config "$@"
}
tc-getPROG ()
{
_tc-getPROG CHOST "$@"
}
tc-getRANLIB ()
{
tc-getPROG RANLIB ranlib "$@"
}
tc-getRC ()
{
tc-getPROG RC windres "$@"
}
tc-getREADELF ()
{
tc-getPROG READELF readelf "$@"
}
tc-getSTRINGS ()
{
tc-getPROG STRINGS strings "$@"
}
tc-getSTRIP ()
{
tc-getPROG STRIP strip "$@"
}
tc-getTARGET_CPP ()
{
if [[ -n ${CTARGET} ]]; then
_tc-getPROG CTARGET TARGET_CPP "gcc -E" "$@";
else
tc-getCPP "$@";
fi
}
tc-has-openmp ()
{
local base="${T}/test-tc-openmp";
cat <<-EOF > "${base}.c"
#include <omp.h>
int main() {
int nthreads, tid, ret = 0;
#pragma omp parallel private(nthreads, tid)
{
tid = omp_get_thread_num();
nthreads = omp_get_num_threads(); ret += tid + nthreads;
}
return ret;
}
EOF
$(tc-getCC "$@") -fopenmp "${base}.c" -o "${base}" &> /dev/null;
local ret=$?;
rm -f "${base}"*;
return ${ret}
}
tc-has-tls ()
{
local base="${T}/test-tc-tls";
cat <<-EOF > "${base}.c"
int foo(int *i) {
static __thread int j = 0;
return *i ? j : *i;
}
EOF
local flags;
case $1 in
-s)
flags="-S"
;;
-c)
flags="-c"
;;
-l)
;;
-*)
die "Usage: tc-has-tls [-c|-l] [toolchain prefix]"
;;
esac;
: ${flags:=-fPIC -shared -Wl,-z,defs};
[[ $1 == -* ]] && shift;
$(tc-getCC "$@") ${flags} "${base}.c" -o "${base}" &> /dev/null;
local ret=$?;
rm -f "${base}"*;
return ${ret}
}
tc-is-clang ()
{
[[ $(tc-get-compiler-type) == clang ]]
}
tc-is-cross-compiler ()
{
[[ ${CBUILD:-${CHOST}} != ${CHOST} ]]
}
tc-is-gcc ()
{
[[ $(tc-get-compiler-type) == gcc ]]
}
tc-is-softfloat ()
{
tc-detect-is-softfloat || tc-tuple-is-softfloat
}
tc-is-static-only ()
{
local host=${CTARGET:-${CHOST}};
[[ ${host} == *-mint* ]]
}
tc-ld-disable-gold ()
{
if ! tc-ld-is-gold "$@"; then
return;
fi;
ewarn "Forcing usage of the BFD linker instead of GOLD";
local ld=$(tc-getLD "$@");
local bfd_ld="${ld%% *}.bfd";
local path_ld=$(which "${bfd_ld}" 2>/dev/null);
[[ -e ${path_ld} ]] && export LD=${bfd_ld};
local fallback="true";
if tc-is-gcc; then
local major=$(gcc-major-version "$@");
local minor=$(gcc-minor-version "$@");
if [[ ${major} -gt 4 ]] || [[ ${major} -eq 4 && ${minor} -ge 8 ]]; then
export LDFLAGS="${LDFLAGS} -fuse-ld=bfd";
fallback="false";
fi;
else
if tc-is-clang; then
local major=$(clang-major-version "$@");
local minor=$(clang-minor-version "$@");
if [[ ${major} -gt 3 ]] || [[ ${major} -eq 3 && ${minor} -ge 5 ]]; then
export LDFLAGS="${LDFLAGS} -fuse-ld=bfd";
fallback="false";
fi;
fi;
fi;
if [[ ${fallback} == "true" ]]; then
if [[ -e ${path_ld} ]]; then
local d="${T}/bfd-linker";
mkdir -p "${d}";
ln -sf "${path_ld}" "${d}"/ld;
export LDFLAGS="${LDFLAGS} -B${d}";
else
die "unable to locate a BFD linker to bypass gold";
fi;
fi
}
tc-ld-is-gold ()
{
local out;
out=$($(tc-getLD "$@") --version 2>&1);
if [[ ${out} == *"GNU gold"* ]]; then
return 0;
fi;
local base="${T}/test-tc-gold";
cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1);
rm -f "${base}"*;
if [[ ${out} == *"GNU gold"* ]]; then
return 0;
fi;
return 1
}
tc-ld-is-lld ()
{
local out;
out=$($(tc-getLD "$@") --version 2>&1);
if [[ ${out} == *"LLD"* ]]; then
return 0;
fi;
local base="${T}/test-tc-lld";
cat <<-EOF > "${base}.c"
int main() { return 0; }
EOF
out=$($(tc-getCC "$@") ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -Wl,--version "${base}.c" -o "${base}" 2>&1);
rm -f "${base}"*;
if [[ ${out} == *"LLD"* ]]; then
return 0;
fi;
return 1
}
tc-ninja_magic_to_arch ()
{
function ninj ()
{
[[ ${type} == "kern" ]] && echo $1 || echo $2
};
local type=$1;
local host=$2;
[[ -z ${host} ]] && host=${CTARGET:-${CHOST}};
case ${host} in
aarch64*)
echo arm64
;;
alpha*)
echo alpha
;;
arm*)
echo arm
;;
avr*)
ninj avr32 avr
;;
bfin*)
ninj blackfin bfin
;;
c6x*)
echo c6x
;;
cris*)
echo cris
;;
frv*)
echo frv
;;
hexagon*)
echo hexagon
;;
hppa*)
ninj parisc hppa
;;
i?86*)
if [[ ${type} == "kern" && ${host} == *freebsd* ]]; then
echo i386;
else
echo x86;
fi
;;
ia64*)
echo ia64
;;
m68*)
echo m68k
;;
metag*)
echo metag
;;
microblaze*)
echo microblaze
;;
mips*)
echo mips
;;
nios2*)
echo nios2
;;
nios*)
echo nios
;;
or1k | or32*)
echo openrisc
;;
powerpc*)
if [[ ${type} == "kern" ]]; then
echo powerpc;
else
if [[ ${host} == powerpc64* ]]; then
echo ppc64;
else
echo ppc;
fi;
fi
;;
riscv*)
echo riscv
;;
s390*)
echo s390
;;
score*)
echo score
;;
sh64*)
ninj sh64 sh
;;
sh*)
echo sh
;;
sparc64*)
ninj sparc64 sparc
;;
sparc*)
[[ ${PROFILE_ARCH} == "sparc64" ]] && ninj sparc64 sparc || echo sparc
;;
tile*)
echo tile
;;
vax*)
echo vax
;;
x86_64*freebsd*)
echo amd64
;;
x86_64*)
if [[ ${type} == "kern" ]]; then
echo x86;
else
echo amd64;
fi
;;
xtensa*)
echo xtensa
;;
*)
echo unknown
;;
esac
}
tc-stack-grows-down ()
{
case ${ARCH} in
hppa | metag)
return 1
;;
esac;
return 0
}
tc-tuple-is-softfloat ()
{
local CTARGET=${CTARGET:-${CHOST}};
case ${CTARGET//_/-} in
bfin* | h8300*)
echo "only"
;;
*-softfloat-*)
echo "yes"
;;
*-softfp-*)
echo "softfp"
;;
arm*-hardfloat-* | arm*eabihf)
echo "no"
;;
*-newlib | *-elf | *-eabi)
echo "no"
;;
arm*)
echo "yes"
;;
*)
echo "no"
;;
esac
}
version_compare ()
{
eshopts_push -s extglob;
local ver_a=${1} ver_b=${2} parts_a parts_b;
local cur_tok_a cur_tok_b num_part_a num_part_b;
local -i cur_idx_a=0 cur_idx_b=0 prev_idx_a prev_idx_b;
parts_a=($(get_all_version_components "${ver_a}" ));
parts_b=($(get_all_version_components "${ver_b}" ));
local -i inf_loop=0;
while true; do
inf_loop+=1;
((inf_loop > 20)) && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]";
prev_idx_a=cur_idx_a;
prev_idx_b=cur_idx_b;
cur_tok_a=${parts_a[cur_idx_a]};
cur_tok_b=${parts_b[cur_idx_b]};
if [[ -n ${cur_tok_a} ]] && [[ -z ${cur_tok_a//[[:digit:]]} ]]; then
cur_idx_a+=1;
[[ ${parts_a[cur_idx_a]} == . ]] && cur_idx_a+=1;
else
cur_tok_a=;
fi;
if [[ -n ${cur_tok_b} ]] && [[ -z ${cur_tok_b//[[:digit:]]} ]]; then
cur_idx_b+=1;
[[ ${parts_b[cur_idx_b]} == . ]] && cur_idx_b+=1;
else
cur_tok_b=;
fi;
[[ -z ${cur_tok_a} && -z ${cur_tok_b} ]] && break;
[[ -z ${cur_tok_a} ]] && eshopts_pop && return 1;
[[ -z ${cur_tok_b} ]] && eshopts_pop && return 3;
if (( prev_idx_a != 0 && prev_idx_b != 0 )) && [[ ${cur_tok_a} == 0* || ${cur_tok_b} == 0* ]]; then
cur_tok_a=${cur_tok_a%%+(0)};
cur_tok_b=${cur_tok_b%%+(0)};
[[ ${cur_tok_a} < ${cur_tok_b} ]] && eshopts_pop && return 1;
[[ ${cur_tok_a} > ${cur_tok_b} ]] && eshopts_pop && return 3;
else
cur_tok_a=${cur_tok_a##+(0)};
cur_tok_b=${cur_tok_b##+(0)};
: ${cur_tok_a:=0};
: ${cur_tok_b:=0};
((cur_tok_a < cur_tok_b)) && eshopts_pop && return 1;
((cur_tok_a > cur_tok_b)) && eshopts_pop && return 3;
fi;
done;
local letter_a=;
letter_a=${parts_a[cur_idx_a]};
if [[ ${#letter_a} -eq 1 && -z ${letter_a/[a-z]} ]]; then
cur_idx_a+=1;
else
letter_a=@;
fi;
local letter_b=;
letter_b=${parts_b[cur_idx_b]};
if [[ ${#letter_b} -eq 1 && -z ${letter_b/[a-z]} ]]; then
cur_idx_b+=1;
else
letter_b=@;
fi;
[[ ${letter_a} < ${letter_b} ]] && eshopts_pop && return 1;
[[ ${letter_a} > ${letter_b} ]] && eshopts_pop && return 3;
inf_loop=0;
while true; do
inf_loop+=1;
((inf_loop > 20)) && die "versionator compare bug [numbers, ${ver_a}, ${ver_b}]";
[[ ${parts_a[cur_idx_a]} == _ ]] && ((cur_idx_a++));
[[ ${parts_b[cur_idx_b]} == _ ]] && ((cur_idx_b++));
cur_tok_a=${parts_a[cur_idx_a]};
cur_tok_b=${parts_b[cur_idx_b]};
num_part_a=0;
num_part_b=0;
if has ${cur_tok_a%%+([0-9])} "alpha" "beta" "pre" "rc" "p"; then
cur_idx_a+=1;
num_part_a=${cur_tok_a##+([a-z])};
num_part_a=${num_part_a##+(0)};
: ${num_part_a:=0};
cur_tok_a=${cur_tok_a%%+([0-9])};
else
cur_tok_a=;
fi;
if has ${cur_tok_b%%+([0-9])} alpha beta pre rc p; then
cur_idx_b+=1;
num_part_b=${cur_tok_b##+([a-z])};
num_part_b=${num_part_b##+(0)};
: ${num_part_b:=0};
cur_tok_b=${cur_tok_b%%+([0-9])};
else
cur_tok_b=;
fi;
if [[ ${cur_tok_a} != ${cur_tok_b} ]]; then
local suffix;
for suffix in alpha beta pre rc "" p;
do
[[ ${cur_tok_a} == ${suffix} ]] && eshopts_pop && return 1;
[[ ${cur_tok_b} == ${suffix} ]] && eshopts_pop && return 3;
done;
else
if [[ -z ${cur_tok_a} && -z ${cur_tok_b} ]]; then
break;
else
((num_part_a < num_part_b)) && eshopts_pop && return 1;
((num_part_a > num_part_b)) && eshopts_pop && return 3;
fi;
fi;
done;
[[ ${parts_a[cur_idx_a]} == - ]] && ((cur_idx_a++));
[[ ${parts_b[cur_idx_b]} == - ]] && ((cur_idx_b++));
if [[ -n ${parts_a[cur_idx_a]/r+([0-9])} || -n ${parts_b[cur_idx_b]/r+([0-9])} ]]; then
die "versionator compare bug [revisions, ${ver_a}, ${ver_b}]";
fi;
num_part_a=${parts_a[cur_idx_a]#r};
num_part_a=${num_part_a##+(0)};
: ${num_part_a:=0};
num_part_b=${parts_b[cur_idx_b]#r};
num_part_b=${num_part_b##+(0)};
: ${num_part_b:=0};
((num_part_a < num_part_b)) && eshopts_pop && return 1;
((num_part_a > num_part_b)) && eshopts_pop && return 3;
eshopts_pop;
return 2
}
version_format_string ()
{
local fstr=$1;
shift;
set -- $(get_version_components "$@");
eval echo "${fstr}"
}
version_is_at_least ()
{
local want_s="$1" have_s="${2:-${PVR}}" r;
version_compare "${want_s}" "${have_s}";
r=$?;
case $r in
1 | 2)
return 0
;;
3)
return 1
;;
*)
die "versionator compare bug [atleast, ${want_s}, ${have_s}, ${r}]"
;;
esac
}
version_sort ()
{
eshopts_push -s extglob;
local items=;
local -i left=0;
items=("$@");
while ((left < ${#items[@]})); do
local -i lowest_idx=left;
local -i idx=lowest_idx+1;
while ((idx < ${#items[@]})); do
version_compare "${items[lowest_idx]}" "${items[idx]}";
[[ $? -eq 3 ]] && lowest_idx=idx;
idx+=1;
done;
local tmp=${items[lowest_idx]};
items[lowest_idx]=${items[left]};
items[left]=${tmp};
left+=1;
done;
echo ${items[@]};
eshopts_pop
}
$ sudo ls -lR /var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5:
total 32
-rw-r--r-- 1 portage portage 2932 May 1 2017 COPYRIGHT
-rw-r--r-- 1 portage portage 5616 Oct 18 18:22 Makefile
-rw-r--r-- 1 portage portage 441 May 1 2017 README
drwxr-xr-x 3 portage portage 4096 May 1 2017 doc
drwxr-xr-x 2 portage portage 4096 May 1 2017 dynasm
drwxr-xr-x 2 portage portage 4096 May 1 2017 etc
drwxr-xr-x 4 portage portage 4096 Oct 18 18:22 src
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/doc:
total 272
-rw-r--r-- 1 portage portage 2514 May 1 2017 bluequad-print.css
-rw-r--r-- 1 portage portage 5575 May 1 2017 bluequad.css
-rw-r--r-- 1 portage portage 48265 May 1 2017 changes.html
-rw-r--r-- 1 portage portage 2938 May 1 2017 contact.html
-rw-r--r-- 1 portage portage 5991 May 1 2017 ext_c_api.html
-rw-r--r-- 1 portage portage 10285 May 1 2017 ext_ffi.html
-rw-r--r-- 1 portage portage 21296 May 1 2017 ext_ffi_api.html
-rw-r--r-- 1 portage portage 53100 May 1 2017 ext_ffi_semantics.html
-rw-r--r-- 1 portage portage 22506 May 1 2017 ext_ffi_tutorial.html
-rw-r--r-- 1 portage portage 5844 May 1 2017 ext_jit.html
-rw-r--r-- 1 portage portage 15247 May 1 2017 extensions.html
-rw-r--r-- 1 portage portage 7634 May 1 2017 faq.html
drwxr-xr-x 2 portage portage 4096 May 1 2017 img
-rw-r--r-- 1 portage portage 23195 May 1 2017 install.html
-rw-r--r-- 1 portage portage 8011 May 1 2017 luajit.html
-rw-r--r-- 1 portage portage 13567 May 1 2017 running.html
-rw-r--r-- 1 portage portage 3283 May 1 2017 status.html
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/doc/img:
total 4
-rw-r--r-- 1 portage portage 1340 May 1 2017 contact.png
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/dynasm:
total 260
-rw-r--r-- 1 portage portage 13423 May 1 2017 dasm_arm.h
-rw-r--r-- 1 portage portage 34598 May 1 2017 dasm_arm.lua
-rw-r--r-- 1 portage portage 12200 May 1 2017 dasm_mips.h
-rw-r--r-- 1 portage portage 28080 May 1 2017 dasm_mips.lua
-rw-r--r-- 1 portage portage 12110 May 1 2017 dasm_ppc.h
-rw-r--r-- 1 portage portage 37064 May 1 2017 dasm_ppc.lua
-rw-r--r-- 1 portage portage 2062 May 1 2017 dasm_proto.h
-rw-r--r-- 1 portage portage 568 May 1 2017 dasm_x64.lua
-rw-r--r-- 1 portage portage 15310 May 1 2017 dasm_x86.h
-rw-r--r-- 1 portage portage 59029 May 1 2017 dasm_x86.lua
-rw-r--r-- 1 portage portage 30989 May 1 2017 dynasm.lua
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/etc:
total 8
-rw-r--r-- 1 portage portage 2339 May 1 2017 luajit.1
-rw-r--r-- 1 portage portage 592 May 1 2017 luajit.pc
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/src:
total 2760
-rw-r--r-- 1 portage portage 22092 May 1 2017 Makefile
-rw-r--r-- 1 portage portage 13790 May 1 2017 Makefile.dep
drwxr-xr-x 2 portage portage 4096 May 1 2017 host
drwxr-xr-x 2 portage portage 4096 May 1 2017 jit
-rw-r--r-- 1 portage portage 6006 May 1 2017 lauxlib.h
-rw-r--r-- 1 portage portage 8949 May 1 2017 lib_aux.c
-rw-r--r-- 1 portage portage 17039 May 1 2017 lib_base.c
-rw-r--r-- 1 portage portage 1858 May 1 2017 lib_bit.c
-rw-r--r-- 1 portage portage 9503 May 1 2017 lib_debug.c
-rw-r--r-- 1 portage portage 22541 May 1 2017 lib_ffi.c
-rw-r--r-- 1 portage portage 1355 May 1 2017 lib_init.c
-rw-r--r-- 1 portage portage 13724 May 1 2017 lib_io.c
-rw-r--r-- 1 portage portage 17724 May 1 2017 lib_jit.c
-rw-r--r-- 1 portage portage 6190 May 1 2017 lib_math.c
-rw-r--r-- 1 portage portage 6421 May 1 2017 lib_os.c
-rw-r--r-- 1 portage portage 17881 May 1 2017 lib_package.c
-rw-r--r-- 1 portage portage 25059 May 1 2017 lib_string.c
-rw-r--r-- 1 portage portage 7655 May 1 2017 lib_table.c
-rw-r--r-- 1 portage portage 589 May 1 2017 lj.supp
-rw-r--r-- 1 portage portage 40648 May 1 2017 lj_alloc.c
-rw-r--r-- 1 portage portage 330 May 1 2017 lj_alloc.h
-rw-r--r-- 1 portage portage 28933 May 1 2017 lj_api.c
-rw-r--r-- 1 portage portage 11997 May 1 2017 lj_arch.h
-rw-r--r-- 1 portage portage 57535 May 1 2017 lj_asm.c
-rw-r--r-- 1 portage portage 356 May 1 2017 lj_asm.h
-rw-r--r-- 1 portage portage 75531 May 1 2017 lj_asm_arm.h
-rw-r--r-- 1 portage portage 65507 May 1 2017 lj_asm_mips.h
-rw-r--r-- 1 portage portage 70862 May 1 2017 lj_asm_ppc.h
-rw-r--r-- 1 portage portage 98374 May 1 2017 lj_asm_x86.h
-rw-r--r-- 1 portage portage 261 May 1 2017 lj_bc.c
-rw-r--r-- 1 portage portage 8223 May 1 2017 lj_bc.h
-rw-r--r-- 1 portage portage 1936 May 1 2017 lj_bcdump.h
-rw-r--r-- 1 portage portage 13412 May 1 2017 lj_bcread.c
-rw-r--r-- 1 portage portage 11396 May 1 2017 lj_bcwrite.c
-rw-r--r-- 1 portage portage 10127 May 1 2017 lj_carith.c
-rw-r--r-- 1 portage portage 674 May 1 2017 lj_carith.h
-rw-r--r-- 1 portage portage 27435 May 1 2017 lj_ccall.c
-rw-r--r-- 1 portage portage 4125 May 1 2017 lj_ccall.h
-rw-r--r-- 1 portage portage 18816 May 1 2017 lj_ccallback.c
-rw-r--r-- 1 portage portage 631 May 1 2017 lj_ccallback.h
-rw-r--r-- 1 portage portage 24392 May 1 2017 lj_cconv.c
-rw-r--r-- 1 portage portage 2025 May 1 2017 lj_cconv.h
-rw-r--r-- 1 portage portage 8669 May 1 2017 lj_cdata.c
-rw-r--r-- 1 portage portage 2079 May 1 2017 lj_cdata.h
-rw-r--r-- 1 portage portage 1980 May 1 2017 lj_char.c
-rw-r--r-- 1 portage portage 1437 May 1 2017 lj_char.h
-rw-r--r-- 1 portage portage 10343 May 1 2017 lj_clib.c
-rw-r--r-- 1 portage portage 754 May 1 2017 lj_clib.h
-rw-r--r-- 1 portage portage 56756 May 1 2017 lj_cparse.c
-rw-r--r-- 1 portage portage 2187 May 1 2017 lj_cparse.h
-rw-r--r-- 1 portage portage 54181 May 1 2017 lj_crecord.c
-rw-r--r-- 1 portage portage 1384 May 1 2017 lj_crecord.h
-rw-r--r-- 1 portage portage 18135 May 1 2017 lj_ctype.c
-rw-r--r-- 1 portage portage 16925 May 1 2017 lj_ctype.h
-rw-r--r-- 1 portage portage 16923 May 1 2017 lj_debug.c
-rw-r--r-- 1 portage portage 1794 May 1 2017 lj_debug.h
-rw-r--r-- 1 portage portage 10381 May 1 2017 lj_def.h
-rw-r--r-- 1 portage portage 15075 May 1 2017 lj_dispatch.c
-rw-r--r-- 1 portage portage 4351 May 1 2017 lj_dispatch.h
-rw-r--r-- 1 portage portage 10779 May 1 2017 lj_emit_arm.h
-rw-r--r-- 1 portage portage 6087 May 1 2017 lj_emit_mips.h
-rw-r--r-- 1 portage portage 6999 May 1 2017 lj_emit_ppc.h
-rw-r--r-- 1 portage portage 11905 May 1 2017 lj_emit_x86.h
-rw-r--r-- 1 portage portage 23949 Oct 18 18:22 lj_err.c
-rw-r--r-- 1 portage portage 1496 May 1 2017 lj_err.h
-rw-r--r-- 1 portage portage 7953 May 1 2017 lj_errmsg.h
-rw-r--r-- 1 portage portage 364 May 1 2017 lj_ff.h
-rw-r--r-- 1 portage portage 27797 May 1 2017 lj_ffrecord.c
-rw-r--r-- 1 portage portage 637 May 1 2017 lj_ffrecord.h
-rw-r--r-- 1 portage portage 5869 May 1 2017 lj_frame.h
-rw-r--r-- 1 portage portage 5750 May 1 2017 lj_func.c
-rw-r--r-- 1 portage portage 776 May 1 2017 lj_func.h
-rw-r--r-- 1 portage portage 26426 May 1 2017 lj_gc.c
-rw-r--r-- 1 portage portage 4913 May 1 2017 lj_gc.h
-rw-r--r-- 1 portage portage 21550 May 1 2017 lj_gdbjit.c
-rw-r--r-- 1 portage portage 464 May 1 2017 lj_gdbjit.h
-rw-r--r-- 1 portage portage 13568 May 1 2017 lj_ir.c
-rw-r--r-- 1 portage portage 17621 May 1 2017 lj_ir.h
-rw-r--r-- 1 portage portage 8828 May 1 2017 lj_ircall.h
-rw-r--r-- 1 portage portage 5953 May 1 2017 lj_iropt.h
-rw-r--r-- 1 portage portage 15280 May 1 2017 lj_jit.h
-rw-r--r-- 1 portage portage 12702 May 1 2017 lj_lex.c
-rw-r--r-- 1 portage portage 3082 May 1 2017 lj_lex.h
-rw-r--r-- 1 portage portage 6275 May 1 2017 lj_lib.c
-rw-r--r-- 1 portage portage 3613 May 1 2017 lj_lib.h
-rw-r--r-- 1 portage portage 4093 May 1 2017 lj_load.c
-rw-r--r-- 1 portage portage 10157 May 1 2017 lj_mcode.c
-rw-r--r-- 1 portage portage 691 May 1 2017 lj_mcode.h
-rw-r--r-- 1 portage portage 14446 May 1 2017 lj_meta.c
-rw-r--r-- 1 portage portage 1455 May 1 2017 lj_meta.h
-rw-r--r-- 1 portage portage 956 May 1 2017 lj_obj.c
-rw-r--r-- 1 portage portage 30508 May 1 2017 lj_obj.h
-rw-r--r-- 1 portage portage 2031 May 1 2017 lj_opt_dce.c
-rw-r--r-- 1 portage portage 62593 May 1 2017 lj_opt_fold.c
-rw-r--r-- 1 portage portage 15208 May 1 2017 lj_opt_loop.c
-rw-r--r-- 1 portage portage 30721 May 1 2017 lj_opt_mem.c
-rw-r--r-- 1 portage portage 25676 May 1 2017 lj_opt_narrow.c
-rw-r--r-- 1 portage portage 7092 May 1 2017 lj_opt_sink.c
-rw-r--r-- 1 portage portage 23326 May 1 2017 lj_opt_split.c
-rw-r--r-- 1 portage portage 80421 May 1 2017 lj_parse.c
-rw-r--r-- 1 portage portage 417 May 1 2017 lj_parse.h
-rw-r--r-- 1 portage portage 75108 May 1 2017 lj_record.c
-rw-r--r-- 1 portage portage 1578 May 1 2017 lj_record.h
-rw-r--r-- 1 portage portage 27767 May 1 2017 lj_snap.c
-rw-r--r-- 1 portage portage 921 May 1 2017 lj_snap.h
-rw-r--r-- 1 portage portage 8888 May 1 2017 lj_state.c
-rw-r--r-- 1 portage portage 1045 May 1 2017 lj_state.h
-rw-r--r-- 1 portage portage 9720 May 1 2017 lj_str.c
-rw-r--r-- 1 portage portage 1719 May 1 2017 lj_str.h
-rw-r--r-- 1 portage portage 15372 May 1 2017 lj_strscan.c
-rw-r--r-- 1 portage portage 1088 May 1 2017 lj_strscan.h
-rw-r--r-- 1 portage portage 18063 May 1 2017 lj_tab.c
-rw-r--r-- 1 portage portage 2370 May 1 2017 lj_tab.h
-rw-r--r-- 1 portage portage 5953 May 1 2017 lj_target.h
-rw-r--r-- 1 portage portage 7243 May 1 2017 lj_target_arm.h
-rw-r--r-- 1 portage portage 7461 May 1 2017 lj_target_mips.h
-rw-r--r-- 1 portage portage 7517 May 1 2017 lj_target_ppc.h
-rw-r--r-- 1 portage portage 10064 May 1 2017 lj_target_x86.h
-rw-r--r-- 1 portage portage 23777 May 1 2017 lj_trace.c
-rw-r--r-- 1 portage portage 1505 May 1 2017 lj_trace.h
-rw-r--r-- 1 portage portage 2103 May 1 2017 lj_traceerr.h
-rw-r--r-- 1 portage portage 848 May 1 2017 lj_udata.c
-rw-r--r-- 1 portage portage 307 May 1 2017 lj_udata.h
-rw-r--r-- 1 portage portage 3466 May 1 2017 lj_vm.h
-rw-r--r-- 1 portage portage 1515 May 1 2017 lj_vmevent.c
-rw-r--r-- 1 portage portage 1571 May 1 2017 lj_vmevent.h
-rw-r--r-- 1 portage portage 3212 May 1 2017 lj_vmmath.c
-rw-r--r-- 1 portage portage 2300 May 1 2017 ljamalg.c
-rw-r--r-- 1 portage portage 11964 May 1 2017 lua.h
-rw-r--r-- 1 portage portage 135 May 1 2017 lua.hpp
-rw-r--r-- 1 portage portage 4762 May 1 2017 luaconf.h
-rw-r--r-- 1 portage portage 14800 May 1 2017 luajit.c
-rw-r--r-- 1 portage portage 2573 May 1 2017 luajit.h
-rw-r--r-- 1 portage portage 1113 May 1 2017 lualib.h
-rw-r--r-- 1 portage portage 3732 May 1 2017 msvcbuild.bat
-rw-r--r-- 1 portage portage 3251 May 1 2017 ps4build.bat
-rw-r--r-- 1 portage portage 3108 May 1 2017 psvitabuild.bat
-rw-r--r-- 1 portage portage 122923 May 1 2017 vm_arm.dasc
-rw-r--r-- 1 portage portage 118694 May 1 2017 vm_mips.dasc
-rw-r--r-- 1 portage portage 138697 May 1 2017 vm_ppc.dasc
-rw-r--r-- 1 portage portage 104315 May 1 2017 vm_ppcspe.dasc
-rw-r--r-- 1 portage portage 170409 May 1 2017 vm_x86.dasc
-rw-r--r-- 1 portage portage 3135 May 1 2017 xedkbuild.bat
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/src/host:
total 252
-rw-r--r-- 1 portage portage 193 May 1 2017 README
-rw-r--r-- 1 portage portage 12936 May 1 2017 buildvm.c
-rw-r--r-- 1 portage portage 2561 May 1 2017 buildvm.h
-rw-r--r-- 1 portage portage 8321 May 1 2017 buildvm_asm.c
-rw-r--r-- 1 portage portage 6478 May 1 2017 buildvm_fold.c
-rw-r--r-- 1 portage portage 10654 May 1 2017 buildvm_lib.c
-rw-r--r-- 1 portage portage 11357 May 1 2017 buildvm_peobj.c
-rw-r--r-- 1 portage portage 12039 May 1 2017 genminilua.lua
-rw-r--r-- 1 portage portage 174364 May 1 2017 minilua.c
/var/tmp/portage/dev-lang/luajit-2.0.5-r2/work/LuaJIT-2.0.5/src/jit:
total 152
-rw-r--r-- 1 portage portage 5606 May 1 2017 bc.lua
-rw-r--r-- 1 portage portage 18146 May 1 2017 bcsave.lua
-rw-r--r-- 1 portage portage 19345 May 1 2017 dis_arm.lua
-rw-r--r-- 1 portage portage 13186 May 1 2017 dis_mips.lua
-rw-r--r-- 1 portage portage 710 May 1 2017 dis_mipsel.lua
-rw-r--r-- 1 portage portage 20302 May 1 2017 dis_ppc.lua
-rw-r--r-- 1 portage portage 707 May 1 2017 dis_x64.lua
-rw-r--r-- 1 portage portage 29330 May 1 2017 dis_x86.lua
-rw-r--r-- 1 portage portage 19588 May 1 2017 dump.lua
-rw-r--r-- 1 portage portage 5614 May 1 2017 v.lua
30 Oct 2020: sadly, due legal obligations arising from a recent change in my 'real world' job, I must announce I am standing down as maintainer of this project with immediate effect. For the meantime, I will leave the repo up (for historical interest, and since the images may be of use still in certain applications); however, there will be no further updates to the underlying binhost etc., nor will I be accepting / actioning further pull requests or bug reports from this point. Email requests for support will also have to be politely declined, so, please treat this as an effective EOL notice.
For further details, please see my post here.
Many thanks for your interest in this project!
With sincere apologies, sakaki ><
Interestingly, Ubuntu Mate for raspberry pi does not need luajit to install sysbench. (That system has one minor version older systbench: 1.0.18+ds-1 but luajit is not installed.) had a look into Manjaro for Raspberry PI too: sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)