Re: [graphviz-interest] Env var GVBINDIR
"Emden R. Gansner" <[email protected]>
| Newsgroups | gmane.comp.video.graphviz |
|---|---|
| Message-ID | <[email protected]> |
On 8/6/13 1:43 AM, Ron Savage wrote:
> I was wondering how I could find, at run-time in my code which runs
> 'dot' (i.e. not from within dot), the location of the Graphviz library
> headers. So...
>
> On the page http://www.graphviz.org/content/command-line-invocation I
> see a reference to GVBINDIR.
>
> However when I ack [1] the source, I don't see any assignment to it:
>
> ron@zigzag:~/Downloads/graphviz/graphviz-2.30.1$ ack GVBINDIR
> doc/infosrc/command.html
> 168:<DT><A NAME=d:GVBINDIR><STRONG>GVBINDIR</STRONG></A>
>
> doc/info/command.html
> 168:<DT><A NAME=d:GVBINDIR><STRONG>GVBINDIR</STRONG></A>
>
> lib/gvc/gvconfig.c
> 277: libdir=getenv("GVBINDIR");
>
> Am I missing something?
If by Graphviz library headers, you mean the .h files, these in theory
could be anywhere at run-time. In
practice, Graphviz is usually installed with a directory substructure:
bin
include
include/graphviz
lib
lib/graphviz
so if you can find one of these directories, you can use relative
pathnames to get to the others.
For the purpose of plugin loading, the Graphviz core needs to know where
the plugin libraries are
stored. On non-Windows systems, this is the lib/graphviz directory. On
Windows systems, these are
stored in the bin directory.
For non-Windows systems, there is a compile-time default, based on
where 'make install' will install the software. For all systems, the
actual value is usually determined at
run-time. That value is returned by the function char*
gvconfig_libdir(GVC_t*).
If the user wishes to override this determination, the environment
variable GVBINDIR can be set to
specify the desired directory. As far as I know, this is rarely used,
usually for testing or debugging.
Emden
_______________________________________________
[email protected]
http://lists.research.att.com/mailman/listinfo/graphviz-interest