[Aegisvm-devel] AegisVM for Win32
Status: Pre-Alpha
Brought to you by:
pwlfong
From: Gildas B. <gb...@al...> - 2002-09-22 19:37:20
|
Hi Philip, Here are a few patches needed to build ( and run :) a Win32 version of AegisVM. 1) README.win32: instructions on how to build the aegisvm for win32. 2) aegisvm_build.diff: a few modifications to the build system to be able to compile or cross-compile the win32 build. 3) aegisvm_correctness.diff: various fixed typos and also syntax fixes that MSVC needs in order to get rid of annoying warnings. 4) aegisvm_static.diff: A big problem of the win32 build is that I didn't manage yet to correctly build and run the shared libraries version of aegisvm. Currently aegisvm for win32 will only work when libaegisvm is statically linked into the final executable. In order to have aegisvm working when statically linked, I had to declare an array with all the names and pointers of all the builtin native functions. Each time aegsivm wants to load a native function, we first loop through this array to check if the function is a builtin native... This is maybe not really nice because we need to maintain this array each time we add or remove builtin natives from builtin.c but this is the only way to have aegisvm still working when statically linked. 5) jpr_mis.diff: a few other changes to JPR which are needed for the win32 build. 6) jpr_log.diff and aegisvm_log.diff: Ah these ones are kind of kludgy... These patches work around the fact that MSVC (microsof visual c++ compiler) is not C99 compliant and doesn't recognize variadic macros. I basically replaced all statements like: #define ae_debug_wrapper(...) j_log(__VA_ARGS__) with: #define ae_debug_wrapper j_log 7) classpath.win32.patch: is a patch for the GNU Classpath distribution so it can be compiled for win32 too. There are instructions in on how to compile this in the INSTALL.win32 file included in the patch. I guess that's it. You should be able to run aegisvm on Windows with this :) Don't hesitate to ask any questions you've got. Regards, -- Gildas |