| Version 5 (modified by , 18 years ago) ( diff ) |
|---|
OS/2 build instructions
The OS/2 port is not yet completed. These instructions are here for those who wish to help out.
Prerequisites on OS/2
- OS/2 running on Intel hardware... ;-)
- GCC 3.3.5 CSD1:
ftp://ftp.netlabs.org/pub/gcc/gcc-3.3.5-csd1.zip - SDL:
ftp://ftp.netlabs.org/pub/sdl/sdl-1.2.10-bin-20060602.zip
Unpack this into tools/os2.x86/libsdl/v1.2.10-20060602/. If you get compiler errors in the SDL headers, the patch at the bottom of this page will help you. - Later: Latest Qt3:
ftp://ftp.netlabs.org/pub/qt3/
Unpack this into tools/os2.x86/qt/v3.x.y/. - ...
Building VirtualBox
- Load the gcc environment (gccenv.cmd).
- Make sure the environment variables
USERorUSERNAMEis set to something sensible. - Change to the root directory of the sources and execute
kBuild\envos2.cmd
- To build type
kmk
The default is to a release build, should you wish to do a debug or profile build addBUILD_TYPE=debugorBUILD_TYPE=profileas argument to kmk or set it as an environment variable.
Running VirtualBox
Since this is work in progress there are just testcases and a VBoxBFE with display problems to run at this point. If you like to see the VBoxBFE SDL window and immediatly hit an assertion, do this:
- Change directory to
out\os2.x86\release\bin - Add this directory to the
BEGINLIBPATHvariable (full path, remember). - Set the env.var.:
VBOX_SUPLIB_FAKE=fake - Execute
.\VBoxBFE.exe -m 64and you an BIOS error saying it can't read the boot drive. If you happen to have an knoppix iso or simliar around try boot it using the-cdromand-boot doptions.
The SDL patch
diff -rwu SDL/include/SDL_audio.h D:/coding/vbox/svn/trunk/tools/os2.x86/libsdl/v1.2.10-20060602/SDL/include/SDL_audio.h
--- SDL/include/SDL_audio.h Mon May 1 03:03:00 2006
+++ D:/coding/vbox/svn/trunk/tools/os2.x86/libsdl/v1.2.10-20060602/SDL/include/SDL_audio.h Sat Jan 13 06:47:04 2007
@@ -76,6 +76,8 @@
#define AUDIO_S16SYS AUDIO_S16MSB
#endif
+/* A filter callback */
+typedef void (SDLCALL * SDL_AudioCVTFilterCall)(struct SDL_AudioCVT *cvt, Uint16 format);
/* A structure to hold a set of audio conversion filters and buffers */
typedef struct SDL_AudioCVT {
@@ -88,7 +90,7 @@
int len_cvt; /* Length of converted audio buffer */
int len_mult; /* buffer must be len*len_mult big */
double len_ratio; /* Given len, final size is len*len_ratio */
- void (SDLCALL *filters[10])(struct SDL_AudioCVT *cvt, Uint16 format);
+ SDL_AudioCVTFilterCall filters[10];
int filter_index; /* Current audio conversion function */
} SDL_AudioCVT;
diff -rwu SDL/include/SDL_config_os2.h D:/coding/vbox/svn/trunk/tools/os2.x86/libsdl/v1.2.10-20060602/SDL/include/SDL_config_os2.h
--- SDL/include/SDL_config_os2.h Mon May 1 03:03:00 2006
+++ D:/coding/vbox/svn/trunk/tools/os2.x86/libsdl/v1.2.10-20060602/SDL/include/SDL_config_os2.h Sat Jan 13 06:44:38 2007
@@ -27,6 +27,9 @@
/* This is a set of defines to configure the SDL features */
+#ifdef __GNUC__
+# include <stdint.h>
+#else
typedef signed char int8_t;
typedef unsigned char uint8_t;
typedef signed short int16_t;
@@ -37,6 +40,7 @@
typedef unsigned long uintptr_t;
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
+#endif
#define SDL_HAS_64BIT_TYPE 1
Note:
See TracWiki
for help on using the wiki.

