Mercurial > hg > camir-aes2014
diff toolboxes/graph_visualisation/share/graphviz/doc/html/winbuild.html @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/graph_visualisation/share/graphviz/doc/html/winbuild.html Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,301 @@ +<html> +<head> +<title>Graphviz Build Instructions for Windows</title> +</head> +<body bgcolor=#ffffff> +<h2>Graphviz Build Instructions for Windows</h2> +<P> +<b>(Graphviz versions ≥ 2.22)</b> +<P> +We now build both Visual Studio and MinGW versions of Graphviz. +In addition, the source package comes with project files for Visual Studio, +so building from source should be fairly simple in either case. +<UL> +<LI> +The first step is to add the third-party libraries. These are listed +<A HREF="http://www.graphviz.org/Download_source.php">here</A>. +This is most easily done by installing +a Windows binary version of <A HREF="http://www.gtk.org">GTK 2.0</A> or later. +<LI> +Next, download and unwrap the Graphviz source package. Go to +<A HREF=http://www.graphviz.org/Download_source.php>http://www.graphviz.org/Download_source.php</A> +and copy over either the stable release +or the development source package. +</UL> +Let $ROOT be the root directory (folder) +in which you stored the Graphviz source. +<h3>Building with Visual Studio</h3> +<OL> +<LI> +Copy the file $ROOT/windows/config.h into $ROOT. +<LI> +Copy the folder $ROOT/windows/FEATURE into $ROOT. +<LI> +Start Visual Studio and read in $ROOT/graphviz.sln. +There are project files for all of the parts of Graphviz. +<LI> +Modify the various settings for include file and library directories to find +the third-party software. +<LI> +Modify the settings as to where you want the software installed. +<LI> +Build Graphviz. +</OL> +<h3>Building with MinGW</h3> +<OL> +<LI> Install MinGW and Msys. This gives a mini GNU-like compile environment +<LI> Set environment variables based on your machine, giving values to the +first six below: +<CODE> +<PRE> +export INSTALLROOT # Root install directory +export GTKDIR # Root of GTK tree +export FONTCONFIGINCLUDEDIR # Path of fontconfig include dir +export FONTCONFIGLIBDIR # Path of fontconfig lib dir +export FREETYPEINCLUDEDIR # Path of freetype2 include dir +export FREETYPELIBDIR # Path of freetype2 lib dir + +export CFLAGS="-DGVDLL=1" +export CPPFLAGS="-I$GTKDIR/include -I$GTKDIR/include/freetype2 " +export LDFLAGS="-L$GTKDIR/lib -no-undefined" +export FONTCONFIG_CFLAGS=-I$GTKDIR/include/ +export FONTCONFIG_LIBS="-L$FONTCONFIGLIBDIR -lfontconfig" +export FREETYPE2_CFLAGS=-I$FREETYPEINCLUDEDIR +export FREETYPE2_LIBS="-L$FREETYPELIBDIR +export PKG_CONFIG=$GTKDIR/bin/pkg-config +export PKG_CONFIG_PATH=$GTKDIR/lib/pkgconfig + +export PANGOFLAGS="--with-fontconfig --with-fontconfiglibdir$FONTCONFIGLIBDIR --with-fontconfigincludedir=$FONTCONFIGINCLUDEDIR --with-pangocairo" + +</PRE> +</CODE> +<LI> Change directory to $ROOT and run configure:<BR> +<CODE> +<PRE> +./configure -C --prefix=$INSTALLROOT --without-gdk-pixbuf --with-mylibgd --disable-swig --without-x --disable-tcl --without-ipsepcola --with-codegens --enable-shared --disable-static --with-freetype=$GTKDIR/lib --enable-ltdl $PANGOFLAGS --without-gtk --without-gtkgl + +</PRE> +</CODE> +When configure finishes, it lists all of the Graphviz features that have been +enabled. If there are problems, you can check for errors in <TT>config.log</TT>. +You may have to add or modify +other flags and environment variables for <TT>configure</TT> to give you the +settings you want. Run <TT>configure --help</TT> +to see the allowed options and environment variables. +<LI> Run <TT>make</TT> +<LI> Run <TT>make install</TT> +</OL> +These builds create a feature-full version of Graphviz. You can tailor +them to your wants. This is fairly simple for MinGW: just remove or reset +the flag of the option you don't want. For Visual Studio, you will probably +need to reset some of the values in <TT>config.h</TT> and some of the +compile-time options. +<HR> +<P> +<b>(2.21 >= Graphviz versions > 2.14)</b> +<P> +To simplify our build process, especially as most Windows users only +want a binary version of the software, the Graphviz build for Windows +now uses <A HREF="http://www.research.att.com/sw/tools/uwin/"><B>uwin</B></A>, +an open-source Unix layer on top of Windows. In this +environment, we can use essentially the same tools and process +used on Unix. In particular, we do not have to maintain multiple build +files. +<P> +To build Graphviz: +<OL> +<LI> +Install the third-party libraries. This is most easily done by installing +a Windows binary verion of <A HREF="http://www.gtk.org">GTK 2.0</A> or later. +<LI> +Download the Graphviz source package:<BR>Go to +<A HREF=http://www.graphviz.org/Download_source.php>http://www.graphviz.org/Download_source.php</A> +and copy over either the stable release <TT>graphviz-</TT><I>VERSION</I><TT>.tar.gz</TT> +or the development source package <TT>graphviz-working.tar.gz</TT>. +<LI> +Unwrap the package:<BR> +You can use, for example,<BR><BR> +<TT>gunzip < graphviz-working.tar.gz | tar xf -</TT><BR> +<SPACER TYPE=VERTICAL SIZE=10> +<BR> +Let <TT>$ROOT</TT> be the directory in which you stored the Graphviz source. +<LI> +Configure the package for your system:<BR><BR> +<TT>cd $ROOT</TT><BR> +<TT>configure --disable-shared --enable-static --with-mylibgd --disable-swig --without-x --without-tclsh --with-codegens --disable-ltdl</TT><BR><BR> +You will probably want to provide additional arguments to +<TT>configure</TT> to indicate where you have installed GTK, where +you want the results installed (<TT>--prefix</TT>) and which +additional optional packages you want built. Run <TT>configure --help</TT> +to see the available set of arguments. +<LI> +Build Graphviz:<BR><BR> +<TT>make install</TT><BR><BR> +</OL> +<P> +Presumably, a similar approach would work with Cygwin or MinGW. +The following are some notes by +<A HREF="https://mailman.research.att.com/pipermail/graphviz-devel/2007/000444.html">Steve Roush</A> +describing how he +made a static build of the libraries on MinGW. +<MENU> +<LI> Install MinGW and Msys. This gives a mini GNU-like compile environment +that produces Windows-compatible results. +<LI> You may need to configure and build in Windows "Safe mode". Try +./configure in normal mode; if it dies with "fork" problems, use Safe mode. +<LI> Edit the "configure" file.<BR> + after this line:<BR> + <CODE>DEFS=-DHAVE_CONFIG_H</CODE><BR> + add these lines:<BR> +<CODE> +<PRE> + case "$host_os" in + mingw*) + DEFS="$DEFS -DWIN32 -DMSWIN32" + ;; + esac +</PRE> +</CODE> +<LI> run configure:<BR> +<CODE> +<PRE> + ./configure --enable-static=yes --enable-shared=no +--prefix=/usr/local/ --with-libgd=no --enable-ltdl=no --disable-swig +--disable-sharp --disable-guile --disable-io --disable-java +--disable-lua --disable-ocaml --disable-perl --disable-php +--disable-python --disable-ruby --disable-tcl +</PRE> +</CODE> +<LI> edit lib/Makefile<BR> + replace these lines:<BR> +<CODE> +<PRE> + SUBDIRS = cdt graph agraph gd pathplan agutil sfio vmalloc ast vpsc \ + circogen dotgen fdpgen neatogen twopigen common pack gvc \ + ingraphs expr +</PRE> +</CODE> + + with these lines:<BR> +<CODE> +<PRE> + SUBDIRS = cdt graph agraph gd pathplan vpsc \ + circogen dotgen fdpgen neatogen twopigen common pack gvc \ + ingraphs + +make # builds most of "lib" (see Makefile changes), cmd/dot and +cmd/tools - stops on cmd/gvpr +make install +</PRE> +</CODE> +</MENU> +here is the command line I used to build "simple.c" (dot.demo/simple.c), +after adding a few lines based on +https://mailman.research.att.com/pipermail/graphviz-interest/2006q2/003586.html + + +<CODE> +<PRE> +X=simple;gcc -v -I'/usr/local/include/graphviz' -I'/usr/local/include' +-o $X -O $X.c -L/usr/local/lib -L/usr/local/lib/graphviz -lgvc -lgraph +-lpathplan -lcdt -lgvplugin_core -lgvplugin_dot_layout +-lgvplugin_neao_layout -lgvplugin_gd -lgvplugin_pango -lgvc -lpathplan +</PRE> +</CODE> +<P> +If you +desire to build directly using Visual Studio or other non-Unix-based +environment, you will need to derive the necessary information from the +supplied Makefiles. +<HR> +<P> +<b>(2.14 >= Graphviz versions >= 2.3)</b> +<P> +We build Graphviz on Windows using the MS Visual C++ 6.0 compiler +only. The simplest way to build the software from source on Windows is as +follows: +<OL> +<LI> +Download the Windows source package from: +<A HREF=http://www.graphviz.org/Download_windows.php>http://www.graphviz.org/Download_windows.php</A>. +</LI> +<SPACER TYPE=VERTICAL SIZE=10> +<LI> +Unwrap the package:<BR> +If you have Unix tools available, you can use +<SPACER TYPE=VERTICAL SIZE=10> +<TT>gunzip < graphviz-win.tgz | tar xf -</TT><BR> +<SPACER TYPE=VERTICAL SIZE=10> +If not, double click on the file and WinZip should start up and let you +store all of the files into a directory.<BR> +Let <TT>$ROOT</TT> be the directory in which you stored the Graphviz source. +</LI> +<SPACER TYPE=VERTICAL SIZE=10> +<LI> +Add the third-party libraries: +<SPACER TYPE=VERTICAL SIZE=10> +<UL TYPE=DISC> +<LI> +zlib 1.1.3 <A HREF=http://www.gzip.org/zlib/>http://www.gzip.org/zlib/</A> +<LI> +libpng 1.0.6 <A HREF=http://www.libpng.org/pub/png>http://www.libpng.org/pub/png</A> +<LI> +jpeg-6b 62 <A HREF=http://www.ijg.org/>http://www.ijg.org/</A> +<LI> +freetype 2.1.7 <A HREF=http://freetype.sourceforge.net/>http://freetype.sourceforge.net/</A> +<LI> +expat <A HREF=http://expat.sourceforge.net/>http://expat.sourceforge.net/</A> +</UL> +<SPACER TYPE=VERTICAL SIZE=10> +The versions should be at least the ones indicated. +You can download the files from +<a href=http://www.graphviz.org/Misc/third-party.zip>http://www.graphviz.org/Misc/third-party.zip</a>. +Unzip the package in the <TT>$ROOT</TT> directory; this will create a subdirectory called +<TT>third-party</TT>. +Or you can obtain the libraries yourself, and install +them in <TT>$ROOT\third-party</TT> +Also note that these libraries come with the binary release. +</LI> +<SPACER TYPE=VERTICAL SIZE=10> +<LI> +Build the software in one of the following ways:<BR> +<UL TYPE=DISC> +<LI> Run the script <TT>$ROOT\build.bat</TT> while in the <TT>$ROOT</TT> +directory. You'll first want to check +that the <TT>vc</TT> variable points to your local installation of visual C. +Obviously, this should be run in a DOS command window. +<LI> The file <TT>$ROOT\ws\graphviz.dsw</TT> +is the main workspace for the Graphviz libraries and graph drawing programs. +The file +<TT>$ROOT\ws\tools.dsw</TT> provides the workspace for the +additional Graphviz tools. Double-clicking on these files will open the +workspaces using the MS Visual Studio, from which you can use the Build +menu item to create the various libraries and programs. +<PP> +Note that we have avoided all dependencies (i.e., there are no .dep files) +because we found they tended to include absolute pathnames. +If necessary, follow the order used in <TT>build.bat</TT> to be safe. +<LI> If you have a Unix environment, with a real ksh, run the script +<TT>$ROOT\wmake.sh</TT> +after setting the PATH, LIB and INCLUDE shell variables to the paths where +the Visual C programs are installed on your machine, and the associated +library and include file directories. +</UL> +</OL> +<P> Once built, all of the libraries and programs will be found in +either the Release or Debug subdirectory of the corresponding source +directory. If you wish to install +the software somewhere, edit the file <TT>$ROOT\install.bat</TT> to +set the variable <TT>root</TT> to be the absolute pathname of the +directory where you want +the software installed, and then run the script <TT>$ROOT\install.bat</TT> +from the <TT>$ROOT</TT> directory. +<P> +If you want to change source files, you can just do it and rebuild. +If, however, you want to add new files or projects, you will +have to redo the makefiles or scripts. +<P> +If you have problems or questions, please contact us at +<A href=mailto:erg@research.att.com>erg@research.att.com</A>. +</body> +</html>