Revision: 1688 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=1688&view=re... Author: colombanw Date: 2010-10-28 21:02:33 +0000 (Thu, 28 Oct 2010)
Log Message: ----------- Build system: don't force building the Treebrowser plugin
If the dependencies of the Treebrowser plugin are not met, simply disable the plugin rather than abort the whole build.
Also add checks for creat(), sys/types.h, sys/stat.h and fcntl.h, and fix the check for GIO to correctly handle the case it's not available.
Modified Paths: -------------- trunk/geany-plugins/build/treebrowser.m4 trunk/geany-plugins/treebrowser/Makefile.am trunk/geany-plugins/treebrowser/src/Makefile.am trunk/geany-plugins/wscript
Modified: trunk/geany-plugins/build/treebrowser.m4 =================================================================== --- trunk/geany-plugins/build/treebrowser.m4 2010-10-28 16:57:20 UTC (rev 1687) +++ trunk/geany-plugins/build/treebrowser.m4 2010-10-28 21:02:33 UTC (rev 1688) @@ -1,8 +1,29 @@ AC_DEFUN([GP_CHECK_TREEBROWSER], [ + AC_ARG_ENABLE(treebrowser, + AC_HELP_STRING([--enable-treebrowser=ARG], + [Enable TreeBrowser plugin [[default=auto]]]),, + [enable_treebrowser=auto]) + + treebrowser_have_creat=yes + AC_CHECK_HEADERS([sys/types.h sys/stat.h fcntl.h], + [], [treebrowser_have_creat=no]) + AC_CHECK_FUNC([creat], [], [treebrowser_have_creat=no]) PKG_CHECK_MODULES([GIO], [gio-2.0], - [AC_DEFINE([HAVE_GIO], 1, [Whether we have GIO])], []) - GP_STATUS_PLUGIN_ADD([Treebrowser], [yes]) + [AC_DEFINE([HAVE_GIO], 1, [Whether we have GIO])], + [AC_MSG_NOTICE([Treebrowser GIO support is disabled because of the following problem: $GIO1_PKG_ERRORS])]) + + if test "x$enable_treebrowser" = "xauto"; then + enable_treebrowser="$treebrowser_have_creat" + elif test "x$enable_treebrowser" = "xyes"; then + if ! test "x$treebrowser_have_creat" = "xyes"; then + AC_MSG_ERROR([missing function creat()]) + fi + fi + + AM_CONDITIONAL(ENABLE_TREEBROWSER, test "x$enable_treebrowser" = "xyes") + GP_STATUS_PLUGIN_ADD([TreeBrowser], [$enable_treebrowser]) + AC_CONFIG_FILES([ treebrowser/Makefile treebrowser/src/Makefile
Modified: trunk/geany-plugins/treebrowser/Makefile.am =================================================================== --- trunk/geany-plugins/treebrowser/Makefile.am 2010-10-28 16:57:20 UTC (rev 1687) +++ trunk/geany-plugins/treebrowser/Makefile.am 2010-10-28 21:02:33 UTC (rev 1688) @@ -1,4 +1,9 @@ +if ENABLE_TREEBROWSER include $(top_srcdir)/build/vars.auxfiles.mk +else +include $(top_srcdir)/build/vars.docs.mk +EXTRA_DIST = $(AUXFILES) +endif
SUBDIRS = src plugin = treebrowser
Modified: trunk/geany-plugins/treebrowser/src/Makefile.am =================================================================== --- trunk/geany-plugins/treebrowser/src/Makefile.am 2010-10-28 16:57:20 UTC (rev 1687) +++ trunk/geany-plugins/treebrowser/src/Makefile.am 2010-10-28 21:02:33 UTC (rev 1688) @@ -1,6 +1,11 @@ include $(top_srcdir)/build/vars.build.mk
+if ENABLE_TREEBROWSER geanyplugins_LTLIBRARIES = treebrowser.la +else +EXTRA_LTLIBRARIES = treebrowser.la +endif + treebrowser_la_SOURCES = treebrowser.c treebrowser_la_CFLAGS = $(AM_CFLAGS) $(GIO_CFLAGS) treebrowser_la_LIBADD = $(COMMONLIBS) $(GIO_LIBS)
Modified: trunk/geany-plugins/wscript =================================================================== --- trunk/geany-plugins/wscript 2010-10-28 16:57:20 UTC (rev 1687) +++ trunk/geany-plugins/wscript 2010-10-28 21:02:33 UTC (rev 1688) @@ -104,7 +104,11 @@ [ 'lua-5.1', '5.1', False ] ]), Plugin('GeanyPrj', None, [ 'geanyprj/src' ]), Plugin('Pretty-Printer', None, [ 'pretty-printer/src' ], [ [ 'libxml-2.0', '2.6.27', True ] ]), - Plugin('TreeBrowser', None, [ 'treebrowser/src' ], [ [ 'gio-2.0', '2.16', False ] ]), + Plugin('TreeBrowser', None, [ 'treebrowser/src' ], + [ [ 'gio-2.0', '2.16', False ], + [ 'sys/types.h', '', True ], + [ 'sys/stat.h', '', True ], + [ 'fcntl.h', '', True] ]), Plugin('Updatechecker', None, [ 'updatechecker/src' ], [ ['libsoup-2.4', '2.4.0', True] ]) ]
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.