summaryrefslogtreecommitdiffstats
path: root/package/config
diff options
context:
space:
mode:
authorAlper Yildirim <ayildirim@aselsan.com>2009-07-20 19:17:10 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2009-07-27 16:07:00 +0200
commitb0df9df39ad76bdf89d1f58996cd4a1c2632b47c (patch)
treeb7c7c6150b093b7eb34e6b46e4383491d9bb21bb /package/config
parent4b3e11b3e7d00881878f45cddbfe8f4bf07d1ebe (diff)
downloadbuildroot-novena-b0df9df39ad76bdf89d1f58996cd4a1c2632b47c.tar.gz
buildroot-novena-b0df9df39ad76bdf89d1f58996cd4a1c2632b47c.zip
config: Add support for xconfig
It involved: * Modifying the top-level Makefile to create the xconfig target, and the $(CONFIG)/qconf target to compile the qconf utility * Modifying the package/config/Makefile magic so that C++ files and binaries gets linked properly, re-using the package/config/Makefile.kconfig logic inherited from the kernel * Hacking a little bit package/config/Makefile.kconfig in a way similar to the modifications done for the mconf (menuconfig interface) Signed-off-by: Alper Yildirim <ayildirim@aselsan.com>
Diffstat (limited to 'package/config')
-rw-r--r--package/config/Makefile9
-rw-r--r--package/config/Makefile.kconfig4
-rw-r--r--package/config/kconfig-to-buildroot2.patch14
3 files changed, 24 insertions, 3 deletions
diff --git a/package/config/Makefile b/package/config/Makefile
index 3af4bd8de..a2184fa3c 100644
--- a/package/config/Makefile
+++ b/package/config/Makefile
@@ -14,7 +14,10 @@ __hostprogs := $(sort $(hostprogs-y) $(hostprogs-m))
host-csingle := $(foreach m,$(__hostprogs),$(if $($(m)-objs),,$(m)))
host-cmulti := $(foreach m,$(__hostprogs),\
$(if $($(m)-cxxobjs),,$(if $($(m)-objs),$(m))))
+host-cxxmulti := $(foreach m,$(__hostprogs),\
+ $(if $($(m)-cxxobjs),$(m),$(if $($(m)-objs),)))
host-cobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-objs)))
+host-cxxobjs := $(sort $(foreach m,$(__hostprogs),$($(m)-cxxobjs)))
$(host-csingle): %: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $< $(HOST_LOADLIBES) -o $@
@@ -22,9 +25,15 @@ $(host-csingle): %: %.c
$(host-cmulti): %: $(host-cobjs) $(host-cshlib)
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $(HOST_LOADLIBES) -o $@
+$(host-cxxmulti): %: $(host-cxxobjs) $(host-cobjs) $(host-cshlib)
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) $($@-objs) $($@-cxxobjs) $(HOSTLOADLIBES_$@) -o $@
+
$(host-cobjs): %.o: %.c
$(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCFLAGS_$@) -c $< -o $@
+$(host-cxxobjs): %.o: %.cc
+ $(HOSTCC) $(HOST_EXTRACFLAGS) $(HOSTCFLAGS) $(HOSTCXXFLAGS_$@) -c $< -o $@
+
$(obj)/%:: $(src)/%_shipped
$(Q)cat $< > $@
diff --git a/package/config/Makefile.kconfig b/package/config/Makefile.kconfig
index 747f23d4c..6974cc3b5 100644
--- a/package/config/Makefile.kconfig
+++ b/package/config/Makefile.kconfig
@@ -131,6 +131,10 @@ endif
ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1
endif
+ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf)
+ qconf-target := 1
+endif
+
ifeq ($(MAKECMDGOALS),gconfig)
gconf-target := 1
endif
diff --git a/package/config/kconfig-to-buildroot2.patch b/package/config/kconfig-to-buildroot2.patch
index e89046b73..8e7ce42ad 100644
--- a/package/config/kconfig-to-buildroot2.patch
+++ b/package/config/kconfig-to-buildroot2.patch
@@ -1,5 +1,5 @@
---
- Makefile | 3 +
+ Makefile | 7 +++
README.buildroot2 | 22 ++++++++++
conf.c | 13 ++----
confdata.c | 101 ++++++++++++++++++++++++++------------------------
@@ -10,13 +10,13 @@
util.c | 105 +++++++++++++++++++++++++++++++++++++++++++++++++++-
zconf.tab.c_shipped | 2
zconf.y | 2
- 11 files changed, 234 insertions(+), 101 deletions(-)
+ 11 files changed, 238 insertions(+), 101 deletions(-)
Index: config/Makefile
===================================================================
--- config.orig/Makefile
+++ config/Makefile
-@@ -124,6 +124,9 @@
+@@ -124,10 +124,17 @@
ifeq ($(MAKECMDGOALS),menuconfig)
hostprogs-y += mconf
endif
@@ -26,6 +26,14 @@ Index: config/Makefile
ifeq ($(MAKECMDGOALS),xconfig)
qconf-target := 1
+ endif
++ifeq ($(findstring qconf,$(MAKECMDGOALS)),qconf)
++ qconf-target := 1
++endif
++
+ ifeq ($(MAKECMDGOALS),gconfig)
+ gconf-target := 1
+ endif
Index: config/README.buildroot2
===================================================================
--- /dev/null