ellson / MOTHBALLED-graphviz

Moved to https://gitlab.com/graphviz/graphviz
Eclipse Public License 1.0
1.29k stars 256 forks source link

Windows Visual Studio build issues? #36

Open g40 opened 9 years ago

g40 commented 9 years ago

I'd be really grateful for a brief overview of how the Graphviz distribution for Windows actually gets built*.

The Visual Studio project files in this repo are incomplete (lacking for example rules to run Bison/Flex) but most importantly there is no project to build libltdl, which seems to be a fundamental requirement for loading the various layout and rendering engines. I tried assembling a VS project on the basis of the makefile rules but this does not seem to cover all options.

Any help welcomed. It would be great to be able to build and debug the suite in Visual Studio and I'd be more than happy to put in the work to get a complete VS solution.

Thanks.

*I tried compiling using the msys environment but that fails early on as well ...

emdenrg commented 9 years ago

On 2/2/15 8:20 AM, Jerry Evans wrote:

I'd be really grateful for a brief overview of how the Graphviz distribution for Windows actually gets built*.

The Visual Studio project files in this repo are incomplete (lacking for example rules to run Bison/Flex) but most importantly there is no project to build libltdl, which seems to be a fundamental requirement for loading the various layout and rendering engines. I tried assembling a VS project on the basis of the makefile rules but this does not seem to cover all options.

Any help welcomed. It would be great to be able to build and debug the suite in Visual Studio and I'd be more than happy to put in the work to get a complete VS solution.

Thanks.

*I tried compiling using the msys environment but that fails early on as well ...

— Reply to this email directly or view it on GitHub https://github.com/ellson/graphviz/issues/36.

The Windows build is handled by the bat file windows/build.bat in the source tree. (I admit up front that the process is messier than it should be.)

The build directory is graphviz2; the binaries from a build are put into the bin directory; the add-on directory contains stable binary and source files from third-party libraries; the release directory is the main target directory. It is assumed the Windows version of gtk++ and Qt have been installed.

The process is as follows:

As suggested, the main clean up would be have the script only use files from the current source tree graphviz2 when available, rather than storing them separately in some cache directory like add-on or graphviz-msi.

If anyone wants to rationalize this or provide a 64-bit build, it would be much appreciated.

 Emden

