Package: libsdl-pango-dev Version: 0.1.2-1 Severity: important Tags: patch Hi,
including SDL_Pango.h in two C or C++ files and linking these together fails because some variables are defined (and not only declared) in this header file. The attached patch (moves definitions into *.c) fixes it. Apply it before the patch in debian/patches/. Please note that I'm not sure whether DECLSPEC needs to be added but I doubt it. I also think the ABI version does not need to be increased as only a few symbols were added. Jens
--- sdlpango-0.1.2.unchanged/src/SDL_Pango.h 2007-08-13 02:57:46.000000000 +0200 +++ sdlpango-0.1.2/src/SDL_Pango.h 2007-08-13 03:37:46.000000000 +0200 @@ -46,57 +46,16 @@ Uint8 m[4][4]; /*! Matrix variables */ } SDLPango_Matrix; -const SDLPango_Matrix _MATRIX_WHITE_BACK - = {255, 0, 0, 0, - 255, 0, 0, 0, - 255, 0, 0, 0, - 255, 255, 0, 0,}; - -/*! - Specifies white back and black letter. -*/ -const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; - -const SDLPango_Matrix _MATRIX_BLACK_BACK - = {0, 255, 0, 0, - 0, 255, 0, 0, - 0, 255, 0, 0, - 255, 255, 0, 0,}; -/*! - Specifies black back and white letter. -*/ -const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; - -const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER - = {0, 0, 0, 0, - 0, 0, 0, 0, - 0, 0, 0, 0, - 0, 255, 0, 0,}; -/*! - Specifies transparent back and black letter. -*/ -const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; - -const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER - = {255, 255, 0, 0, - 255, 255, 0, 0, - 255, 255, 0, 0, - 0, 255, 0, 0,}; -/*! - Specifies transparent back and white letter. -*/ -const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; - -const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER - = {255, 255, 0, 0, - 255, 255, 0, 0, - 255, 255, 0, 0, - 0, 0, 0, 0,}; -/*! - Specifies transparent back and transparent letter. - This is useful for KARAOKE like rendering. -*/ -const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; +extern const SDLPango_Matrix _MATRIX_WHITE_BACK; +extern const SDLPango_Matrix *MATRIX_WHITE_BACK; +extern const SDLPango_Matrix _MATRIX_BLACK_BACK; +extern const SDLPango_Matrix *MATRIX_BLACK_BACK; +extern const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER; +extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER; +extern const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER; +extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER; +extern const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; +extern const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; /*! Specifies direction of text. See Pango reference for detail --- sdlpango-0.1.2.unchanged/src/SDL_Pango.c 2007-08-13 02:57:46.000000000 +0200 +++ sdlpango-0.1.2/src/SDL_Pango.c 2007-08-13 03:37:46.000000000 +0200 @@ -285,6 +285,57 @@ int min_height; } contextImpl; +const SDLPango_Matrix _MATRIX_WHITE_BACK + = {255, 0, 0, 0, + 255, 0, 0, 0, + 255, 0, 0, 0, + 255, 255, 0, 0,}; + +/*! + Specifies white back and black letter. +*/ +const SDLPango_Matrix *MATRIX_WHITE_BACK = &_MATRIX_WHITE_BACK; + +const SDLPango_Matrix _MATRIX_BLACK_BACK + = {0, 255, 0, 0, + 0, 255, 0, 0, + 0, 255, 0, 0, + 255, 255, 0, 0,}; +/*! + Specifies black back and white letter. +*/ +const SDLPango_Matrix *MATRIX_BLACK_BACK = &_MATRIX_BLACK_BACK; + +const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_BLACK_LETTER + = {0, 0, 0, 0, + 0, 0, 0, 0, + 0, 0, 0, 0, + 0, 255, 0, 0,}; +/*! + Specifies transparent back and black letter. +*/ +const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_BLACK_LETTER = &_MATRIX_TRANSPARENT_BACK_BLACK_LETTER; + +const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_WHITE_LETTER + = {255, 255, 0, 0, + 255, 255, 0, 0, + 255, 255, 0, 0, + 0, 255, 0, 0,}; +/*! + Specifies transparent back and white letter. +*/ +const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_WHITE_LETTER = &_MATRIX_TRANSPARENT_BACK_WHITE_LETTER; + +const SDLPango_Matrix _MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER + = {255, 255, 0, 0, + 255, 255, 0, 0, + 255, 255, 0, 0, + 0, 0, 0, 0,}; +/*! + Specifies transparent back and transparent letter. + This is useful for KARAOKE like rendering. +*/ +const SDLPango_Matrix *MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER = &_MATRIX_TRANSPARENT_BACK_TRANSPARENT_LETTER; /*! Initialize the Glib and Pango API.