[Buildroot] [git commit master 1/1] libcue: fix build on uClibc with locale support enabled
Peter Korsgaard
jacmet at sunsite.dk
Fri Feb 11 09:26:24 UTC 2011
commit: http://git.buildroot.net/buildroot/commit/?id=7beeb2f820d5d5dfc8ce60b48234d855412bc135
branch: http://git.buildroot.net/buildroot/commit/?id=refs/heads/master
Caused by a name clash between cue_scanner.c and stdio.h.
Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
---
.../libcue/libcue-1.4.0-__unused-fix.patch | 50 ++++++++++++++++++++
1 files changed, 50 insertions(+), 0 deletions(-)
create mode 100644 package/multimedia/libcue/libcue-1.4.0-__unused-fix.patch
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 at 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.
--
1.7.3.4
More information about the buildroot
mailing list