release release/bin release/bin/dummy release/bin/New Text Document.txt release/doc release/doc/man release/etc release/etc/fonts release/etc/fonts/conf.avail release/etc/fonts/conf.avail/10-autohint.conf release/etc/fonts/conf.avail/10-no-sub-pixel.conf release/etc/fonts/conf.avail/10-sub-pixel-bgr.conf release/etc/fonts/conf.avail/10-sub-pixel-rgb.conf release/etc/fonts/conf.avail/10-sub-pixel-vbgr.conf release/etc/fonts/conf.avail/10-sub-pixel-vrgb.conf release/etc/fonts/conf.avail/10-unhinted.conf release/etc/fonts/conf.avail/20-fix-globaladvance.conf release/etc/fonts/conf.avail/20-lohit-gujarati.conf release/etc/fonts/conf.avail/20-unhint-small-vera.conf release/etc/fonts/conf.avail/30-amt-aliases.conf release/etc/fonts/conf.avail/30-urw-aliases.conf release/etc/fonts/conf.avail/40-generic.conf release/etc/fonts/conf.avail/49-sansserif.conf release/etc/fonts/conf.avail/50-user.conf release/etc/fonts/conf.avail/51-local.conf release/etc/fonts/conf.avail/60-latin.conf release/etc/fonts/conf.avail/65-fonts-persian.conf release/etc/fonts/conf.avail/65-nonlatin.conf release/etc/fonts/conf.avail/69-unifont.conf release/etc/fonts/conf.avail/70-no-bitmaps.conf release/etc/fonts/conf.avail/70-yes-bitmaps.conf release/etc/fonts/conf.avail/80-delicious.conf release/etc/fonts/conf.avail/90-synthetic.conf release/etc/fonts/conf.avail/README release/etc/fonts/conf.d release/etc/fonts/conf.d/20-fix-globaladvance.conf release/etc/fonts/conf.d/20-lohit-gujarati.conf release/etc/fonts/conf.d/20-unhint-small-vera.conf release/etc/fonts/conf.d/30-amt-aliases.conf release/etc/fonts/conf.d/30-urw-aliases.conf release/etc/fonts/conf.d/40-generic.conf release/etc/fonts/conf.d/49-sansserif.conf release/etc/fonts/conf.d/50-user.conf release/etc/fonts/conf.d/51-local.conf release/etc/fonts/conf.d/60-latin.conf release/etc/fonts/conf.d/65-fonts-persian.conf release/etc/fonts/conf.d/65-nonlatin.conf release/etc/fonts/conf.d/69-unifont.conf release/etc/fonts/conf.d/80-delicious.conf release/etc/fonts/conf.d/90-synthetic.conf release/etc/fonts/fonts.conf release/etc/fonts/fonts.dtd release/etc/gtk-2.0 release/etc/gtk-2.0/gdk-pixbuf.loaders release/etc/gtk-2.0/gtk.immodules release/etc/gtk-2.0/gtkrc release/fonts release/fonts/conf.avail release/fonts/conf.avail/10-autohint.conf release/fonts/conf.avail/10-no-sub-pixel.conf release/fonts/conf.avail/10-sub-pixel-bgr.conf release/fonts/conf.avail/10-sub-pixel-rgb.conf release/fonts/conf.avail/10-sub-pixel-vbgr.conf release/fonts/conf.avail/10-sub-pixel-vrgb.conf release/fonts/conf.avail/10-unhinted.conf release/fonts/conf.avail/20-fix-globaladvance.conf release/fonts/conf.avail/20-lohit-gujarati.conf release/fonts/conf.avail/20-unhint-small-vera.conf release/fonts/conf.avail/30-amt-aliases.conf release/fonts/conf.avail/30-urw-aliases.conf release/fonts/conf.avail/40-generic.conf release/fonts/conf.avail/49-sansserif.conf release/fonts/conf.avail/50-user.conf release/fonts/conf.avail/51-local.conf release/fonts/conf.avail/60-latin.conf release/fonts/conf.avail/65-fonts-persian.conf release/fonts/conf.avail/65-nonlatin.conf release/fonts/conf.avail/69-unifont.conf release/fonts/conf.avail/70-no-bitmaps.conf release/fonts/conf.avail/70-yes-bitmaps.conf release/fonts/conf.avail/80-delicious.conf release/fonts/conf.avail/90-synthetic.conf release/fonts/conf.avail/README release/fonts/conf.d release/fonts/conf.d/20-fix-globaladvance.conf release/fonts/conf.d/20-lohit-gujarati.conf release/fonts/conf.d/20-unhint-small-vera.conf release/fonts/conf.d/30-amt-aliases.conf release/fonts/conf.d/30-urw-aliases.conf release/fonts/conf.d/40-generic.conf release/fonts/conf.d/49-sansserif.conf release/fonts/conf.d/50-user.conf release/fonts/conf.d/51-local.conf release/fonts/conf.d/60-latin.conf release/fonts/conf.d/65-fonts-persian.conf release/fonts/conf.d/65-nonlatin.conf release/fonts/conf.d/69-unifont.conf release/fonts/conf.d/80-delicious.conf release/fonts/conf.d/90-synthetic.conf release/fonts/fonts.conf release/fonts/fonts.dtd release/gtk-2.0 release/gtk-2.0/gdk-pixbuf.loaders release/gtk-2.0/gtk.immodules release/gtk-2.0/gtkrc release/include release/include/graphviz release/include/graphviz/arith.h release/include/graphviz/cdt.h release/include/graphviz/cgraph.h release/include/graphviz/color.h release/include/graphviz/geom.h release/include/graphviz/graph.h release/include/graphviz/gvc.h release/include/graphviz/gvcext.h release/include/graphviz/gvcjob.h release/include/graphviz/gvcommon.h release/include/graphviz/gvconfig.h release/include/graphviz/gvplugin.h release/include/graphviz/gvplugin_device.h release/include/graphviz/gvplugin_layout.h release/include/graphviz/gvplugin_loadimage.h release/include/graphviz/gvplugin_render.h release/include/graphviz/gvplugin_textlayout.h release/include/graphviz/gvpr.h release/include/graphviz/pack.h release/include/graphviz/pathgeom.h release/include/graphviz/pathplan.h release/include/graphviz/textpara.h release/include/graphviz/types.h release/include/graphviz/usershape.h release/include/graphviz/xdot.h release/lib release/lib/debug release/lib/debug/dll release/lib/debug/dll/dummyfile.txt release/lib/debug/lib release/lib/debug/lib/dummyfile.txt release/lib/lefty release/lib/lefty/box.lefty release/lib/lefty/def.lefty release/lib/lefty/dotty.lefty release/lib/lefty/dotty_draw.lefty release/lib/lefty/dotty_edit.lefty release/lib/lefty/dotty_layout.lefty release/lib/lefty/dotty_ui.lefty release/lib/lefty/fractal.lefty release/lib/lefty/fractal2.lefty release/lib/lefty/lefty.psp release/lib/lefty/slides.lefty release/lib/lefty/tree.lefty release/lib/pango release/lib/pango/1.6.0 release/lib/pango/1.6.0/modules release/lib/pango/1.6.0/modules/pango-arabic-fc.dll release/lib/pango/1.6.0/modules/pango-arabic-lang.dll release/lib/pango/1.6.0/modules/pango-basic-fc.dll release/lib/pango/1.6.0/modules/pango-basic-win32.dll release/lib/pango/1.6.0/modules/pango-hangul-fc.dll release/lib/pango/1.6.0/modules/pango-hebrew-fc.dll release/lib/pango/1.6.0/modules/pango-indic-fc.dll release/lib/pango/1.6.0/modules/pango-indic-lang.dll release/lib/pango/1.6.0/modules/pango-khmer-fc.dll release/lib/pango/1.6.0/modules/pango-syriac-fc.dll release/lib/pango/1.6.0/modules/pango-thai-fc.dll release/lib/pango/1.6.0/modules/pango-tibetan-fc.dll release/lib/pkgconfig release/lib/pkgconfig/libcdt.pc release/lib/pkgconfig/libcgraph.pc release/lib/pkgconfig/libgraph.pc release/lib/pkgconfig/libgvc.pc release/lib/pkgconfig/libpathplan.pc release/lib/release release/lib/release/dll release/lib/release/dll/dummyfile.txt release/lib/release/lib release/lib/release/lib/dummyfile.txt release/pango release/pango/pango.aliases release/pango/pango.modules release/share release/share/fonts release/share/fonts/FreeSans.ttf release/share/graphviz release/share/graphviz/doc release/share/graphviz/doc/addingLayout.txt release/share/graphviz/doc/AUTHORS release/share/graphviz/doc/ChangeLog release/share/graphviz/doc/COPYING release/share/graphviz/doc/cpl1.0.txt release/share/graphviz/doc/Dot.ref release/share/graphviz/doc/fontfaq.txt release/share/graphviz/doc/html release/share/graphviz/doc/html/build.html release/share/graphviz/doc/html/char.html release/share/graphviz/doc/html/FAQ.html release/share/graphviz/doc/html/gd.html release/share/graphviz/doc/html/Gdtclft2.2.5.example.png release/share/graphviz/doc/html/GVedit.html release/share/graphviz/doc/html/index.html release/share/graphviz/doc/html/info release/share/graphviz/doc/html/info/aa_box.gif release/share/graphviz/doc/html/info/aa_crow.gif release/share/graphviz/doc/html/info/aa_diamond.gif release/share/graphviz/doc/html/info/aa_dot.gif release/share/graphviz/doc/html/info/aa_inv.gif release/share/graphviz/doc/html/info/aa_lbox.gif release/share/graphviz/doc/html/info/aa_lcrow.gif release/share/graphviz/doc/html/info/aa_ldiamond.gif release/share/graphviz/doc/html/info/aa_linv.gif release/share/graphviz/doc/html/info/aa_lnormal.gif release/share/graphviz/doc/html/info/aa_ltee.gif release/share/graphviz/doc/html/info/aa_lvee.gif release/share/graphviz/doc/html/info/aa_none.gif release/share/graphviz/doc/html/info/aa_normal.gif release/share/graphviz/doc/html/info/aa_obox.gif release/share/graphviz/doc/html/info/aa_odiamond.gif release/share/graphviz/doc/html/info/aa_odot.gif release/share/graphviz/doc/html/info/aa_oinv.gif release/share/graphviz/doc/html/info/aa_olbox.gif release/share/graphviz/doc/html/info/aa_oldiamond.gif release/share/graphviz/doc/html/info/aa_olinv.gif release/share/graphviz/doc/html/info/aa_olnormal.gif release/share/graphviz/doc/html/info/aa_onormal.gif release/share/graphviz/doc/html/info/aa_orbox.gif release/share/graphviz/doc/html/info/aa_ordiamond.gif release/share/graphviz/doc/html/info/aa_orinv.gif release/share/graphviz/doc/html/info/aa_ornormal.gif release/share/graphviz/doc/html/info/aa_rbox.gif release/share/graphviz/doc/html/info/aa_rcrow.gif release/share/graphviz/doc/html/info/aa_rdiamond.gif release/share/graphviz/doc/html/info/aa_rinv.gif release/share/graphviz/doc/html/info/aa_rnormal.gif release/share/graphviz/doc/html/info/aa_rtee.gif release/share/graphviz/doc/html/info/aa_rvee.gif release/share/graphviz/doc/html/info/aa_tee.gif release/share/graphviz/doc/html/info/aa_vee.gif release/share/graphviz/doc/html/info/arrows.html release/share/graphviz/doc/html/info/attrs.html release/share/graphviz/doc/html/info/a_box.gif release/share/graphviz/doc/html/info/a_crow.gif release/share/graphviz/doc/html/info/a_diamond.gif release/share/graphviz/doc/html/info/a_dot.gif release/share/graphviz/doc/html/info/a_ediamond.gif release/share/graphviz/doc/html/info/a_empty.gif release/share/graphviz/doc/html/info/a_forward.gif release/share/graphviz/doc/html/info/a_halfopen.gif release/share/graphviz/doc/html/info/a_inv.gif release/share/graphviz/doc/html/info/a_invdot.gif release/share/graphviz/doc/html/info/a_invempty.gif release/share/graphviz/doc/html/info/a_invodot.gif release/share/graphviz/doc/html/info/a_lteeoldiamond.gif release/share/graphviz/doc/html/info/a_nohead.gif release/share/graphviz/doc/html/info/a_none.gif release/share/graphviz/doc/html/info/a_normal.gif release/share/graphviz/doc/html/info/a_obox.gif release/share/graphviz/doc/html/info/a_odiamond.gif release/share/graphviz/doc/html/info/a_odot.gif release/share/graphviz/doc/html/info/a_open.gif release/share/graphviz/doc/html/info/a_tee.gif release/share/graphviz/doc/html/info/back.gif release/share/graphviz/doc/html/info/both.gif release/share/graphviz/doc/html/info/box.gif release/share/graphviz/doc/html/info/box3d.gif release/share/graphviz/doc/html/info/circle.gif release/share/graphviz/doc/html/info/colorlist.gif release/share/graphviz/doc/html/info/colors.html release/share/graphviz/doc/html/info/command.html release/share/graphviz/doc/html/info/component.gif release/share/graphviz/doc/html/info/constraint.gif release/share/graphviz/doc/html/info/diamond.gif release/share/graphviz/doc/html/info/doublecircle.gif release/share/graphviz/doc/html/info/doubleoctagon.gif release/share/graphviz/doc/html/info/egg.gif release/share/graphviz/doc/html/info/ellipse.gif release/share/graphviz/doc/html/info/fill.gif release/share/graphviz/doc/html/info/folder.gif release/share/graphviz/doc/html/info/forward.gif release/share/graphviz/doc/html/info/grammar.html release/share/graphviz/doc/html/info/hexagon.gif release/share/graphviz/doc/html/info/house.gif release/share/graphviz/doc/html/info/html1.gif release/share/graphviz/doc/html/info/html2.dot release/share/graphviz/doc/html/info/html2.gif release/share/graphviz/doc/html/info/html3.dot release/share/graphviz/doc/html/info/html3.gif release/share/graphviz/doc/html/info/html4.dot release/share/graphviz/doc/html/info/html4.gif release/share/graphviz/doc/html/info/index.html release/share/graphviz/doc/html/info/invhouse.gif release/share/graphviz/doc/html/info/invtrapezium.gif release/share/graphviz/doc/html/info/invtriangle.gif release/share/graphviz/doc/html/info/lang.html release/share/graphviz/doc/html/info/Mcircle.gif release/share/graphviz/doc/html/info/Mdiamond.gif release/share/graphviz/doc/html/info/mrecord.gif release/share/graphviz/doc/html/info/Msquare.gif release/share/graphviz/doc/html/info/nohead.gif release/share/graphviz/doc/html/info/none.gif release/share/graphviz/doc/html/info/note.gif release/share/graphviz/doc/html/info/octagon.gif release/share/graphviz/doc/html/info/output.html release/share/graphviz/doc/html/info/parallelogram.gif release/share/graphviz/doc/html/info/pentagon.gif release/share/graphviz/doc/html/info/plaintext.gif release/share/graphviz/doc/html/info/plugins.png release/share/graphviz/doc/html/info/point.gif release/share/graphviz/doc/html/info/polygon.gif release/share/graphviz/doc/html/info/record.gif release/share/graphviz/doc/html/info/record2.gif release/share/graphviz/doc/html/info/rect.gif release/share/graphviz/doc/html/info/rectangle.gif release/share/graphviz/doc/html/info/round.gif release/share/graphviz/doc/html/info/sdlshapes.png release/share/graphviz/doc/html/info/septagon.gif release/share/graphviz/doc/html/info/shapes.html release/share/graphviz/doc/html/info/tab.gif release/share/graphviz/doc/html/info/Thumbs.db release/share/graphviz/doc/html/info/trapezium.gif release/share/graphviz/doc/html/info/triangle.gif release/share/graphviz/doc/html/info/tripleoctagon.gif release/share/graphviz/doc/html/pspdf.png release/share/graphviz/doc/html/schema release/share/graphviz/doc/html/schema/arguments.xml release/share/graphviz/doc/html/schema/attributes.xml release/share/graphviz/doc/html/schema/attributes.xslt release/share/graphviz/doc/html/todo.html release/share/graphviz/doc/html/winbuild.html release/share/graphviz/doc/latex_suggestions.txt release/share/graphviz/doc/NEWS release/share/graphviz/doc/pdf release/share/graphviz/doc/pdf/acyclic.1.pdf release/share/graphviz/doc/pdf/bcomps.1.pdf release/share/graphviz/doc/pdf/ccomps.1.pdf release/share/graphviz/doc/pdf/cdt.3.pdf release/share/graphviz/doc/pdf/cgraph.3.pdf release/share/graphviz/doc/pdf/circo.1.pdf release/share/graphviz/doc/pdf/dijkstra.1.pdf release/share/graphviz/doc/pdf/dot.1.pdf release/share/graphviz/doc/pdf/dotguide.pdf release/share/graphviz/doc/pdf/dotty.1.pdf release/share/graphviz/doc/pdf/dottyguide.pdf release/share/graphviz/doc/pdf/fdp.1.pdf release/share/graphviz/doc/pdf/gc.1.pdf release/share/graphviz/doc/pdf/graph.3.pdf release/share/graphviz/doc/pdf/gv2gxl.1.pdf release/share/graphviz/doc/pdf/gvc.3.pdf release/share/graphviz/doc/pdf/gvcolor.1.pdf release/share/graphviz/doc/pdf/gvgen.1.pdf release/share/graphviz/doc/pdf/gvpack.1.pdf release/share/graphviz/doc/pdf/gvpr.1.pdf release/share/graphviz/doc/pdf/gxl2gv.1.pdf release/share/graphviz/doc/pdf/lefty.1.pdf release/share/graphviz/doc/pdf/leftyguide.pdf release/share/graphviz/doc/pdf/libguide.pdf release/share/graphviz/doc/pdf/lneato.1.pdf release/share/graphviz/doc/pdf/mm2gv.1.pdf release/share/graphviz/doc/pdf/neato.1.pdf release/share/graphviz/doc/pdf/neatoguide.pdf release/share/graphviz/doc/pdf/nop.1.pdf release/share/graphviz/doc/pdf/osage.1.pdf release/share/graphviz/doc/pdf/pathplan.3.pdf release/share/graphviz/doc/pdf/prune.pdf release/share/graphviz/doc/pdf/sccmap.1.pdf release/share/graphviz/doc/pdf/tred.1.pdf release/share/graphviz/doc/pdf/twopi.1.pdf release/share/graphviz/doc/pdf/unflatten.1.pdf release/share/graphviz/doc/pdf/xdot.3.pdf release/share/graphviz/graphs release/share/graphviz/graphs/directed release/share/graphviz/graphs/directed/abstract.gv release/share/graphviz/graphs/directed/alf.gv release/share/graphviz/graphs/directed/arrows.gif release/share/graphviz/graphs/directed/arrows.gv release/share/graphviz/graphs/directed/awilliams.gif release/share/graphviz/graphs/directed/awilliams.gv release/share/graphviz/graphs/directed/clust.gv release/share/graphviz/graphs/directed/clust1.gv release/share/graphviz/graphs/directed/clust2.gv release/share/graphviz/graphs/directed/clust3.gif release/share/graphviz/graphs/directed/clust3.gv release/share/graphviz/graphs/directed/clust4.gv release/share/graphviz/graphs/directed/clust5.gv release/share/graphviz/graphs/directed/crazy.gv release/share/graphviz/graphs/directed/ctext.gv release/share/graphviz/graphs/directed/dfa.gv release/share/graphviz/graphs/directed/fig6.gv release/share/graphviz/graphs/directed/fsm.gv release/share/graphviz/graphs/directed/grammar.gv release/share/graphviz/graphs/directed/hashtable.gv release/share/graphviz/graphs/directed/honda-tokoro.gv release/share/graphviz/graphs/directed/jcctree.gif release/share/graphviz/graphs/directed/jcctree.gv release/share/graphviz/graphs/directed/jsort.gif release/share/graphviz/graphs/directed/jsort.gv release/share/graphviz/graphs/directed/KW91.gv release/share/graphviz/graphs/directed/Latin1.gv release/share/graphviz/graphs/directed/ldbxtried.gv release/share/graphviz/graphs/directed/longflat.gv release/share/graphviz/graphs/directed/mike.gv release/share/graphviz/graphs/directed/NaN.gv release/share/graphviz/graphs/directed/nhg.gv release/share/graphviz/graphs/directed/oldarrows.gif release/share/graphviz/graphs/directed/oldarrows.gv release/share/graphviz/graphs/directed/pgram.gv release/share/graphviz/graphs/directed/pm2way.gv release/share/graphviz/graphs/directed/pmpipe.gv release/share/graphviz/graphs/directed/polypoly.gif release/share/graphviz/graphs/directed/polypoly.gv release/share/graphviz/graphs/directed/proc3d.gv release/share/graphviz/graphs/directed/psfonttest.gv release/share/graphviz/graphs/directed/record2.gv release/share/graphviz/graphs/directed/records.gv release/share/graphviz/graphs/directed/records.jpg release/share/graphviz/graphs/directed/records.png release/share/graphviz/graphs/directed/rowe.gv release/share/graphviz/graphs/directed/russian.gv release/share/graphviz/graphs/directed/russian.jpg release/share/graphviz/graphs/directed/sdh.gv release/share/graphviz/graphs/directed/shells.gv release/share/graphviz/graphs/directed/states.gv release/share/graphviz/graphs/directed/structs.gv release/share/graphviz/graphs/directed/switch.gv release/share/graphviz/graphs/directed/table.gv release/share/graphviz/graphs/directed/train11.gv release/share/graphviz/graphs/directed/trapeziumlr.gv release/share/graphviz/graphs/directed/tree.gv release/share/graphviz/graphs/directed/triedds.gv release/share/graphviz/graphs/directed/triedds.jpg release/share/graphviz/graphs/directed/try.gv release/share/graphviz/graphs/directed/unix.gv release/share/graphviz/graphs/directed/unix2.gv release/share/graphviz/graphs/directed/viewfile.gv release/share/graphviz/graphs/directed/viewfile.jpg release/share/graphviz/graphs/directed/world.gif release/share/graphviz/graphs/directed/world.gv release/share/graphviz/graphs/smyrna release/share/graphviz/graphs/smyrna/4elt.dot release/share/graphviz/graphs/smyrna/world.dot release/share/graphviz/graphs/undirected release/share/graphviz/graphs/undirected/ER.gv release/share/graphviz/graphs/undirected/Heawood.gv release/share/graphviz/graphs/undirected/ngk10_4.gv release/share/graphviz/graphs/undirected/Petersen.gv release/share/graphviz/graphs/undirected/process.gv release/share/graphviz/gvedit release/share/graphviz/gvedit/attributes.txt release/share/graphviz/lefty release/share/graphviz/lefty/box.lefty release/share/graphviz/lefty/def.lefty release/share/graphviz/lefty/dotty.lefty release/share/graphviz/lefty/dotty_draw.lefty release/share/graphviz/lefty/dotty_edit.lefty release/share/graphviz/lefty/dotty_layout.lefty release/share/graphviz/lefty/dotty_ui.lefty release/share/graphviz/lefty/fractal.lefty release/share/graphviz/lefty/fractal2.lefty release/share/graphviz/lefty/lefty.psp release/share/graphviz/lefty/slides.lefty release/share/graphviz/lefty/tree.lefty release/share/graphviz/smyrna release/share/license.rtf release/share/man release/share/man/man1 release/share/man/man1/acyclic.1 release/share/man/man1/bcomps.1 release/share/man/man1/ccomps.1 release/share/man/man1/circo.1 release/share/man/man1/dijkstra.1 release/share/man/man1/dot.1 release/share/man/man1/dotty.1 release/share/man/man1/fdp.1 release/share/man/man1/gc.1 release/share/man/man1/gv2gxl.1 release/share/man/man1/gvcolor.1 release/share/man/man1/gvgen.1 release/share/man/man1/gvpack.1 release/share/man/man1/gvpr.1 release/share/man/man1/gxl2gv.1 release/share/man/man1/lefty.1 release/share/man/man1/lneato.1 release/share/man/man1/mm2gv.1 release/share/man/man1/neato.1 release/share/man/man1/nop.1 release/share/man/man1/osage.1 release/share/man/man1/prune.1 release/share/man/man1/sccmap.1 release/share/man/man1/tred.1 release/share/man/man1/twopi.1 release/share/man/man1/unflatten.1 release/share/man/man3 release/share/man/man3/cdt.3 release/share/man/man3/cgraph.3 release/share/man/man3/graph.3 release/share/man/man3/gvc.3 release/share/man/man3/pathplan.3 release/share/man/man3/xdot.3 release/share/man/man7 release/share/man/man7/graphviz.7 release/share/setuplogo.bmp release/share/Thumbs.db

