Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/154a6b69870f215ae05f98daa4e2713aac706d36
...commit
http://git.netsurf-browser.org/netsurf.git/commit/154a6b69870f215ae05f98daa4e2713aac706d36
...tree
http://git.netsurf-browser.org/netsurf.git/tree/154a6b69870f215ae05f98daa4e2713aac706d36
The branch, master has been updated
via 154a6b69870f215ae05f98daa4e2713aac706d36 (commit)
from ed84f7a0188d8c983db4a186b1240d955ee08705 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=154a6b69870f215ae05f98daa4e2713aac706d36
commit 154a6b69870f215ae05f98daa4e2713aac706d36
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>
implement a minimal xxd for builds to remove external dependancy
diff --git a/content/handlers/javascript/duktape/Makefile
b/content/handlers/javascript/duktape/Makefile
index d15b712..096bd2c 100644
--- a/content/handlers/javascript/duktape/Makefile
+++ b/content/handlers/javascript/duktape/Makefile
@@ -11,18 +11,24 @@ content/handlers/javascript/duktape/dukky.c: \
BINDINGS := $(wildcard content/handlers/javascript/duktape/*.bnd)
+# Host tool to convert file to comiled data
+#
+$(TOOLROOT)/xxd: utils/xxd.c $(TOOLROOT)/created
+ $(VQ)echo "BUILD CC: $@"
+ $(Q)$(BUILD_CC) $(BUILD_CFLAGS) -o $@ $< $(BUILD_LDFLAGS)
+
# Generator for the C include representing the generics.js
-$(OBJROOT)/duktape/generics.js.inc:
content/handlers/javascript/duktape/generics.js
+$(OBJROOT)/duktape/generics.js.inc:
content/handlers/javascript/duktape/generics.js $(TOOLROOT)/xxd
$(Q)$(MKDIR) -p $(OBJROOT)/duktape
$(VQ)echo " XXD: $<"
- $(Q)xxd -i $< [email protected]
+ $(Q)$(TOOLROOT)/xxd -i $< [email protected]
$(Q)sed -e
's/content_handlers_javascript_duktape_generics_js/generics_js/' [email protected] > $@
# Generator for the C include representing the polyfill.js
-$(OBJROOT)/duktape/polyfill.js.inc:
content/handlers/javascript/duktape/polyfill.js
+$(OBJROOT)/duktape/polyfill.js.inc:
content/handlers/javascript/duktape/polyfill.js $(TOOLROOT)/xxd
$(Q)$(MKDIR) -p $(OBJROOT)/duktape
$(VQ)echo " XXD: $<"
- $(Q)xxd -i $< [email protected]
+ $(Q)$(TOOLROOT)/xxd -i $< [email protected]
$(Q)sed -e
's/content_handlers_javascript_duktape_polyfill_js/polyfill_js/' [email protected] > $@
# ensure genbind generates debugging files
diff --git a/utils/xxd.c b/utils/xxd.c
new file mode 100644
index 0000000..a4e5dac
--- /dev/null
+++ b/utils/xxd.c
@@ -0,0 +1,135 @@
+/*
+ * xxd utility
+ *
+ * Copyright 2020 Lars Wirzenius
+ * Copyright 2020 Vincent Sanders <[email protected]>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * * The above copyright notice and this permission notice shall be included
in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+static char *get_array_name(const char *fname)
+{
+ int fnamelen;
+ char *aryname;
+ int idx;
+
+ fnamelen = strlen(fname);
+ aryname = malloc(fnamelen + 1);
+
+ if (aryname != NULL) {
+ for (idx = 0; idx < fnamelen; idx++) {
+ int c = fname[idx];
+ if ((c >= '0' && c <= '9') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= 'a' && c <= 'z')) {
+ aryname[idx] = fname[idx];
+ } else {
+ aryname[idx] = '_';
+ }
+ }
+ aryname[idx] = 0;
+ }
+ return aryname;
+}
+
+int main(int argc, char **argv)
+{
+ int inc = 0;
+ int opt;
+ int c, n;
+ FILE *inf;
+ FILE *outf;
+ char *aryname = NULL;
+ int outlen;
+
+ while ((opt = getopt(argc, argv, "i")) != -1) {
+ switch (opt) {
+ case 'i':
+ inc = 1;
+ break;
+
+ default: /* '?' */
+ fprintf(stderr, "Usage: %s [-i] [infile [outfile]]]\n",
+ argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ }
+
+ if (optind < argc) {
+ inf = fopen(argv[optind], "r");
+ if (inf == NULL) {
+ perror("Opening for read");
+ exit(EXIT_FAILURE);
+ }
+ aryname = get_array_name(argv[optind]);
+ optind++;
+ } else {
+ inf = stdin;
+
+ }
+
+ if (optind < argc) {
+ outf = fopen(argv[optind], "w");
+ if (outf == NULL) {
+ perror("Opening for write");
+ exit(EXIT_FAILURE);
+ }
+ } else {
+ outf = stdout;
+ }
+
+ if ((inc != 0) && (aryname != NULL)) {
+ fprintf(outf, "unsigned char %s[] = {\n", aryname);
+ }
+
+ outlen = 0;
+ n = 0;
+ while ((c = getc(inf)) != EOF) {
+ if (n == 0) {
+ fprintf(outf, " ");
+ }
+ fprintf(outf, " 0x%02x,", c);
+ n += 1;
+ outlen++;
+ if (n >= 12) {
+ fprintf(outf, "\n");
+ n = 0;
+ }
+ }
+ if (n > 0) {
+ fprintf(outf, "\n");
+ }
+
+ if ((inc != 0) && (aryname != NULL)) {
+ fprintf(outf, "};\nunsigned int %s_len = %d;\n",
+ aryname, outlen);
+ }
+
+
+
+ fclose(outf);
+ fclose(inf);
+
+ return 0;
+}
-----------------------------------------------------------------------
Summary of changes:
content/handlers/javascript/duktape/Makefile | 14 ++-
utils/xxd.c | 135 ++++++++++++++++++++++++++
2 files changed, 145 insertions(+), 4 deletions(-)
create mode 100644 utils/xxd.c
diff --git a/content/handlers/javascript/duktape/Makefile
b/content/handlers/javascript/duktape/Makefile
index d15b712..096bd2c 100644
--- a/content/handlers/javascript/duktape/Makefile
+++ b/content/handlers/javascript/duktape/Makefile
@@ -11,18 +11,24 @@ content/handlers/javascript/duktape/dukky.c: \
BINDINGS := $(wildcard content/handlers/javascript/duktape/*.bnd)
+# Host tool to convert file to comiled data
+#
+$(TOOLROOT)/xxd: utils/xxd.c $(TOOLROOT)/created
+ $(VQ)echo "BUILD CC: $@"
+ $(Q)$(BUILD_CC) $(BUILD_CFLAGS) -o $@ $< $(BUILD_LDFLAGS)
+
# Generator for the C include representing the generics.js
-$(OBJROOT)/duktape/generics.js.inc:
content/handlers/javascript/duktape/generics.js
+$(OBJROOT)/duktape/generics.js.inc:
content/handlers/javascript/duktape/generics.js $(TOOLROOT)/xxd
$(Q)$(MKDIR) -p $(OBJROOT)/duktape
$(VQ)echo " XXD: $<"
- $(Q)xxd -i $< [email protected]
+ $(Q)$(TOOLROOT)/xxd -i $< [email protected]
$(Q)sed -e
's/content_handlers_javascript_duktape_generics_js/generics_js/' [email protected] > $@
# Generator for the C include representing the polyfill.js
-$(OBJROOT)/duktape/polyfill.js.inc:
content/handlers/javascript/duktape/polyfill.js
+$(OBJROOT)/duktape/polyfill.js.inc:
content/handlers/javascript/duktape/polyfill.js $(TOOLROOT)/xxd
$(Q)$(MKDIR) -p $(OBJROOT)/duktape
$(VQ)echo " XXD: $<"
- $(Q)xxd -i $< [email protected]
+ $(Q)$(TOOLROOT)/xxd -i $< [email protected]
$(Q)sed -e
's/content_handlers_javascript_duktape_polyfill_js/polyfill_js/' [email protected] > $@
# ensure genbind generates debugging files
diff --git a/utils/xxd.c b/utils/xxd.c
new file mode 100644
index 0000000..a4e5dac
--- /dev/null
+++ b/utils/xxd.c
@@ -0,0 +1,135 @@
+/*
+ * xxd utility
+ *
+ * Copyright 2020 Lars Wirzenius
+ * Copyright 2020 Vincent Sanders <[email protected]>
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to
deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * * The above copyright notice and this permission notice shall be included
in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <stdlib.h>
+#include <string.h>
+
+static char *get_array_name(const char *fname)
+{
+ int fnamelen;
+ char *aryname;
+ int idx;
+
+ fnamelen = strlen(fname);
+ aryname = malloc(fnamelen + 1);
+
+ if (aryname != NULL) {
+ for (idx = 0; idx < fnamelen; idx++) {
+ int c = fname[idx];
+ if ((c >= '0' && c <= '9') ||
+ (c >= 'A' && c <= 'Z') ||
+ (c >= 'a' && c <= 'z')) {
+ aryname[idx] = fname[idx];
+ } else {
+ aryname[idx] = '_';
+ }
+ }
+ aryname[idx] = 0;
+ }
+ return aryname;
+}
+
+int main(int argc, char **argv)
+{
+ int inc = 0;
+ int opt;
+ int c, n;
+ FILE *inf;
+ FILE *outf;
+ char *aryname = NULL;
+ int outlen;
+
+ while ((opt = getopt(argc, argv, "i")) != -1) {
+ switch (opt) {
+ case 'i':
+ inc = 1;
+ break;
+
+ default: /* '?' */
+ fprintf(stderr, "Usage: %s [-i] [infile [outfile]]]\n",
+ argv[0]);
+ exit(EXIT_FAILURE);
+ }
+ }
+
+ if (optind < argc) {
+ inf = fopen(argv[optind], "r");
+ if (inf == NULL) {
+ perror("Opening for read");
+ exit(EXIT_FAILURE);
+ }
+ aryname = get_array_name(argv[optind]);
+ optind++;
+ } else {
+ inf = stdin;
+
+ }
+
+ if (optind < argc) {
+ outf = fopen(argv[optind], "w");
+ if (outf == NULL) {
+ perror("Opening for write");
+ exit(EXIT_FAILURE);
+ }
+ } else {
+ outf = stdout;
+ }
+
+ if ((inc != 0) && (aryname != NULL)) {
+ fprintf(outf, "unsigned char %s[] = {\n", aryname);
+ }
+
+ outlen = 0;
+ n = 0;
+ while ((c = getc(inf)) != EOF) {
+ if (n == 0) {
+ fprintf(outf, " ");
+ }
+ fprintf(outf, " 0x%02x,", c);
+ n += 1;
+ outlen++;
+ if (n >= 12) {
+ fprintf(outf, "\n");
+ n = 0;
+ }
+ }
+ if (n > 0) {
+ fprintf(outf, "\n");
+ }
+
+ if ((inc != 0) && (aryname != NULL)) {
+ fprintf(outf, "};\nunsigned int %s_len = %d;\n",
+ aryname, outlen);
+ }
+
+
+
+ fclose(outf);
+ fclose(inf);
+
+ return 0;
+}
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]