-I$(top_srcdir)/lib/gvc \
-I$(top_srcdir)/lib/pathplan \
-I$(top_srcdir)/lib/graph \
- -I$(top_srcdir)/lib/cdt
+ -I$(top_srcdir)/lib/cdt \
+ -DBUILTINS
if ENABLE_STATIC
-bin_PROGRAMS = dot dot_static
+bin_PROGRAMS = dot_static
else
bin_PROGRAMS = dot
endif
man_MANS = dot.1
pdf_DATA = dot.pdf
-dot_SOURCES = dot.c
-dot_LDFLAGS = -export-dynamic -dlpreopen self -export-symbols-regex '.*_LTX_library'
-dot_LDADD = \
- $(top_builddir)/lib/plugin/libgvplugin_dot_layout.la \
- $(top_builddir)/lib/plugin/libgvplugin_neato_layout.la \
- $(top_builddir)/lib/plugin/libgvplugin_usershape_gd.la \
- $(top_builddir)/lib/gvc/libgvc.la
+dot_SOURCES = dot.c dot_builtins.c
+dot_LDADD = $(top_builddir)/lib/gvc/libgvc.la
install-data-hook:
(cd $(DESTDIR)$(man1dir); for i in $(linkedman); do rm -f $$i; $(LN_S) dot.1 $$i; done;)
dot.pdf: $(top_srcdir)/cmd/dot/dot.1
groff -Tps -man $(top_srcdir)/cmd/dot/dot.1 | ps2pdf - - >$@
-dot_static_SOURCES = $(dot_SOURCES)
-dot_static_DEPENDENCIES = \
- $(top_builddir)/lib/plugin/.libs/libgvplugin_dot_layout.a \
- $(top_builddir)/lib/plugin/.libs/libgvplugin_neato_layout.a \
- $(top_builddir)/lib/plugin/.libs/libgvplugin_usershape_gd.a \
- $(top_builddir)/lib/gvc/.libs/libgvc.a \
- $(top_builddir)/lib/pathplan/.libs/libpathplan.a \
- $(top_builddir)/lib/pack/.libs/libpack.a \
- $(top_builddir)/lib/graph/.libs/libgraph.a \
- $(top_builddir)/lib/cdt/.libs/libcdt.a \
- $(top_builddir)/lib/gd/.libs/libgvgd.a
-dot_static_LDFLAGS = -export-dynamic -dlpreopen self -export-symbols-regex '.*_LTX_library'
-
+dot_static_SOURCES = dot.c dot_static_builtins.c
dot_static_LDADD = \
$(top_builddir)/lib/plugin/.libs/libgvplugin_dot_layout.a \
$(top_builddir)/lib/plugin/.libs/libgvplugin_neato_layout.a \
-I$(top_srcdir)/lib/neatogen \
-I$(top_srcdir)/lib/gvc \
-I$(top_srcdir)/lib/common \
- -I$(top_srcdir)/lib/ingraphs @EXPAT_INCLUDES@
+ -I$(top_srcdir)/lib/ingraphs @EXPAT_INCLUDES@ -DBUILTINS
pdfdir = $(pkgdatadir)/doc/pdf
$(top_builddir)/lib/ingraphs/libingraphs.la \
$(top_builddir)/lib/graph/libgraph.la
-gvpack_SOURCES = gvpack.c
-
-gvpack_LDFLAGS = -export-dynamic -dlpreopen self -export-symbols-regex '.*_LTX_library'
+gvpack_SOURCES = gvpack.c gvpack_builtins.c
gvpack_LDADD = \
- $(top_builddir)/lib/common/libcommon.la \
$(top_builddir)/lib/gvc/libgvc.la \
$(top_builddir)/lib/ingraphs/libingraphs.la \
- $(top_builddir)/lib/graph/libgraph.la \
$(top_builddir)/lib/plugin/libgvplugin_neato_layout.la
dijkstra_SOURCES = dijkstra.c
-COMPILE=libtool --tag=CC --mode=compile ${CC} -c
-LINK=libtool --tag=CC --mode=link ${CC}
-
CFLAGS=`pkg-config libgvc --cflags` -Wall -g -O2
-LDFLAGS=`pkg-config libgvc --libs` -export-dynamic -dlpreopen self -export-symbols-regex '.*_LTX_library'
+LDFLAGS=`pkg-config libgvc --libs`
all: dot demo simple
-dot: dot.lo
- ${LINK} ${LDFLAGS} -o $@ dot.lo
-
-dot.lo: dot.c
- ${COMPILE} ${CFLAGS} -o $@ dot.c
-
-demo: demo.lo
- ${LINK} ${LDFLAGS} -o $@ demo.lo
-
-demo.lo: demo.c
- ${COMPILE} ${CFLAGS} -o $@ demo.c
-
-simple: simple.lo
- ${LINK} ${LDFLAGS} -o $@ simple.lo
-
-simple.lo: simple.c
- ${COMPILE} ${CFLAGS} -o $@ simple.c
+dot: dot.o
+demo: demo.o
+simple: simple.o
clean:
- rm -rf *.o *.lo .libs dot demo simple *.png
+ rm -rf *.o dot demo simple *.png
#include "config.h"
#endif
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "tlayout.h"
/* Default layout values, possibly set via command line; -1 indicates unset */
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#define EPSILON .0001
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "colortbl.h"
#include <ctype.h>
#include <stdarg.h>
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "utils.h"
#ifdef HAVE_LIBZ
*/
#include <ctype.h>
-
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "agxbuf.h"
static char *defaultlinestyle[3] = { "solid\0", "setlinewidth\0001\0", 0 };
* AT&T Research, Florham Park NJ *
**********************************************************/
-
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "utils.h"
#include <ctype.h>
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "utils.h"
//#ifdef HAVE_CAIRO
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "gd.h"
#include "utils.h"
#include <fcntl.h>
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "gd.h"
/* sometimes fonts are stored under a different name */
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "gd.h"
static Dict_t *ImageDict;
#define EXTERN
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
* Use encoded form for polyline and polygon
*/
#include <ctype.h>
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#define SOLID 0
#define DOTTED 1
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
#include "htmlparse.h"
#include "htmllex.h"
%{
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
#include "htmllex.h"
* e.g., CELLGRID=n, which sets CELLBORDER=0 and has the border drawing
* handled correctly by the table.
*/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
#include "agxbuf.h"
#include "pointset.h"
#ifndef TABLE_H
#define TABLE_H
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#define FIXED_FLAG 1
#define HALIGN_RIGHT (1 << 1)
**********************************************************/
#include <ctype.h>
-
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
char *Gvfilepath;
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
#include <limits.h>
#define NEWANCHORS 0
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "utils.h"
/* mpgen.c 1999-Feb-23 Jim Hefferon jim@joshua.smcvt.edu
* Adapted from psgen.c. See 1st_read.mp.
*/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#ifndef MSWIN32
#include <unistd.h>
#endif
* Network Simplex Algorithm for Ranking Nodes of a DAG
*/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
static int init_graph(graph_t *);
static void dfs_cutval(node_t * v, edge_t * par);
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "agxbuf.h"
static int e_arrows; /* graph has edges with end arrows */
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#define PIC_COORDS_PER_LINE (16) /* to avoid stdio BUF overflow */
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
static int Rankdir;
*/
#define PDFMAX 3240 /* Maximum size of Distiller's PDF canvas */
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "ps.h"
#include "utils.h"
#include "agxbuf.h"
#include <sys/stat.h>
#include <stdio.h>
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
static int N_EPSF_files;
static Dict_t *EPSF_contents;
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "pathplan.h"
#ifdef UNUSED
/* for sincos */
#define _GNU_SOURCE 1
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "htmltable.h"
#include <limits.h>
* an edge, starting from a list of control points.
*/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
static int debugleveln(edge_t* e, int i)
{
north@research.att.com
*/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "utils.h"
#ifdef HAVE_LIBZ
#include "zlib.h"
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
point svg_image_size(graph_t * g, char *shapeimagefile)
{
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "agxbuf.h"
#include "utils.h"
#include "htmltable.h"
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "gd.h"
#include "utils.h"
#include "pathutil.h"
*/
#define SUPPORT_WRITEDATE
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#ifdef SUPPORT_WRITEDATE
#include <time.h>
#endif
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
#include "agxbuf.h"
int xdemitState;
* AT&T Research, Florham Park NJ *
**********************************************************/
-#include "gvc.h"
+#include "render.h"
+#include "gvplugin.h"
+#include "gvcint.h"
+#include "gvcproc.h"
char *LibInfo[] = {
"libgvc", /* Program */
/* Clean up graphviz context */
extern int gvFreeContext(GVC_t *gvc);
+#ifndef BUILTINS
+const lt_symlist_t lt_preloaded_symbols[] = {{0,0,},};
+#define BUILTINS
+#endif
+
#ifdef __cplusplus
}
#endif
}
}
-struct lt_symlist
-{
- const char *name;
- void* address;
-};
-
-extern const struct lt_symlist lt_preloaded_symbols[];
-
static void gvconfig_plugin_install_builtins(GVC_t * gvc)
{
- const struct lt_symlist *s;
+ const lt_symlist_t *s;
const char *name;
s = lt_preloaded_symbols;
gvplugin_api_t *apis;
} gvplugin_library_t;
- extern gvplugin_library_t *builtins[];
+
+ typedef struct {
+ const char *name;
+ void* address;
+ } lt_symlist_t;
+
+ extern const lt_symlist_t lt_preloaded_symbols[];
#ifdef __cplusplus
}
LIBS = @LIBS@ -lc
-BASESOURCES = gv.cpp builtins.c
-BASELIBS = \
- $(top_builddir)/lib/plugin/libgvplugin_dot_layout.la \
- $(top_builddir)/lib/plugin/libgvplugin_neato_layout.la \
- $(top_builddir)/lib/plugin/libgvplugin_usershape_gd.la \
- $(top_builddir)/lib/gvc/libgvc.la
+BASESOURCES = gv.cpp
+BASELIBS = $(top_builddir)/lib/gvc/libgvc.la
#CSHARP_hdr = gv.cs gvPINVOKE.cs SWIGTYPE_p_Agraph_t.cs SWIGTYPE_p_Agnode_t.cs SWIGTYPE_p_Agedge_t.cs
* AT&T Research, Florham Park NJ *
**********************************************************/
+#define BUILTINS
#include "gvc.h"
GVC_t *gvc;