summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/autotools.mk13
-rw-r--r--include/cmake.mk5
-rw-r--r--include/download.mk4
-rw-r--r--include/host-build.mk57
-rw-r--r--include/host.mk3
-rw-r--r--include/image.mk12
-rw-r--r--include/kernel-build.mk30
-rw-r--r--include/kernel-defaults.mk73
-rw-r--r--include/kernel-version.mk44
-rw-r--r--include/kernel.mk20
-rw-r--r--include/ltqtapi.mk10
-rw-r--r--include/netfilter.mk76
-rw-r--r--include/package-bin.mk2
-rw-r--r--include/package-defaults.mk9
-rw-r--r--include/package-ipkg.mk51
-rw-r--r--include/package.mk26
-rw-r--r--include/prereq-build.mk8
-rw-r--r--include/site/arm-openwrt-linux-musl5
-rw-r--r--include/site/arm-openwrt-linux-muslgnueabi5
-rw-r--r--include/site/armeb-openwrt-linux-musl5
-rw-r--r--include/site/armeb-openwrt-linux-muslgnueabi5
-rw-r--r--include/site/i486-openwrt-linux-musl5
-rw-r--r--include/site/i686-openwrt-linux-musl5
-rw-r--r--include/site/mips-openwrt-linux-musl5
-rw-r--r--include/site/mipsel-openwrt-linux-musl5
-rw-r--r--include/site/powerpc-openwrt-linux-musl5
-rw-r--r--include/site/sparc-linux28
-rw-r--r--include/site/sparc-linux-gnu5
-rw-r--r--include/site/sparc-openwrt-linux-gnu5
-rw-r--r--include/site/sparc-openwrt-linux-uclibc5
-rw-r--r--include/site/x86_64-openwrt-linux-musl5
-rw-r--r--include/target.mk5
-rw-r--r--include/toolchain-build.mk2
-rw-r--r--include/toplevel.mk25
-rw-r--r--include/verbose.mk6
-rw-r--r--include/version.mk2
36 files changed, 348 insertions, 228 deletions
diff --git a/include/autotools.mk b/include/autotools.mk
index 879659856..7ebeff6c7 100644
--- a/include/autotools.mk
+++ b/include/autotools.mk
@@ -83,6 +83,15 @@ define patch_libtool_target
$(PKG_BUILD_DIR)))
endef
+define gettext_version_target
+ cd $(PKG_BUILD_DIR) && \
+ GETTEXT_VERSION=$(shell $(STAGING_DIR_HOST)/bin/gettext -V | $(STAGING_DIR_HOST)/bin/sed -ne '1s/.* //p') && \
+ $(STAGING_DIR_HOST)/bin/sed \
+ -i $(PKG_BUILD_DIR)/configure.ac \
+ -e "s/AM_GNU_GETTEXT_VERSION(\[.*\])/AM_GNU_GETTEXT_VERSION(\[$$$$GETTEXT_VERSION\])/g" && \
+ $(STAGING_DIR_HOST)/bin/autopoint --force
+endef
+
ifneq ($(filter patch-libtool,$(PKG_FIXUP)),)
Hooks/Configure/Pre += patch_libtool_target
endif
@@ -107,6 +116,10 @@ ifneq ($(filter autoreconf,$(PKG_FIXUP)),)
endif
endif
+ifneq ($(filter gettext-version,$(PKG_FIXUP)),)
+ Hooks/Configure/Pre += gettext_version_target
+endif
+
HOST_FIXUP?=$(PKG_FIXUP)
HOST_LIBTOOL_PATHS?=$(if $(PKG_LIBTOOL_PATHS),$(PKG_LIBTOOL_PATHS),.)
diff --git a/include/cmake.mk b/include/cmake.mk
index 4c4af502c..64a0654f9 100644
--- a/include/cmake.mk
+++ b/include/cmake.mk
@@ -4,6 +4,8 @@ ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
MAKE_FLAGS+=VERBOSE=1
endif
+CMAKE_SOURCE_DIR:=.
+
ifeq ($(CONFIG_CCACHE),)
ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),)
CMAKE_C_COMPILER:=$(TOOLCHAIN_DIR)/bin/$(TARGET_CC)
@@ -53,8 +55,9 @@ define Build/Configure/Default
-DCMAKE_STRIP=: \
-DCMAKE_INSTALL_PREFIX=/usr \
-DDL_LIBRARY=$(STAGING_DIR) \
+ -DCMAKE_PREFIX_PATH=$(STAGING_DIR) \
$(CMAKE_OPTIONS) \
- . \
+ $(CMAKE_SOURCE_DIR) \
)
endef
diff --git a/include/download.mk b/include/download.mk
index 823ddf93f..372db0319 100644
--- a/include/download.mk
+++ b/include/download.mk
@@ -29,8 +29,8 @@ $(strip \
endef
# code for creating tarballs from cvs/svn/git/bzr/hg/darcs checkouts - useful for mirror support
-dl_pack/bz2=$(TAR) cfj $(1) $(2)
-dl_pack/gz=$(TAR) cfz $(1) $(2)
+dl_pack/bz2=$(TAR) cjf $(1) $(2)
+dl_pack/gz=$(TAR) czf $(1) $(2)
dl_pack/unknown=echo "ERROR: Unknown pack format for file $(1)"; false
define dl_pack
$(if $(dl_pack/$(call ext,$(1))),$(dl_pack/$(call ext,$(1))),$(dl_pack/unknown))
diff --git a/include/host-build.mk b/include/host-build.mk
index c4fcf94f1..126671a0b 100644
--- a/include/host-build.mk
+++ b/include/host-build.mk
@@ -9,11 +9,17 @@ HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSIO
HOST_INSTALL_DIR ?= $(HOST_BUILD_DIR)/host-install
HOST_BUILD_PARALLEL ?=
+ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
+ HOST_MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j)
+else
+ HOST_MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS)
+endif
+
ifeq ($(strip $(HOST_BUILD_PARALLEL)),0)
HOST_JOBS?=-j1
else
HOST_JOBS?=$(if $(HOST_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\
- $(if $(CONFIG_PKG_BUILD_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS),-j1),-j1)
+ $(if $(CONFIG_PKG_BUILD_PARALLEL),$(HOST_MAKE_J),-j1),-j1)
endif
include $(INCLUDE_DIR)/host.mk
@@ -63,7 +69,9 @@ HOST_CONFIGURE_ARGS = \
--localstatedir=$(STAGING_DIR_HOST)/var \
--sbindir=$(STAGING_DIR_HOST)/bin
-HOST_CONFIGURE_CMD = ./configure
+HOST_MAKE_FLAGS =
+
+HOST_CONFIGURE_CMD = $(BASH) ./configure
ifneq ($(HOST_OS),Darwin)
ifeq ($(CONFIG_BUILD_STATIC_TOOLS),y)
@@ -72,7 +80,7 @@ ifneq ($(HOST_OS),Darwin)
endif
define Host/Configure/Default
- (cd $(HOST_BUILD_DIR)/$(3); \
+ $(if $(HOST_CONFIGURE_PARALLEL),+)(cd $(HOST_BUILD_DIR)/$(3); \
if [ -x configure ]; then \
$(CP) $(SCRIPT_DIR)/config.{guess,sub} $(HOST_BUILD_DIR)/$(3)/ && \
$(2) \
@@ -89,7 +97,9 @@ define Host/Configure
endef
define Host/Compile/Default
- $(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) $(1)
+ +$(MAKE) $(HOST_JOBS) -C $(HOST_BUILD_DIR) \
+ $(HOST_MAKE_FLAGS) \
+ $(1)
endef
define Host/Compile
@@ -130,6 +140,8 @@ define Host/Exports/Default
endef
Host/Exports=$(Host/Exports/Default)
+.NOTPARALLEL:
+
ifndef DUMP
define HostBuild
$(if $(HOST_QUILT),$(Host/Quilt))
@@ -152,42 +164,31 @@ ifndef DUMP
touch $$@
$(call Host/Exports,$(HOST_STAMP_BUILT))
- ifdef Host/Install
- host-install: $(if $(STAMP_BUILT),$(HOST_STAMP_BUILT),$(HOST_STAMP_INSTALLED))
- endif
-
- ifndef STAMP_BUILT
- prepare: host-prepare
- compile: host-compile
- install: host-install
- clean: host-clean
- update: host-update
- refresh: host-refresh
-
- $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
+ $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED)
$(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep))
$(call Host/Compile)
$(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep))
touch $$@
- $(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE)
+ $(HOST_STAMP_INSTALLED): $(HOST_STAMP_BUILT) $(if $(FORCE_HOST_INSTALL),FORCE)
$(call Host/Install)
$(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep))
mkdir -p $$(shell dirname $$@)
touch $$@
- else
- $(HOST_STAMP_BUILT): $(HOST_STAMP_CONFIGURED) $(if $(FORCE_HOST_INSTALL),FORCE)
- $(foreach hook,$(Hooks/HostCompile/Pre),$(call $(hook))$(sep))
- $(call Host/Compile)
- $(foreach hook,$(Hooks/HostCompile/Post),$(call $(hook))$(sep))
- $(call Host/Install)
- $(foreach hook,$(Hooks/HostInstall/Post),$(call $(hook))$(sep))
- touch $$@
+
+ ifndef STAMP_BUILT
+ prepare: host-prepare
+ compile: host-compile
+ install: host-install
+ clean: host-clean
+ update: host-update
+ refresh: host-refresh
endif
+
host-prepare: $(HOST_STAMP_PREPARED)
host-configure: $(HOST_STAMP_CONFIGURED)
- host-compile: $(HOST_STAMP_BUILT)
- host-install:
+ host-compile: $(HOST_STAMP_BUILT) $(if $(STAMP_BUILT),$(HOST_STAMP_INSTALLED))
+ host-install: $(HOST_STAMP_INSTALLED)
host-clean: FORCE
$(call Host/Clean)
$(call Host/Uninstall)
diff --git a/include/host.mk b/include/host.mk
index 9b8a32b67..b44c1bf1a 100644
--- a/include/host.mk
+++ b/include/host.mk
@@ -62,6 +62,9 @@ $(TMP_DIR)/.host.mk: $(TOPDIR)/include/host.mk
PATCH=`which gpatch 2>/dev/null`; \
[ -n "$$PATCH" -a -x "$$PATCH" ] || PATCH=`which patch 2>/dev/null`; \
echo "PATCH:=$$PATCH" >> $@; \
+ PYTHON=`which python2.7 2>/dev/null`; \
+ [ -n "$$PYTHON" -a -x "$$PYTHON" ] || PYTHON=`which python 2>/dev/null`; \
+ echo "PYTHON:=$$PYTHON" >> $@; \
)
endif
diff --git a/include/image.mk b/include/image.mk
index 1977fc84c..302228816 100644
--- a/include/image.mk
+++ b/include/image.mk
@@ -18,9 +18,9 @@ KDIR=$(KERNEL_BUILD_DIR)
IMG_PREFIX:=openwrt-$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))
ifneq ($(CONFIG_BIG_ENDIAN),)
- JFFS2OPTS := --pad --big-endian --squash -v
+ JFFS2OPTS := --pad --big-endian --squash-uids -v
else
- JFFS2OPTS := --pad --little-endian --squash -v
+ JFFS2OPTS := --pad --little-endian --squash-uids -v
endif
ifeq ($(CONFIG_JFFS2_RTIME),y)
@@ -50,7 +50,10 @@ ifeq ($(CONFIG_SQUASHFS_LZMA),y)
SQUASHFSCOMP := lzma $(LZMA_XZ_OPTIONS)
endif
ifeq ($(CONFIG_SQUASHFS_XZ),y)
- SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS)
+ ifneq ($(filter arm x86 powerpc sparc,$(LINUX_KARCH)),)
+ BCJ_FILTER:=-Xbcj $(LINUX_KARCH)
+ endif
+ SQUASHFSCOMP := xz $(LZMA_XZ_OPTIONS) $(BCJ_FILTER)
endif
JFFS2_BLOCKSIZE ?= 64k 128k
@@ -98,6 +101,7 @@ else
define Image/mkfs/ubifs
$(CP) ./ubinize.cfg $(KDIR)
$(STAGING_DIR_HOST)/bin/mkfs.ubifs $(UBIFS_OPTS) -o $(KDIR)/root.ubifs -d $(TARGET_DIR)
+ $(call Image/Build,ubifs)
(cd $(KDIR); \
$(STAGING_DIR_HOST)/bin/ubinize $(UBINIZE_OPTS) -o $(KDIR)/root.ubi ubinize.cfg)
$(call Image/Build,ubi)
@@ -124,7 +128,7 @@ ifneq ($(CONFIG_TARGET_ROOTFS_EXT4FS),)
define Image/mkfs/ext4
# generate an ext2 fs
- $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4
+ $(STAGING_DIR_HOST)/bin/genext2fs -U -b $(E2SIZE) -N $(CONFIG_TARGET_ROOTFS_MAXINODE) -d $(TARGET_DIR)/ $(KDIR)/root.ext4 -m $(CONFIG_TARGET_ROOTFS_RESERVED_PCT)
# convert it to ext4
$(STAGING_DIR_HOST)/bin/tune2fs -O extents,uninit_bg,dir_index $(KDIR)/root.ext4
# fix it up
diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index cf8737c8e..095940c57 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -67,25 +67,33 @@ define BuildKernel
$(Kernel/Prepare)
touch $$@
- $(KERNEL_BUILD_DIR)/symtab.txt: FORCE
+ $(KERNEL_BUILD_DIR)/symtab.h: FORCE
+ rm -f $(KERNEL_BUILD_DIR)/symtab.h
+ touch $(KERNEL_BUILD_DIR)/symtab.h
+ +$(MAKE) $(KERNEL_MAKEOPTS) vmlinux
find $(LINUX_DIR) $(STAGING_DIR_ROOT)/lib/modules -name \*.ko | \
xargs $(TARGET_CROSS)nm | \
awk '$$$$1 == "U" { print $$$$2 } ' | \
- sort -u > $$@
-
- $(KERNEL_BUILD_DIR)/symtab.h: $(KERNEL_BUILD_DIR)/symtab.txt
+ sort -u > $(KERNEL_BUILD_DIR)/mod_symtab.txt
+ $(TARGET_CROSS)nm -n $(LINUX_DIR)/vmlinux.o | grep ' r __ksymtab' | sed -e 's,........ r __ksymtab_,,' > $(KERNEL_BUILD_DIR)/kernel_symtab.txt
+ grep -f $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_include.txt
+ grep -vf $(KERNEL_BUILD_DIR)/mod_symtab.txt $(KERNEL_BUILD_DIR)/kernel_symtab.txt > $(KERNEL_BUILD_DIR)/sym_exclude.txt
( \
echo '#define SYMTAB_KEEP \'; \
- cat $(KERNEL_BUILD_DIR)/symtab.txt | \
- awk '{print "*(__ksymtab." $$$$1 ") \\" }'; \
+ cat $(KERNEL_BUILD_DIR)/sym_include.txt | \
+ awk '{print "KEEP(*(___ksymtab+" $$$$1 ")) \\" }'; \
echo; \
echo '#define SYMTAB_KEEP_GPL \'; \
- cat $(KERNEL_BUILD_DIR)/symtab.txt | \
- awk '{print "*(__ksymtab_gpl." $$$$1 ") \\" }'; \
+ cat $(KERNEL_BUILD_DIR)/sym_include.txt | \
+ awk '{print "KEEP(*(___ksymtab_gpl+" $$$$1 ")) \\" }'; \
+ echo; \
+ echo '#define SYMTAB_DISCARD \'; \
+ cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \
+ awk '{print "*(___ksymtab+" $$$$1 ") \\" }'; \
echo; \
- echo '#define SYMTAB_KEEP_STR \'; \
- cat $(KERNEL_BUILD_DIR)/symtab.txt | \
- awk '{print "*(__ksymtab_strings." $$$$1 ") \\" }'; \
+ echo '#define SYMTAB_DISCARD_GPL \'; \
+ cat $(KERNEL_BUILD_DIR)/sym_exclude.txt | \
+ awk '{print "*(___ksymtab_gpl+" $$$$1 ") \\" }'; \
echo; \
) > $$@
diff --git a/include/kernel-defaults.mk b/include/kernel-defaults.mk
index 3b1086952..043b56865 100644
--- a/include/kernel-defaults.mk
+++ b/include/kernel-defaults.mk
@@ -31,21 +31,21 @@ Kernel/Patch:=$(Kernel/Patch/Default)
ifeq ($(strip $(CONFIG_EXTERNAL_KERNEL_TREE)),"")
ifeq ($(strip $(CONFIG_KERNEL_GIT_CLONE_URI)),"")
define Kernel/Prepare/Default
- bzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
+ xzcat $(DL_DIR)/$(LINUX_SOURCE) | $(TAR) -C $(KERNEL_BUILD_DIR) $(TAR_OPTIONS)
$(Kernel/Patch)
touch $(LINUX_DIR)/.quilt_used
endef
else
ifeq ($(strip $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY)),"")
-define Kernel/Prepare/Default
+ define Kernel/Prepare/Default
git clone $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
- endef
- else
- define Kernel/Prepare/Default
+ endef
+ else
+ define Kernel/Prepare/Default
git clone --reference $(CONFIG_KERNEL_GIT_LOCAL_REPOSITORY) $(CONFIG_KERNEL_GIT_CLONE_URI) $(LINUX_DIR)
- endef
+ endef
+ endif
endif
-endif
else
define Kernel/Prepare/Default
mkdir -p $(KERNEL_BUILD_DIR)
@@ -58,41 +58,36 @@ endif
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
ifeq ($(strip $(CONFIG_EXTERNAL_CPIO)),"")
- define Kernel/SetInitramfs
- mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
- grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
- echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
- echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config
+ define Kernel/SetInitramfs/PreConfigure
+ grep -v -e INITRAMFS -e CONFIG_RD_ -e CONFIG_BLK_DEV_INITRD $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
+ echo 'CONFIG_BLK_DEV_INITRD=y' >> $(LINUX_DIR)/.config
+ echo 'CONFIG_INITRAMFS_SOURCE="$(strip $(TARGET_DIR) $(INITRAMFS_EXTRA_FILES))"' >> $(LINUX_DIR)/.config
endef
else
- define Kernel/SetInitramfs
- mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
- grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
- echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config
- echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config
+ define Kernel/SetInitramfs/PreConfigure
+ grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
+ echo 'CONFIG_INITRAMFS_SOURCE="$(call qstrip,$(CONFIG_EXTERNAL_CPIO))"' >> $(LINUX_DIR)/.config
endef
endif
+
+ define Kernel/SetInitramfs
+ mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
+ $(call Kernel/SetInitramfs/PreConfigure)
+ echo 'CONFIG_INITRAMFS_ROOT_UID=$(shell id -u)' >> $(LINUX_DIR)/.config
+ echo 'CONFIG_INITRAMFS_ROOT_GID=$(shell id -g)' >> $(LINUX_DIR)/.config
+ echo "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_NONE),CONFIG_INITRAMFS_COMPRESSION_NONE=y,# CONFIG_INITRAMFS_COMPRESSION_NONE is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_GZIP),CONFIG_INITRAMFS_COMPRESSION_GZIP=y\nCONFIG_RD_GZIP=y,# CONFIG_INITRAMFS_COMPRESSION_GZIP is not set\n# CONFIG_RD_GZIP is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_BZIP2),CONFIG_INITRAMFS_COMPRESSION_BZIP2=y\nCONFIG_RD_BZIP2=y,# CONFIG_INITRAMFS_COMPRESSION_BZIP2 is not set\n# CONFIG_RD_BZIP2 is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZMA),CONFIG_INITRAMFS_COMPRESSION_LZMA=y\nCONFIG_RD_LZMA=y,# CONFIG_INITRAMFS_COMPRESSION_LZMA is not set\n# CONFIG_RD_LZMA is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_LZO),CONFIG_INITRAMFS_COMPRESSION_LZO=y\nCONFIG_RD_LZO=y,# CONFIG_INITRAMFS_COMPRESSION_LZO is not set\n# CONFIG_RD_LZO is not set)" >> $(LINUX_DIR)/.config
+ echo -e "$(if $(CONFIG_TARGET_INITRAMFS_COMPRESSION_XZ),CONFIG_INITRAMFS_COMPRESSION_XZ=y\nCONFIG_RD_XZ=y,# CONFIG_INITRAMFS_COMPRESSION_XZ is not set\n# CONFIG_RD_XZ is not set)" >> $(LINUX_DIR)/.config
+ endef
else
- define Kernel/SetInitramfs
- mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
- grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
- echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config
- endef
+ define Kernel/SetInitramfs
+ mv $(LINUX_DIR)/.config $(LINUX_DIR)/.config.old
+ grep -v INITRAMFS $(LINUX_DIR)/.config.old > $(LINUX_DIR)/.config
+ echo 'CONFIG_INITRAMFS_SOURCE=""' >> $(LINUX_DIR)/.config
+ endef
endif
define Kernel/Configure/Default
@@ -107,13 +102,13 @@ ifeq ($(CONFIG_TARGET_realtek),y)
endif
echo "# CONFIG_KALLSYMS_EXTRA_PASS is not set" >> $(LINUX_DIR)/.config.target
echo "# CONFIG_KALLSYMS_ALL is not set" >> $(LINUX_DIR)/.config.target
+ echo "# CONFIG_KALLSYMS_UNCOMPRESSED is not set" >> $(LINUX_DIR)/.config.target
echo "# CONFIG_KPROBES is not set" >> $(LINUX_DIR)/.config.target
$(SCRIPT_DIR)/metadata.pl kconfig $(TMP_DIR)/.packageinfo $(TOPDIR)/.config > $(LINUX_DIR)/.config.override
$(SCRIPT_DIR)/kconfig.pl 'm+' '+' $(LINUX_DIR)/.config.target /dev/null $(LINUX_DIR)/.config.override > $(LINUX_DIR)/.config
$(call Kernel/SetInitramfs)
- -$(_SINGLE)$(MAKE) $(KERNEL_MAKEOPTS) oldconfig prepare scripts
rm -rf $(KERNEL_BUILD_DIR)/modules
- $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
+ [ -d $(LINUX_DIR)/user_headers ] || $(MAKE) $(KERNEL_MAKEOPTS) INSTALL_HDR_PATH=$(LINUX_DIR)/user_headers headers_install
$(SH_FUNC) grep '=[ym]' $(LINUX_DIR)/.config | LC_ALL=C sort | md5s > $(LINUX_DIR)/.vermagic
endef
diff --git a/include/kernel-version.mk b/include/kernel-version.mk
index 68cf67689..e883a78aa 100644
--- a/include/kernel-version.mk
+++ b/include/kernel-version.mk
@@ -2,44 +2,20 @@
LINUX_RELEASE?=1
-ifeq ($(LINUX_VERSION),2.6.30.10)
- LINUX_KERNEL_MD5SUM:=eb6be465f914275967a5602cb33662f5
-endif
-ifeq ($(LINUX_VERSION),2.6.31.14)
- LINUX_KERNEL_MD5SUM:=3e7feb224197d8e174a90dd3759979fd
-endif
-ifeq ($(LINUX_VERSION),2.6.32.33)
- LINUX_KERNEL_MD5SUM:=2b4e5ed210534d9b4f5a563089dfcc80
-endif
-ifeq ($(LINUX_VERSION),2.6.34.8)
- LINUX_KERNEL_MD5SUM:=6dedac89df1af57b08981fcc6ad387db
-endif
-ifeq ($(LINUX_VERSION),2.6.35.11)
- LINUX_KERNEL_MD5SUM:=4c9ee33801f5ad0f4d5e615fac66d535
-endif
-ifeq ($(LINUX_VERSION),2.6.36.4)
- LINUX_KERNEL_MD5SUM:=c05dd941d0e249695e9f72568888e1bf
-endif
-ifeq ($(LINUX_VERSION),2.6.37.6)
- LINUX_KERNEL_MD5SUM:=05970afdce8ec4323a10dcd42bc4fb0c
-endif
-ifeq ($(LINUX_VERSION),2.6.38.8)
- LINUX_KERNEL_MD5SUM:=d27b85795c6bc56b5a38d7d31bf1d724
-endif
-ifeq ($(LINUX_VERSION),2.6.39.4)
- LINUX_KERNEL_MD5SUM:=a17c748c2070168f1e784e9605ca043d
+ifeq ($(LINUX_VERSION),3.3.8)
+ LINUX_KERNEL_MD5SUM:=f1058f64eed085deb44f10cee8541d50
endif
-ifeq ($(LINUX_VERSION),3.0.18)
- LINUX_KERNEL_MD5SUM:=67252770d7009eabe8bac7c26e074f9d
+ifeq ($(LINUX_VERSION),3.6.11)
+ LINUX_KERNEL_MD5SUM:=3d602ad7f7984509c3e923a5ae90bc54
endif
-ifeq ($(LINUX_VERSION),3.1.10)
- LINUX_KERNEL_MD5SUM:=3649bdaa50ffd9114cc16486ec54d83a
+ifeq ($(LINUX_VERSION),3.7.10)
+ LINUX_KERNEL_MD5SUM:=09624c3702107076efcac5e1cd8a18ec
endif
-ifeq ($(LINUX_VERSION),3.2.16)
- LINUX_KERNEL_MD5SUM:=246e6bd28ea44c90ec66c7f8b56e4803
+ifeq ($(LINUX_VERSION),3.8.12)
+ LINUX_KERNEL_MD5SUM:=a4be720ca9e61445562565856bb5154d
endif
-ifeq ($(LINUX_VERSION),3.3.8)
- LINUX_KERNEL_MD5SUM:=21068f0fd262b9b3670947f7892e1d6b
+ifeq ($(LINUX_VERSION),3.9.3)
+ LINUX_KERNEL_MD5SUM:=266e58f4e2f68f48b906ae109aba4dea
endif
# disable the md5sum check for unknown kernel versions
diff --git a/include/kernel.mk b/include/kernel.mk
index d154e6bc0..fc0d3d349 100644
--- a/include/kernel.mk
+++ b/include/kernel.mk
@@ -33,9 +33,11 @@ else
PATCH_DIR ?= ./patches$(if $(wildcard ./patches-$(KERNEL_PATCHVER)),-$(KERNEL_PATCHVER))
FILES_DIR ?= $(foreach dir,$(wildcard ./files ./files-$(KERNEL_PATCHVER)),"$(dir)")
endif
- KERNEL_BUILD_DIR ?= $(BUILD_DIR_BASE)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))$(if $(BUILD_SUFFIX),_$(BUILD_SUFFIX))
+ KERNEL_BUILD_DIR ?= $(BUILD_DIR)/linux-$(BOARD)$(if $(SUBTARGET),_$(SUBTARGET))
LINUX_DIR ?= $(KERNEL_BUILD_DIR)/linux-$(LINUX_VERSION)
-
+ ifeq ($(strip $(call CompareKernelPatchVer,$(KERNEL_PATCHVER),ge,3.7.0)),1)
+ LINUX_UAPI_DIR=uapi/
+ endif
LINUX_VERMAGIC:=$(strip $(shell cat $(LINUX_DIR)/.vermagic 2>/dev/null))
LINUX_VERMAGIC:=$(if $(LINUX_VERMAGIC),$(LINUX_VERMAGIC),unknown)
@@ -49,14 +51,10 @@ else
LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux
- LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.bz2
+ LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.xz
TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,)
ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
- ifeq ($(word 1,$(subst ., ,$(KERNEL_BASE))),3)
LINUX_SITE:=@KERNEL/linux/kernel/v3.x$(TESTING)
- else
- LINUX_SITE:=@KERNEL/linux/kernel/v$(KERNEL)$(TESTING)
- endif
endif
ifneq ($(TARGET_BUILD),1)
@@ -106,7 +104,7 @@ define ModuleAutoLoad
mkdir -p $(2)/CONTROL; \
echo "#!/bin/sh" > $(2)/CONTROL/postinst; \
echo "[ -z \"\$$$$$$$$IPKG_INSTROOT\" ] || exit 0" >> $(2)/CONTROL/postinst; \
- echo ". /etc/functions.sh" >> $(2)/CONTROL/postinst; \
+ echo ". /lib/functions.sh" >> $(2)/CONTROL/postinst; \
echo "load_modules $$$$$$$$modules" >> $(2)/CONTROL/postinst; \
chmod 0755 $(2)/CONTROL/postinst; \
fi
@@ -165,11 +163,11 @@ $(call KernelPackage/$(1)/config)
if grep -q "$$$$$$$${mod##$(LINUX_DIR)/}" "$(LINUX_DIR)/modules.builtin"; then \
echo "NOTICE: module '$$$$$$$$mod' is built-in."; \
else \
- echo "ERROR: module '$$$$$$$$mod' is missing."; \
+ echo "ERROR: module '$$$$$$$$mod' is missing." >&2; \
exit 1; \
fi; \
else \
- echo "WARNING: module '$$$$$$$$mod' missing and modules.builtin not available, assuming built-in."; \
+ echo "WARNING: module '$$$$$$$$mod' missing and modules.builtin not available, assuming built-in." >&2; \
fi; \
done;
$(call ModuleAutoLoad,$(1),$$(1),$(AUTOLOAD))
@@ -180,7 +178,7 @@ $(call KernelPackage/$(1)/config)
else
compile: kmod-$(1)-unavailable
kmod-$(1)-unavailable:
- @echo "WARNING: kmod-$(1) is not available in the kernel config"
+ @echo "WARNING: kmod-$(1) is not available in the kernel config" >&2
)
endif
$$(eval $$(call BuildPackage,kmod-$(1)))
diff --git a/include/ltqtapi.mk b/include/ltqtapi.mk
index 7699d30d1..f4d06add7 100644
--- a/include/ltqtapi.mk
+++ b/include/ltqtapi.mk
@@ -1,12 +1,12 @@
-LTQ_TAPI_BUILD_DEPENDS:=TARGET_lantiq_danube:kmod-ltq-tapi \
- TARGET_lantiq_danube:kmod-ltq-vmmc \
+LTQ_TAPI_BUILD_DEPENDS:=TARGET_lantiq_xway:kmod-ltq-tapi \
+ TARGET_lantiq_xway:kmod-ltq-vmmc \
TARGET_lantiq_falcon:kmod-ltq-tapi \
TARGET_lantiq_falcon:kmod-ltq-vmmc
-LTQ_TAPI_TARGET:=@(TARGET_lantiq_falcon||TARGET_lantiq_danube)
+LTQ_TAPI_TARGET:=@(TARGET_lantiq_falcon||TARGET_lantiq_xway)
LTQ_TAPI_DEPENDS:=$(LTQ_TAPI_TARGET) \
- +TARGET_lantiq_danube:kmod-ltq-tapi \
- +TARGET_lantiq_danube:kmod-ltq-vmmc \
+ +TARGET_lantiq_xway:kmod-ltq-tapi \
+ +TARGET_lantiq_xway:kmod-ltq-vmmc \
+TARGET_lantiq_falcon:kmod-ltq-tapi \
+TARGET_lantiq_falcon:kmod-ltq-vmmc
diff --git a/include/netfilter.mk b/include/netfilter.mk
index f5a3961cb..74c279bfb 100644
--- a/include/netfilter.mk
+++ b/include/netfilter.mk
@@ -1,5 +1,5 @@
#
-# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -15,9 +15,15 @@ P_XT:=netfilter/
P_EBT:=bridge/netfilter/
endif
+# 1: variable
+# 2: kconfig symbols
+# 3: file list
+# 4: version dependency
define nf_add
- $(1)-$$($(2)) += $(3)
- KCONFIG_$(1) += $(2)
+ $(if $(4),ifeq ($$(strip $$(call CompareKernelPatchVer,$$(KERNEL_PATCHVER),$(firstword $(4)),$(lastword $(4)))),1))
+ $(1)-$$($(2)) += $(3)
+ $(if $(4),endif)
+ KCONFIG_$(1) = $(filter-out $(2),$(KCONFIG_$(1))) $(2)
endef
@@ -30,16 +36,25 @@ $(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_FILTER, $(P_V4)iptabl
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_IP_NF_MANGLE, $(P_V4)iptable_mangle),))
# userland only
-$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment)))
+$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_IP_NF_IPTABLES, xt_standard ipt_icmp xt_tcp xt_udp xt_comment xt_set xt_SET)))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_LIMIT, $(P_XT)xt_limit))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MAC, $(P_XT)xt_mac))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MULTIPORT, $(P_XT)xt_multiport))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_COMMENT, $(P_XT)xt_comment))
-$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_LOG, $(P_V4)ipt_LOG))
+$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_LOG, $(P_XT)xt_LOG, ge 3.4.0))
+$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_LOG, $(P_V4)ipt_LOG, lt 3.4.0))
$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_TCPMSS, $(P_XT)xt_TCPMSS))
$(eval $(call nf_add,IPT_CORE,CONFIG_IP_NF_TARGET_REJECT, $(P_V4)ipt_REJECT))
+$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time))
+$(eval $(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_MATCH_MARK, $(P_XT)xt_mark))
+
+# kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate
+# kernel: xt_mark.ko
+$(eval $(if $(NF_KMOD),$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_mark)))
+# userland: xt_MARK.so
+$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CORE,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_MARK)))
# conntrack
@@ -51,7 +66,7 @@ $(eval $(if $(NF_KMOD),$(call nf_add,IPT_CONNTRACK,CONFIG_NF_CONNTRACK_IPV4, $(P
$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_STATE, $(P_XT)xt_state))
$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_IP_NF_RAW, $(P_V4)iptable_raw))
-$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_NOTRACK, $(P_XT)xt_NOTRACK))
+$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_NOTRACK, $(P_XT)xt_NOTRACK, lt 3.7.0))
$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_TARGET_CT, $(P_XT)xt_CT))
$(eval $(call nf_add,IPT_CONNTRACK,CONFIG_NETFILTER_XT_MATCH_CONNTRACK, $(P_XT)xt_conntrack))
@@ -69,8 +84,7 @@ $(eval $(if $(NF_KMOD),,$(call nf_add,IPT_CONNTRACK_EXTRA,CONFIG_NETFILTER_XT_TA
# extra
-# kernel only
-
+$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_ADDRTYPE, $(if $(NF_KMOD),$(P_XT)xt_addrtype,$(P_XT)ipt_addrtype)))
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_OWNER, $(P_XT)xt_owner))
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_physdev))
$(eval $(call nf_add,IPT_EXTRA,CONFIG_NETFILTER_XT_MATCH_PKTTYPE, $(P_XT)xt_pkttype))
@@ -87,32 +101,16 @@ $(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_STRING, $(P_XT)xt_stri
# ipopt
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_DSCP, $(P_V4)ipt_DSCP))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_DSCP, $(P_XT)xt_dscp))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_DSCP, $(P_XT)xt_DSCP))
$(eval $(call nf_add,IPT_HASHLIMIT,CONFIG_NETFILTER_XT_MATCH_HASHLIMIT, $(P_XT)xt_hashlimit))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_LENGTH, $(P_V4)ipt_length))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_LENGTH, $(P_XT)xt_length))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_MARK, $(P_V4)ipt_mark))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_MARK, $(P_XT)xt_mark))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_STATISTIC, $(P_XT)xt_statistic))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_TCPMSS, $(P_V4)ipt_tcpmss))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_TCPMSS, $(P_XT)xt_tcpmss))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_TIME, $(P_V4)ipt_time))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_TIME, $(P_XT)xt_time))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_UNCLEAN, $(P_V4)ipt_unclean))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_CLASSIFY, $(P_V4)ipt_CLASSIFY ))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_CLASSIFY, $(P_XT)xt_CLASSIFY))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_MATCH_DSCP, $(P_V4)ipt_dscp))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_ECN, $(P_V4)ipt_ECN))
-$(eval $(call nf_add,IPT_IPOPT,CONFIG_IP_NF_TARGET_MARK, $(P_V4)ipt_MARK))
-
-# kernel has xt_MARK.ko merged into xt_mark.ko, userspace is still separate
-# kernel: xt_mark.ko
-$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_mark)))
-# userland: xt_MARK.so
-$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_TARGET_MARK, $(P_XT)xt_MARK)))
$(eval $(call nf_add,IPT_IPOPT,CONFIG_NETFILTER_XT_MATCH_ECN, $(P_XT)xt_ecn))
@@ -146,6 +144,8 @@ $(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MANGLE, $(P_V6)ip6ta
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_QUEUE, $(P_V6)ip6_queue),))
$(eval $(if $(NF_KMOD),$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_RAW, $(P_V6)ip6table_raw),))
+$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_IPV6,CONFIG_IP6_NF_IPTABLES, ip6t_icmp6)))
+
$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MATCH_AH, $(P_V6)ip6t_ah))
$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MATCH_EUI64, $(P_V6)ip6t_eui64))
$(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_MATCH_FRAG, $(P_V6)ip6t_frag))
@@ -160,34 +160,40 @@ $(eval $(call nf_add,IPT_IPV6,CONFIG_IP6_NF_TARGET_REJECT, $(P_V6)ip6t_REJECT))
# nat
# kernel only
-$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NF_NAT, $(P_V4)nf_nat $(P_V4)iptable_nat),))
+$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NF_NAT, $(P_XT)nf_nat $(P_V4)nf_nat_ipv4 $(P_XT)xt_nat $(P_V4)iptable_nat, ge 3.7.0),))
+$(eval $(if $(NF_KMOD),$(call nf_add,IPT_NAT,CONFIG_NF_NAT, $(P_V4)nf_nat $(P_V4)iptable_nat, lt 3.7.0),))
# userland only
$(eval $(if $(NF_KMOD),,$(call nf_add,IPT_NAT,CONFIG_NF_NAT, ipt_SNAT ipt_DNAT)))
$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_MASQUERADE, $(P_V4)ipt_MASQUERADE))
+$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_XT)xt_REDIRECT, ge 3.7.0))
+$(eval $(call nf_add,IPT_NAT,CONFIG_IP_NF_TARGET_REDIRECT, $(P_V4)ipt_REDIRECT, lt 3.7.0))
# nat-extra
-$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_V4)ipt_NETMAP))
-$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_REDIRECT, $(P_V4)ipt_REDIRECT))
+$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_XT)xt_NETMAP, ge 3.7.0))
+$(eval $(call nf_add,IPT_NAT_EXTRA,CONFIG_IP_NF_TARGET_NETMAP, $(P_V4)ipt_NETMAP, lt 3.7.0))
# nathelper
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_IP_NF_NAT_FTP, $(P_V4)ip_nat_ftp))
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_CONNTRACK_FTP, $(P_XT)nf_conntrack_ftp))
-$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_FTP, $(P_V4)nf_nat_ftp))
$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_CONNTRACK_IRC, $(P_XT)nf_conntrack_irc))
-$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_IRC, $(P_V4)nf_nat_irc))
+$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_FTP, $(P_XT)nf_nat_ftp, ge 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_IRC, $(P_XT)nf_nat_irc, ge 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_FTP, $(P_V4)nf_nat_ftp, lt 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER,CONFIG_NF_NAT_IRC, $(P_V4)nf_nat_irc, lt 3.7.0))
# nathelper-extra
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_BROADCAST, $(P_XT)nf_conntrack_broadcast))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_AMANDA, $(P_XT)nf_conntrack_amanda))
-$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_V4)nf_nat_amanda))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_XT)nf_nat_amanda, ge 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_AMANDA, $(P_V4)nf_nat_amanda, lt 3.7.0))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CT_PROTO_GRE, $(P_XT)nf_conntrack_proto_gre))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_PROTO_GRE, $(P_V4)nf_nat_proto_gre))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_H323, $(P_XT)nf_conntrack_h323))
@@ -195,16 +201,18 @@ $(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_H323, $(P_V4)nf_nat_h323)
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_PPTP, $(P_XT)nf_conntrack_pptp))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_PPTP, $(P_V4)nf_nat_pptp))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SIP, $(P_XT)nf_conntrack_sip))
-$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_V4)nf_nat_sip))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_XT)nf_nat_sip, ge 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_SIP, $(P_V4)nf_nat_sip, lt 3.7.0))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_SNMP, $(P_XT)nf_conntrack_snmp))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_SNMP_BASIC, $(P_V4)nf_nat_snmp_basic))
$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_CONNTRACK_TFTP, $(P_XT)nf_conntrack_tftp))
-$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_V4)nf_nat_tftp))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_XT)nf_nat_tftp, ge 3.7.0))
+$(eval $(call nf_add,IPT_NATHELPER_EXTRA,CONFIG_NF_NAT_TFTP, $(P_V4)nf_nat_tftp, lt 3.7.0))
# queue
-$(eval $(call nf_add,IPT_QUEUE,CONFIG_IP_NF_QUEUE, $(P_V4)ip_queue))
+$(eval $(call nf_add,IPT_QUEUE,CONFIG_IP_NF_QUEUE, $(P_V4)ip_queue, lt 3.5.0))
# ulog
@@ -277,7 +285,7 @@ IPT_BUILTIN += $(IPT_FILTER-y)
IPT_BUILTIN += $(IPT_IPOPT-y)
IPT_BUILTIN += $(IPT_IPRANGE-y)
IPT_BUILTIN += $(IPT_IPSEC-y)
-IPT_BUILTIN += $(IPT_IPV6-y)
+IPT_BUILTIN += $(IPT_IPV6-y) $(IPT_IPV6-m)
IPT_BUILTIN += $(IPT_NAT-y)
IPT_BUILTIN += $(IPT_NAT_EXTRA-y)
IPT_BUILTIN += $(IPT_NATHELPER-y)
diff --git a/include/package-bin.mk b/include/package-bin.mk
index 96c1aeffc..dcb3a8acb 100644
--- a/include/package-bin.mk
+++ b/include/package-bin.mk
@@ -14,7 +14,7 @@ ifeq ($(DUMP),)
else
compile: $(1)-disabled
$(1)-disabled:
- @echo "WARNING: skipping $(1) -- package not selected"
+ @echo "WARNING: skipping $(1) -- package not selected" >&2
endif
endif
endif
diff --git a/include/package-defaults.mk b/include/package-defaults.mk
index c3496767c..0505a43c4 100644
--- a/include/package-defaults.mk
+++ b/include/package-defaults.mk
@@ -5,8 +5,10 @@
# See /LICENSE for more information.
#
+PKG_DEFAULT_DEPENDS = +libc +USE_EGLIBC:librt +USE_EGLIBC:libpthread
+
ifneq ($(PKG_NAME),toolchain)
- PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),+libc $(filter-out +libc,$(2)))
+ PKG_FIXUP_DEPENDS = $(if $(filter kmod-%,$(1)),$(2),$(PKG_DEFAULT_DEPENDS) $(filter-out $(PKG_DEFAULT_DEPENDS),$(2)))
else
PKG_FIXUP_DEPENDS = $(2)
endif
@@ -19,7 +21,7 @@ define Package/Default
MDEPENDS:=
PROVIDES:=
EXTRA_DEPENDS:=
- MAINTAINER:=OpenWrt Developers Team <openwrt-devel@openwrt.org>
+ MAINTAINER:=$(PKG_MAINTAINER)
SOURCE:=$(patsubst $(TOPDIR)/%,%,$(CURDIR))
ifneq ($(PKG_VERSION),)
ifneq ($(PKG_RELEASE),)
@@ -40,7 +42,6 @@ define Package/Default
else
PKGARCH:=$(BOARD)
endif
- PRIORITY:=optional
DEFAULT:=
MENU:=
SUBMENU:=
@@ -127,7 +128,7 @@ MAKE_INSTALL_FLAGS = \
MAKE_PATH = .
define Build/Compile/Default
- $(MAKE_VARS) \
+ +$(MAKE_VARS) \
$(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
$(MAKE_FLAGS) \
$(1);
diff --git a/include/package-ipkg.mk b/include/package-ipkg.mk
index 14520cfd9..20361de9e 100644
--- a/include/package-ipkg.mk
+++ b/include/package-ipkg.mk
@@ -5,22 +5,6 @@
# See /LICENSE for more information.
#
-# where to build (and put) .ipk packages
-OPKG:= \
- IPKG_TMP=$(TMP_DIR)/ipkg \
- IPKG_INSTROOT=$(TARGET_DIR) \
- IPKG_CONF_DIR=$(STAGING_DIR)/etc \
- IPKG_OFFLINE_ROOT=$(TARGET_DIR) \
- $(STAGING_DIR_HOST)/bin/opkg \
- --offline-root $(TARGET_DIR) \
- --force-depends \
- --force-overwrite \
- --force-postinstall \
- --force-maintainer \
- --add-dest root:/ \
- --add-arch all:100 \
- --add-arch $(if $(ARCH_PACKAGES),$(ARCH_PACKAGES),$(BOARD)):200
-
# invoke ipkg-build with some default options
IPKG_BUILD:= \
ipkg-build -c -o 0 -g 0
@@ -89,22 +73,29 @@ ifeq ($(DUMP),)
define BuildTarget/ipkg
IPKG_$(1):=$(PACKAGE_DIR)/$(1)_$(VERSION)_$(PKGARCH).ipk
IDIR_$(1):=$(PKG_BUILD_DIR)/ipkg-$(PKGARCH)/$(1)
- INFO_$(1):=$(IPKG_STATE_DIR)/info/$(1).list
KEEP_$(1):=$(strip $(call Package/$(1)/conffiles))
- ifeq ($(if $(VARIANT),$(BUILD_VARIANT)),$(VARIANT))
+ ifeq ($(BUILD_VARIANT),$$(if $$(VARIANT),$$(VARIANT),$(BUILD_VARIANT)))
ifdef Package/$(1)/install
ifneq ($(CONFIG_PACKAGE_$(1))$(SDK)$(DEVELOPER),)
IPKGS += $(1)
compile: $$(IPKG_$(1)) $(PKG_INFO_DIR)/$(1).provides $(STAGING_DIR_ROOT)/stamp/.$(1)_installed
ifeq ($(CONFIG_PACKAGE_$(1)),y)
- install: $$(INFO_$(1))
+ .PHONY: $(PKG_INSTALL_STAMP).$(1)
+ compile: $(PKG_INSTALL_STAMP).$(1)
+ $(PKG_INSTALL_STAMP).$(1):
+ if [ -f $(PKG_INSTALL_STAMP).clean ]; then \
+ rm -f \
+ $(PKG_INSTALL_STAMP) \
+ $(PKG_INSTALL_STAMP).clean; \
+ fi; \
+ echo "$(1)" >> $(PKG_INSTALL_STAMP)
endif
else
compile: $(1)-disabled
$(1)-disabled:
- @echo "WARNING: skipping $(1) -- package not selected"
+ @echo "WARNING: skipping $(1) -- package not selected" >&2
endif
endif
endif
@@ -155,14 +146,17 @@ ifeq ($(DUMP),)
for depend in $$(filter-out @%,$$(IDEPEND_$(1))); do \
DEPENDS=$$$${DEPENDS:+$$$$DEPENDS, }$$$${depend##+}; \
done; \
- echo "Depends: $$$$DEPENDS"; \
- echo "Provides: $(PROVIDES)"; \
+ [ -z "$$$$DEPENDS" ] || echo "Depends: $$$$DEPENDS"; \
+ $(if $(PROVIDES), echo "Provides: $(PROVIDES)"; ) \
echo "Source: $(SOURCE)"; \
+ $(if $(PKG_SOURCE), echo "SourceFile: $(PKG_SOURCE)"; ) \
+ $(if $(PKG_SOURCE_URL), echo "SourceURL: $(PKG_SOURCE_URL)"; ) \
+ $(if $(PKG_LICENSE), echo "License: $(PKG_LICENSE)"; ) \
+ $(if $(PKG_LICENSE_FILES), echo "LicenseFiles: $(PKG_LICENSE_FILES)"; ) \
echo "Section: $(SECTION)"; \
- echo "Status: unknown $(if $(filter hold,$(PKG_FLAGS)),hold,ok) not-installed"; \
- echo "Essential: $(if $(filter essential,$(PKG_FLAGS)),yes,no)"; \
- echo "Priority: $(PRIORITY)"; \
- echo "Maintainer: $(MAINTAINER)"; \
+ $(if $(filter hold,$(PKG_FLAGS)),echo "Status: unknown hold not-installed"; ) \
+ $(if $(filter essential,$(PKG_FLAGS)), echo "Essential: yes"; ) \
+ $(if $(MAINTAINER),echo "Maintainer: $(MAINTAINER)"; ) \
echo "Architecture: $(PKGARCH)"; \
echo "Installed-Size: 0"; \
echo -n "Description: "; $(SH_FUNC) getvar $(call shvar,Package/$(1)/description) | sed -e 's,^[[:space:]]*, ,g'; \
@@ -188,11 +182,6 @@ ifeq ($(DUMP),)
$(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
@[ -f $$(IPKG_$(1)) ]
- $$(INFO_$(1)): $$(IPKG_$(1))
- @[ -d $(TARGET_DIR)/tmp ] || mkdir -p $(TARGET_DIR)/tmp
- $(OPKG) install $$(IPKG_$(1))
- $(if $(filter-out essential,$(PKG_FLAGS)),for flag in $(filter-out essential,$(PKG_FLAGS)); do $(OPKG) flag $$$$flag $(1); done,$(OPKG) flag ok $(1))
-
$(1)-clean:
rm -f $(PACKAGE_DIR)/$(1)_*
diff --git a/include/package.mk b/include/package.mk
index 64973b051..99d2dd270 100644
--- a/include/package.mk
+++ b/include/package.mk
@@ -13,13 +13,18 @@ PKG_BUILD_DIR ?= $(BUILD_DIR)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
PKG_INSTALL_DIR ?= $(PKG_BUILD_DIR)/ipkg-install
PKG_MD5SUM ?= unknown
PKG_BUILD_PARALLEL ?=
-PKG_INFO_DIR := $(STAGING_DIR)/pkginfo
+
+ifneq ($(CONFIG_PKG_BUILD_USE_JOBSERVER),)
+ MAKE_J:=$(if $(MAKE_JOBSERVER),$(MAKE_JOBSERVER) -j)
+else
+ MAKE_J:=-j$(CONFIG_PKG_BUILD_JOBS)
+endif
ifeq ($(strip $(PKG_BUILD_PARALLEL)),0)
PKG_JOBS?=-j1
else
PKG_JOBS?=$(if $(PKG_BUILD_PARALLEL)$(CONFIG_PKG_DEFAULT_PARALLEL),\
- $(if $(CONFIG_PKG_BUILD_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS),-j1),-j1)
+ $(if $(CONFIG_PKG_BUILD_PARALLEL),$(MAKE_J),-j1),-j1)
endif
include $(INCLUDE_DIR)/prereq.mk
@@ -46,6 +51,9 @@ ifneq ($(if $(CONFIG_SRC_TREE_OVERRIDE),$(wildcard ./git-src)),)
QUILT:=1
endif
+PKG_DIR_NAME:=$(lastword $(subst /,$(space),$(CURDIR)))
+PKG_INSTALL_STAMP:=$(PKG_INFO_DIR)/$(PKG_DIR_NAME).$(if $(BUILD_VARIANT),$(BUILD_VARIANT),default).install
+
include $(INCLUDE_DIR)/download.mk
include $(INCLUDE_DIR)/quilt.mk
include $(INCLUDE_DIR)/package-defaults.mk
@@ -207,7 +215,7 @@ define Package/$(1)/description
endef
endif
- $(foreach FIELD, TITLE CATEGORY PRIORITY SECTION VERSION,
+ $(foreach FIELD, TITLE CATEGORY SECTION VERSION,
ifeq ($($(FIELD)),)
$$(error Package/$(1) is missing the $(FIELD) field)
endif
@@ -242,6 +250,14 @@ Build/Install=$(if $(PKG_INSTALL),$(call Build/Install/Default,))
Build/Dist=$(call Build/Dist/Default,)
Build/DistCheck=$(call Build/DistCheck/Default,)
+.NOTPARALLEL:
+
+.PHONY: prepare-package-install
+prepare-package-install:
+ @mkdir -p $(PKG_INFO_DIR)
+ @touch $(PKG_INSTALL_STAMP).clean
+ @echo "$(filter-out essential,$(PKG_FLAGS))" > $(PKG_INSTALL_STAMP).flags
+
$(PACKAGE_DIR):
mkdir -p $@
@@ -249,8 +265,8 @@ dumpinfo:
download:
prepare:
configure:
-compile:
-install:
+compile: prepare-package-install
+install: compile
clean-staging: FORCE
rm -f $(STAMP_INSTALLED)
@-(\
diff --git a/include/prereq-build.mk b/include/prereq-build.mk
index c7d59f120..59ea7ef9a 100644
--- a/include/prereq-build.mk
+++ b/include/prereq-build.mk
@@ -39,6 +39,8 @@ $(eval $(call Require,case-sensitive-fs, \
))
define Require/getopt
+ gnugetopt --help 2>&1 | grep long >/dev/null || \
+ /usr/local/bin/getopt --help 2>&1 | grep long >/dev/null || \
getopt --help 2>&1 | grep long >/dev/null
endef
$(eval $(call Require,getopt, \
@@ -134,15 +136,11 @@ $(eval $(call RequireCommand,bzip2, \
Please install bzip2. \
))
-$(eval $(call RequireCommand,patch, \
- Please install patch. \
-))
-
$(eval $(call RequireCommand,perl, \
Please install perl. \
))
-$(eval $(call RequireCommand,python, \
+$(eval $(call RequireCommand,$(PYTHON), \
Please install python. \
))
diff --git a/include/site/arm-openwrt-linux-musl b/include/site/arm-openwrt-linux-musl
new file mode 100644
index 000000000..f17d96abc
--- /dev/null
+++ b/include/site/arm-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/arm-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/arm-openwrt-linux-muslgnueabi b/include/site/arm-openwrt-linux-muslgnueabi
new file mode 100644
index 000000000..f17d96abc
--- /dev/null
+++ b/include/site/arm-openwrt-linux-muslgnueabi
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/arm-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/armeb-openwrt-linux-musl b/include/site/armeb-openwrt-linux-musl
new file mode 100644
index 000000000..dd64a9c53
--- /dev/null
+++ b/include/site/armeb-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/armeb-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/armeb-openwrt-linux-muslgnueabi b/include/site/armeb-openwrt-linux-muslgnueabi
new file mode 100644
index 000000000..dd64a9c53
--- /dev/null
+++ b/include/site/armeb-openwrt-linux-muslgnueabi
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/armeb-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/i486-openwrt-linux-musl b/include/site/i486-openwrt-linux-musl
new file mode 100644
index 000000000..4d796d683
--- /dev/null
+++ b/include/site/i486-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/i486-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/i686-openwrt-linux-musl b/include/site/i686-openwrt-linux-musl
new file mode 100644
index 000000000..ef073da32
--- /dev/null
+++ b/include/site/i686-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/i686-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/mips-openwrt-linux-musl b/include/site/mips-openwrt-linux-musl
new file mode 100644
index 000000000..76a1b2831
--- /dev/null
+++ b/include/site/mips-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/mips-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/mipsel-openwrt-linux-musl b/include/site/mipsel-openwrt-linux-musl
new file mode 100644
index 000000000..b53d4d484
--- /dev/null
+++ b/include/site/mipsel-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/mipsel-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/powerpc-openwrt-linux-musl b/include/site/powerpc-openwrt-linux-musl
new file mode 100644
index 000000000..bb48ee234
--- /dev/null
+++ b/include/site/powerpc-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/powerpc-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/site/sparc-linux b/include/site/sparc-linux
new file mode 100644
index 000000000..c421c51ad
--- /dev/null
+++ b/include/site/sparc-linux
@@ -0,0 +1,28 @@
+ac_cv_c_littleendian=${ac_cv_c_littleendian=no}
+ac_cv_c_bigendian=${ac_cv_c_bigendian=yes}
+
+ac_cv_sizeof___int64=0
+ac_cv_sizeof_char=1
+ac_cv_sizeof_int=4
+ac_cv_sizeof_int16_t=2
+ac_cv_sizeof_int32_t=4
+ac_cv_sizeof_int64_t=8
+ac_cv_sizeof_long_int=4
+ac_cv_sizeof_long_long=8
+ac_cv_sizeof_long=4
+ac_cv_sizeof_off_t=8
+ac_cv_sizeof_short_int=2
+ac_cv_sizeof_short=2
+ac_cv_sizeof_size_t=4
+ac_cv_sizeof_ssize_t=4
+ac_cv_sizeof_u_int16_t=2
+ac_cv_sizeof_u_int32_t=4
+ac_cv_sizeof_u_int64_t=8
+ac_cv_sizeof_uint16_t=2
+ac_cv_sizeof_uint32_t=4
+ac_cv_sizeof_uint64_t=8
+ac_cv_sizeof_unsigned_int=4
+ac_cv_sizeof_unsigned_long=4
+ac_cv_sizeof_unsigned_long_long=8
+ac_cv_sizeof_unsigned_short=2
+ac_cv_sizeof_void_p=4
diff --git a/include/site/sparc-linux-gnu b/include/site/sparc-linux-gnu
new file mode 100644
index 000000000..2fc6bf552
--- /dev/null
+++ b/include/site/sparc-linux-gnu
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/sparc-linux
+. $TOPDIR/include/site/linux-gnu
+
diff --git a/include/site/sparc-openwrt-linux-gnu b/include/site/sparc-openwrt-linux-gnu
new file mode 100644
index 000000000..2fc6bf552
--- /dev/null
+++ b/include/site/sparc-openwrt-linux-gnu
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/sparc-linux
+. $TOPDIR/include/site/linux-gnu
+
diff --git a/include/site/sparc-openwrt-linux-uclibc b/include/site/sparc-openwrt-linux-uclibc
new file mode 100644
index 000000000..7a56dbd42
--- /dev/null
+++ b/include/site/sparc-openwrt-linux-uclibc
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/sparc-linux
+. $TOPDIR/include/site/linux
+
diff --git a/include/site/x86_64-openwrt-linux-musl b/include/site/x86_64-openwrt-linux-musl
new file mode 100644
index 000000000..cc351dfef
--- /dev/null
+++ b/include/site/x86_64-openwrt-linux-musl
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+. $TOPDIR/include/site/x86_64-linux
+. $TOPDIR/include/site/linux-uclibc
+
diff --git a/include/target.mk b/include/target.mk
index b08167326..9b2e2401a 100644
--- a/include/target.mk
+++ b/include/target.mk
@@ -14,7 +14,7 @@ DEVICE_TYPE?=router
# Default packages - the really basic set
DEFAULT_PACKAGES:=base-files libc libgcc busybox dropbear mtd uci opkg hotplug2 netifd
# For router targets
-DEFAULT_PACKAGES.router:=dnsmasq iptables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall
+DEFAULT_PACKAGES.router:=dnsmasq iptables ip6tables ppp ppp-mod-pppoe kmod-ipt-nathelper firewall3 6relayd odhcp6c
DEFAULT_PACKAGES.bootloader:=
ifneq ($(DUMP),)
@@ -191,6 +191,7 @@ ifeq ($(DUMP),1)
ifneq ($(CONFIG_RTC_CLASS),)
FEATURES += rtc
endif
+ FEATURES += $(foreach v,v4 v5 v6 v7,$(if $(findstring -march=arm$(v),$(CFLAGS)),arm_$(v)))
# remove duplicates
FEATURES:=$(sort $(FEATURES))
@@ -198,7 +199,7 @@ ifeq ($(DUMP),1)
DEFAULT_CFLAGS_i386=-O2 -pipe -march=i486 -fno-caller-saves
DEFAULT_CFLAGS_x86_64=-O2 -pipe -march=athlon64 -fno-caller-saves
DEFAULT_CFLAGS_m68k=-Os -pipe -mcfv4e -fno-caller-saves
- DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -fno-caller-saves
+ DEFAULT_CFLAGS_mips=-Os -pipe -mips32 -mtune=mips32 -fno-caller-saves -mno-branch-likely
DEFAULT_CFLAGS_mipsel=$(DEFAULT_CFLAGS_mips)
DEFAULT_CFLAGS_mips64=-Os -pipe -mips64 -mtune=mips64 -mabi=64 -fno-caller-saves
DEFAULT_CFLAGS_mips64el=$(DEFAULT_CFLAGS_mips64)
diff --git a/include/toolchain-build.mk b/include/toolchain-build.mk
index d2fdb0281..a86f6aba7 100644
--- a/include/toolchain-build.mk
+++ b/include/toolchain-build.mk
@@ -11,8 +11,6 @@ REAL_STAGING_DIR_HOST:=$(STAGING_DIR_HOST)
STAGING_DIR_HOST:=$(TOOLCHAIN_DIR)
BUILD_DIR_HOST:=$(BUILD_DIR_TOOLCHAIN)
-TOOLCHAIN_JOBS?=$(if $(CONFIG_TOOLCHAIN_PARALLEL),-j$(CONFIG_PKG_BUILD_JOBS))
-
include $(INCLUDE_DIR)/host-build.mk
HOST_STAMP_PREPARED=$(HOST_BUILD_DIR)/.prepared
diff --git a/include/toplevel.mk b/include/toplevel.mk
index d37ddb917..b8608eeae 100644
--- a/include/toplevel.mk
+++ b/include/toplevel.mk
@@ -1,14 +1,16 @@
# Makefile for OpenWrt
#
-# Copyright (C) 2007-2011 OpenWrt.org
+# Copyright (C) 2007-2012 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
-RELEASE:=Attitude Adjustment
+RELEASE:=Barrier Breaker
PREP_MK= OPENWRT_BUILD= QUIET=0
+export IS_TTY=$(shell tty -s && echo 1 || echo 0)
+
include $(TOPDIR)/include/verbose.mk
ifeq ($(SDK),1)
@@ -22,10 +24,10 @@ OPENWRTVERSION:=$(RELEASE)$(if $(REVISION), ($(REVISION)))
export RELEASE
export REVISION
export OPENWRTVERSION
-export IS_TTY=$(shell tty -s && echo 1 || echo 0)
export LD_LIBRARY_PATH:=$(subst ::,:,$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib)
export DYLD_LIBRARY_PATH:=$(subst ::,:,$(if $(DYLD_LIBRARY_PATH),$(DYLD_LIBRARY_PATH):)$(STAGING_DIR_HOST)/lib)
export GIT_CONFIG_PARAMETERS='core.autocrlf=false'
+export MAKE_JOBSERVER=$(filter --jobserver%,$(MAKEFLAGS))
# prevent perforce from messing with the patch utility
unexport P4PORT P4USER P4CONFIG P4CLIENT
@@ -50,6 +52,8 @@ export SCAN_COOKIE
SUBMAKE:=umask 022; $(SUBMAKE)
+ULIMIT_FIX=_limit=`ulimit -n`; [ "$$_limit" = "unlimited" -o "$$_limit" -ge 1024 ] || ulimit -n 1024;
+
prepare-mk: FORCE ;
prepare-tmpinfo: FORCE
@@ -85,10 +89,15 @@ config-clean: FORCE
defconfig: scripts/config/conf prepare-tmpinfo FORCE
touch .config
- $< -D .config Config.in
+ $< --defconfig=.config Config.in
+
+confdefault-y=allyes
+confdefault-m=allmod
+confdefault-n=allno
+confdefault:=$(confdefault-$(CONFDEFAULT))
oldconfig: scripts/config/conf prepare-tmpinfo FORCE
- $< -$(if $(CONFDEFAULT),$(CONFDEFAULT),o) Config.in
+ $< --$(if $(confdefault),$(confdefault),old)config Config.in
menuconfig: scripts/config/mconf prepare-tmpinfo FORCE
if [ \! -e .config -a -e $(HOME)/.openwrt/defconfig ]; then \
@@ -143,12 +152,12 @@ prereq:: prepare-tmpinfo .config
@+$(PREP_MK) $(NO_TRACE_MAKE) -r -s prereq
@( \
cp .config tmp/.config; \
- ./scripts/config/conf -D tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \
+ ./scripts/config/conf --defconfig tmp/.config -w tmp/.config Config.in > /dev/null 2>&1; \
if ./scripts/kconfig.pl '>' .config tmp/.config | grep -q CONFIG; then \
- echo "WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!"; \
+ printf "$(_R)WARNING: your configuration is out of sync. Please run make menuconfig, oldconfig or defconfig!$(_N)\n" >&2; \
fi \
)
- @+$(SUBMAKE) -r $@
+ @+$(ULIMIT_FIX) $(SUBMAKE) -r $@
help:
cat README
diff --git a/include/verbose.mk b/include/verbose.mk
index 2e8ace442..d34f55fc4 100644
--- a/include/verbose.mk
+++ b/include/verbose.mk
@@ -27,6 +27,7 @@ endif
ifeq ($(IS_TTY),1)
ifneq ($(strip $(NO_COLOR)),1)
_Y:=\\033[33m
+ _R:=\\033[31m
_N:=\\033[m
endif
endif
@@ -36,6 +37,10 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),)
printf "$(_Y)%s$(_N)\n" "$(1)" >&8
endef
+ define ERROR_MESSAGE
+ printf "$(_R)%s$(_N)\n" "$(1)" >&8
+ endef
+
ifeq ($(QUIET),1)
ifneq ($(CURDIR),$(TOPDIR))
_DIR:=$(patsubst $(TOPDIR)/%,%,${CURDIR})
@@ -58,4 +63,5 @@ else
define MESSAGE
printf "%s\n" "$(1)"
endef
+ ERROR_MESSAGE=$(MESSAGE)
endif
diff --git a/include/version.mk b/include/version.mk
index 4687dcc2e..2bf709e56 100644
--- a/include/version.mk
+++ b/include/version.mk
@@ -40,4 +40,4 @@ VERSION_SED:=$(SED) 's,%U,$(VERSION_REPO),g' \
-e 's,%d,\L$(subst $(space),_,$(VERSION_DIST)),g' \
-e 's,%R,$(REVISION),g' \
-e 's,%T,$(BOARD),g' \
- -e 's,%S,$(BOARD)$(if $(SUBTARGET),/$(SUBTARGET)),g' \
+ -e 's,%S,$(BOARD)/$(if $(SUBTARGET),$(SUBTARGET),generic),g' \