+AC_MSG_CHECKING([for CGRAPH])
+valadoc_tmp_LIBADD="$LIBADD"
+valadoc_tmp_CFLAGS="$CFLAGGS"
+LIBADD="$LIBADD $LIBGVC_LIBS"
+CFLAGS="$CFLAGS $LIBGVC_CFLAGS"
+AC_RUN_IFELSE(
+ [AC_LANG_SOURCE([
+ #include <gvc.h>
+
+ int main(void) {
+ #ifdef WITH_CGRAPH
+ return 0;
+ #else
+ return -1;
+ #endif
+ }
+ ])], [
+ AC_MSG_RESULT([yes])
+ VALAFLAGS="$VALAFLAGS -D WITH_CGRAPH"
+ have_cgraph=yes
+ ], [
+ AC_MSG_RESULT([no])
+ have_cgraph=no
+ ]
+)
+LIBADD="$valadoc_tmp_LIBADD"
+CFLAGS="$valadoc_tmp_CFLAGS"
+AM_CONDITIONAL(HAVE_CGRAPH, test "$have_cgraph" = "yes")
+
##
## Drivers:
AM_CFLAGS = -g \
-DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
-I ../../libvaladoc/ \
+ $(LIBGVC_CFLAGS) \
$(GLIB_CFLAGS) \
$(LIBGEE_CFLAGS) \
$(NULL)
-DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
-I ../../libvaladoc/ \
$(GLIB_CFLAGS) \
+ $(LIBGVC_CFLAGS) \
$(LIBGEE_CFLAGS) \
$(NULL)
AM_CFLAGS = -g \
-DPACKAGE_ICONDIR=\"$(datadir)/valadoc/icons/\" \
-I ../../libvaladoc/ \
+ $(LIBGVC_CFLAGS) \
$(GLIB_CFLAGS) \
$(LIBGEE_CFLAGS) \
$(NULL)
+# Without the LIBGVC_CFLAGS, we get
+# make[5]: Entering directory `/home/richard/.local/src/valadoc/src/doclets/devhelp'
+# CC doclet.lo
+# In file included from /usr/include/graphviz/gvc.h:17:0,
+# from ../../libvaladoc/valadoc-1.0.h:15,
+# from doclet.c:28:
+# /usr/include/graphviz/types.h:49:20: fatal error: cgraph.h: No such file or directory
+# #include <cgraph.h>
+# ^
+# compilation terminated.
BUILT_SOURCES = libdoclet.vala.stamp
protected Factory factory;
static construct {
+ #if !WITH_CGRAPH
Gvc.init ();
+ #endif
}
public Chart (Factory factory, Api.Node node) {
public abstract class Valadoc.Charts.Factory : Object {
protected Gvc.Node create_type (Gvc.Graph graph, Api.Node item) {
+ #if WITH_CGRAPH
+ return graph.create_node (item.get_full_name (), 1);
+ #else
return graph.create_node (item.get_full_name ());
+ #endif
}
public abstract Gvc.Graph create_graph (Api.Node item);
}
public override Gvc.Graph create_graph (Api.Node item) {
+ #if WITH_CGRAPH
+ var graph = new Gvc.Graph (item.get_full_name (), Gvc.Agdirected, 0);
+ #else
var graph = new Gvc.Graph (item.get_full_name (), Gvc.GraphKind.AGDIGRAPH);
+ #endif
return graph;
}