aboutsummaryrefslogtreecommitdiffstats
path: root/tools/cpio
diff options
context:
space:
mode:
authorChristian Marangi <ansuelsmth@gmail.com>2023-02-06 23:22:43 +0100
committerChristian Marangi <ansuelsmth@gmail.com>2023-02-20 07:34:03 +0100
commit30f2d516ba7be08f06f7ca8767472c3ea5678706 (patch)
tree6a76fef0e685764abd5f3ed2df2ebcce7856b219 /tools/cpio
parent57db2280a2155c39f545ac712766a849cf45f62c (diff)
downloadupstream-30f2d516ba7be08f06f7ca8767472c3ea5678706.tar.gz
upstream-30f2d516ba7be08f06f7ca8767472c3ea5678706.tar.bz2
upstream-30f2d516ba7be08f06f7ca8767472c3ea5678706.zip
tools/squashfs4: add new tool for squashfs4 images
squashfs tool is finally reborn and correctly maintained. Introduce the new version as a replacement for squasfs4kit as it was a fork and also abandoned. Add additional patch to add the missing feature present in squashfskit4 but still missing on this new project. Backport each required patch that fix compilation error on macos. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
Diffstat (limited to 'tools/cpio')
0 files changed, 0 insertions, 0 deletions
' href='#n122'>122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
#
# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/prereq.mk

SHELL:=sh
PKG_NAME:=Build dependency


# Required for the toolchain
$(eval $(call TestHostCommand,working-make, \
	Please install GNU make v3.81 or later. (This version has bugs), \
	$(MAKE) -v | grep -E 'Make (3\.8[1-9]|3\.9[0-9]|[4-9]\.)'))

$(eval $(call TestHostCommand,case-sensitive-fs, \
	OpenWrt can only be built on a case-sensitive filesystem, \
	rm -f $(TMP_DIR)/test.*; touch $(TMP_DIR)/test.fs; \
		test ! -f $(TMP_DIR)/test.FS))

$(eval $(call TestHostCommand,proper-umask, \
	Please build with umask 022 - other values produce broken packages, \
	umask | grep -xE 0?0[012][012]))

