From ab7f34dc9a931fd2d8a324d01069c4a3ec91a3fa Mon Sep 17 00:00:00 2001 From: Andrei Gherzan Date: Sat, 5 Jan 2013 18:38:13 +0200 Subject: directfb: Rename __no_instrument_function__ macro to avoid conflicting redefinitions The macro was renamed to __dfb_no_instrument_function__ . This will avoid build errors while compiling gst-plugins-bad with directfb support. This happens because gstreamer uses this macro to pass it to __attribute__. So, if we include directfb.h before, the gstreamer definition will end up: __attribute__ ((__attribute__((no_instrument_function)))). (From OE-Core rev: 3e87b2b796e2de50adcdf5ed9d777765ae8e3cee) Signed-off-by: Andrei Gherzan Signed-off-by: Richard Purdie --- .../rename-no-instrument-function-macro.patch | 345 +++++++++++++++++++++ meta/recipes-graphics/directfb/directfb_1.6.1.bb | 5 +- 2 files changed, 348 insertions(+), 2 deletions(-) create mode 100644 meta/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch diff --git a/meta/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch b/meta/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch new file mode 100644 index 0000000000..443df5a9da --- /dev/null +++ b/meta/recipes-graphics/directfb/directfb/rename-no-instrument-function-macro.patch @@ -0,0 +1,345 @@ +Rename __no_instrument_function__ macro to avoid conficting redefinitions +of the same symbol. + +Upstream-Status: Pending +Signed-off-by: Andrei Gherzan + +Index: DirectFB-1.6.1/lib/direct/clock.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/clock.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/clock.c 2013-01-05 18:03:24.000000000 +0200 +@@ -36,28 +36,28 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_micros( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_SESSION ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_millis( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_SESSION ) / 1000LL; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_abs_micros( void ) + { + return direct_clock_get_time( DIRECT_CLOCK_REALTIME ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + long long + direct_clock_get_abs_millis( void ) + { +Index: DirectFB-1.6.1/lib/direct/debug.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/debug.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/debug.c 2013-01-05 18:03:49.000000000 +0200 +@@ -48,7 +48,7 @@ + + #if DIRECT_BUILD_DEBUGS /* Build with debug support? */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_log( DirectLogDomain *domain, + unsigned int debug_level, /* 1-9, 0 = info */ +@@ -63,7 +63,7 @@ + va_end( ap ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_at( DirectLogDomain *domain, + const char *format, ... ) +@@ -77,7 +77,7 @@ + + #endif /* DIRECT_BUILD_DEBUGS */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_debug_at_always( DirectLogDomain *domain, + const char *format, ... ) +@@ -93,7 +93,7 @@ + + #if DIRECT_BUILD_DEBUGS /* Build with debug support? */ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_break( const char *func, + const char *file, +@@ -123,7 +123,7 @@ + direct_trap( "Break", SIGABRT ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_assertion( const char *exp, + const char *func, +@@ -144,7 +144,7 @@ + direct_trap( "Assertion", SIGTRAP ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_assumption( const char *exp, + const char *func, +Index: DirectFB-1.6.1/lib/direct/interface.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/interface.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/interface.c 2013-01-05 18:04:56.000000000 +0200 +@@ -522,7 +522,7 @@ + + /**************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static InterfaceDesc * + allocate_interface_desc( void ) + { +@@ -543,7 +543,7 @@ + return &alloc_list[alloc_count++]; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ void + fill_interface_desc( InterfaceDesc *desc, + const void *interface_ptr, +@@ -565,7 +565,7 @@ + + /**************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_dbg_interface_add( const char *func, + const char *file, +@@ -586,7 +586,7 @@ + direct_mutex_unlock( &alloc_lock ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_dbg_interface_remove( const char *func, + const char *file, +Index: DirectFB-1.6.1/lib/direct/log.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/log.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/log.c 2013-01-05 18:04:18.000000000 +0200 +@@ -128,7 +128,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_printf( DirectLog *log, + const char *format, ... ) +@@ -197,7 +197,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_log_lock( DirectLog *log ) + { +@@ -211,7 +211,7 @@ + direct_mutex_lock( &log->lock ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_log_unlock( DirectLog *log ) + { +@@ -262,7 +262,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectLog * + direct_log_default( void ) + { +Index: DirectFB-1.6.1/lib/direct/log_domain.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/log_domain.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/log_domain.c 2013-01-05 18:04:38.000000000 +0200 +@@ -69,7 +69,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ LogDomainEntry * + lookup_domain( const char *name, bool sub ); + +@@ -104,7 +104,7 @@ + return NULL; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static DirectLogLevel + check_domain( DirectLogDomain *domain ); + +@@ -207,7 +207,7 @@ + /* FIXME: merge following */ + + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_domain_vprintf( DirectLogDomain *domain, + DirectLogLevel level, +@@ -268,7 +268,7 @@ + return DR_OK; + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + direct_log_domain_log( DirectLogDomain *domain, + DirectLogLevel level, +Index: DirectFB-1.6.1/lib/direct/mem.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/mem.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/mem.c 2013-01-05 18:03:08.000000000 +0200 +@@ -121,7 +121,7 @@ + + /**********************************************************************************************************************/ + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + static __inline__ MemDesc * + fill_mem_desc( MemDesc *desc, int bytes, const char *func, const char *file, int line, DirectTraceBuffer *trace ) + { +Index: DirectFB-1.6.1/lib/direct/messages.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/messages.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/messages.c 2013-01-05 18:02:57.000000000 +0200 +@@ -40,7 +40,7 @@ + + #if DIRECT_BUILD_TEXT + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_info( const char *format, ... ) + { +@@ -57,7 +57,7 @@ + direct_log_printf( NULL, "(*) %s", buf ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_error( const char *format, ... ) + { +@@ -76,7 +76,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_derror( DirectResult result, const char *format, ... ) + { +@@ -95,7 +95,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_perror( int erno, const char *format, ... ) + { +@@ -114,7 +114,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_dlerror( const char *dlerr, const char *format, ... ) + { +@@ -133,7 +133,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_once( const char *func, + const char *file, +@@ -155,7 +155,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_unimplemented( const char *func, + const char *file, +@@ -166,7 +166,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_bug( const char *func, + const char *file, +@@ -188,7 +188,7 @@ + direct_trace_print_stack( NULL ); + } + +-__no_instrument_function__ ++__dfb_no_instrument_function__ + void + direct_messages_warn( const char *func, + const char *file, +Index: DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/os/linux/glibc/types.h 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/os/linux/glibc/types.h 2013-01-05 18:06:04.000000000 +0200 +@@ -74,7 +74,7 @@ + + #define __inline__ inline + #define D_UNUSED __attribute__((unused)) +-#define __no_instrument_function__ __attribute__((no_instrument_function)) ++#define __dfb_no_instrument_function__ __attribute__((no_instrument_function)) + #define __constructor__ __attribute__((constructor)) + #define __destructor__ __attribute__((destructor)) + #define __typeof__(x) typeof(x) +Index: DirectFB-1.6.1/lib/direct/util.c +=================================================================== +--- DirectFB-1.6.1.orig/lib/direct/util.c 2012-06-29 19:01:11.000000000 +0300 ++++ DirectFB-1.6.1/lib/direct/util.c 2013-01-05 18:03:59.000000000 +0200 +@@ -110,7 +110,7 @@ + /* + * translates errno to DirectResult + */ +-__no_instrument_function__ ++__dfb_no_instrument_function__ + DirectResult + errno2result( int erno ) + { diff --git a/meta/recipes-graphics/directfb/directfb_1.6.1.bb b/meta/recipes-graphics/directfb/directfb_1.6.1.bb index a6012ca290..52f78c6455 100644 --- a/meta/recipes-graphics/directfb/directfb_1.6.1.bb +++ b/meta/recipes-graphics/directfb/directfb_1.6.1.bb @@ -1,11 +1,12 @@ require directfb.inc RV = "1.6-0" -PR = "${INC_PR}.1" +PR = "${INC_PR}.2" DEPENDS += "sysfsutils" -SRC_URI += "file://fix-compilation-with-zlib.patch" +SRC_URI += "file://fix-compilation-with-zlib.patch \ + file://rename-no-instrument-function-macro.patch" EXTRA_OECONF = "\ --enable-freetype=yes \ -- cgit v1.2.3-54-g00ecf