Hello community, here is the log from the commit of package SDL for openSUSE:Factory checked in at 2013-04-17 09:25:32 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/SDL (Old) and /work/SRC/openSUSE:Factory/.SDL.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "SDL", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/SDL/SDL.changes 2012-09-20 15:50:21.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.SDL.new/SDL.changes 2013-04-17 09:25:38.000000000 +0200 @@ -1,0 +2,16 @@ +Thu Jan 3 00:31:43 UTC 2013 - [email protected] + +- USe OS byteswapping macros that are optimized for all platforms + directly by GCC. + + - DO not use dlopen to load libraries that otherwise can be linked + at build-time, this is a _very_ bad idea, starting with the fact + that rpm dependencies do not take account of dlopen and will + break profiling/debugging etc.. + +- SDL-devel now has strict requires, so it will only pull what + it really requires, as it no longer requires metapackages, it is + very likely that some packages dont the chain will fail to build + those must be fixed in the respective spec files (not here) + +------------------------------------------------------------------- New: ---- SDL_sdl_endian.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ SDL.spec ++++++ --- /var/tmp/diff_new_pack.jq4Gpq/_old 2013-04-17 09:25:52.000000000 +0200 +++ /var/tmp/diff_new_pack.jq4Gpq/_new 2013-04-17 09:25:52.000000000 +0200 @@ -1,7 +1,7 @@ # # spec file for package SDL # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -51,6 +51,7 @@ Source2: baselibs.conf # PATCH-FIX-OPENSUSE SDL-1.2.13-x11-keytounicode.patch Patch0: SDL-1.2.13-x11-keytounicode.patch +Patch1: SDL_sdl_endian.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -84,17 +85,13 @@ %ifarch ppc64 Obsoletes: SDL-devel-64bit %endif -Requires: Mesa-devel -Requires: alsa-devel Requires: gcc Requires: libSDL-1_2-0 = %{version} -Requires: libstdc++-devel Requires: pkgconfig -Requires: xorg-x11-devel +Requires: pkgconfig(gl) Requires: pkgconfig(glu) -%if 0%{?aalib} == 1 -Requires: aalib-devel -%endif +Requires: pkgconfig(x11) +Requires: pkgconfig(xproto) %description -n libSDL-devel This package contains files needed for development with the SDL @@ -103,7 +100,7 @@ %prep %setup -q %patch0 - +%patch1 # remove the file to provide sufficient evidence that we are # not using this file during the build [bnc#508111] rm -f src/joystick/darwin/10.3.9-FIX/IOHIDLib.h @@ -115,6 +112,10 @@ --with-pic \ --disable-rpath \ --disable-alsa-shared \ + --disable-x11-shared \ + --disable-pulseaudio-shared \ + --disable-esd-shared \ + --disable-osmesa-shared \ %if 0%{?aalib} --enable-video-aalib \ %endif @@ -124,8 +125,11 @@ %install %make_install + rm -f %{buildroot}%{_libdir}/*.la +sed -i -e '/^Libs.private/d' %{buildroot}%{_libdir}/pkgconfig/sdl.pc + %post -n libSDL-1_2-0 -p /sbin/ldconfig %postun -n libSDL-1_2-0 -p /sbin/ldconfig ++++++ SDL_sdl_endian.patch ++++++ --- include/SDL_endian.h.orig +++ include/SDL_endian.h @@ -37,12 +37,11 @@ #define SDL_LIL_ENDIAN 1234 #define SDL_BIG_ENDIAN 4321 /*@}*/ +#include <byteswap.h> +#include <endian.h> #ifndef SDL_BYTEORDER /* Not defined in SDL_config.h? */ -#ifdef __linux__ -#include <endian.h> #define SDL_BYTEORDER __BYTE_ORDER -#else /* __linux __ */ #if defined(__hppa__) || \ defined(__m68k__) || defined(mc68000) || defined(_M_M68K) || \ (defined(__MIPS__) && defined(__MISPEB__)) || \ @@ -52,7 +51,6 @@ #else #define SDL_BYTEORDER SDL_LIL_ENDIAN #endif -#endif /* __linux __ */ #endif /* !SDL_BYTEORDER */ @@ -62,6 +60,13 @@ extern "C" { #endif + +static __inline__ Uint16 SDL_Swap16(Uint16 x) { return bswap_16(x); } + +static __inline__ Uint32 SDL_Swap32(Uint32 x) { return bswap_32(x); } + +static __inline__ Uint64 SDL_Swap64(Uint64 x) { return bswap_64(x); } + /** * @name SDL_Swap Functions * Use inline functions for compilers that support them, and static @@ -70,139 +75,18 @@ extern "C" { * header should only be included in files that actually use them. */ /*@{*/ -#if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint16 SDL_Swap16(Uint16 x) -{ - __asm__("xchgb %b0,%h0" : "=q" (x) : "0" (x)); - return x; -} -#elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint16 SDL_Swap16(Uint16 x) -{ - __asm__("xchgb %b0,%h0" : "=Q" (x) : "0" (x)); - return x; -} -#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__)) -static __inline__ Uint16 SDL_Swap16(Uint16 x) -{ - int result; - - __asm__("rlwimi %0,%2,8,16,23" : "=&r" (result) : "0" (x >> 8), "r" (x)); - return (Uint16)result; -} -#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__)) -static __inline__ Uint16 SDL_Swap16(Uint16 x) -{ - __asm__("rorw #8,%0" : "=d" (x) : "0" (x) : "cc"); - return x; -} -#else -static __inline__ Uint16 SDL_Swap16(Uint16 x) { - return SDL_static_cast(Uint16, ((x<<8)|(x>>8))); -} -#endif - -#if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint32 SDL_Swap32(Uint32 x) -{ - __asm__("bswap %0" : "=r" (x) : "0" (x)); - return x; -} -#elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint32 SDL_Swap32(Uint32 x) -{ - __asm__("bswapl %0" : "=r" (x) : "0" (x)); - return x; -} -#elif defined(__GNUC__) && (defined(__powerpc__) || defined(__ppc__)) -static __inline__ Uint32 SDL_Swap32(Uint32 x) -{ - Uint32 result; - - __asm__("rlwimi %0,%2,24,16,23" : "=&r" (result) : "0" (x>>24), "r" (x)); - __asm__("rlwimi %0,%2,8,8,15" : "=&r" (result) : "0" (result), "r" (x)); - __asm__("rlwimi %0,%2,24,0,7" : "=&r" (result) : "0" (result), "r" (x)); - return result; -} -#elif defined(__GNUC__) && (defined(__m68k__) && !defined(__mcoldfire__)) -static __inline__ Uint32 SDL_Swap32(Uint32 x) -{ - __asm__("rorw #8,%0\n\tswap %0\n\trorw #8,%0" : "=d" (x) : "0" (x) : "cc"); - return x; -} -#else -static __inline__ Uint32 SDL_Swap32(Uint32 x) { - return SDL_static_cast(Uint32, ((x<<24)|((x<<8)&0x00FF0000)|((x>>8)&0x0000FF00)|(x>>24))); -} -#endif - -#ifdef SDL_HAS_64BIT_TYPE -#if defined(__GNUC__) && defined(__i386__) && \ - !(__GNUC__ == 2 && __GNUC_MINOR__ <= 95 /* broken gcc version */) -static __inline__ Uint64 SDL_Swap64(Uint64 x) -{ - union { - struct { Uint32 a,b; } s; - Uint64 u; - } v; - v.u = x; - __asm__("bswapl %0 ; bswapl %1 ; xchgl %0,%1" - : "=r" (v.s.a), "=r" (v.s.b) - : "0" (v.s.a), "1" (v.s.b)); - return v.u; -} -#elif defined(__GNUC__) && defined(__x86_64__) -static __inline__ Uint64 SDL_Swap64(Uint64 x) -{ - __asm__("bswapq %0" : "=r" (x) : "0" (x)); - return x; -} -#else -static __inline__ Uint64 SDL_Swap64(Uint64 x) -{ - Uint32 hi, lo; - - /* Separate into high and low 32-bit values and swap them */ - lo = SDL_static_cast(Uint32, x & 0xFFFFFFFF); - x >>= 32; - hi = SDL_static_cast(Uint32, x & 0xFFFFFFFF); - x = SDL_Swap32(lo); - x <<= 32; - x |= SDL_Swap32(hi); - return (x); -} -#endif -#else -/* This is mainly to keep compilers from complaining in SDL code. - * If there is no real 64-bit datatype, then compilers will complain about - * the fake 64-bit datatype that SDL provides when it compiles user code. - */ -#define SDL_Swap64(X) (X) -#endif /* SDL_HAS_64BIT_TYPE */ -/*@}*/ /** * @name SDL_SwapLE and SDL_SwapBE Functions * Byteswap item from the specified endianness to the native endianness */ /*@{*/ -#if SDL_BYTEORDER == SDL_LIL_ENDIAN -#define SDL_SwapLE16(X) (X) -#define SDL_SwapLE32(X) (X) -#define SDL_SwapLE64(X) (X) -#define SDL_SwapBE16(X) SDL_Swap16(X) -#define SDL_SwapBE32(X) SDL_Swap32(X) -#define SDL_SwapBE64(X) SDL_Swap64(X) -#else -#define SDL_SwapLE16(X) SDL_Swap16(X) -#define SDL_SwapLE32(X) SDL_Swap32(X) -#define SDL_SwapLE64(X) SDL_Swap64(X) -#define SDL_SwapBE16(X) (X) -#define SDL_SwapBE32(X) (X) -#define SDL_SwapBE64(X) (X) -#endif +#define SDL_SwapLE16(X) htole16(X) +#define SDL_SwapLE32(X) htole32(X) +#define SDL_SwapLE64(X) htole64(X) +#define SDL_SwapBE16(X) htobe16(X) +#define SDL_SwapBE32(X) htobe32(X) +#define SDL_SwapBE64(X) htobe64(X) /*@}*/ /* Ends C function definitions when using C++ */ -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
