OS/2, eCS & ArcaOS - Technical > Programming
Need help patching SDL
R.M. Klippstein:
I've downloaded SDL-1.2.10-bin-20060602.zip and unzipped it into D:\tools\os2.x86\libsdl. This gives me the following directorie in D:\tools\os2.x86\libsdl: SDL, SDLGfx, SDLImage, SDLMixer, SDLNet, SDLTTF & readme.txt. I need to apply the following patch (diff?) to SDL I don't know how to accomplish this. Thanks much to anybody that can give me a fairly detailed description of how todo this.
klipp
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
TeLLie:
Hi Klipp
Why not take latest SDL, http://hobbes.nmsu.edu/download/pub/incoming/SDL-1.2.15-20140930.zip
Normaly it's patch -p1 < *.diff
Martin Iturbide:
Or try cloning some Github repository: https://github.com/os2world?query=SDL
I was not able to find the source code of the newer ones.
R.M. Klippstein:
Thanks for the response tellie. I've got the newer version of SDL also but could'nt make it work. It might work with this patch also but I believe the older version is what's needed with the patch applied. The patch modify's SDL so that it will compile in vbox source. Which directory should I be in when I execute the patch command? -- thanks again.
klipp
Dave Yeo:
You need the source to patch, then you need to rebuild the binaries. The official sources only support compiling with OpenWatcom, see README.OS2. Also someone has done quite a bit of work fixing some of the bugs and uploading binaries to Hobbes, probably best to start from his sources.
As Tellie said, use patch to apply a patch except it is usually -p0 and sometimes such as with diffs made by git -p1. best to try both, patch will complain if you pick the wrong -p option. Patch will also inform you of other problems so it is good to log the command.
The other way is to apply by hand. The first number, such as @@ 76,6 means line 76, position 6, ignore the position. Second number is the new line number after applying the patch. Just go to the line number, find the line that starts with a minus sign and replace with the line that begins with the plus sign. Sometimes if applying for a different version, the code can be a few or more lines different then the patch indicates. so you have to go by the neighbouring lines.
Navigation
[0] Message Index
[#] Next page
Go to full version