initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,125 @@
svntiny: svntiny_gradient.c: only print debugging if GRADIENT_DEBUG is enabled
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
---
src/svgtiny_gradient.c | 23 ++++++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
Index: libsvgtiny/src/svgtiny_gradient.c
===================================================================
--- libsvgtiny.orig/src/svgtiny_gradient.c
+++ libsvgtiny/src/svgtiny_gradient.c
@@ -30,8 +30,9 @@ void svgtiny_find_gradient(const char *i
{
xmlNode *gradient;
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "svgtiny_find_gradient: id \"%s\"\n", id);
-
+#endif
state->linear_gradient_stop_count = 0;
state->gradient_x1 = "0%";
state->gradient_y1 = "0%";
@@ -47,13 +48,17 @@ void svgtiny_find_gradient(const char *i
gradient = svgtiny_find_element_by_id(
(xmlNode *) state->document, id);
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "gradient %p\n", (void *) gradient);
+#endif
if (!gradient) {
fprintf(stderr, "gradient \"%s\" not found\n", id);
return;
}
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "gradient name \"%s\"\n", gradient->name);
+#endif
if (strcmp((const char *) gradient->name, "linearGradient") == 0) {
svgtiny_parse_linear_gradient(gradient, state);
}
@@ -98,8 +103,10 @@ svgtiny_code svgtiny_parse_linear_gradie
return svgtiny_OUT_OF_MEMORY;
svgtiny_parse_transform(s, &a, &b, &c, &d, &e, &f);
free(s);
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "transform %g %g %g %g %g %g\n",
a, b, c, d, e, f);
+#endif
state->gradient_transform.a = a;
state->gradient_transform.b = b;
state->gradient_transform.c = c;
@@ -143,7 +150,9 @@ svgtiny_code svgtiny_parse_linear_gradie
}
if (offset != -1 && color != svgtiny_TRANSPARENT) {
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "stop %g %x\n", offset, color);
+#endif
state->gradient_stop[i].offset = offset;
state->gradient_stop[i].color = color;
i++;
@@ -220,9 +229,11 @@ svgtiny_code svgtiny_add_path_linear_gra
#endif
/* compute gradient vector */
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "x1 %s, y1 %s, x2 %s, y2 %s\n",
state->gradient_x1, state->gradient_y1,
state->gradient_x2, state->gradient_y2);
+#endif
if (!state->gradient_user_space_on_use) {
gradient_x0 = object_x0 +
svgtiny_parse_length(state->gradient_x1,
@@ -297,9 +308,11 @@ svgtiny_code svgtiny_add_path_linear_gra
/* invert gradient transform for applying to vertices */
svgtiny_invert_matrix(&state->gradient_transform.a, trans);
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "inverse transform %g %g %g %g %g %g\n",
trans[0], trans[1], trans[2], trans[3],
trans[4], trans[5]);
+#endif
/* compute points on the path for triangle vertices */
/* r, r0, r1 are distance along gradient vector */
@@ -372,8 +385,10 @@ svgtiny_code svgtiny_add_path_linear_gra
steps = ceilf(fabsf(r1 - r0) / 0.05);
if (steps == 0)
steps = 1;
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "r0 %g, r1 %g, steps %i\n",
r0, r1, steps);
+#endif
/* loop through intermediate points */
for (z = 1; z != steps; z++) {
@@ -398,7 +413,9 @@ svgtiny_code svgtiny_add_path_linear_gra
r = ((x_trans - gradient_x0) * gradient_dx +
(y_trans - gradient_y0) * gradient_dy) /
gradient_norm_squared;
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "(%g %g [%g]) ", x, y, r);
+#endif
point = svgtiny_list_push(pts);
if (!point) {
svgtiny_list_free(pts);
@@ -412,14 +429,18 @@ svgtiny_code svgtiny_add_path_linear_gra
min_pt = svgtiny_list_size(pts) - 1;
}
}
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "\n");
+#endif
/* next segment start point is this segment end point */
x0 = x1;
y0 = y1;
}
+#ifdef GRADIENT_DEBUG
fprintf(stderr, "pts size %i, min_pt %i, min_r %.3f\n",
svgtiny_list_size(pts), min_pt, min_r);
+#endif
/* render triangles */
stop_count = state->linear_gradient_stop_count;
@@ -0,0 +1,44 @@
Remove -Werror from Makefile
glibc-2.20 includes some changes to the include/features.h file
introduced by this commit:
https://sourceware.org/git/?p=glibc.git;a=commit;h=ade40b10ff5fa59a318cf55b9d8414b758e8df78
Those changes make libsvgtiny fail because some warnings are thrown and
the build system is using the -Werror option. We disable this to be able
to build it, or otherwise we will see errors like this one:
GPERF: src/colors.gperf
COMPILE: build-Linux-Linux-release-lib-static/src_colors.c
In file included from
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/string.h:25:0,
from src/colors.gperf:16:
/br/output/host/usr/mipsel-buildroot-linux-gnu/sysroot/usr/include/features.h:148:3:
error: #warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use
_DEFAULT_SOURCE" [-Werror=cpp]
and this one:
In file included from src/colors.gperf:18:0:
/home/ldap/vriera/work/mips-buildroots/mips32/output/build/libsvgtiny-12121/src/svgtiny_internal.h:71:0:
error: "strndup" redefined [-Werror]
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
diff -rup a/Makefile b/Makefile
--- a/Makefile 2010-01-03 23:37:39.000000000 +0000
+++ b/Makefile 2014-12-11 11:35:37.241903884 +0000
@@ -13,12 +13,6 @@ TESTRUNNER := $(ECHO)
WARNFLAGS := -Wall -W -Wundef -Wpointer-arith -Wcast-align \
-Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes \
-Wmissing-declarations -Wnested-externs -pedantic
-# BeOS/Haiku/AmigaOS4 standard library headers create warnings
-ifneq ($(TARGET),beos)
- ifneq ($(TARGET),AmigaOS)
- WARNFLAGS := $(WARNFLAGS) -Werror
- endif
-endif
CFLAGS := -D_BSD_SOURCE -I$(CURDIR)/include/ \
-I$(CURDIR)/src $(WARNFLAGS) $(CFLAGS)
ifneq ($(GCCVER),2)
@@ -0,0 +1,36 @@
From 21b4836ac9d6c6725590a925daa5d17eda9843e9 Mon Sep 17 00:00:00 2001
From: Daniel Silverstone <dsilvers@digital-scurf.org>
Date: Sat, 26 Apr 2014 16:24:54 +0100
Subject: Hopefully silence warnings about inlines and non inlines calling one
another.
[Retrieved from:
https://source.netsurf-browser.org/libsvgtiny.git/commit/src?id=21b4836ac9d6c6725590a925daa5d17eda9843e9]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/colors.gperf | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/src/colors.gperf b/src/colors.gperf
index 89152d2..96d5b9e 100644
--- a/src/colors.gperf
+++ b/src/colors.gperf
@@ -16,6 +16,15 @@
#include <string.h>
#include "svgtiny.h"
#include "svgtiny_internal.h"
+
+/* This unusual define shennanigan is to try and prevent the gperf
+ * generated function from being inlined. This is pointless given
+ * it (a) is in a separate .c file and (b) has external linkage.
+ */
+#ifdef __inline
+#undef __inline
+#define __inline
+#endif
%}
struct svgtiny_named_color;
--
cgit v1.2.1
@@ -0,0 +1,97 @@
From 4390f1c84e8fee51fc22468821e6fc158e783053 Mon Sep 17 00:00:00 2001
From: Michael Drake <michael.drake@codethink.co.uk>
Date: Thu, 20 Apr 2017 10:51:07 +0100
Subject: Build: Include gperf-generated code directly.
Previously we built the generated code separatly and then linked to
it. However, this caused problems with certain compilers and gperf
versions. This change includes the generated code directly in
svgtiny.c instead, which is the only place its used.
[Retrieved from:
https://source.netsurf-browser.org/libsvgtiny.git/commit/src?id=4390f1c84e8fee51fc22468821e6fc158e783053]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/Makefile | 13 +++++++------
src/colors.gperf | 8 --------
src/svgtiny.c | 3 +++
src/svgtiny_internal.h | 5 -----
4 files changed, 10 insertions(+), 19 deletions(-)
(limited to 'src')
diff --git a/src/Makefile b/src/Makefile
index a979720..fb8a72f 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,13 +1,14 @@
# Sources
DIR_SOURCES := svgtiny.c svgtiny_gradient.c svgtiny_list.c
-SOURCES := $(SOURCES) $(BUILDDIR)/src_colors.c
+SOURCES := $(SOURCES)
-$(BUILDDIR)/src_colors.c: src/colors.gperf
+$(DIR)autogenerated_colors.c: src/colors.gperf
$(VQ)$(ECHO) " GPERF: $<"
- $(Q)gperf --output-file=$@.tmp $<
-# Hack for GCC 4.2 compatibility (gperf 3.0.4 solves this properly)
- $(Q)$(SED) -e 's/#ifdef __GNUC_STDC_INLINE__/#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__/' $@.tmp >$@
- $(Q)$(RM) $@.tmp
+ $(Q)gperf --output-file=$@ $<
+
+PRE_TARGETS := $(DIR)autogenerated_colors.c
+
+CLEAN_ITEMS := $(DIR)autogenerated_colors.c
include $(NSBUILD)/Makefile.subdir
diff --git a/src/colors.gperf b/src/colors.gperf
index 96d5b9e..a836787 100644
--- a/src/colors.gperf
+++ b/src/colors.gperf
@@ -17,14 +17,6 @@
#include "svgtiny.h"
#include "svgtiny_internal.h"
-/* This unusual define shennanigan is to try and prevent the gperf
- * generated function from being inlined. This is pointless given
- * it (a) is in a separate .c file and (b) has external linkage.
- */
-#ifdef __inline
-#undef __inline
-#define __inline
-#endif
%}
struct svgtiny_named_color;
diff --git a/src/svgtiny.c b/src/svgtiny.c
index 4661a58..bbefb88 100644
--- a/src/svgtiny.c
+++ b/src/svgtiny.c
@@ -20,6 +20,9 @@
#include "svgtiny.h"
#include "svgtiny_internal.h"
+/* Source file generated by `gperf`. */
+#include "autogenerated_colors.c"
+
#ifndef M_PI
#define M_PI 3.14159265358979323846
#endif
diff --git a/src/svgtiny_internal.h b/src/svgtiny_internal.h
index 158d230..6bf5d64 100644
--- a/src/svgtiny_internal.h
+++ b/src/svgtiny_internal.h
@@ -102,9 +102,4 @@ void *svgtiny_list_get(struct svgtiny_list *list,
void *svgtiny_list_push(struct svgtiny_list *list);
void svgtiny_list_free(struct svgtiny_list *list);
-/* colors.gperf */
-const struct svgtiny_named_color *
- svgtiny_color_lookup(register const char *str,
- register unsigned int len);
-
#endif
--
cgit v1.2.1
+9
View File
@@ -0,0 +1,9 @@
config BR2_PACKAGE_LIBSVGTINY
bool "libsvgtiny"
select BR2_PACKAGE_LIBXML2
help
Libsvgtiny is an implementation of SVG Tiny, written in C.
It is currently in development for use with NetSurf and is
intended to be suitable for use in other projects too.
http://www.netsurf-browser.org/projects/libsvgtiny/
+3
View File
@@ -0,0 +1,3 @@
# Locally computed
sha256 917850350d014c953f2af0fb92f0eeb25652619710922d467c98f8109fb92baf libsvgtiny-ea9d99fc8b231c22d06168135e181d61f4eb2f06-br1.tar.gz
sha256 92b965c77be71661cae51425a6b40a5ca274f44cc13c723c90fb471a9a26a828 README
+47
View File
@@ -0,0 +1,47 @@
################################################################################
#
# libsvgtiny
#
################################################################################
LIBSVGTINY_SITE = http://git.netsurf-browser.org/libsvgtiny.git
LIBSVGTINY_SITE_METHOD = git
LIBSVGTINY_VERSION = ea9d99fc8b231c22d06168135e181d61f4eb2f06
LIBSVGTINY_INSTALL_STAGING = YES
LIBSVGTINY_DEPENDENCIES = \
libxml2 host-gperf host-pkgconf host-netsurf-buildsystem
LIBSVGTINY_LICENSE = MIT
LIBSVGTINY_LICENSE_FILES = README
# The libsvgtiny build system cannot build both the shared and static
# libraries. So when the Buildroot configuration requests to build
# both the shared and static variants, we build only the shared one.
ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
LIBSVGTINY_COMPONENT_TYPE = lib-shared
else
LIBSVGTINY_COMPONENT_TYPE = lib-static
endif
define LIBSVGTINY_CONFIGURE_CMDS
ln -sf $(HOST_DIR)/share/netsurf-buildsystem $(@D)/build
endef
# Use $(MAKE1) since parallel build fails
define LIBSVGTINY_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE1) -C $(@D) PREFIX=/usr \
COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE)
endef
define LIBSVGTINY_INSTALL_STAGING_CMDS
$(TARGET_CONFIGURE_OPTS) \
$(MAKE1) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) \
COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE) install
endef
define LIBSVGTINY_INSTALL_TARGET_CMDS
$(TARGET_CONFIGURE_OPTS) \
$(MAKE1) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) \
COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE) install
endef
$(eval $(generic-package))