libmikmod/libmikmod-3.1.12-64bit-fix.diff
OBS User autobuild dfdc7a3091 Accepting request 27748 from multimedia:libs
Copy from multimedia:libs/libmikmod based on submit request 27748 from user tiwai

OBS-URL: https://build.opensuse.org/request/show/27748
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libmikmod?expand=0&rev=12
2009-12-29 23:25:54 +00:00

50 lines
2.0 KiB
Diff
Raw Blame History

Date: Sun, 04 Jul 2004 11:53:23 +0200
From: Josselin Mouette
Subject: Re: sdl 64bit problem [PATCH]
Le sam, 03/07/2004 <20> 18:20 +0200, Hans-Frieder Vogt a <20>crit :
> Hi list,
>
> I found the problem that lead to the distorted sound in tuxracer on AMD64. It
> may have also been the cause for the other reported sound problems with SDL.
> The problem is not in SDL, but in SDL-mixer.
> There, music files (*.it, and probably others as well) are incorrectly read on
> all 64 bit architectures but Alpha, due to an incorrect data type definition.
> The attached patch should solve the problem for all 64 bit architectures on
> Linux, since at least cpp defines _LP64 and __LP64__ for them.
> _LP64 indicates that long ints and pointers are 64 bits, but integers are 32
> bits.
> I am not sure whether the usage of _LP64 is also standard for the commercial
> compilers, and for other Unixes, but at least Solaris 9 defines _LP64 in the
> 64 bit environment as well.
>
> Josselin,
> could you include this patch into your next debian packages?
Index: libmikmod-3.1.12/include/mikmod.h.in
===================================================================
--- libmikmod-3.1.12.orig/include/mikmod.h.in
+++ libmikmod-3.1.12/include/mikmod.h.in
@@ -85,7 +85,7 @@ typedef char CHAR;
@DOES_NOT_HAVE_SIGNED@
-#if defined(__arch64__) || defined(__alpha) || defined(__x86_64)
+#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
/* 64 bit architectures */
typedef signed char SBYTE; /* 1 byte, signed */
Index: libmikmod-3.1.12/include/mikmod_internals.h
===================================================================
--- libmikmod-3.1.12.orig/include/mikmod_internals.h
+++ libmikmod-3.1.12/include/mikmod_internals.h
@@ -50,7 +50,7 @@ extern "C" {
/*========== More type definitions */
/* SLONGLONG: 64bit, signed */
-#if defined (__arch64__) || defined(__alpha)
+#if defined(__arch64__) || defined(__alpha) || defined(__x86_64) || defined(_LP64)
typedef long SLONGLONG;
#define NATIVE_64BIT_INT
#elif defined(__WATCOMC__)