SF.net SVN: geany-plugins:[2080] trunk/geany-plugins

codebrainz at users.sourceforge.net codebrainz at xxxxx
Mon May 23 11:21:58 UTC 2011


Revision: 2080
          http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=2080&view=rev
Author:   codebrainz
Date:     2011-05-23 11:21:57 +0000 (Mon, 23 May 2011)

Log Message:
-----------
Make 'man' program a runtime dependency rather than a compile-time one.

Modified Paths:
--------------
    trunk/geany-plugins/build/devhelp.m4
    trunk/geany-plugins/devhelp/src/Makefile.am
    trunk/geany-plugins/devhelp/src/devhelpplugin.c
    trunk/geany-plugins/devhelp/src/devhelpplugin.h
    trunk/geany-plugins/devhelp/src/manpages.c

Modified: trunk/geany-plugins/build/devhelp.m4
===================================================================
--- trunk/geany-plugins/build/devhelp.m4	2011-05-23 10:03:13 UTC (rev 2079)
+++ trunk/geany-plugins/build/devhelp.m4	2011-05-23 11:21:57 UTC (rev 2080)
@@ -7,13 +7,6 @@
     WEBKIT_VERSION=1.1.18
     DEVHELP_VERSION=2.30.1
 
-    AC_CHECK_PROG([MAN], [man], [yes], [no])
-    if [[ x"$MAN" = "xyes" ]]; then
-        AC_SUBST([HAVE_MAN_PROG], 1)
-	else
-		AC_SUBST([HAVE_MAN_PROG], 0)
-	fi
-
     GP_CHECK_PLUGIN_DEPS([devhelp], [DEVHELP],
 						 [gtk+-2.0 >= ${GTK_VERSION}
 						  glib-2.0 >= ${GLIB_VERSION}

Modified: trunk/geany-plugins/devhelp/src/Makefile.am
===================================================================
--- trunk/geany-plugins/devhelp/src/Makefile.am	2011-05-23 10:03:13 UTC (rev 2079)
+++ trunk/geany-plugins/devhelp/src/Makefile.am	2011-05-23 11:21:57 UTC (rev 2080)
@@ -24,8 +24,7 @@
 devhelp_la_CFLAGS = \
 	$(AM_CFLAGS) \
 	$(DEVHELP_CFLAGS) \
-	-DDHPLUG_DATA_DIR=\"$(plugindatadir)\" \
-	-DHAVE_MAN_PROG=$(HAVE_MAN_PROG)
+	-DDHPLUG_DATA_DIR=\"$(plugindatadir)\"
 
 devhelp_la_LIBADD = $(DEVHELP_LIBS)
 

Modified: trunk/geany-plugins/devhelp/src/devhelpplugin.c
===================================================================
--- trunk/geany-plugins/devhelp/src/devhelpplugin.c	2011-05-23 10:03:13 UTC (rev 2079)
+++ trunk/geany-plugins/devhelp/src/devhelpplugin.c	2011-05-23 11:21:57 UTC (rev 2080)
@@ -19,6 +19,7 @@
  * MA 02110-1301, USA.
  */
 
+#include <stdlib.h>
 #include <gtk/gtk.h>
 #include <geanyplugin.h>
 
@@ -69,6 +70,8 @@
     GtkToolItem*	btn_back;			/* the webkit browser back button in the toolbar */
     GtkToolItem*	btn_forward;		/* the webkit browser forward button in the toolbar */
 
+    gboolean		have_man;			/* whether or not the 'man' program is available on load */
+
 };
 
 
@@ -80,9 +83,7 @@
 
 /* Internal callbacks */
 static void on_search_help_activate(GtkMenuItem * menuitem, DevhelpPlugin *self);
-#ifdef HAVE_MAN
 static void on_search_help_man_activate(GtkMenuItem * menuitem, DevhelpPlugin *self);
-#endif
 static void on_search_help_code_activate(GtkMenuItem *menuitem, DevhelpPlugin *self);
 static void on_editor_menu_popup(GtkWidget * widget, DevhelpPlugin *self);
 static void on_link_clicked(GObject * ignored, DhLink * dhlink, DevhelpPlugin *self);
@@ -126,9 +127,7 @@
 	if (self->priv->last_uri != NULL)
 		g_free(self->priv->last_uri);
 
-#ifdef HAVE_MAN
 	devhelp_plugin_remove_manpages_temp_files();
-#endif
 
 	G_OBJECT_CLASS(devhelp_plugin_parent_class)->finalize(object);
 }
