Hi,

I have been catching up with latest changes on a BSD system and their has been a regression in the build over the last month. This seems to have started with 7.4.994 to replace gdk_pixbuf_new_from_inline().

Two issues

1) Makefile can no longer be used with BSD make, it requires gmake. This would be a new dependency when building on BSD systems. The error message is:

Using $< in a non-suffix rule context is a GNUmake idiom (Makefile:2651)

which is the rule for auto/gui_gtk_gresources.h. There will be the same issue for the .c version of the file. Just need to manually expand $< which leads on to the next problem.

2) Build failure on BSD systems using older versions of gdk-pixbuf. The same problem occurs with gmake but the build continues. For these systems GLIB_COMPILE_RESOURCES does not get defined so when make runs the rule it attempts to run the arguments to glib-compile-resources. For BSD make this results in the following:

--target=auto/gui_gtk_gresources.h --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml
/bin/sh: /bin/sh: --: unknown option
*** Error 1 in src (Makefile:2651 'auto/gui_gtk_gresources.h')

With gmake:

target=auto/gui_gtk_gresources.h --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml
/bin/sh: --sourcedir=../pixmaps: not found
Makefile:2651: recipe for target 'auto/gui_gtk_gresources.h' failed
gmake[1]: [auto/gui_gtk_gresources.h] Error 127 (ignored)

Attached is a diff to fix these issues (overly long lines though), but I have not tested with a system with the required version of gdk-pixbuf. I also see that running make twice in a row builds gui_gtk_x11.c each time, although no code has changed.

I assume Unix systems with older versions gdk-pixbuf would continue work ok with the older API. If so, then building current VIM on them has lost functionality which seems a shame.

TTFN

Mike
--
I'm discriminating. You're choosy. He's picky.

--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- You received this message because you are subscribed to the Google Groups "vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.
diff --git a/src/Makefile b/src/Makefile
--- a/src/Makefile
+++ b/src/Makefile
@@ -2646,9 +2646,9 @@ GUI_GTK_RES_INPUTS = \
        ../pixmaps/stock_vim_window_split_vertical.png

 auto/gui_gtk_gresources.c: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
-      $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
+      if test -n "$(GLIB_COMPILE_RESOURCES)"; then $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml; fi
 auto/gui_gtk_gresources.h: gui_gtk_res.xml $(GUI_GTK_RES_INPUTS)
-      $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register $<
+      if test -n "$(GLIB_COMPILE_RESOURCES)"; then $(GLIB_COMPILE_RESOURCES) --target=$@ --sourcedir=../pixmaps --generate --c-name=gui_gtk --manual-register gui_gtk_res.xml; fi

 # All the object files are put in the "objects" directory.  Since not all make
 # commands understand putting object files in another directory, it must be

Raspunde prin e-mail lui