History

kconfig: refactor GTK+ package checks for building gconf

Refactor the package checks for gconf in the same way as for qconf.

Masahiro Yamada committed 8 years ago

Commit b464ef51 parent 0b669a52 files · +32 −34Browse files

Unified · Split

2 files
  1. scripts/kconfig/Makefile +9 −34
  2. scripts/kconfig/gconf-cfg.sh +23 −0
scripts/kconfig/Makefile+9−34
@@ -188,8 +188,6 @@ HOST_EXTRACFLAGS += $(shell $(CONFIG_SHELL) $(check-lxdialog) -ccflags) \ · 187 unmodified lines
188# Utilizes ncurses188# Utilizes ncurses
189# mconf: Used for the menuconfig target189# mconf: Used for the menuconfig target
190# Utilizes the lxdialog package190# 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 flavours191# object files used by all kconfig flavours
194 192
195lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o193lxdialog := lxdialog/checklist.o lxdialog/util.o lxdialog/inputbox.o
@@ -199,12 +197,10 @@ conf-objs := conf.o zconf.tab.o · 3 unmodified lines
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.o198nconf-objs := nconf.o zconf.tab.o nconf.gui.o
201kxgettext-objs := kxgettext.o zconf.tab.o199kxgettext-objs := kxgettext.o zconf.tab.o
202gconf-objs := gconf.o zconf.tab.o
203 200
204hostprogs-y := conf nconf mconf kxgettext gconf201hostprogs-y := conf nconf mconf kxgettext
205 202
206targets += zconf.lex.c203targets += zconf.lex.c
207clean-files := .tmp_gtkcheck
208clean-files += gconf.glade.h204clean-files += gconf.glade.h
209clean-files += config.pot linux.pot205clean-files += config.pot linux.pot
210 206
@@ -224,10 +220,6 @@ HOST_EXTRACXXFLAGS += $(shell $(CONFIG_SHELL) $(srctree)/$(src)/check.sh $(HOSTC · 13 unmodified lines
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 $@ · 17 unmodified lines
251$(obj)/%.moc: $(src)/%.h $(obj)/.qconf-cfg243$(obj)/%.moc: $(src)/%.h $(obj)/.qconf-cfg
252 $(call cmd,moc)244 $(call cmd,moc)
253 245
254$(obj)/gconf.o: $(obj)/.tmp_gtkcheck246# 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_gtkcheck249
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.c255$(obj)/zconf.tab.o: $(obj)/zconf.lex.c
281 256
scripts/kconfig/gconf-cfg.sh+23−0
@@ -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)\"