@@ -182,10 +181,7 @@
 /* Initialize the stuff in the editor's context menu */
 static void devhelp_plugin_init_edit_menu(DevhelpPlugin *self)
 {
-	GtkWidget *doc_menu, *devhelp_item, *code_item;
-#ifdef HAVE_MAN
-	GtkWidget *man_item;
-#endif
+	GtkWidget *doc_menu, *devhelp_item, *code_item, *man_item;
 	DevhelpPluginPrivate *p;
 
 	g_return_if_fail(self != NULL);
@@ -201,12 +197,13 @@
 	g_signal_connect(devhelp_item, "activate", G_CALLBACK(on_search_help_activate), self);
 	gtk_widget_show(devhelp_item);
 
-#ifdef HAVE_MAN
-	man_item = gtk_menu_item_new_with_label(_("Manual Pages"));
-	gtk_menu_shell_append(GTK_MENU_SHELL(doc_menu), man_item);
-	g_signal_connect(man_item, "activate", G_CALLBACK(on_search_help_man_activate), self);
-	gtk_widget_show(man_item);
-#endif
+	if (p->have_man)
+	{
+		man_item = gtk_menu_item_new_with_label(_("Manual Pages"));
+		gtk_menu_shell_append(GTK_MENU_SHELL(doc_menu), man_item);
+		g_signal_connect(man_item, "activate", G_CALLBACK(on_search_help_man_activate), self);
+		gtk_widget_show(man_item);
+	}
 
 	code_item = gtk_menu_item_new_with_label(_("Google Code"));
 	gtk_menu_shell_append(GTK_MENU_SHELL(doc_menu), code_item);
@@ -339,6 +336,7 @@
 
 	p->doc_notebook = geany->main_widgets->notebook;
 	p->main_notebook = main_notebook_get(); /* see main-notebook.c */
+	p->have_man = system("man --version") == 0;
 
 	devhelp_plugin_init_edit_menu(self);
 	devhelp_plugin_init_sidebar(self);
@@ -386,7 +384,6 @@
  * @param dhplug	Devhelp plugin
  * @param term		The string to search for
  */
-#ifdef HAVE_MAN
 void devhelp_plugin_search_manpages(DevhelpPlugin *self, const gchar *term)
 {
 	gchar *man_fn;
@@ -405,7 +402,6 @@
 
 	devhelp_plugin_activate_webview_tab(self);
 }
-#endif
 
 
 /**
@@ -858,7 +854,6 @@
 
 
 /* Called when the editor menu item is selected */
-#ifdef HAVE_MAN
 static void on_search_help_man_activate(GtkMenuItem * menuitem, DevhelpPlugin *self)
 {
 	gchar *current_tag;
@@ -872,7 +867,6 @@
 
 	g_free(current_tag);
 }
-#endif
 
 
 static void on_search_help_code_activate(GtkMenuItem *menuitem, DevhelpPlugin *self)

Modified: trunk/geany-plugins/devhelp/src/devhelpplugin.h
===================================================================
--- trunk/geany-plugins/devhelp/src/devhelpplugin.h	2011-05-23 10:03:13 UTC (rev 2079)
+++ trunk/geany-plugins/devhelp/src/devhelpplugin.h	2011-05-23 11:21:57 UTC (rev 2080)
@@ -28,11 +28,6 @@
 G_BEGIN_DECLS
 
 
-#if HAVE_MAN_PROG == 1
-#define HAVE_MAN
-#endif
-
-
 #ifndef DHPLUG_DATA_DIR
 #define DHPLUG_DATA_DIR "/usr/local/share/geany-devhelp"
 #endif
@@ -87,9 +82,7 @@
 void			devhelp_plugin_activate_ui			(DevhelpPlugin *self, gboolean show_search_tab);
 void 			devhelp_plugin_search				(DevhelpPlugin *self, const gchar *term);
 void 			devhelp_plugin_search_books			(DevhelpPlugin *self, const gchar *term);
-#ifdef HAVE_MAN
 void 			devhelp_plugin_search_manpages		(DevhelpPlugin *self, const gchar *term);
-#endif
 void			devhelp_plugin_search_code			(DevhelpPlugin *self, const gchar *term, const gchar *lang);
 
 const gchar*	devhelp_plugin_get_last_uri			(DevhelpPlugin *self);
@@ -110,10 +103,8 @@
 WebKitWebView*	devhelp_plugin_get_webview				(DevhelpPlugin *self);
 
 
-#ifdef HAVE_MAN
 gchar *devhelp_plugin_manpages_search(const gchar *term, const gchar *section);
 void devhelp_plugin_remove_manpages_temp_files(void);
-#endif
 
 
 void devhelp_plugin_search_code(DevhelpPlugin *self, const gchar *term, const gchar *lang);

Modified: trunk/geany-plugins/devhelp/src/manpages.c
===================================================================
--- trunk/geany-plugins/devhelp/src/manpages.c	2011-05-23 10:03:13 UTC (rev 2079)
+++ trunk/geany-plugins/devhelp/src/manpages.c	2011-05-23 11:21:57 UTC (rev 2080)
@@ -6,9 +6,7 @@
 
 #include "devhelpplugin.h"
 
-#ifdef HAVE_MAN
 
-
 #define DEVHELP_PLUGIN_MANPAGE_SECTIONS "3:2:1:8:5:4:7:6"
 #define DEVHELP_PLUGIN_MANPAGE_PAGER "col -b"
 
@@ -165,5 +163,3 @@
 
 	temp_files = NULL;
 }
-
-#endif /* HAVE_MAN */


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.



More information about the Plugins-Commits mailing list