# ATTENTION: THIS IS DIFFERENT FROM THE OTHERS, as we can reuse the assembler
# from binutils+cross-amd64 (or simply binutils on amd64 itself).

install -vdm755 "$PKGDIR"/opt/abcross/${__CROSS}/bin

abinfo "Creating wrapper script for the assembler (target: i486-aosc-linux-gnu) ..."
cat > "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-as << EOF
#!/bin/sh
exec x86_64-aosc-linux-gnu-as --32 "$@"
EOF
chmod -v 755 "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-as

abinfo "Creating wrapper script for the linker (target: i486-aosc-linux-gnu) ..."
for i in ld ld.bfd; do
  cat > "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-$i << EOF
#!/bin/sh
exec /usr/bin/$i -m elf_i386 --sysroot=/var/ab/cross-root/${__CROSS} "\$@"
EOF
  chmod -v 755 "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-$i
done

abinfo "Creating wrapper scripts for other tools (target: i486-aosc-linux-gnu) ..."
for i in addr2line ar c++filt elfedit gprof nm objcopy objdump ranlib \
         readelf size strings strip; do
  cat > "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-$i << EOF
#!/bin/sh
GNUTARGET=\${GNUTARGET:-elf32-i386} exec /usr/bin/$i "\$@"
EOF
  chmod -v 755 "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-$i
done

abinfo "Creating symlinks in the tooldir (target: i486-aosc-linux-gnu)"
mkdir -pv "$PKGDIR"/opt/abcross/${__CROSS}/i486-aosc-linux-gnu/bin
for i in "$PKGDIR"/opt/abcross/${__CROSS}/bin/i486-aosc-linux-gnu-*; do
  ln -svr $i "$PKGDIR"/opt/abcross/${__CROSS}/i486-aosc-linux-gnu/bin/${i##*-}
done

abinfo "Creating host-prefixed symlinks (target: i486-aosc-linux-gnu) ..."
mkdir -pv "$PKGDIR"/usr/bin
cd "$PKGDIR"/opt/abcross/${__CROSS}/bin/
for i in *; do
    ln -sv ../../opt/abcross/${__CROSS}/bin/$i \
        "$PKGDIR"/usr/bin/$i
    # vendor: unknown
    ln -sv ../../opt/abcross/${__CROSS}/bin/$i \
        "$PKGDIR"/usr/bin/${i/aosc-linux-gnu/unknown-linux-gnu}
    # empty vendor
    ln -sv ../../opt/abcross/${__CROSS}/bin/$i \
        "$PKGDIR"/usr/bin/${i/aosc-linux-gnu/linux-gnu}
done
