aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexandros C. Couloumbis <alex@ozo.com>2011-01-03 12:30:19 +0000
committerAlexandros C. Couloumbis <alex@ozo.com>2011-01-03 12:30:19 +0000
commit0f02b1885ef4bbd901d55e918a823aa8a2ad5a4d (patch)
tree8b14cbc5d244dab505ef9838d59cb14145e3a609
parent3d3c17497e9c02ab48874fb19f68188a2a68d3fd (diff)
downloadupstream-0f02b1885ef4bbd901d55e918a823aa8a2ad5a4d.tar.gz
upstream-0f02b1885ef4bbd901d55e918a823aa8a2ad5a4d.tar.bz2
upstream-0f02b1885ef4bbd901d55e918a823aa8a2ad5a4d.zip
tools/mkimage: fix compilation on FreeBSD
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24887 3c298f89-4303-0410-b956-a3cf2f4a3e73
-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 0000000000..32fa074533
--- /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 0000000000..052a584cbb
--- /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>