Date: Sun, 02 Nov 2025 16:43:45 +0000
From: "John Doe (altaptitude@proton.me) [via djgpp@delorie.com]" <djgpp@delorie.com>
I have a djgpp cross-compiler (i586-pc-msdosdjgpp-gcc) setup on GNU/Linux after following the instructions on the website and have confirmed it functions correctly. However i'm not sure how i can use it to compile djgpp software, such as emacs, for DOS. The v2gnu/ emacs READMEs as well as msdos/INSTALL in the emacs source tree only explain how to do it on a DOS system with djgpp.
Date: Sun, 02 Nov 2025 16:43:45 +0000
From: "John Doe (altaptitude@proton.me) [via djgpp@delorie.com]" djgpp@delorie.com
I have a djgpp cross-compiler (i586-pc-msdosdjgpp-gcc) setup on GNU/Linux after following the instructions on the website and have confirmed it functions correctly. However i'm not sure how i can use it to compile djgpp software, such as emacs, for DOS. The v2gnu/ emacs READMEs as well as msdos/INSTALL in the emacs source tree only explain how to do it on a DOS system with djgpp.
Emacs doesn't support cross-compilation, because part of the Emacs
build process needs to run the Emacs binary just built.
This has nothing to do with DOS or DJGPP, it's just a missing feature
in Emacs: no one has yet figured out how to remove this limitation.
Date: Mon, 03 Nov 2025 18:53:36 +0000
From: "John Doe (altaptitude@proton.me) [via djgpp@delorie.com]" <djgpp@delorie.com>
Date: Sun, 02 Nov 2025 16:43:45 +0000
From: "John Doe (altaptitude@proton.me) [via djgpp@delorie.com]" djgpp@delorie.com
I have a djgpp cross-compiler (i586-pc-msdosdjgpp-gcc) setup on GNU/Linux after following the instructions on the website and have confirmed it functions correctly. However i'm not sure how i can use it to compile djgpp software, such as emacs, for DOS. The v2gnu/ emacs READMEs as well as msdos/INSTALL in the emacs source tree only explain how to do it on a DOS system with djgpp.
Emacs doesn't support cross-compilation, because part of the Emacs
build process needs to run the Emacs binary just built.
This has nothing to do with DOS or DJGPP, it's just a missing feature
in Emacs: no one has yet figured out how to remove this limitation.
Ok i guess Emacs was a bad example, however i'm having trouble with other djgpp software too. Djgpp's Bash docs also only have instructions for compiling on DOS, and when i tried running 'make bash.exe CC=i586-pc-msdosdjgpp-gcc' it would fail because it would try to run the .exe file in the directory (./mksyntax.exe) which obviously a GNU/Linux system can't do so that would fail. I couldn't find where exactly it was instructed to run those so i couldn't remove that. I had no success running the configure scripts myself with --host=i586-pc-msdosdjgpp or CC=i586-pc-msdosdjgpp-gcc either.
Ok i guess Emacs was a bad example, however i'm having trouble with other djgpp software too. Djgpp's Bash docs also only have instructions for compiling on DOS, and when i tried running 'make bash.exe CC=3Di586-pc-msdosdjgpp-gcc' it would fail because it would try to run th=e
.exe file in the directory (./mksyntax.exe) which obviously a GNU/Linux system can't do so that would fail. I couldn't find where exactly it was instructed to run those so i couldn't remove that. I had no success runni=ng
the configure scripts myself with --host=3Di586-pc-msdosdjgpp or CC=3Di586-pc-msdosdjgpp-gcc either.
Which version of Bash did you try to build? Maybe they dropped DJGPPIt's the bash source from djgpp itself (v2gnu/bsh4428s.zip).
support at some point? Look into the configure script to see if DJGPP
is supported.
I don't think `make bash.exe CC=i586-pc-msdosdjgpp-gcc` is a valid target. `bsh4428s/gnu/bash-4.4.28/djgpp/readme` details the specific environment setup (for DOS) you need and the build process. It does not list `bash.exe` as a target.
I don't think `make bash.exe CC=i586-pc-msdosdjgpp-gcc` is a valid target. `bsh4428s/gnu/bash-4.4.28/djgpp/readme` details the specific environment setup (for DOS) you need and the build process. It does not list `bash.exe` as a target.
I believe bash.exe is a target because when running it it tries to do something, whereas when trying with any non existant target make says 'make: *** No rule to make target 'example'. Stop.'
Regardless the results aren't any better when running just make.
Ok i guess Emacs was a bad example, however i'm having trouble with other djgpp software too. Djgpp's Bash docs also only have instructions for compiling on DOS, and when i tried running 'make bash.exe CC=i586-pc-msdosdjgpp-gcc' it would fail because it would try to run the .exe file in the directory (./mksyntax.exe) which obviously a GNU/Linux system can't do so that would fail. I couldn't find where exactly it was instructed to run those so i couldn't remove that. I had no success running the configure scripts myself with --host=i586-pc-msdosdjgpp or CC=i586-pc-msdosdjgpp-gcc either.
Building it natively on Windows XP or Vista 32bit works and produces a working executable. Building on DOS with doslfn also works, but is significantly slower (I would think around 10 times slower).
| Sysop: | Amessyroom |
|---|---|
| Location: | Fayetteville, NC |
| Users: | 54 |
| Nodes: | 6 (0 / 6) |
| Uptime: | 12:28:52 |
| Calls: | 742 |
| Files: | 1,218 |
| D/L today: |
2 files (2,024K bytes) |
| Messages: | 183,176 |
| Posted today: | 1 |