summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel/native-cctools')
-rw-r--r--sys-devel/native-cctools/files/aix-2/ld143
-rw-r--r--sys-devel/native-cctools/files/aix-2/mkexpfile70
-rw-r--r--sys-devel/native-cctools/files/aix-2/nm6
-rw-r--r--sys-devel/native-cctools/native-cctools-4.ebuild114
-rw-r--r--sys-devel/native-cctools/native-cctools-5-r1.ebuild (renamed from sys-devel/native-cctools/native-cctools-5.ebuild)21
5 files changed, 4 insertions, 350 deletions
diff --git a/sys-devel/native-cctools/files/aix-2/ld b/sys-devel/native-cctools/files/aix-2/ld
deleted file mode 100644
index 8f9841ef32ee..000000000000
--- a/sys-devel/native-cctools/files/aix-2/ld
+++ /dev/null
@@ -1,143 +0,0 @@
-#! /usr/bin/env /bin/ksh
-# Copyright 1999-2018 Gentoo Foundation; Distributed under the GPL v2
-
-# Upon '-soname' and similar flags, create a "shared library" on AIX being an
-# archive file containing an Import File and the shared object file, as in:
-# http://lists.gnu.org/archive/html/libtool/2011-01/msg00023.html
-# with updates in:
-# http://lists.gnu.org/archive/html/libtool/2011-02/msg00000.html
-#
-# This helper script is meant not depend on anything Gentoo specific.
-
-ld=/usr/ccs/bin/ld
-ar=/usr/ccs/bin/ar
-strip=/usr/ccs/bin/strip
-dump=/usr/sbin/dump
-awk=/usr/bin/awk
-rm=/usr/bin/rm
-mkdir=/usr/bin/mkdir
-mv=/usr/bin/mv
-ln=/usr/bin/ln
-
-oldargs=
-output=
-soname=
-newargs=
-OBJECT_MODE=${OBJECT_MODE:-32}
-
-while [[ $# -gt 0 ]]
-do
- arg=$1
- shift
- case ${arg} in
- -rpath=*)
- arg="-R${arg#-rpath=}"
- ;;
- esac
- oldargs="${oldargs} '${arg}'"
- case ${arg} in
- -o)
- newargs="${newargs} -o '$1'"
- output=$1
- oldargs="${oldargs} '$1'"
- shift
- ;;
- -bM:SRE)
- newargs="${newargs} '-G' '-bernotok'"
- ;;
- -soname=*)
- soname=${arg#-soname=}
- ;;
- -h*)
- soname=${arg#-h}
- ;;
- -soname|-h)
- soname=$1
- shift
- ;;
- -b32)
- newargs="${newargs} '${arg}'"
- OBJECT_MODE=32
- ;;
- -b64)
- newargs="${newargs} '${arg}'"
- OBJECT_MODE=64
- ;;
- *)
- newargs="${newargs} '${arg}'"
- ;;
- esac
-done
-
-if [[ -z ${output} || -z ${soname} ]]; then
- eval "exec ${ld} ${oldargs}"
- exit 1
-fi
-
-# Running ld against the orginal target file to retain
-# ld error message when there's a problem with it:
-eval "${ld} -o '${output}' ${newargs}" || exit 1
-
-workdir="${output}.$$"
-
-${rm} -rf "${workdir}" || exit 1
-trap "${rm} -rf '${workdir}'" 0
-
-case ${soname} in
-*\(*\))
- shro=${soname#*\(}
- shro=${shro%\)}
- shri=${shro%.*}.imp
- ;;
-*\[*\])
- shro=${soname#*\[}
- shro=${shro%\]}
- shri=${shro%.*}.imp
- ;;
-none) # loadable only module, not linkable: no import file
- shro='shr.o'
- soname="${output##*/}(${shro})"
- shri=
- ;;
-auto)
- shro='shr.o'
- soname=${output##*/}
- if [[ ${soname} == lib*.so* ]]; then
- # linkable library: need import file
- shri=${shro%.*}.imp
- else
- # loadable only module, not linkable: no import file
- shri=
- fi
- soname="${soname}(${shro})"
- ;;
-*)
- shro='shr.o'
- shri=${shro%.*}.imp
- soname="${soname}(${shro})"
- ;;
-esac
-
-export OBJECT_MODE
-
-${mkdir} "${workdir}" || exit 1
-${strip} -e "${output}" || exit 1
-if [[ -n ${shri} ]]; then
- ${dump} -Tv "${output}" > "${workdir}"/syms || exit 1
- ${awk} '
- BEGIN {
- print "#! '"${soname}"'"
- print "# '"${OBJECT_MODE}"'"
- }
- {
- if ($4 == "EXP" || $4 == "ImpExp") {
- print $8
- } else
- if ($4 == "wEXP") {
- print $8" weak"
- }
- }' <"${workdir}"/syms > "${workdir}"/${shri} || exit 1
-fi
-${mv} "${output}" "${workdir}/${shro}" || exit 1
-${ar} rc "${output}" ${shri:+"${workdir}/${shri}"} "${workdir}/${shro}" || exit 1
-exit 0
diff --git a/sys-devel/native-cctools/files/aix-2/mkexpfile b/sys-devel/native-cctools/files/aix-2/mkexpfile
deleted file mode 100644
index 4e79e4647b06..000000000000
--- a/sys-devel/native-cctools/files/aix-2/mkexpfile
+++ /dev/null
@@ -1,70 +0,0 @@
-#! /bin/sh
-
-nm="${0%mkexpfile}nm"
-showwith=
-expfile="ld.aix.exports.$$"
-srcobjs=
-
-# /bin/sort does not allow TMPDIR to be longer than 85 characters
-test ${#TMPDIR} -le 85 || TMPDIR=/tmp export TMPDIR
-
-while test $# -gt 0
-do
- arg=$1
- shift
-
- case ${arg} in
- --) for arg in "$@"
- do
- srcobjs="${srcobjs} '${arg}'"
- done
- break
- ;;
- --show-with=*) showwith="${arg#--show-with=}" ;;
- -o) expfile="${1}"; shift ;;
- -o*) expfile="${arg#-o}"; ;;
- *) srcobjs="${srcobjs} '${arg}'" ;;
- esac
-done
-
-/bin/rm -f "${expfile}" || exit 1
-
-if ! type "${nm}" >/dev/null 2>&1
-then
- case ${nm} in
- *-nm) nm=${nm##*/} ;; # use "powerpc-ibm-aix7.1.0.0-nm" from PATH
- */nm|nm) nm=/usr/ccs/bin/nm ;; # native anyway
- esac
- type "${nm}" >/dev/null || exit 1 # let 'type' yell when necessary
-fi
-
-if "${nm}" -V 2>&1 | /bin/grep 'GNU' >/dev/null
-then
- eval "${nm}" -Bpg ${srcobjs} |
- /bin/awk '{
- if ((($2 == "T") || ($2 == "D") || ($2 == "B") || ($2 == "W")) && (substr($3,1,1) != ".")) {
- if ($2 == "W") {
- print $3 " weak"
- } else {
- print $3
- }
- }
- }' |
- /bin/sort -u > "${expfile}" || exit 1
-else
- eval "${nm}" -PCpgl ${srcobjs} |
- /bin/awk '{
- if ((($2 == "T") || ($2 == "D") || ($2 == "B") || ($2 == "W") || ($2 == "V") || ($2 == "Z")) && (substr($1,1,1) != ".")) {
- if (($2 == "W") || ($2 == "V") || ($2 == "Z")) {
- print $1 " weak"
- } else {
- print $1
- }
- }
- }' |
- /bin/sort -u > "${expfile}" || exit 1
-fi
-
-echo "${showwith}${expfile}"
-
-exit 0
diff --git a/sys-devel/native-cctools/files/aix-2/nm b/sys-devel/native-cctools/files/aix-2/nm
deleted file mode 100644
index 5ba1d650d23a..000000000000
--- a/sys-devel/native-cctools/files/aix-2/nm
+++ /dev/null
@@ -1,6 +0,0 @@
-#! /bin/sh
-
-# /usr/bin/sort (used by nm) cannot work with TMPDIR longer than 85 characters.
-test ${#TMPDIR} -le 85 || TMPDIR=/tmp export TMPDIR
-
-exec /usr/ccs/bin/nm ${1+"$@"}
diff --git a/sys-devel/native-cctools/native-cctools-4.ebuild b/sys-devel/native-cctools/native-cctools-4.ebuild
deleted file mode 100644
index f961a43cc039..000000000000
--- a/sys-devel/native-cctools/native-cctools-4.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="6"
-
-inherit eutils
-
-DESCRIPTION="Host OS native assembler as and static linker ld"
-HOMEPAGE="https://prefix.gentoo.org/"
-SRC_URI=""
-
-LICENSE="GPL-2" # actually, we don't know, the wrapper is
-SLOT="0"
-
-AIX_V='aix-2'
-
-KEYWORDS="~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
-
-IUSE=""
-
-DEPEND="sys-devel/binutils-config"
-RDEPEND="${DEPEND}"
-
-src_unpack() {
- mkdir -p "${S}"
-}
-
-src_install() {
- LIBPATH=/usr/$(get_libdir)/binutils/${CHOST}/native-${PV}
- BINPATH=/usr/${CHOST}/binutils-bin/native-${PV}
-
- keepdir ${LIBPATH} || die
- dodir ${BINPATH}
-
- # allow for future hosts with different paths
- nativepath=""
- wrappers=()
- case ${CHOST} in
- *-solaris*)
- nativepath=/usr/sfw/bin
- ;;
- *-aix*)
- nativepath=/usr/ccs/bin
- wrappers=("${wrappers[@]}" "ld=${FILESDIR}/${AIX_V}/ld")
- wrappers=("${wrappers[@]}" "nm=${FILESDIR}/${AIX_V}/nm")
- wrappers=("${wrappers[@]}" "mkexpfile=${FILESDIR}/${AIX_V}/mkexpfile")
- ;;
- *-apple-darwin*|*-netbsd*|*-openbsd*)
- nativepath=/usr/bin
- ;;
- *-interix*)
- nativepath=/opt/gcc.3.3/bin
- ;;
- *)
- die "Don't know where the native linker for your platform is"
- ;;
- esac
-
- what="addr2line as ar c++filt gprof ld nm objcopy objdump \
- ranlib readelf elfdump size strings strip"
- # Darwin things
- what="${what} install_name_tool ld64 libtool lipo nmedit \
- otool otool64 pagestuff redo_prebinding segedit"
-
- # copy from the host os
- cd "${ED}${BINPATH}"
- for b in ${what} ; do
- if [[ ${CHOST} == *-darwin* && ${b} == libtool ]] ; then
- echo "linking darwin libtool ${nativepath}/${b}"
- ln -s "${nativepath}/${b}" "${b}"
- elif [[ -x ${nativepath}/g${b} ]] ; then
- einfo "linking ${nativepath}/g${b}"
- ln -s "${nativepath}/g${b}" "${b}"
- elif [[ -x ${nativepath}/${b} ]] ; then
- einfo "linking ${nativepath}/${b}"
- ln -s "${nativepath}/${b}" "${b}"
- else
- ewarn "skipping ${b} (not in ${nativepath})"
- fi
- done
-
- # post fix for Darwin's ranlib (doesn't like it when its called other than
- # that, as libtool and ranlib are one tool)
- if [[ ${CHOST} == *-darwin* ]] ; then
- rm -f ranlib
- cat <<-EOF > ranlib
- #!/usr/bin/env bash
- exec ${nativepath}/ranlib "\$@"
- EOF
- chmod 755 ranlib
- fi
-
- exeinto ${BINPATH}
- local wrapper source target
- for wrapper in "${wrappers[@]}" ; do
- source=${wrapper#*=}
- target=${wrapper%%=*}
- rm -f "${target}"
- newexe "${source}" "${target}" || die
- done
- # Generate an env.d entry for this binutils
- insinto /etc/env.d/binutils
- cat <<-EOF > "${T}"/env.d
- TARGET="${CHOST}"
- VER="native-${PV}"
- LIBPATH="${EPREFIX}/${LIBPATH}"
- FAKE_TARGETS="${CHOST}"
- EOF
- newins "${T}"/env.d ${CHOST}-native-${PV}
-}
-
-pkg_postinst() {
- binutils-config ${CHOST}-native-${PV}
-}
diff --git a/sys-devel/native-cctools/native-cctools-5.ebuild b/sys-devel/native-cctools/native-cctools-5-r1.ebuild
index 821c9fafacdf..6ebf381895db 100644
--- a/sys-devel/native-cctools/native-cctools-5.ebuild
+++ b/sys-devel/native-cctools/native-cctools-5-r1.ebuild
@@ -1,9 +1,7 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI="6"
-
-inherit eutils
+EAPI="8"
DESCRIPTION="Host OS native assembler as and static linker ld"
HOMEPAGE="https://prefix.gentoo.org/"
@@ -12,9 +10,7 @@ SRC_URI=""
LICENSE="GPL-2" # actually, we don't know, the wrapper is
SLOT="0"
-AIX_V='aix-2'
-
-KEYWORDS="~ppc-macos ~x64-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE=""
@@ -39,18 +35,9 @@ src_install() {
*-solaris*)
nativepath=/usr/sfw/bin
;;
- *-aix*)
- nativepath=/usr/ccs/bin
- wrappers=("${wrappers[@]}" "ld=${FILESDIR}/${AIX_V}/ld")
- wrappers=("${wrappers[@]}" "nm=${FILESDIR}/${AIX_V}/nm")
- wrappers=("${wrappers[@]}" "mkexpfile=${FILESDIR}/${AIX_V}/mkexpfile")
- ;;
- *-apple-darwin*|*-netbsd*|*-openbsd*)
+ *-apple-darwin*)
nativepath=/usr/bin
;;
- *-interix*)
- nativepath=/opt/gcc.3.3/bin
- ;;
*)
die "Don't know where the native linker for your platform is"
;;