summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Korsgaard <jacmet@sunsite.dk>2011-02-11 09:17:34 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2011-02-11 09:17:34 (GMT)
commit7beeb2f820d5d5dfc8ce60b48234d855412bc135 (patch)
tree774b00bb12f65f5337f56dfb92e564e174c5119d
parente9a7bf38b3526d385e65074b5d9527f0a1427db2 (diff)
downloadbuildroot-7beeb2f820d5d5dfc8ce60b48234d855412bc135.tar.gz
buildroot-7beeb2f820d5d5dfc8ce60b48234d855412bc135.tar.bz2
libcue: fix build on uClibc with locale support enabled
Caused by a name clash between cue_scanner.c and stdio.h. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--package/multimedia/libcue/libcue-1.4.0-__unused-fix.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/package/multimedia/libcue/libcue-1.4.0-__unused-fix.patch b/package/multimedia/libcue/libcue-1.4.0-__unused-fix.patch
new file mode 100644
index 0000000..8a58919
--- /dev/null
+++ b/package/multimedia/libcue/libcue-1.4.0-__unused-fix.patch
@@ -0,0 +1,50 @@
+[PATCH] fix build on uClibc
+
+Use cue_unused / cue_dead2 for the unused/non-returning annotation macros,
+as uClibc defines a struct member called __unused in stdio.h when built
+with locale support, breaking the build.
+
+According to ANSI C 4.1.2.1, defines beginning with '__' are reserved
+for the implementation, so shouldn't be used in user code.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+---
+ src/libcue/cue_scanner.c | 10 ++++++----
+ 1 file changed, 6 insertions(+), 4 deletions(-)
+
+Index: libcue-1.4.0/src/libcue/cue_scanner.c
+===================================================================
+--- libcue-1.4.0.orig/src/libcue/cue_scanner.c
++++ libcue-1.4.0/src/libcue/cue_scanner.c
+@@ -7,9 +7,11 @@
+
+ #if defined(__FreeBSD__)
+ #include <sys/cdefs.h>
++#define cue_unused __unused
++#define cue_dead2 __dead2
+ #else
+-#define __unused
+-#define __dead2
++#define cue_unused
++#define cue_dead2
+ #endif
+
+ #define FLEX_SCANNER
+@@ -248,7 +250,7 @@
+ YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len ));
+
+ static void *yy_flex_alloc YY_PROTO(( yy_size_t ));
+-static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) __unused;
++static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )) cue_unused;
+ static void yy_flex_free YY_PROTO(( void * ));
+
+ #define yy_new_buffer yy_create_buffer
+@@ -285,7 +287,7 @@
+ static yy_state_type yy_get_previous_state YY_PROTO(( void ));
+ static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
+ static int yy_get_next_buffer YY_PROTO(( void ));
+-static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) __dead2;
++static void yy_fatal_error YY_PROTO(( yyconst char msg[] )) cue_dead2;
+
+ /* Done after the current pattern has been matched and before the
+ * corresponding action - sets up yytext.