File: make-i8086-msdos-unixpackage-3.2.0rc1.sh

package info (click to toggle)
fpc 3.2.0%2Bdfsg-12
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, bullseye-backports
  • size: 338,552 kB
  • sloc: pascal: 3,794,737; xml: 191,997; ansic: 9,637; asm: 8,482; java: 5,346; sh: 4,664; yacc: 3,751; makefile: 2,688; lex: 2,538; javascript: 2,375; sql: 929; php: 473; cpp: 145; perl: 134; sed: 132; csh: 34; tcl: 7
file content (50 lines) | stat: -rwxr-xr-x 2,063 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#! /bin/sh

# hacky script for building the i8086-msdos release package for the fpc 3.2.x series
# it is a stopgap solution until we have proper support for multiple subarchs and memory models in the main makefiles

# script should be run in the fpcbuild directory
# requires nasm

set -e

FPCVERSION=3.2.0
FPCRCVERSION=3.2.0rc1
PACKAGE_VERSION=3.2.0rc1

CPU_SOURCE=$(fpc -iSP)
OS_SOURCE=$(fpc -iSO)

BASEDIR=$(pwd)
install -d $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos_

function build_subarch_mm {
    SUBARCH=$1
    MEMORY_MODEL=$2
    make -C fpcsrc clean buildbase OS_SOURCE=$OS_SOURCE CPU_SOURCE=$CPU_SOURCE OS_TARGET=msdos CPU_TARGET=i8086 OPT="-CX -XXs" BINUTILSPREFIX= CROSSOPT="-Wm$MEMORY_MODEL -Cp$SUBARCH"
    make install CROSSINSTALL=1 INSTALL_PREFIX=$BASEDIR/OUTPUT-MSDOS OS_SOURCE=$OS_SOURCE CPU_SOURCE=$CPU_SOURCE OS_TARGET=msdos CPU_TARGET=i8086 OPT="-CX -XXs" BINUTILSPREFIX= CROSSOPT="-Wm$MEMORY_MODEL -Cp$SUBARCH" NOGDB=1
    mv $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos_/$SUBARCH-$MEMORY_MODEL
    mv $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCRCVERSION/units/msdos/rtl $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos_/$SUBARCH-$MEMORY_MODEL
}

function build_subarch {
    build_subarch_mm $1 tiny
    build_subarch_mm $1 small
    build_subarch_mm $1 medium
    build_subarch_mm $1 compact
    build_subarch_mm $1 large
    build_subarch_mm $1 huge
}

build_subarch 8086
build_subarch 80186
build_subarch 80286

mv $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCRCVERSION/ppcross8086 $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/
rm -r $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCRCVERSION
mv $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos_ $BASEDIR/OUTPUT-MSDOS/lib/fpc/$FPCVERSION/units/msdos
rm $BASEDIR/OUTPUT-MSDOS/bin/nasm.exe
ln -s "../lib/fpc/$FPCVERSION/ppcross8086" $BASEDIR/OUTPUT-MSDOS/bin/ppcross8086
rm -r $BASEDIR/OUTPUT-MSDOS/doc

tar -c -a --owner=root --group=root --mode=g-w -f fpc-$PACKAGE_VERSION.$CPU_SOURCE-$OS_SOURCE.cross.i8086-msdos.tar.xz -C OUTPUT-MSDOS .