$(eval $(call SetupHostCommand,gcc, \
	Please install the GNU C Compiler (gcc) 4.8 or later, \
	$(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
	gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
	gcc48 --version | grep gcc, \
	gcc49 --version | grep gcc, \
	gcc5 --version | grep gcc, \
	gcc6 --version | grep gcc, \
	gcc7 --version | grep gcc, \
	gcc8 --version | grep gcc, \
	gcc9 --version | grep gcc, \
	gcc --version | grep Apple.LLVM ))

$(eval $(call TestHostCommand,working-gcc, \
	\nPlease reinstall the GNU C Compiler (4.8 or later) - \
	it appears to be broken, \
	echo 'int main(int argc, char **argv) { return 0; }' | \
		gcc -x c -o $(TMP_DIR)/a.out -))

$(eval $(call SetupHostCommand,g++, \
	Please install the GNU C++ Compiler (g++) 4.8 or later, \
	$(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
	g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \
	g++48 --version | grep g++, \
	g++49 --version | grep g++, \
	g++5 --version | grep g++, \
	g++6 --version | grep g++, \
	g++7 --version | grep g++, \
	g++8 --version | grep g++, \
	g++9 --version | grep g++, \
	g++ --version | grep Apple.LLVM ))

$(eval $(call TestHostCommand,working-g++, \
	\nPlease reinstall the GNU C++ Compiler (4.8 or later) - \
	it appears to be broken, \
	echo 'int main(int argc, char **argv) { return 0; }' | \
		g++ -x c++ -o $(TMP_DIR)/a.out - -lstdc++ && \
		$(TMP_DIR)/a.out))

$(eval $(call TestHostCommand,ncurses, \
	Please install ncurses. (Missing libncurses.so or ncurses.h), \
	echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
		gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out - -lncurses))

ifeq ($(HOST_OS),Linux)
  zlib_link_flags := -Wl,-Bstatic -lz -Wl,-Bdynamic
else
  zlib_link_flags := -lz
endif

$(eval $(call TestHostCommand,perl-thread-queue, \
	Please install the Perl Thread::Queue module, \
	perl -MThread::Queue -e 1))


$(eval $(call SetupHostCommand,tar,Please install GNU 'tar', \
	gtar --version 2>&1 | grep GNU, \
	gnutar --version 2>&1 | grep GNU, \
	tar --version 2>&1 | grep GNU))

$(eval $(call SetupHostCommand,find,Please install GNU 'find', \
	gfind --version 2>&1 | grep GNU, \
	find --version 2>&1 | grep GNU))

$(eval $(call SetupHostCommand,bash,Please install GNU 'bash', \
	bash --version 2>&1 | grep GNU))

$(eval $(call SetupHostCommand,patch,Please install GNU 'patch', \
	gpatch --version 2>&1 | grep 'Free Software Foundation', \
	patch --version 2>&1 | grep 'Free Software Foundation'))

$(eval $(call SetupHostCommand,diff,Please install diffutils, \
	gdiff --version 2>&1 | grep diff, \
	diff --version 2>&1 | grep diff))

$(eval $(call SetupHostCommand,cp,Please install GNU fileutils, \
	gcp --help 2>&1 | grep 'Copy SOURCE', \
	cp --help 2>&1 | grep 'Copy SOURCE'))

$(eval $(call SetupHostCommand,seq,, \
	gseq --version, \
	seq --version))

$(eval $(call SetupHostCommand,awk,Please install GNU 'awk', \
	gawk --version 2>&1 | grep GNU, \
	awk --version 2>&1 | grep GNU))

$(eval $(call SetupHostCommand,grep,Please install GNU 'grep', \
	ggrep --version 2>&1 | grep GNU, \
	grep --version 2>&1 | grep GNU))

$(eval $(call SetupHostCommand,getopt, \
	Please install an extended getopt version that supports --long, \
	gnugetopt -o t --long test -- --test | grep '^ *--test *--', \
	/usr/local/bin/getopt -o t --long test -- --test | grep '^ *--test *--', \
	getopt -o t --long test -- --test | grep '^ *--test *--'))

$(eval $(call SetupHostCommand,stat,Cannot find a file stat utility, \
	gnustat -c%s $(TOPDIR)/Makefile, \
	gstat -c%s $(TOPDIR)/Makefile, \
	stat -c%s $(TOPDIR)/Makefile))

$(eval $(call SetupHostCommand,unzip,Please install 'unzip', \
	unzip 2>&1 | grep zipfile, \
	unzip))

$(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \
	bzip2 --version </dev/null))

$(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \
	wget --version | grep GNU))

$(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \
	perl --version | grep "perl.*v5"))

$(eval $(call CleanupPython2))

$(eval $(call SetupHostCommand,python,Please install Python >= 3.5, \
	python3.7 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3.6 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3.5 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))

$(eval $(call SetupHostCommand,python3,Please install Python >= 3.5, \
	python3.7 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3.6 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3.5 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?', \
	python3 -V 2>&1 | grep -E 'Python 3\.[5-9]\.?'))

$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \
	git --exec-path | xargs -I % -- grep -q -- --recursive %/git-submodule))

$(eval $(call SetupHostCommand,file,Please install the 'file' package, \
	file --version 2>&1 | grep file))

$(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c
	mkdir -p $(dir $@)
	$(CC) -O2 -I$(TOPDIR)/tools/include -o $@ $<

prereq: $(STAGING_DIR_HOST)/bin/mkhash

# Install ldconfig stub
$(eval $(call TestHostCommand,ldconfig-stub,Failed to install stub, \
	touch $(STAGING_DIR_HOST)/bin/ldconfig && \
	chmod +x $(STAGING_DIR_HOST)/bin/ldconfig))