From 80ff6a1d25d115bef8defadfcfefc81654901c64 Mon Sep 17 00:00:00 2001
From: Felix Fietkau <nbd@openwrt.org>
Date: Sun, 19 Nov 2006 20:30:11 +0000
Subject: [PATCH] autodetect atm, pci, usb, pcmcia features from kernel config
 file

SVN-Revision: 5586
---
 include/kernel-build.mk            | 17 +++++++++++++++++
 target/linux/ar7-2.4/Makefile      |  2 +-
 target/linux/aruba-2.6/Makefile    |  2 +-
 target/linux/au1000-2.6/Makefile   |  2 +-
 target/linux/brcm-2.4/Makefile     |  2 +-
 target/linux/brcm-2.6/Makefile     |  2 +-
 target/linux/brcm63xx-2.6/Makefile |  2 +-
 target/linux/ixp4xx-2.6/Makefile   |  2 +-
 target/linux/magicbox-2.6/Makefile |  2 +-
 target/linux/rb532-2.6/Makefile    |  2 +-
 target/linux/rdc-2.6/Makefile      |  2 +-
 target/linux/x86-2.6/Makefile      |  2 +-
 12 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/include/kernel-build.mk b/include/kernel-build.mk
index 4967dfb67e..8462319f0a 100644
--- a/include/kernel-build.mk
+++ b/include/kernel-build.mk
@@ -8,6 +8,23 @@ KERNEL_BUILD:=1
 
 include $(INCLUDE_DIR)/prereq.mk
 
+-include ./config
+ifneq ($(CONFIG_ATM),)
+  FEATURES += atm
+endif
+ifneq ($(CONFIG_PCI),)
+  FEATURES += pci
+endif
+ifneq ($(CONFIG_USB),)
+  FEATURES += usb
+endif
+ifneq ($(CONFIG_PCMCIA),)
+  FEATURES += pcmcia
+endif
+
+# remove duplicates
+FEATURES:=$(sort $(FEATURES))
+
 # For target profile selection - the default set
 DEFAULT_PACKAGES:=base-files libgcc uclibc bridge busybox dnsmasq dropbear iptables mtd ppp ppp-mod-pppoe mtd
 
diff --git a/target/linux/ar7-2.4/Makefile b/target/linux/ar7-2.4/Makefile
index df29ef269c..f59343756f 100644
--- a/target/linux/ar7-2.4/Makefile
+++ b/target/linux/ar7-2.4/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=ar7
 BOARDNAME:=TI AR7
-FEATURES:=atm squashfs jffs2
+FEATURES:=squashfs jffs2
 
 define Target/Description
 	Build firmware images for TI AR7 based routers (w.g. Linksys WAG54G v2)
diff --git a/target/linux/aruba-2.6/Makefile b/target/linux/aruba-2.6/Makefile
index 423e1e762b..e852adea10 100644
--- a/target/linux/aruba-2.6/Makefile
+++ b/target/linux/aruba-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mips
 BOARD:=aruba
 BOARDNAME:=Aruba
-FEATURES:=jffs2 pci usb
+FEATURES:=jffs2
 
 define Target/Description
 	Build firmware images for Aruba boards
diff --git a/target/linux/au1000-2.6/Makefile b/target/linux/au1000-2.6/Makefile
index 7b36c339ac..258990f8b7 100644
--- a/target/linux/au1000-2.6/Makefile
+++ b/target/linux/au1000-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=au1000
 BOARDNAME:=AMD Alchemy AU1x00
-FEATURES:=pci usb jffs2
+FEATURES:=jffs2
 
 define Target/Description
 	Build firmware for AMD Alchemy 1500 boards
diff --git a/target/linux/brcm-2.4/Makefile b/target/linux/brcm-2.4/Makefile
index 449219adb9..36160cf418 100644
--- a/target/linux/brcm-2.4/Makefile
+++ b/target/linux/brcm-2.4/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=brcm
 BOARDNAME:=Broadcom BCM947xx/953xx
