Sfoglia il codice sorgente

move squashfs host tools to common tools dir

fix bsd compile errors.
Waldemar Brodkorb 14 anni fa
parent
commit
9036ad7c2f

+ 1 - 1
target/ag241/Makefile

@@ -15,7 +15,7 @@ $(TOOLS_BUILD_DIR):
 tools-compile: $(TOOLS_BUILD_DIR)
 	$(MAKE) -C tools/addpattern
 	$(MAKE) -C tools/srec2bin
-	$(MAKE) -C tools/squashfs prepare compile install
+	$(MAKE) -C ../tools/squashfs prepare compile install
 
 kernel-install: tools-compile
 	PATH='${TARGET_PATH}' \

+ 0 - 27
target/ag241/tools/squashfs/Makefile

@@ -1,27 +0,0 @@
-# $Id$
-#-
-# 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

+ 2 - 2
target/foxboard/Makefile

@@ -12,8 +12,8 @@ $(TOOLS_BUILD_DIR):
 
 tools-compile: $(TOOLS_BUILD_DIR)
 	$(MAKE) -C tools/mkfimage
-	$(MAKE) -C tools/e100boot prepare compile install $(MAKE_TRACE)
-	$(MAKE) -C tools/squashfs prepare compile install
+	#$(MAKE) -C tools/e100boot prepare compile install $(MAKE_TRACE)
+	$(MAKE) -C ../tools/squashfs prepare compile install
 	$(INSTALL_BIN) tools/boot_linux $(BIN_DIR)/
 
 kernel-install: tools-compile

+ 7 - 0
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

+ 0 - 0
target/foxboard/tools/squashfs/Makefile → target/tools/squashfs/Makefile


+ 132 - 0
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