summaryrefslogtreecommitdiffstats
path: root/tools/mkimage
diff options
context:
space:
mode:
authoracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-03 12:30:19 +0000
committeracoul <acoul@3c298f89-4303-0410-b956-a3cf2f4a3e73>2011-01-03 12:30:19 +0000
commitdb7f3756dacc774af32c0cec3114690c243d7c8e (patch)
tree8b14cbc5d244dab505ef9838d59cb14145e3a609 /tools/mkimage
parent032ac3c4cca019c52242d9c16a84d7110eb3bc98 (diff)
tools/mkimage: fix compilation on FreeBSD
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24887 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'tools/mkimage')
-rw-r--r--tools/mkimage/patches/010-freebsd-ulong-fix.patch13
-rw-r--r--tools/mkimage/patches/100-portability.patch46
2 files changed, 59 insertions, 0 deletions
diff --git a/tools/mkimage/patches/010-freebsd-ulong-fix.patch b/tools/mkimage/patches/010-freebsd-ulong-fix.patch
new file mode 100644
index 000000000..32fa07453
--- /dev/null
+++ b/tools/mkimage/patches/010-freebsd-ulong-fix.patch
@@ -0,0 +1,13 @@
+--- a/include/image.h
++++ b/include/image.h
+@@ -50,6 +50,10 @@
+
+ #endif /* USE_HOSTCC */
+
++#ifndef ulong
++#define ulong unsigned long
++#endif
++
+ #if defined(CONFIG_FIT)
+ #include <fdt.h>
+ #include <libfdt.h>
diff --git a/tools/mkimage/patches/100-portability.patch b/tools/mkimage/patches/100-portability.patch
new file mode 100644
index 000000000..052a584cb
--- /dev/null
+++ b/tools/mkimage/patches/100-portability.patch
@@ -0,0 +1,46 @@
+--- a/tools/kwbimage.c
++++ b/tools/kwbimage.c
+@@ -206,6 +206,30 @@ INVL_DATA:
+ exit (EXIT_FAILURE);
+ }
+
++#ifndef __GLIBC__
++#ifndef __FreeBSD__
++static ssize_t
++getline(char **line, size_t *len, FILE *fd)
++{
++ char *tmp;
++ int tmplen;
++
++ tmp = fgetln(fd, &tmplen);
++ if (!tmp)
++ return -1;
++
++ if (!*line || tmplen > *len) {
++ *len = tmplen + 1;
++ *line = realloc(*line, *len);
++ }
++
++ strncpy(*line, tmp, tmplen);
++ line[tmplen] = 0;
++ return tmplen;
++}
++#endif
++#endif
++
+ /*
+ * this function sets the kwbimage header by-
+ * 1. Abstracting input command line arguments data
+--- a/include/image.h
++++ b/include/image.h
+@@ -50,6 +50,10 @@
+
+ #endif /* USE_HOSTCC */
+
++#ifndef ulong
++#define ulong unsigned long
++#endif
++
+ #if defined(CONFIG_FIT)
+ #include <fdt.h>
+ #include <libfdt.h>