summaryrefslogtreecommitdiff
path: root/target/tools
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-12-29 18:41:30 +0100
committerWaldemar Brodkorb <wbx@openadk.org>2009-12-29 18:41:30 +0100
commit9036ad7c2fa2829855aff75b83d86818a978a242 (patch)
treed0f2be6610dc2213e041ed5a90de6e5cd2791000 /target/tools
parent05a3ed5d87bd71009cf90170347d8e692e2b6c9e (diff)
move squashfs host tools to common tools dir
fix bsd compile errors.
Diffstat (limited to 'target/tools')
-rw-r--r--target/tools/rules.mk7
-rw-r--r--target/tools/squashfs/Makefile25
-rw-r--r--target/tools/squashfs/patches/squashfs-bsd.patch132
3 files changed, 164 insertions, 0 deletions
diff --git a/target/tools/rules.mk b/target/tools/rules.mk
new file mode 100644
index 000000000..a6a3684ac
--- /dev/null
+++ b/target/tools/rules.mk
@@ -0,0 +1,7 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+WRKDIR_BASE= ${TOOLS_BUILD_DIR}
+WRKDIR= ${WRKDIR_BASE}
+
+include ${TOPDIR}/mk/buildhlp.mk
diff --git a/target/tools/squashfs/Makefile b/target/tools/squashfs/Makefile
new file mode 100644
index 000000000..a55181f88
--- /dev/null
+++ b/target/tools/squashfs/Makefile
@@ -0,0 +1,25 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= squashfs
+PKG_VERSION:= 4.0
+PKG_RELEASE:= 1
+PKG_MD5SUM:= a3c23391da4ebab0ac4a75021ddabf96
+PKG_SITES:= ${MASTER_SITE_SOURCEFORGE:=squashfs/}
+DISTFILES:= ${PKG_NAME}${PKG_VERSION}.tar.gz
+WRKDIST= ${WRKDIR}/$(PKG_NAME)${PKG_VERSION}
+
+include ../rules.mk
+
+$(WRKBUILD)/.compiled: ${WRKDIST}/.prepared
+ $(MAKE) -C $(WRKBUILD)/squashfs-tools
+ touch $@
+
+$(WRKBUILD)/.installed:
+ $(INSTALL_BIN) $(WRKBUILD)/squashfs-tools/mksquashfs \
+ ${STAGING_TOOLS}/bin
+ touch $@
+
+include $(TOPDIR)/mk/tools.mk
diff --git a/target/tools/squashfs/patches/squashfs-bsd.patch b/target/tools/squashfs/patches/squashfs-bsd.patch
new file mode 100644
index 000000000..6e23ed8d6
--- /dev/null
+++ b/target/tools/squashfs/patches/squashfs-bsd.patch
@@ -0,0 +1,132 @@
+diff -Nur squashfs4.0.orig/squashfs-tools/mksquashfs.c squashfs4.0/squashfs-tools/mksquashfs.c
+--- squashfs4.0.orig/squashfs-tools/mksquashfs.c Sun Apr 5 23:22:48 2009
++++ squashfs4.0/squashfs-tools/mksquashfs.c Tue Dec 29 18:23:15 2009
+@@ -48,16 +48,9 @@
+ #include <regex.h>
+ #include <fnmatch.h>
+
+-#ifndef linux
+-#define __BYTE_ORDER BYTE_ORDER
+-#define __BIG_ENDIAN BIG_ENDIAN
+-#define __LITTLE_ENDIAN LITTLE_ENDIAN
+-#include <sys/sysctl.h>
+-#else
+-#include <endian.h>
+-#include <sys/sysinfo.h>
+-#endif
++#include <sys/param.h>
+
++
+ #include "squashfs_fs.h"
+ #include "squashfs_swap.h"
+ #include "mksquashfs.h"
+@@ -3688,23 +3681,9 @@
+ signal(SIGUSR1, sigusr1_handler);
+
+ if(processors == -1) {
+-#ifndef linux
+- int mib[2];
+- size_t len = sizeof(processors);
+-
+- mib[0] = CTL_HW;
+-#ifdef HW_AVAILCPU
+- mib[1] = HW_AVAILCPU;
++#if defined(BSD)
++ processors = 1;
+ #else
+- mib[1] = HW_NCPU;
+-#endif
+-
+- if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
+- ERROR("Failed to get number of available processors. "
+- "Defaulting to 1\n");
+- processors = 1;
+- }
+-#else
+ processors = get_nprocs();
+ #endif
+ }
+@@ -3974,9 +3953,15 @@
+ int match = use_regex ?
+ regexec(path->name[i].preg, name, (size_t) 0,
+ NULL, 0) == 0 :
++#if defined(BSD)
+ fnmatch(path->name[i].name, name,
++ FNM_PATHNAME|FNM_PERIOD) ==
++ 0;
++#else
++ fnmatch(path->name[i].name, name,
+ FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) ==
+ 0;
++#endif
+
+ if(match && path->name[i].paths == NULL) {
+ /* match on a leaf component, any subdirectories
+diff -Nur squashfs4.0.orig/squashfs-tools/pseudo.c squashfs4.0/squashfs-tools/pseudo.c
+--- squashfs4.0.orig/squashfs-tools/pseudo.c Sun Apr 5 04:01:58 2009
++++ squashfs4.0/squashfs-tools/pseudo.c Tue Dec 29 18:07:33 2009
+@@ -30,6 +30,11 @@
+ #include <string.h>
+ #include <stdlib.h>
+ #include <sys/types.h>
++#include <sys/param.h>
++
++#if defined(BSD)
++#include <sys/stat.h>
++#endif
+
+ #include "pseudo.h"
+
+diff -Nur squashfs4.0.orig/squashfs-tools/unsquashfs.c squashfs4.0/squashfs-tools/unsquashfs.c
+--- squashfs4.0.orig/squashfs-tools/unsquashfs.c Sun Apr 5 23:23:06 2009
++++ squashfs4.0/squashfs-tools/unsquashfs.c Tue Dec 29 18:25:56 2009
+@@ -21,6 +21,8 @@
+ * unsquashfs.c
+ */
+
++#include <sys/param.h>
++
+ #include "unsquashfs.h"
+ #include "squashfs_swap.h"
+ #include "squashfs_compat.h"
+@@ -1193,10 +1195,17 @@
+ struct pathname *path = paths->path[n];
+ for(i = 0; i < path->names; i++) {
+ int match = use_regex ?
++#if defined(BSD)
+ regexec(path->name[i].preg, name, (size_t) 0,
+ NULL, 0) == 0 : fnmatch(path->name[i].name,
++ name, FNM_PATHNAME|FNM_PERIOD) ==
++ 0;
++#else
++ regexec(path->name[i].preg, name, (size_t) 0,
++ NULL, 0) == 0 : fnmatch(path->name[i].name,
+ name, FNM_PATHNAME|FNM_PERIOD|FNM_EXTMATCH) ==
+ 0;
++#endif
+ if(match && path->name[i].paths == NULL)
+ /*
+ * match on a leaf component, any subdirectories
+@@ -1795,21 +1804,7 @@
+
+ if(processors == -1) {
+ #ifndef linux
+- int mib[2];
+- size_t len = sizeof(processors);
+-
+- mib[0] = CTL_HW;
+-#ifdef HW_AVAILCPU
+- mib[1] = HW_AVAILCPU;
+-#else
+- mib[1] = HW_NCPU;
+-#endif
+-
+- if(sysctl(mib, 2, &processors, &len, NULL, 0) == -1) {
+- ERROR("Failed to get number of available processors. "
+- "Defaulting to 1\n");
+- processors = 1;
+- }
++ processors = 1;
+ #else
+ processors = get_nprocs();
+ #endif