Open th-otto opened 8 months ago
Hi @th-otto. Thanks for looking at the code. As I mentioned in the READMEs, I realize it's not in compilable shape at the moment, and I'm sure you're right about the missing files. The short-term objective in posting this was to make the code public, to preserve this little bit of Atari history.
My long-term goal is to move away from Pure C and set up an environment where I and others can cross-compile everything from a Mac (preferably) or Linux. NeoDesk in particular has a number of steps that are required to build a release, which would benefit greatly from a more standard "make" process. Right now it's using a very ancient NeoDesk CLI script.
So I would be open to any toolchain suggestions you might have. I've been considering Meson and VBCC.
Thanks for the response. Yes, i'm aware of the comments in the readme about the state, i just wanted to help out to pinpoint possible problems. According to the *.pdb files, some of the missing files seem to be located in your H:\PURE_C\INCLUDE
directory, so some of the problems may not even arise in your own development environment.
Regarding other toolchains, i would suggest using gcc. It is available in several versions (see https://tho-otto.de/crossmint.php), and there are also builds for macOS available (including M1). However before doing so, i would recommend to first get a working version for Pure-C; switching toolchains surely will require some changes also to the code, because of different calling conventions.
First off, many thanks for finally providing the source!
In a first attempt to compile them, i got a few problems:
the include file
lerrno.h
seems to be missing. The definitions that are needed seem to be the ones defined in the neo_cli.c file (AEUNCMD etc.) but this is in a different repo.the file graphics.h causes problems, because a file with such a name is already present in the pure-c standard include directory. When you set the pure-c include directory only in the shell options (and not in the project file), that will be searched first, regardless what you specify in the project file. Eventually that file should be renamed.
fsel.c seems to need
WINDOWS
to be defined, otherwise a lot of variables are not declared.The files
ierrno.h
anddragdrop.h
are also missing. Haven't found a workaround for them yet.Sources for new_lib.lib (new AES/VDI calls) would be nice. If all else fails, they can be reconstructed from a disassembly.
multevnt.o is referenced in the project file, but neither an object or source seems to be present.
the repo has some
*.pdb
files. These should be removed, since they contain absolute pathnames, and Pure-C seems to crash when trying to load them, and then accessing non-existent paths.explicit dependencies like
(win_var.h)
should be removed from the project files. They are incomplete anyway, and also wrong since the header files are in the include directory, not the source directory. Also the compiler can keep track of dependencies automatically.If you've got the time to address some of the problems, that would be nice.