GVedit.html Graphviz.ini QtCore4.dll QtGui4.dll Settings.ini Temp.rar config.h exparse.h fc-cache.exe fc-cat.exe fc-list.exe fc-match.exe fontconfig.dll fontconfig_fix.dll freetype6.dll getopt.h glut32.dll gts.lib iconv.dll intl.dll jpeg62.dll libatk-1.0-0.dll libcairo-2.dll libexpat-1.dll libexpat.dll libfontconfig-1.dll libfreetype-6.dll libgdk-win32-2.0-0.dll libgdk_pixbuf-2.0-0.dll libgdkglext-win32-1.0-0.dll libgio-2.0-0.dll libglade-2.0-0.dll libglib-2.0-0.dll libgmodule-2.0-0.dll libgobject-2.0-0.dll libgthread-2.0-0.dll libgtk-win32-2.0-0.dll libgtkglext-win32-1.0-0.dll libltdl-3.dll libpango-1.0-0.dll libpangocairo-1.0-0.dll libpangoft2-1.0-0.dll libpangowin32-1.0-0.dll libpng12.dll libpng14-14.dll librsvg-2-2.dll libxml2.dll ltdl.dll props.txt vmalloc.dll zlib1.dll

g40 commented 9 years ago

Hi Emden and thanks. I suspect that the Windows build process could be cleaned up quite a bit.

