GNOME Bugzilla – Bug 633381
gsettings Makefile rules should handle empty list of settings
Last modified: 2011-01-17 13:11:45 UTC
Snippet from gnome-bluetooth/sendto/Makefile.am === if HAVE_NST plugindir = $(libdir)/nautilus-sendto/plugins plugin_LTLIBRARIES = libnstbluetooth.la libnstbluetooth_la_SOURCES = nautilus-sendto-plugin.c libnstbluetooth_la_LDFLAGS = -module -avoid-version libnstbluetooth_la_LIBADD = $(BLUETOOTH_LIBS) ../lib/libgnome-bluetooth.la convertdir=$(datadir)/GConf/gsettings convert_DATA=gnome-bluetooth-nst gsettingsschema_in_files = org.gnome.Bluetooth.nst.gschema.xml.in gsettings_SCHEMAS = $(gsettingsschema_in_files:.xml.in=.xml) @INTLTOOL_XML_NOMERGE_RULE@ @GSETTINGS_RULES@ endif === If HAVE_NST isn't defined, dies with: /usr/bin/install -c -m 644 "/home/otaylor/gnome-shell/install/share/glib-2.0/schemas" /usr/bin/install: missing destination file operand after `/home/otaylor/gnome-shell/install/share/glib-2.0/schemas'
(Yes, it's dubious to have the @INTLTOOL@ and @GSETTINGS@ substitutions inside the conditionals, since Automake will just comment out the first line and leave the rest, I think, but refactoring things to moving the @GSETTINGS@ conditional out doesn't help)
Created attachment 173843 [details] [review] gsettings.m4: Fix rules to work when there are no schemas If there are no schemas, don't try to install "" at install time. (In particular, automake conditionals don't work properly with @-expanded rules, so if you conditionally build a schema, you'll still unconditionally get the install rule.)
Review of attachment 173843 [details] [review]: looks right, thanks. assuming you've tested the two obvious cases, please commit.
Attachment 173843 [details] pushed as 393834a - gsettings.m4: Fix rules to work when there are no schemas
*** Bug 639249 has been marked as a duplicate of this bug. ***