joeylib2/installer/components/djgpp.sh

44 lines
1.5 KiB
Bash

# DOS C toolchain: DJGPP with gcc 12.2.0, prebuilt for Linux x86-64 by
# andrewwutw/build-djgpp (release v3.4).
compDescription="DOS compiler: DJGPP gcc 12.2.0 (build-djgpp v3.4)"
compGroups="toolchain:dos"
compRequires="host"
compHostDeps="bzip2 libfl"
compUrl="https://github.com/andrewwutw/build-djgpp/releases/download/v3.4/djgpp-linux64-gcc1220.tar.bz2"
compSha256="8464f17017d6ab1b2bb2df4ed82357b5bf692e6e2b7fee37e315638f3d505f00"
compPin="$compSha256"
compInstall() {
local archive
archive="$(fetchFile "$compUrl" "$compSha256")"
rm -rf "$compDir"
extractArchive "$archive" "$compDir" 1
}
compInstalled() {
[ -x "$compDir/bin/i586-pc-msdosdjgpp-gcc" ] && [ -x "$compDir/i586-pc-msdosdjgpp/bin/exe2coff" ]
}
compVerify() {
verifyLinked "$compDir/bin" "$compDir/i586-pc-msdosdjgpp/bin" "$compDir"/libexec/gcc/*/*
verifyCompiles "$compDir/bin/i586-pc-msdosdjgpp-gcc" -march=i386 -O2
}
compEnv() {
envVar DOS_PREFIX "$compDir"
envVar DOS_CC "$compDir/bin/i586-pc-msdosdjgpp-gcc"
envVar DOS_AR "$compDir/bin/i586-pc-msdosdjgpp-ar"
envVar DOS_LD "$compDir/bin/i586-pc-msdosdjgpp-ld"
# The DOS-target utilities live in the target sysroot's bin, not the
# host bin that holds the cross gcc.
envVar DOS_STUBEDIT "$compDir/i586-pc-msdosdjgpp/bin/stubedit"
envVar DOS_STUBIFY "$compDir/i586-pc-msdosdjgpp/bin/stubify"
envVar DOS_EXE2COFF "$compDir/i586-pc-msdosdjgpp/bin/exe2coff"
envVar DOS_EMBED_DPMI "$JOEY_BUILD_SUPPORT/dos/embed-dpmi.sh"
envPath "$compDir/bin"
}