Personally I'd like to be able to load the solution file, select dot as the default project and hit F5 to start debugging :) Does that sound like a decent ratrionalization?

Let me see if I can get a debug build using your steps first.

64bit support may be more problematic: 64bit GTK builds 'experimental'. But it might be worth a shot. http://www.gtk.org/download/win64.php

Jerry.

emden commented 9 years ago

On 2/3/15 5:51 AM, Jerry Evans wrote:

Hi Emden and thanks. I suspect that the Windows build process could be cleaned up quite a bit.

:) :)

Personally I'd like to be able to load the solution file, select dot as the default project and hit F5 to start debugging :) Does that sound like a decent ratrionalization?

Let me see if I can get a debug build using your steps first.

A simpler build process would be desirable.

The build itself is rather simple:

There should be some way to avoid the third step.

Building a binary package requires a bit more:

By the way, if someone knows how to create the .msi package so it correctly adds the Graphviz bin to the environment PATH variable, let us know the secret. This is obviously desirable, but every time we tried to add this feature, someone complained that his PATH variable or something else in the registry was corrupted. So we disabled this.

Also, as it stands now, build changes are recorded in the makefiles, and then added by hand to the relevant Windows build files. It would be great if this last step could be avoided or automated. But then one has the problem of the various preprocessing such as bison and flex.

