Make_ami.mak alongside existing OS4/MorphOS/AROS targetsos_amiga.c that affect all Amiga targets (volume requester suppression, file handle leak)Vim was originally released on the Amiga (Fred Fish Disk 591, 1991). The Amiga code in os_amiga.c has been maintained continuously for 35 years, but the last working build for classic 68k AmigaOS was Vim 5.8 circa 1998.
This patch enables building Vim 9.1 on AmigaOS 3.x using the bebbo cross-compiler and libnix (-noixemul) runtime. The resulting binary runs on A1200, A4000, and accelerated A500/A2000 systems.
make -f Make_ami.mak UNM=AmigaOS3 CC=m68k-amigaos-gcc BUILD=normal
Bug fixes (benefit all Amiga targets):
safe_Lock() wrapper suppresses "Please insert volume" system requesters during path probing. Vim probes many paths at startup ($VIM, $VIMRUNTIME, defaults.vim, vimrc). Lock() on a bare name like "vim" triggers an AmigaDOS volume requester that blocks the process.pr_WindowPtr = -1 in mch_init() catches Lock()/Open() calls through the C runtime librarynilfh file handle on error exit in mch_check_win() (prevents permanent handle leak)Delay() prototype for non-LATTICE compilers (already declared in <proto/dos.h>)OS3-specific additions (conditionally compiled):
__stack cookie (conservative for systems with 2-4 MiB RAM)fchown/fchmod/ftruncate no-op stubs (not in libnix)gethostname() fallback (not in libnix)mch_rmdir(), getpwuid()/getgrgid()/getuid() stubsBuild system:
blowfish.c: Accept WORDS_BIGENDIAN or AMIGA without HAVE_CONFIG_Hxdiff/xmacros.h: Unconditional SIZE_MAX fallbackAll OS3-specific code is guarded by:
#if defined(__GNUC__) && defined(AMIGA) && !defined(__amigaos4__) \ && !defined(__AROS__) && !defined(__MORPHOS__)
-Os -m68020 -std=gnu99 -DFEAT_NORMAL)Generated with Claude Code
https://github.com/vim/vim/pull/19840
(6 files)
—
Reply to this email directly, view it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
@bdgscotland pushed 1 commit.
—
View it on GitHub.
You are receiving this because you are subscribed to this thread.![]()
Binary and porting story here: https://amiport.platesteel.net/packages.html?name=vim
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.![]()