DJGPP

Last modified: Thu Apr 9 17:04:23 EDT 2020

These are DWF's installation notes on DJGPP 2.05, using the "current" packages (supplied zip files) as they appeared on 2020-03-29.

Files

This is a lean installation for building C and C++ software.  For the complete list of prebuilt packages, browse under ftp://ftp.delorie.com/pub/djgpp/current/.  Many "standard" Unix tools and libraries are available.

From ftp://ftp.delorie.com/pub/djgpp/current/v2/:

 2509574 djdev205.zip      base package, djgpp.env, libc
  603760 djtzn205.zip      zoneinfo

From ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/:

 6230009 bnu234b.zip       binutils
56514972 em2602ab.zip      emacs (optional)
35739658 gcc920b.zip       gcc
16094222 gpp920b.zip       g++
  429208 mak43b.zip        make

From ftp://ftp.delorie.com/pub/djgpp/current/v2misc/:

   71339 csdpmi7b.zip      DPMI provider

VM and DOS environment

Start with the "basic DOS configuration" documented in QEMU config for running DOS compilers but add a few more lines to AUTOEXEC.BAT:

SET PATH=C:\DJGPP\BIN;C:\LOCAL\BIN
SET DJGPP=C:\DJGPP\DJGPP.ENV
SET TZ=:America/New_York
SET TMPDIR=D:

Compiler installation

Mount the C: drive from Linux:

mount -t vfat -o uid=1000,gid=100,shortname=winnt,loop,offset=32256 C.img /mnt

Install the DJGPP zips in /mnt/DJGPP:

mkdir /mnt/DJGPP; cd /mnt/DJGPP; for f in .../*.zip; do unzip "$f"; done

Move DPMI swap file to scratch drive (optional)

The DPMI provider has a swap file path that is configured by modifying the executable with a special tool.

C:\>cwsparam \djgpp\bin\cwsdpmi.exe
Full name of paging file ("" to disable) ? [c:\cwsdpmi.swp] d:\cwsdpmi.swp
Number of page tables to initially allocate (0=auto) ? [0]
Minimum application memory desired before 640K paging ? [512Kb]
Paragraphs of DOS memory to reserve when 640K paging ? [3840]
Paragraphs of memory for extra CWSDPMI internal heap ? [256]
Maximum size of swap file ? [128Mb]
Value of run option flags ? [0]

Test

C:\TMP>gpp -Os -s -o hello.exe hello.cc
C:\TMP>dir
HELLO    CC            120  03-29-20  8:05p hello.cc 
HELLO    EXE       685,056  03-30-20 12:16a hello.exe 
C:\TMP>hello
Good morning, thou cruel world

bash-4.3$ file hello.exe
hello.exe: MS-DOS executable, COFF for MS-DOS, DJGPP go32 DOS extender


KB
Home