64bit support may be more problematic: 64bit GTK builds 'experimental'. But it might be worth a shot. http://www.gtk.org/download/win64.php

Technically, the build doesn't require GTK, just cairo, pango, expat and their dependencies (freetype, fontconfig, etc.). As all of these were part of the GTK++ Windows package, it was just simpler to install and build against it.

In its current state, Graphviz really relies on cairo, pango, etc. for its most full-featured version. So any decent 64bit package would need these.

 Emden
emden commented 9 years ago

"By the way, if someone knows how to create the .msi package so it correctly adds the Graphviz bin to the environment PATH variable, let us know the secret. This is obviously desirable, but every time we tried to add this feature, someone complained that his PATH variable or something else in the registry was corrupted. So we disabled this."

No point in using MSI, it's way to complex, there are much easier things, take a look at this blog post I did for a quick rundown of some of the choices you have:

http://www.codeguru.com/csharp/.net/net_vs_addins/visualstudioadd-ins/installers-for-.net.html

On 3 February 2015 at 15:37, Emden R. Gansner erg@research.att.com wrote:

On 2/3/15 5:51 AM, Jerry Evans wrote:

Hi Emden and thanks. I suspect that the Windows build process could be cleaned up quite a bit.

:) :)

Personally I'd like to be able to load the solution file, select dot as the default project and hit F5 to start debugging :) Does that sound like a decent ratrionalization?

Let me see if I can get a debug build using your steps first.

A simpler build process would be desirable.

The build itself is rather simple:

  • get the newest source
  • assume the third-party libraries are installed in some standard place referenced by the include paths in the project files. This could include the libraries gd, GTS and ann, which we currently build each night from source.
  • replace/add some default configure or include files by Windows-specific ones. These include windows/FEATURE, windows/config.h, and windows/getopt.h.
  • build

There should be some way to avoid the third step.

Building a binary package requires a bit more:

  • build once for the release version; copy the .exe, .dll and .lib files into the release/bin and release/lib/release directories.
  • build once for the debug version; copy the .dll and .lib files into the release/lib/debug directory.
  • copy into the release directory all of the exported files: include files, documentation, examples, other configuration and data files, plus all of the third-party libraries.
  • create .msi and .zip files and ship

By the way, if someone knows how to create the .msi package so it correctly adds the Graphviz bin to the environment PATH variable, let us know the secret. This is obviously desirable, but every time we tried to add this feature, someone complained that his PATH variable or something else in the registry was corrupted. So we disabled this.

Also, as it stands now, build changes are recorded in the makefiles, and then added by hand to the relevant Windows build files. It would be great if this last step could be avoided or automated. But then one has the problem of the various preprocessing such as bison and flex.

64bit support may be more problematic: 64bit GTK builds 'experimental'. But it might be worth a shot. http://www.gtk.org/download/win64.php

Technically, the build doesn't require GTK, just cairo, pango, expat and their dependencies (freetype, fontconfig, etc.). As all of these were part of the GTK++ Windows package, it was just simpler to install and build against it.

In its current state, Graphviz really relies on cairo, pango, etc. for its most full-featured version. So any decent 64bit package would need these.

Emden
datahead8888 commented 9 years ago

@emden, do you know of any copies of 64 bit versions of Windows .lib files such as gvc.lib, cgraph.lib, and graph.lib? I'd be quite eager to avoid going through a whole Windows build process for this, but I cannot find 64 bit versions of these files anywhere online. I have to link to GraphViz from a 64 bit C++ application on Windows. Porting the application to Linux is not feasible now.

Dynamically linking via an existing 64 bit dll file would be fine, too, if you know of one.

An MSI file to install all this would be great, too, but I just need the lib / dll files :)

magneticnorth commented 9 years ago

graphviz.org http://graphviz.org/ doesn’t provide any 64 bit executables on Windows. We lost access to our build machines in AT&T since most of us are no longer with that company. We are hoping someone gets Graphviz to build on some CI service on the web like Appveyor using modern project files (something else that we don’tt have) then we can look at enabling 64 bits too. (Already works on Linux so no code changes should be needed.)

toxabond commented 8 years ago

how can I build the latest version of graphviz on windows using Visual studio ?

cbuahin commented 8 years ago

Has anyone been able to compile graphviz for a 64 bit windows machine ? I desperately need it for a project. I have been trying to compile it for a few days now. Everything compiles fine except for libltdl. Is someone able to share their prebuilt x64 window libraries ?

magneticnorth commented 8 years ago

Maybe you can share your Visual Studio build project files, we can put it up on Appveyor or at least an AWS node, and someone can help finish the job?

Stephen

On Apr 19, 2016, at 11:30 AM, Caleb Buahin notifications@github.com wrote:

Has anyone been able to compile graphviz for a 64 bit windows machine ? I desperately need it for a project. I have been trying to compile it for a few days now. Everything compiles fine except for libltdl. Is someone able to share their prebuilt x64 window libraries ?

— You are receiving this because you commented. Reply to this email directly or view it on GitHub https://github.com/ellson/graphviz/issues/36#issuecomment-211979108

cbuahin commented 8 years ago

I will. Many thanks!