-FEATURES:=pci usb pcmcia squashfs jffs2
+FEATURES:=squashfs jffs2
 
 define Target/Description
 	Build firmware images for Broadcom based routers
diff --git a/target/linux/brcm-2.6/Makefile b/target/linux/brcm-2.6/Makefile
index 960c29789a..7de48ac2a6 100644
--- a/target/linux/brcm-2.6/Makefile
+++ b/target/linux/brcm-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=brcm
 BOARDNAME:=Broadcom BCM947xx/953xx
-FEATURES:=pci usb pcmcia squashfs jffs2
+FEATURES:=squashfs jffs2
 
 define Target/Description
 	Build firmware images for Broadcom based routers
diff --git a/target/linux/brcm63xx-2.6/Makefile b/target/linux/brcm63xx-2.6/Makefile
index 7e61c731ba..70ff003ddd 100644
--- a/target/linux/brcm63xx-2.6/Makefile
+++ b/target/linux/brcm63xx-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mips
 BOARD:=brcm63xx
 BOARDNAME:=Broadcom BCM963xx
-FEATURES:=pci usb atm squashfs jffs2
+FEATURES:=squashfs jffs2
 
 define Target/Description
 	Build firmware images for Broadcom based xDSL/routers
diff --git a/target/linux/ixp4xx-2.6/Makefile b/target/linux/ixp4xx-2.6/Makefile
index 86df91fd82..0156414b11 100644
--- a/target/linux/ixp4xx-2.6/Makefile
+++ b/target/linux/ixp4xx-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=arm
 BOARD:=ixp4xx
 BOARDNAME:=Intel XScale IXP4xx
-FEATURES:=pci usb jffs2
+FEATURES:=jffs2
 
 define Target/Description
 endef
diff --git a/target/linux/magicbox-2.6/Makefile b/target/linux/magicbox-2.6/Makefile
index d51c8e483b..5e36e82c42 100644
--- a/target/linux/magicbox-2.6/Makefile
+++ b/target/linux/magicbox-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=powerpc
 BOARD:=magicbox
 BOARDNAME:=Magicbox
-FEATURES:=pci jffs2
+FEATURES:=jffs2
 
 LINUX_VERSION:=2.6.17
 LINUX_RELEASE:=1
diff --git a/target/linux/rb532-2.6/Makefile b/target/linux/rb532-2.6/Makefile
index 35c4f6d6fa..e59b32cd8b 100644
--- a/target/linux/rb532-2.6/Makefile
+++ b/target/linux/rb532-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=mipsel
 BOARD:=rb532
 BOARDNAME:=Mikrotik RouterBoard 532
-FEATURES:=pci jffs2
+FEATURES:=jffs2
 
 LINUX_VERSION:=2.6.17
 LINUX_RELEASE:=1
diff --git a/target/linux/rdc-2.6/Makefile b/target/linux/rdc-2.6/Makefile
index 10a4872ac6..3d48de7f5d 100644
--- a/target/linux/rdc-2.6/Makefile
+++ b/target/linux/rdc-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH:=i386
 BOARD:=rdc
 BOARDNAME:=RDC x86
-FEATURES:=broken pci jffs2
+FEATURES:=broken jffs2
 
 define Target/Description
         Build firmware images for RDC3211 based routers
diff --git a/target/linux/x86-2.6/Makefile b/target/linux/x86-2.6/Makefile
index 8676aab8cf..1c61bd3195 100644
--- a/target/linux/x86-2.6/Makefile
+++ b/target/linux/x86-2.6/Makefile
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 ARCH=i386
 BOARD:=x86
 BOARDNAME:=x86
-FEATURES:=pci usb atm pcmcia jffs2 ext2
+FEATURES:=jffs2 ext2
 
 LINUX_VERSION:=2.6.17
 LINUX_RELEASE:=1
-- 
GitLab