diff --git a/CHANGELOG.md b/CHANGELOG.md index 1cabe7cf672308ca10b82e3e439fb2e5d39f5922..681872743267a55d310265999988dfbdfa450992 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- If Quartz is enabled on macOS, the autotools build will include support for it + as a built-in plugin for static builds, for dependency free i.e. PDF support. - Improved `agwrite` so it is much faster (linear not quadratic) when there are many small subgraphs. #2593 - **Breaking**: `rank_t.cache_nc` is now a `int64_t`. diff --git a/cmd/dot/Makefile.am b/cmd/dot/Makefile.am index b18bdf41384ebdbb31179485f0c26e211eef39d7..276089116e89dae67ca31ed965b239249cbbc44f 100644 --- a/cmd/dot/Makefile.am +++ b/cmd/dot/Makefile.am @@ -108,6 +108,11 @@ dot_builtins_LDADD = \ $(top_builddir)/lib/cdt/libcdt.la \ $(GTS_LIBS) $(EXPAT_LIBS) $(Z_LIBS) $(IPSEPCOLA_LIBS) $(MATH_LIBS) +if WITH_QUARTZ +dot_static_LDADD += $(top_builddir)/plugin/quartz/.libs/libgvplugin_quartz_C.a $(QUARTZ_LIBS) +dot_builtins_LDADD += $(top_builddir)/plugin/quartz/libgvplugin_quartz.la $(QUARTZ_LIBS) +endif + if WITH_LIBGD dot_static_LDADD += $(top_builddir)/plugin/gd/.libs/libgvplugin_gd_C.a $(GDLIB_LIBS) dot_builtins_LDADD += $(top_builddir)/plugin/gd/libgvplugin_gd.la $(GDLIB_LIBS) diff --git a/cmd/dot/dot_builtins.cpp b/cmd/dot/dot_builtins.cpp index f6dfe5d8be01cac69d116538c4104bdce196d9c6..42edae0cd8d0824514aba0ac849f6b5e28263e28 100644 --- a/cmd/dot/dot_builtins.cpp +++ b/cmd/dot/dot_builtins.cpp @@ -22,6 +22,9 @@ extern "C" { IMPORT extern gvplugin_library_t gvplugin_dot_layout_LTX_library; IMPORT extern gvplugin_library_t gvplugin_neato_layout_LTX_library; +#ifdef HAVE_QUARTZ +IMPORT extern gvplugin_library_t gvplugin_quartz_LTX_library; +#endif #ifdef HAVE_LIBGD IMPORT extern gvplugin_library_t gvplugin_gd_LTX_library; #endif @@ -38,6 +41,9 @@ IMPORT extern gvplugin_library_t gvplugin_vt_LTX_library; lt_symlist_t lt_preloaded_symbols[] = { { "gvplugin_dot_layout_LTX_library", &gvplugin_dot_layout_LTX_library }, { "gvplugin_neato_layout_LTX_library", &gvplugin_neato_layout_LTX_library }, +#ifdef HAVE_QUARTZ + { "gvplugin_quartz_LTX_library", &gvplugin_quartz_LTX_library}, +#endif #ifdef HAVE_PANGOCAIRO { "gvplugin_pango_LTX_library", &gvplugin_pango_LTX_library }, #ifdef HAVE_WEBP diff --git a/configure.ac b/configure.ac index 6dcebb46cf0afa2010e5cfce15ee2611cba0757e..a5689c3944c205273cfb21a3fade0274f4666fb1 100644 --- a/configure.ac +++ b/configure.ac @@ -1713,6 +1713,7 @@ else QUARTZ_LIBS='-framework ApplicationServices' AC_SUBST([QUARTZ_CFLAGS]) AC_SUBST([QUARTZ_LIBS]) + AC_DEFINE_UNQUOTED(HAVE_QUARTZ,1,[Define if you have the Quartz framework for macOS]) else use_quartz="No (missing ApplicationServices.framework)" fi