Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the board
Thread view  Mix view  Order
bencollver

Homepage

09.10.2024, 00:58
 

SQLite 3.46.1 compiled for DOS (Announce)

Here's SQLite 3.46.1 compiled for DOS using DJGPP. Thanks to Superllu's DoJS for clues about changes and compile-time options needed. The DJGPP diff and Makefile are in the src/ directory.

gopher://tilde.pink/1/~bencollver/files/dos386/database/sqlite/

https://gopher.tildeverse.org/tilde.pink/1/~bencollver/files/dos386/database/sqlite/

SuperIlu

Homepage

Berlin, Germany,
19.10.2024, 09:32

@ bencollver

SQLite 3.46.1 compiled for DOS

> Here's SQLite 3.46.1 compiled for DOS using DJGPP. Thanks to Superllu's
> DoJS for clues about changes and compile-time options needed. The DJGPP

I had a stand alone 3.34.1 as well :)
https://github.com/SuperIlu/DOSQLite

Do you mind if I include your update in a later DOjS version?
Up to now I was to lazy to update because "never change a running system" :-D

---
Javascript on MS-DOS? Try DOjS https://github.com/SuperIlu/DOjS
Fediverse: @dec_hl@mastodon.social

bencollver

Homepage

19.10.2024, 17:41

@ SuperIlu

SQLite 3.46.1 compiled for DOS

> > Here's SQLite 3.46.1 compiled for DOS using DJGPP.
>
> Do you mind if I include your update in a later DOjS version?

I don't mind at all! Your 3.34.1 build gave me a head start.

In my perspective, the ugliest hack in my patch is related to the file name canonicalization. Except on win32, SQLite "expects" file names to begin with the '/' character. The newer versions have low level code to manually canonicalize the file name. It translates c:/db.dat to /c:/db.dat and this doesn't work for DJGPP. I worked around this by adding a memmove() at the end to shift the result 1 character left, eliminating the leading '/', but only if the third character is ':'. Crude, but it works on my machine. :-P

I would rather have used DJGPP's _truename() but i didn't want to meddle that much with SQLite's code.

The DOS build currently disables file locking. If i was feeling ambitious, i would try to modify SQLite to support file locking on DOS. I know that this is possible with SHARE.EXE on FAT16 and SMB filesystems. In practice, i don't do networking on DOS so i don't need multi-user SQLite (high effort, low reward).

SuperIlu

Homepage

Berlin, Germany,
20.10.2024, 12:56

@ bencollver

SQLite 3.46.1 compiled for DOS

> > Do you mind if I include your update in a later DOjS version?
> I don't mind at all! Your 3.34.1 build gave me a head start.
Thx, will check it out...

> In my perspective, the ugliest hack in my patch is related to the file name
> canonicalization. Except on win32, SQLite "expects" file names to begin
> [..]
I vaguely remember that being the reason why I didn't upgrade...

> I would rather have used DJGPP's _truename() but i didn't want to meddle
> that much with SQLite's code.
Maybe they take an upstream patch? They used to support DJGPP at one point...

> The DOS build currently disables file locking. If i was feeling ambitious,
> [...]
Uh, that would be an A+ I guess. :-D

---
Javascript on MS-DOS? Try DOjS https://github.com/SuperIlu/DOjS
Fediverse: @dec_hl@mastodon.social

Back to the board
Thread view  Mix view  Order
22074 Postings in 2036 Threads, 396 registered users, 31 users online (0 registered, 31 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum