[go: up one dir, main page]

Use Quartz for static dot builtins

This enables Quartz in the static build of GraphViz on macOS, allowing for i.e. PDF export using only non-external system dependencies. Adapted from the older mailing list message by Glen Low. (I wasn't aware of !3642 (closed) when creating this PR, but it seems to have slightly overlapping purpose)

Currently, only autotools and not CMake is supported yet.

For the audience at home, I can build with something like:

MACOSX_DEPLOYMENT_TARGET="10.15" CC="cc -arch arm64 -arch x86_64" CXX="c++ -arch arm64 -arch x86_64" CPP="gcc -E" CXXCPP="g++ -E" ./configure --with-quartz=yes --enable-static --disable-shared --with-visio=no --disable-ltdl --with-gtk=no --with-pangocairo=no --with-gdk=no --with-gdk-pixbuf=no --with-webp=no --with-rsvg=no --with-poppler=no --with-libgd=no --with-lasi=no --with-freetype2=no --with-expat=no --with-gts=no -enable-swig=no --enable-tcl=no --with-zlibdir=/usr/lib
MACOSX_DEPLOYMENT_TARGET="10.15" make -j8

...and the resulting cmd/dot/dot_static should only need system libraries, ideal for stuffing into another app's bundle.

See https://marc.info/?l=graphviz-devel&m=132335419922240 See https://sporks.space/2023/04/11/building-a-static-graphviz-for-macos/

Merge request reports

Loading