aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-22 03:22:20 -0400
committerMasahiro Yamada <yamada.masahiro@socionext.com>2018-05-28 05:25:21 -0400
commitb464ef583dc71bb066ea83bda43317196f94da9c (patch)
tree36d52807e15d8232ea567f1b0404bf916879d8ef /scripts
parent0b669a5076fd8c4b0dc6f21e41f93b1102c52925 (diff)
kconfig: refactor GTK+ package checks for building gconf
Refactor the package checks for gconf in the same way as for qconf. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Tested-by: Randy Dunlap <rdunlap@infradead.org> Acked-by: Randy Dunlap <rdunlap@infradead.org> Reviewed-by: Sam Ravnborg <sam@ravnborg.org>
Diffstat (limited to 'scripts')
-rw-r--r--scripts/kconfig/Makefile43
-rwxr-xr-xscripts/kconfig/gconf-cfg.sh23
2 files changed, 32 insertions, 34 deletions
diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile
index e9a87bff370b..c2227455a2f8 100644
--- a/scripts/kconfig/Makefile
+++ b/scripts/kconfig/Makefile
@@ -188,8 +188,6 @@ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \
188# Utilizes ncurses 188# Utilizes ncurses
189# mconf: Used for the menuconfig target 189# mconf: Used for the menuconfig target
190# Utilizes the lxdialog package 190# Utilizes the lxdialog package
191# gconf: Used for the gconfig target
192# Based on GTK+ which needs to be installed to compile it
193# object files used by all kconfig flavours 191# object files used by all kconfig flavours
194 192
195lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o 193lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
@@ -199,12 +197,10 @@ conf-objs := conf.o zconf.tab.o
199mconf-objs := mconf.o zconf.tab.o $(lxdialog) 197mconf-objs := mconf.o zconf.tab.o $(lxdialog)
200nconf-objs := nconf.o zconf.tab.o nconf.gui.o 198nconf-objs := nconf.o zconf.tab.o nconf.gui.o
201kxgettext-objs := kxgettext.o zconf.tab.o 199kxgettext-objs := kxgettext.o zconf.tab.o
202gconf-objs := gconf.o zconf.tab.o
203 200
204hostprogs-y := conf nconf mconf kxgettext gconf 201hostprogs-y := conf nconf mconf kxgettext
205 202
206targets += zconf.lex.c 203targets += zconf.lex.c
207clean-files := .tmp_gtkcheck
208clean-files += gconf.glade.h 204clean-files += gconf.glade.h
209clean-files += config.pot linux.pot 205clean-files += config.pot linux.pot
210 206
@@ -224,10 +220,6 @@ HOST_EXTRACXXFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTC
224HOSTCFLAGS_zconf.lex.o := -I$(src) 220HOSTCFLAGS_zconf.lex.o := -I$(src)
225HOSTCFLAGS_zconf.tab.o := -I$(src) 221HOSTCFLAGS_zconf.tab.o := -I$(src)
226 222
227HOSTLOADLIBES_gconf = `pkg-config --libs gtk+-2.0 gmodule-2.0 libglade-2.0`
228HOSTCFLAGS_gconf.o = `pkg-config --cflags gtk+-2.0 gmodule-2.0 libglade-2.0` \
229 -Wno-missing-prototypes
230
231HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC)) 223HOSTLOADLIBES_mconf = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))
232 224
233HOSTLOADLIBES_nconf = $(shell \ 225HOSTLOADLIBES_nconf = $(shell \
@@ -251,31 +243,14 @@ quiet_cmd_moc = MOC $@
251$(obj)/%.moc: $(src)/%.h $(obj)/.qconf-cfg 243$(obj)/%.moc: $(src)/%.h $(obj)/.qconf-cfg
252 $(call cmd,moc) 244 $(call cmd,moc)
253 245
254$(obj)/gconf.o: $(obj)/.tmp_gtkcheck 246# gconf: Used for the gconfig target based on GTK+
255 247hostprogs-y += gconf
256ifeq ($(MAKECMDGOALS),gconfig) 248gconf-objs := gconf.o zconf.tab.o
257-include $(obj)/.tmp_gtkcheck 249
258 250HOSTLOADLIBES_gconf = $(shell . $(obj)/.gconf-cfg && echo $$libs)
259# GTK+ needs some extra effort, too... 251HOSTCFLAGS_gconf.o = $(shell . $(obj)/.gconf-cfg && echo $$cflags)
260$(obj)/.tmp_gtkcheck: 252
261 @if `pkg-config --exists gtk+-2.0 gmodule-2.0 libglade-2.0`; then \ 253$(obj)/gconf.o: $(obj)/.gconf-cfg
262 if `pkg-config --atleast-version=2.0.0 gtk+-2.0`; then \
263 touch $@; \
264 else \
265 echo >&2 "*"; \
266 echo >&2 "* GTK+ is present but version >= 2.0.0 is required."; \
267 echo >&2 "*"; \
268 false; \
269 fi \
270 else \
271 echo >&2 "*"; \
272 echo >&2 "* Unable to find the GTK+ installation. Please make sure that"; \
273 echo >&2 "* the GTK+ 2.0 development package is correctly installed..."; \
274 echo >&2 "* You need gtk+-2.0, glib-2.0 and libglade-2.0."; \
275 echo >&2 "*"; \
276 false; \
277 fi
278endif
279 254
280$(obj)/zconf.tab.o: $(obj)/zconf.lex.c 255$(obj)/zconf.tab.o: $(obj)/zconf.lex.c
281 256
diff --git a/scripts/kconfig/gconf-cfg.sh b/scripts/kconfig/gconf-cfg.sh
new file mode 100755
index 000000000000..533b3d8f8f08
--- /dev/null
+++ b/scripts/kconfig/gconf-cfg.sh
@@ -0,0 +1,23 @@
1#!/bin/sh
2# SPDX-License-Identifier: GPL-2.0
3
4PKG="gtk+-2.0 gmodule-2.0 libglade-2.0"
5
6if ! pkg-config --exists $PKG; then
7 echo >&2 "*"
8 echo >&2 "* Unable to find the GTK+ installation. Please make sure that"
9 echo >&2 "* the GTK+ 2.0 development package is correctly installed."
10 echo >&2 "* You need $PKG"
11 echo >&2 "*"
12 exit 1
13fi
14
15if ! pkg-config --atleast-version=2.0.0 gtk+-2.0; then
16 echo >&2 "*"
17 echo >&2 "* GTK+ is present but version >= 2.0.0 is required."
18 echo >&2 "*"
19 exit 1
20fi
21
22echo cflags=\"$(pkg-config --cflags $PKG)\"
23echo libs=\"$(pkg-config --libs $PKG)\"