diff --git a/.gitignore b/.gitignore
index 822195f33058c7f59811e0a2780582b4f8f6331a..ca507e6f2a1c8f44c36c0af7a1cdd5302d284069 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,6 +9,9 @@ CMakeCache.txt
/graphviz-*.tar.gz
/GRAPHVIZ_VERSION
+# product of: make pkg
+/graphviz-*.pkg
+
cmd/gvedit/moc_csettings.cpp
cmd/gvedit/moc_imageviewer.cpp
cmd/gvedit/moc_mainwindow.cpp
@@ -45,6 +48,7 @@ Makefile.in
/config.h.in~
/config.log
/config.status
+/configure~
/libtool
/redhat/graphviz.spec.fedora
/redhat/graphviz.spec.rhel
@@ -62,10 +66,11 @@ doc/schema/Makefile
cmd/gvedit/gvedit.pro
debian/changelog
debian/libgv-php5.install
+macosx/Distribution.xml
macosx/Info.plist
-macosx/build/graphviz.pmdoc/01local.xml
-macosx/build/graphviz.pmdoc/02graphviz.xml
+macosx/build/
tclpkg/gv/META.gv
+stamp-h1
# Files generated by make
*.ih
@@ -150,6 +155,7 @@ lib/common/htmlparse.output
lib/common/svgcolor_lib
lib/expr/exparse.c
lib/expr/exparse.h
+lib/expr/exparse.output
lib/vpsc/pairingheap/.dirstamp
plugin/xlib/vimdot
diff --git a/CMakeLists.txt b/CMakeLists.txt
index f4b41c47a2c3b9dcb2c243623468860eaee10d38..7c0a5cd682328d78583c6bb43b0b49c7b5e7600f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -362,6 +362,12 @@ include(CPack)
include(CTest)
# ======================= Specify subdirectories to build ======================
+if(APPLE)
+ set(CMAKE_OSX_ARCHITECTURES "arm64" "x86_64")
+ set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
+ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
+ add_subdirectory(macosx)
+endif()
add_subdirectory(contrib/diffimg)
add_subdirectory(contrib/prune)
add_subdirectory(graphs)
@@ -389,5 +395,4 @@ file(GLOB pcfiles "${CMAKE_CURRENT_BINARY_DIR}/*.pc")
foreach(file "${pcfiles}")
install(FILES ${file} DESTINATION "${PKGCONFIG_DIR}")
endforeach(file)
-
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
diff --git a/Makefile.am b/Makefile.am
index 21cecb065ecd82f4e1c535aa926fbbf6272ee0ab..1b85a11b13c8cf656b61d529eef4e862367ebfd8 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -54,6 +54,11 @@ deb: dist
.PHONY: pkg
pkg: dist
- tar xzf graphviz-$(VERSION).tar.gz && make -C graphviz-$(VERSION)/macosx/build && mv graphviz-$(VERSION)/macosx/build/graphviz-*.pkg .
+ (dir=`mktemp -d` ;\
+ tar xzf graphviz-$(VERSION).tar.gz -C $${dir} --strip-components 1 ;\
+ make -C $${dir}/macosx -f package.mk ;\
+ mv $${dir}/graphviz-*.pkg . ;\
+ rm -rf $${dir}\
+)
DISTCLEANFILES = config.cache builddate.h FEATURE/* graphviz-$(VERSION)*
diff --git a/ci/build.sh b/ci/build.sh
index 30c7e4214dcea376d2702a6124356cee5658897e..6a278e0264be41d5b0ea7263ae4711b1ad59ef34 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -42,6 +42,16 @@ if [ "${build_system}" = "cmake" ]; then
fi
elif [[ "${OSTYPE}" =~ "darwin" ]]; then
mv build/*.zip ${DIR}/
+ mkdir build_package
+ pushd build_package
+ cmake --log-level=VERBOSE --warn-uninitialized -Werror=dev \
+ --install-prefix=/Applications/Graphviz.app/Contents/Resources \
+ ${CMAKE_OPTIONS:-} ..
+ cmake --build .
+ DESTDIR=${PWD}/macosx/Destdir cmake --install .
+ DESTDIR=${PWD}/macosx/Destdir make -C macosx pkg
+ mv graphviz.pkg ${DIR}/
+ popd
elif [ "${OSTYPE}" = "msys" ]; then
mv build/*.zip ${DIR}/
mv build/*.exe ${DIR}/
@@ -85,7 +95,8 @@ else
fi
elif [[ "${OSTYPE}" =~ "darwin" ]]; then
./autogen.sh
- ./configure --prefix=$( pwd )/build --with-quartz=yes
+ ./configure --prefix=$( pwd )/build
+ make pkg
make
make install
tar cfz ${DIR}/graphviz-${GV_VERSION}-${ARCH}.tar.gz --options gzip:compression-level=9 build
diff --git a/configure.ac b/configure.ac
index e3a65a5fa3f2495cd26e63fc8222bddbac1ec4c9..43ec9048f8437a827daf1c6052fec6acc5a624a0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -155,6 +155,7 @@ AC_DEFINE_UNQUOTED(PATHSEPARATOR,"$PATHSEPARATOR",[Path separator character.])
AM_CONDITIONAL(WITH_WIN32, [test "$UWIN" = "yes" -o "$CYGWIN" = "yes" -o "$MINGW32" = "yes"])
AM_CONDITIONAL(WITH_CYGWIN, [test "$CYGWIN" = "yes"])
AM_CONDITIONAL(WITH_MINGW, [test "$MINGW32" = "yes"])
+AM_CONDITIONAL(WITH_DARWIN, [test "$DARWIN" = "yes"])
DEFAULT_DPI=96
AC_DEFINE_UNQUOTED(DEFAULT_DPI,$DEFAULT_DPI,Default DPI.)
@@ -1759,23 +1760,33 @@ AM_CONDITIONAL([WITH_QT], [test "$use_qt" = "Yes"])
dnl -----------------------------------
dnl INCLUDES and LIBS for QUARTZ
-AC_ARG_WITH(quartz,
- [AS_HELP_STRING([--with-quartz=no],[Quartz framework (Mac OS X)])],
- [], [with_quartz=no])
-
-if test "$with_quartz" != "yes"; then
- use_quartz="No (disabled by default - Mac only)"
-else
- if test -d "/System/Library/Frameworks/ApplicationServices.framework"; then
- use_quartz="Yes"
- QUARTZ_CFLAGS=''
- QUARTZ_LIBS='-framework ApplicationServices'
- AC_SUBST([QUARTZ_CFLAGS])
- AC_SUBST([QUARTZ_LIBS])
- else
- use_quartz="No (missing ApplicationServices.framework)"
- fi
-fi
+case "${host_os}" in
+ *darwin* )
+ AC_ARG_WITH(quartz,
+ [AS_HELP_STRING([--with-quartz=yes],[Quartz framework (Mac OS X)])],
+ [],[with_quartz=yes])
+ case "$with_quartz" in
+ yes )
+ if test -d "/System/Library/Frameworks/ApplicationServices.framework"; then
+ use_quartz="Yes"
+ QUARTZ_CFLAGS=''
+ QUARTZ_LIBS='-framework ApplicationServices'
+ AC_SUBST([QUARTZ_CFLAGS])
+ AC_SUBST([QUARTZ_LIBS])
+ else
+ use_quartz="No (missing ApplicationServices.framework)"
+ fi
+ ;;
+ * )
+ use_quartz="No (disabled)"
+ ;;
+ esac
+ ;;
+ * )
+ with_quartz=no
+ use_quartz="No (disabled by default - Mac only)"
+ ;;
+esac
AM_CONDITIONAL(WITH_QUARTZ, [test "$use_quartz" = "Yes"])
dnl -----------------------------------
@@ -2188,9 +2199,8 @@ AC_CONFIG_FILES(Makefile
lib/xdot/libxdot.pc
lib/topfish/Makefile
lib/glcomp/Makefile
+ macosx/Distribution.xml
macosx/Info.plist
- macosx/build/graphviz.pmdoc/01local.xml
- macosx/build/graphviz.pmdoc/02graphviz.xml
plugin/Makefile
plugin/core/Makefile
plugin/devil/Makefile
diff --git a/macosx/CMakeLists.txt b/macosx/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..ec4b5dea8aa7208952b8fde9dc1edc0584f30ba5
--- /dev/null
+++ b/macosx/CMakeLists.txt
@@ -0,0 +1,60 @@
+find_program(XCODEBUILD NAMES xcodebuild)
+find_program(PKGBUILD NAMES pkgbuild)
+find_program(PRODUCTBUILD NAMES productbuild)
+
+set(GV_PKG ${CMAKE_BINARY_DIR}/graphviz.pkg)
+
+set(PREFIX ${CMAKE_INSTALL_PREFIX})
+file(GLOB_RECURSE sources "*.m")
+file(GLOB_RECURSE headers "*.h")
+file(GLOB_RECURSE ibfiles "*.xib")
+
+configure_file(Info.plist.in ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist @ONLY)
+configure_file(Distribution.xml.in Distribution.xml @ONLY)
+file(GENERATE
+ OUTPUT Scripts/postinstall
+ CONTENT "#!/bin/sh
+logger -is -t \"Graphviz Install\" \"register dot plugins\"
+${PREFIX}/bin/dot -c
+echo \"${PREFIX}/bin\" >/etc/paths.d/graphviz
+"
+ FILE_PERMISSIONS
+ OWNER_READ OWNER_WRITE OWNER_EXECUTE
+ GROUP_READ GROUP_EXECUTE
+ WORLD_READ WORLD_EXECUTE
+)
+
+add_custom_target(pkg
+ COMMENT "Built macOS Installer Package"
+ DEPENDS ${GV_PKG}
+)
+
+add_custom_command(OUTPUT ${GV_PKG}
+ COMMENT "Build macOS Installer Package"
+ DEPENDS
+ ${headers}
+ ${sources}
+ ${ibfiles}
+ $(DESTDIR)${PREFIX}/bin/dot
+ ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist
+ ${CMAKE_CURRENT_SOURCE_DIR}/Component.plist
+ Distribution.xml
+ Scripts/postinstall
+ COMMAND ${XCODEBUILD}
+ -project ${CMAKE_CURRENT_SOURCE_DIR}/graphviz.xcodeproj
+ install
+ ARCHS="${CMAKE_OSX_ARCHITECTURES}"
+ DSTROOT=$(DESTDIR)
+ LIBRARY_SEARCH_PATHS=${CMAKE_INSTALL_RPATH}
+ LD_RUNPATH_SEARCH_PATHS=${CMAKE_INSTALL_RPATH}
+ COMMAND ${PKGBUILD}
+ --root $(DESTDIR)
+ --scripts ${CMAKE_CURRENT_BINARY_DIR}/Scripts
+ --identifier com.att.graphviz
+ --component-plist ${CMAKE_CURRENT_SOURCE_DIR}/Component.plist
+ ${CMAKE_CURRENT_BINARY_DIR}/app.pkg
+ COMMAND ${PRODUCTBUILD}
+ --package-path ${CMAKE_CURRENT_BINARY_DIR}
+ --distribution ${CMAKE_CURRENT_BINARY_DIR}/Distribution.xml
+ ${GV_PKG}
+)
diff --git a/macosx/Component.plist b/macosx/Component.plist
new file mode 100644
index 0000000000000000000000000000000000000000..0c62c4bafb53fa63d89e6f491ee50ac87674ded3
--- /dev/null
+++ b/macosx/Component.plist
@@ -0,0 +1,18 @@
+
+
+
+
+
+ BundleHasStrictIdentifier
+
+ BundleIsRelocatable
+
+ BundleIsVersionChecked
+
+ BundleOverwriteAction
+ upgrade
+ RootRelativeBundlePath
+ Applications/Graphviz.app
+
+
+
diff --git a/macosx/Distribution.xml.in b/macosx/Distribution.xml.in
new file mode 100644
index 0000000000000000000000000000000000000000..2cd04808a8f474803e5f33288f9deaeb960a9e35
--- /dev/null
+++ b/macosx/Distribution.xml.in
@@ -0,0 +1,46 @@
+
+
+
+ Graphviz
+
+
+
+
+
+
+
+
+
+
+
+ app.pkg
+
+
+
diff --git a/macosx/build/English.lproj/License.rtf b/macosx/English.lproj/License.rtf
similarity index 100%
rename from macosx/build/English.lproj/License.rtf
rename to macosx/English.lproj/License.rtf
diff --git a/macosx/build/Makefile.leopard b/macosx/build/Makefile.leopard
deleted file mode 100644
index dc63327471e78bea83c2c5523534410b70d1bc32..0000000000000000000000000000000000000000
--- a/macosx/build/Makefile.leopard
+++ /dev/null
@@ -1,68 +0,0 @@
-# tools
-
-MAKE=make
-PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-XCODEBUILD=xcodebuild
-PMSURVEY=$(CURDIR)/pmsurvey
-
-# prefix
-
-PREFIX=$(HOME)/FIX/leopard
-
-# base
-
-GV_DIR=../..
-DOT=dot
-
-#
-# graphviz
-#
-
-graphviz.pkg: usr/local/bin/$(DOT) graphviz.pmdoc/02graphviz-contents.xml postinstall
- @echo
- @echo PACKAGING GRAPHVIZ...
- @echo
- "$(PACKAGEMAKER)" --verbose --doc graphviz.pmdoc --out $@
-
-graphviz.pmdoc/02graphviz-contents.xml: Release/Graphviz.app
- @echo
- @echo SURVEYING GRAPHVIZ...
- @echo
- "$(PMSURVEY)" "$(CURDIR)/Release/Graphviz.app" >$@
-
-usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo INSTALLING GRAPHVIZ...
- @echo
- $(MAKE) DESTDIR=$(CURDIR) -C $(GV_DIR) install-strip
- rm -rf usr/local/lib/graphviz/tcl/libtcldot_builtin.*
- cp $(PREFIX)/bin/fc-cache usr/local/bin/gv-fc-cache
-
-Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo BUILDING GRAPHVIZ GUI...
- @echo
- "$(XCODEBUILD)" -project ../graphviz.xcodeproj -configuration Release
-
-postinstall:
- echo "#!/bin/sh" >$@
- echo >>$@
- echo "/usr/local/bin/dot -c" >>$@
- make -n -C ../../tclpkg install-data-hook >>$@
- echo "arch -arch ppc -arch i386 /usr/local/bin/gv-fc-cache" >>$@
- echo 'if test `sysctl -n hw.cpu64bit_capable` = 1; then arch -arch ppc64 -arch x86_64 /usr/local/bin/gv-fc-cache; fi' >>$@
-
-$(GV_DIR)/cmd/dot/.libs/$(DOT): $(GV_DIR)/Makefile
- @echo
- @echo MAKING GRAPHVIZ...
- @echo
- if [[ -e $@ ]]; then $(MAKE) -C $(GV_DIR) clean; fi
- $(MAKE) -C $(GV_DIR)/tclpkg/tclstubs
- $(MAKE) -C $(GV_DIR)
-
-$(GV_DIR)/Makefile: $(GV_DIR)/configure
- @echo
- @echo CONFIGURING GRAPHVIZ...
- @echo
-# add ppc and ppc64 below if you want them
- cd $(GV_DIR) && ./configure --disable-dependency-tracking --with-smyrna=no --enable-swig=no --with-ipsepcola --with-quartz CFLAGS="-O2 -arch ppc -arch ppc64 -arch i386 -arch x86_64 -I$(PREFIX)/include" CXXFLAGS="-O2 -arch ppc -arch ppc64 -arch i386 -arch x86_64 -I$(PREFIX)/include" OBJCFLAGS="-O2 -arch ppc -arch ppc64 -arch i386 -arch x86_64 -I$(PREFIX)/include" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -L$(PREFIX)/lib -Wl,-dead_strip" GDLIB_CONFIG="$(PREFIX)/bin/gdlib-config" PKG_CONFIG="$(PREFIX)/bin/pkg-config" PKG_CONFIG_PATH="$(PREFIX)/lib/pkgconfig:/usr/X11/lib/pkgconfig"
diff --git a/macosx/build/Makefile.lion b/macosx/build/Makefile.lion
deleted file mode 100644
index 72ca1a5405399af5f623d8dfb79e15ef6d96859a..0000000000000000000000000000000000000000
--- a/macosx/build/Makefile.lion
+++ /dev/null
@@ -1,82 +0,0 @@
-# tools
-
-MAKE=make
-PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-XCODEBUILD=xcodebuild
-PMSURVEY=$(CURDIR)/pmsurvey
-
-# prefix
-
-PREFIX=/Users/gviz/FIX/Lion.x86_64
-
-# base
-
-GV_DIR=../..
-DOT=dot
-
-ARCH =
-
-#
-# graphviz
-#
-
-graphviz.pkg: usr/local/bin/$(DOT) graphviz.pmdoc/02graphviz-contents.xml postinstall
- @echo
- @echo PACKAGING GRAPHVIZ...
- @echo
- "$(PACKAGEMAKER)" --verbose --doc graphviz.pmdoc --out $@
-
-graphviz.pmdoc/02graphviz-contents.xml: Release/Graphviz.app
- @echo
- @echo SURVEYING GRAPHVIZ...
- @echo
- "$(PMSURVEY)" "$(CURDIR)/Release/Graphviz.app" >$@
-
-usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo INSTALLING GRAPHVIZ...
- @echo
- $(MAKE) DESTDIR=$(CURDIR) -C $(GV_DIR) install-strip
- rm -rf usr/local/lib/*.la
- rm -rf usr/local/lib/graphviz/*.la
- rm -rf usr/local/lib/graphviz/tcl/libtcldot_builtin.*
- cp $(PREFIX)/bin/fc-cache usr/local/bin/gv-fc-cache
-
-Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo BUILDING GRAPHVIZ GUI...
- @echo
- "$(XCODEBUILD)" -project ../graphviz.xcodeproj -configuration Release
-
-postinstall:
- echo "#!/bin/sh" >$@
- echo >>$@
- echo 'if [[ `uname -m` = i386 ]]; then rm /usr/local/lib/graphviz/*pango*; fi' >>$@
- echo "/usr/local/bin/dot -c" >>$@
- # make -n -C ../../tclpkg install-data-hook >>$@
- echo "arch -arch i386 /usr/local/bin/gv-fc-cache" >>$@
- echo 'if test `sysctl -n hw.cpu64bit_capable` = 1; then arch -arch x86_64 /usr/local/bin/gv-fc-cache; fi' >>$@
-
-$(GV_DIR)/cmd/dot/.libs/$(DOT): $(GV_DIR)/Makefile
- @echo
- @echo MAKING GRAPHVIZ...
- @echo
- if [[ -e $@ ]]; then $(MAKE) -C $(GV_DIR) clean; fi
- $(MAKE) -C $(GV_DIR)/tclpkg/tclstubs
- $(MAKE) -C $(GV_DIR)
-
-$(GV_DIR)/Makefile: $(GV_DIR)/configure
- @echo
- @echo CONFIGURING GRAPHVIZ...
- @echo
- cd $(GV_DIR) && ./configure --enable-swig=no --disable-dependency-tracking --with-ipsepcola --with-quartz --with-smyrna=no --disable-perl --with-extra-includedir="$(PREFIX)/include" --with-extra-libdir="$(PREFIX)/lib" CFLAGS="-O2 $(ARCH)" CXXFLAGS="-O2 $(ARCH)" OBJCFLAGS="-O2 $(ARCH)" LDFLAGS="$(ARCH) -Wl,-dead_strip" GDLIB_CONFIG="$(PREFIX)/bin/gdlib-config" PKG_CONFIG="$(PREFIX)/bin/pkg-config" PKG_CONFIG_PATH="$(PREFIX)/lib/pkgconfig:/usr/X11/lib/pkgconfig" LIBS="-framework CoreFoundation -framework CoreServices -framework ApplicationServices -fexceptions"
-
-
-
-.PHONY: clean
-clean:
- $(MAKE) -C $(GV_DIR) clean
-
-.PHONY: distclean
-distclean:
- $(MAKE) -C $(GV_DIR) distclean
diff --git a/macosx/build/Makefile.mountainlion b/macosx/build/Makefile.mountainlion
deleted file mode 100644
index b89ae22cb344ebbddb98039ebad20835cf7b4796..0000000000000000000000000000000000000000
--- a/macosx/build/Makefile.mountainlion
+++ /dev/null
@@ -1,80 +0,0 @@
-# tools
-
-MAKE=make
-PACKAGEMAKER=/Applications/XCode.app/Contents/Applications/PackageMaker.app/Contents/MacOS/PackageMaker
-XCODEBUILD=xcodebuild
-PMSURVEY=$(CURDIR)/pmsurvey
-
-# prefix
-
-PREFIX=/Users/gviz/FIX/MountainLion.x86_64
-
-# base
-
-GV_DIR=../..
-DOT=dot
-
-ARCH = -arch x86_64
-
-#
-# graphviz
-#
-
-graphviz.pkg: usr/local/bin/$(DOT) graphviz.pmdoc/02graphviz-contents.xml postinstall
- @echo
- @echo PACKAGING GRAPHVIZ...
- @echo
- "$(PACKAGEMAKER)" --verbose --doc graphviz.pmdoc --out $@
-
-graphviz.pmdoc/02graphviz-contents.xml: Release/Graphviz.app
- @echo
- @echo SURVEYING GRAPHVIZ...
- @echo
- "$(PMSURVEY)" "$(CURDIR)/Release/Graphviz.app" >$@
-
-usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo INSTALLING GRAPHVIZ...
- @echo
- $(MAKE) DESTDIR=$(CURDIR) -C $(GV_DIR) install-strip
- rm -rf usr/local/lib/*.la
- rm -rf usr/local/lib/graphviz/*.la
- rm -rf usr/local/lib/graphviz/tcl/libtcldot_builtin.*
- cp $(PREFIX)/bin/fc-cache usr/local/bin/gv-fc-cache
-
-Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo BUILDING GRAPHVIZ GUI...
- @echo
- "$(XCODEBUILD)" -project ../graphviz.xcodeproj -configuration Release
-
-postinstall:
- echo "#!/bin/sh" >$@
- echo >>$@
- echo 'if [[ `uname -m` = i386 ]]; then rm /usr/local/lib/graphviz/*pango*; fi' >>$@
- echo "/usr/local/bin/dot -c" >>$@
- # make -n -C ../../tclpkg install-data-hook >>$@
- echo "arch -arch i386 /usr/local/bin/gv-fc-cache" >>$@
- echo 'if test `sysctl -n hw.cpu64bit_capable` = 1; then arch -arch x86_64 /usr/local/bin/gv-fc-cache; fi' >>$@
-
-$(GV_DIR)/cmd/dot/.libs/$(DOT): $(GV_DIR)/Makefile
- @echo
- @echo MAKING GRAPHVIZ...
- @echo
- if [[ -e $@ ]]; then $(MAKE) -C $(GV_DIR) clean; fi
- $(MAKE) -C $(GV_DIR)/tclpkg/tclstubs
- $(MAKE) -C $(GV_DIR)
-
-$(GV_DIR)/Makefile: $(GV_DIR)/configure
- @echo
- @echo CONFIGURING GRAPHVIZ...
- @echo
- cd $(GV_DIR) && ./configure --enable-swig=no --disable-dependency-tracking --with-ipsepcola --with-quartz --with-smyrna=no --disable-perl --with-extra-includedir="$(PREFIX)/include" --with-extra-libdir="$(PREFIX)/lib" CFLAGS="-O2 $(ARCH)" CXXFLAGS="-O2 $(ARCH)" OBJCFLAGS="-O2 $(ARCH)" LDFLAGS="$(ARCH) -Wl,-dead_strip" GDLIB_CONFIG="$(PREFIX)/bin/gdlib-config" PKG_CONFIG="$(PREFIX)/bin/pkg-config" PKG_CONFIG_PATH="$(PREFIX)/lib/pkgconfig:/usr/X11/lib/pkgconfig"
-
-.PHONY: clean
-clean:
- $(MAKE) -C $(GV_DIR) clean
-
-.PHONY: distclean
-distclean:
- $(MAKE) -C $(GV_DIR) distclean
diff --git a/macosx/build/Makefile.snowleopard b/macosx/build/Makefile.snowleopard
deleted file mode 100644
index a3b0d9e5bb3ef685075c348dc610d0918884ee54..0000000000000000000000000000000000000000
--- a/macosx/build/Makefile.snowleopard
+++ /dev/null
@@ -1,80 +0,0 @@
-# tools
-
-MAKE=make
-PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-XCODEBUILD=xcodebuild
-PMSURVEY=$(CURDIR)/pmsurvey
-
-# prefix
-
-PREFIX=/Users/gviz/FIX/Darwin.i386
-
-# base
-
-GV_DIR=../..
-DOT=dot
-
-ARCH = -arch i386 -arch x86_64
-
-#
-# graphviz
-#
-
-graphviz.pkg: usr/local/bin/$(DOT) graphviz.pmdoc/02graphviz-contents.xml postinstall
- @echo
- @echo PACKAGING GRAPHVIZ...
- @echo
- "$(PACKAGEMAKER)" --verbose --doc graphviz.pmdoc --out $@
-
-graphviz.pmdoc/02graphviz-contents.xml: Release/Graphviz.app
- @echo
- @echo SURVEYING GRAPHVIZ...
- @echo
- "$(PMSURVEY)" "$(CURDIR)/Release/Graphviz.app" >$@
-
-usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo INSTALLING GRAPHVIZ...
- @echo
- $(MAKE) DESTDIR=$(CURDIR) -C $(GV_DIR) install-strip
- rm -rf usr/local/lib/*.la
- rm -rf usr/local/lib/graphviz/*.la
- rm -rf usr/local/lib/graphviz/tcl/libtcldot_builtin.*
- cp $(PREFIX)/bin/fc-cache usr/local/bin/gv-fc-cache
-
-Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/.libs/$(DOT)
- @echo
- @echo BUILDING GRAPHVIZ GUI...
- @echo
- "$(XCODEBUILD)" -project ../graphviz.xcodeproj -configuration Release
-
-postinstall:
- echo "#!/bin/sh" >$@
- echo >>$@
- echo 'if [[ `uname -m` = i386 ]]; then rm /usr/local/lib/graphviz/*pango*; fi' >>$@
- echo "/usr/local/bin/dot -c" >>$@
- # make -n -C ../../tclpkg install-data-hook >>$@
- echo "arch -arch i386 /usr/local/bin/gv-fc-cache" >>$@
- echo 'if test `sysctl -n hw.cpu64bit_capable` = 1; then arch -arch x86_64 /usr/local/bin/gv-fc-cache; fi' >>$@
-
-$(GV_DIR)/cmd/dot/.libs/$(DOT): $(GV_DIR)/Makefile
- @echo
- @echo MAKING GRAPHVIZ...
- @echo
- if [[ -e $@ ]]; then $(MAKE) -C $(GV_DIR) clean; fi
- $(MAKE) -C $(GV_DIR)/tclpkg/tclstubs
- $(MAKE) -C $(GV_DIR)
-
-$(GV_DIR)/Makefile: $(GV_DIR)/configure
- @echo
- @echo CONFIGURING GRAPHVIZ...
- @echo
- cd $(GV_DIR) && ./configure --enable-swig=no --disable-dependency-tracking --with-ipsepcola --with-quartz --with-smyrna=no --disable-perl --with-extra-includedir="$(PREFIX)/include" --with-extra-libdir="$(PREFIX)/lib" CFLAGS="-O2 $(ARCH)" CXXFLAGS="-O2 $(ARCH)" OBJCFLAGS="-O2 $(ARCH)" LDFLAGS="$(ARCH) -Wl,-dead_strip" GDLIB_CONFIG="$(PREFIX)/bin/gdlib-config" PKG_CONFIG="$(PREFIX)/bin/pkg-config" PKG_CONFIG_PATH="$(PREFIX)/lib/pkgconfig:/usr/X11/lib/pkgconfig"
-
-.PHONY: clean
-clean:
- $(MAKE) -C $(GV_DIR) clean
-
-.PHONY: distclean
-distclean:
- $(MAKE) -C $(GV_DIR) distclean
diff --git a/macosx/build/Makefile.tiger b/macosx/build/Makefile.tiger
deleted file mode 100644
index 8f73d4b7b6930dd572e5f284ecc0bba65f66cf92..0000000000000000000000000000000000000000
--- a/macosx/build/Makefile.tiger
+++ /dev/null
@@ -1,72 +0,0 @@
-# tools
-
-MAKE=make
-PACKAGEMAKER=/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker
-XCODEBUILD=xcodebuild
-
-# prefix
-
-PREFIX=$(HOME)/FIX/tiger
-
-# arch(s)
-
-#ARCHS32=-arch i386 -arch ppc
-#ARCHS64=-arch x86_64 -arch ppc64
-ARCHS32=-arch i386
-ARCHS64=
-ARCHS=$(ARCHS32) $(ARCHS64)
-
-# base
-
-GV_DIR=../..
-DOT=dot_static
-
-#
-# graphviz
-#
-
-graphviz.pkg: graphviz.pmdoc usr/local/bin/$(DOT) Release/Graphviz.app postinstall
- @echo
- @echo PACKAGING GRAPHVIZ...
- @echo
- "$(PACKAGEMAKER)" --doc graphviz.pmdoc --out $@
-
-#usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/.libs/$(DOT)
-
-usr/local/bin/$(DOT): $(GV_DIR)/cmd/dot/$(DOT)
- @echo
- @echo INSTALLING GRAPHVIZ...
- @echo
- $(MAKE) DESTDIR=$(CURDIR) -C $(GV_DIR) install-strip
- rm -rf usr/local/lib/graphviz/tcl/libtcldot_builtin.*
- cp $(PREFIX)/bin/fc-cache usr/local/bin/gv-fc-cache
-
-#Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/.libs/$(DOT)
-
-Release/Graphviz.app: ../*.m ../*.h $(GV_DIR)/cmd/dot/$(DOT)
- @echo
- @echo BUILDING GRAPHVIZ GUI...
- @echo
- "$(XCODEBUILD)" -project ../graphviz.xcodeproj -configuration Release
-
-postinstall:
- echo "/usr/local/bin/$(DOT) -c" >$@
- make -n -C ../../tclpkg install-data-hook >>$@
- echo "arch $(ARCHS32) /usr/local/bin/gv-fc-cache" >>$@
- echo 'if test `sysctl -n hw.cpu64bit_capable` = 1; then arch $(ARCHS64) /usr/local/bin/gv-fc-cache; fi' >>$@
-
-#$(GV_DIR)/cmd/dot/.libs/$(DOT): $(GV_DIR)/Makefile
-
-$(GV_DIR)/cmd/dot/$(DOT): $(GV_DIR)/Makefile
- @echo
- @echo MAKING GRAPHVIZ...
- @echo
- if [[ -e $@ ]]; then $(MAKE) -C $(GV_DIR) clean; fi
- $(MAKE) -C $(GV_DIR)/tclpkg/tclstubs
- $(MAKE) -C $(GV_DIR)
-
-$(GV_DIR)/Makefile: $(GV_DIR)/configure
- @echo
- @echo CONFIGURING GRAPHVIZ...
- @echo
- cd $(GV_DIR) && ./configure --disable-shared --enable-static --disable-dependency-tracking --with-ipsepcola --without-quartz CFLAGS="-O2 $(ARCHS) -I$(PREFIX)/include" CXXFLAGS="-O2 $(ARCHS) -I$(PREFIX)/include" OBJCFLAGS="-O2 $(ARCHS) -I$(PREFIX)/include" LDFLAGS="$(ARCHS) -L$(PREFIX)/lib -Wl,-dead_strip" GDLIB_CONFIG="$(PREFIX)/bin/gdlib-config" PKG_CONFIG="$(PREFIX)/bin/pkg-config" PKG_CONFIG_PATH="$(PREFIX)/lib/pkgconfig:/usr/X11/lib/pkgconfig" LIBS="-framework CoreFoundation -framework CoreServices -framework ApplicationServices -fexceptions"
diff --git a/macosx/build/graphviz.help.helpindex.lion b/macosx/build/graphviz.help.helpindex.lion
deleted file mode 100644
index b2ce8579f48e988c20931c86e146b25694bc05af..0000000000000000000000000000000000000000
Binary files a/macosx/build/graphviz.help.helpindex.lion and /dev/null differ
diff --git a/macosx/build/graphviz.help.helpindex.snowleopard b/macosx/build/graphviz.help.helpindex.snowleopard
deleted file mode 100644
index 9c1f77836d9aa510d29bdcf82df3ae12e2ef9773..0000000000000000000000000000000000000000
Binary files a/macosx/build/graphviz.help.helpindex.snowleopard and /dev/null differ
diff --git a/macosx/build/graphviz.pmdoc/01local.xml.in b/macosx/build/graphviz.pmdoc/01local.xml.in
deleted file mode 100644
index eda333a0d39f2451bf7f1617d66bb6cf0db3fb96..0000000000000000000000000000000000000000
--- a/macosx/build/graphviz.pmdoc/01local.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-com.att.graphviz.cli.pkg@VERSION@usr/local/usr/localparentscripts.postinstall.pathinstallFrom.isRelativeTypeinstallTo.pathversioninstallToidentifierpostinstall01local-contents.xml/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$
diff --git a/macosx/build/graphviz.pmdoc/02graphviz.xml.in b/macosx/build/graphviz.pmdoc/02graphviz.xml.in
deleted file mode 100644
index b103888242c3d520fdb5fc5d5cc82b778fe4746d..0000000000000000000000000000000000000000
--- a/macosx/build/graphviz.pmdoc/02graphviz.xml.in
+++ /dev/null
@@ -1 +0,0 @@
-com.att.graphviz.gui.pkg@VERSION@Release/Graphviz.app/ApplicationsparentrelocatableversioninstallFrom.isRelativeTypeidentifier02graphviz-contents.xmlisRelocatable/CVS$/\.svn$/\.cvsignore$/\.cvspass$/\.DS_Store$
diff --git a/macosx/build/graphviz.pmdoc/index.xml b/macosx/build/graphviz.pmdoc/index.xml
deleted file mode 100644
index 2094db3ad6881d8a4207c811d298ad88a9d6f802..0000000000000000000000000000000000000000
--- a/macosx/build/graphviz.pmdoc/index.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-Graphviz/Users/dperry/Documents/Graphviz.pkgcom.attEnglish.lproj/License.rtf- 01local.xml
- 02graphviz.xml
properties.titleproperties.anywhereDomainproperties.systemDomain
-
diff --git a/macosx/build/pmsurvey b/macosx/build/pmsurvey
deleted file mode 100755
index 7c8f158e8968b47f280d8bbe054d5eb29983af63..0000000000000000000000000000000000000000
--- a/macosx/build/pmsurvey
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/bash
-
-# set up owner, group and permissions for system or user directories (2nd parameter)
-OWNER=root
-GROUP=admin
-DIRMOD=16893 # drwxrwxr-x
-EXEMOD=33277 # -rwxrwxr-x
-LINKMOD=41469 # lrwxrwxr-x
-FILEMOD=33204 # -rw-rw-r--
-
-# recursive survey of directory:
-# ignore cvs, svn and Finder crap
-# choose file mode depending on what kind of file we got
-
-survey ()
-{
- for file in `ls -1A $1`
- do
- case $file in
- CVS | .svn | .cvsignore | .cvspass | .DS_Store )
- ;;
- * )
- if [ -d "$1/$file" ]
- then
- echo ""
- survey "$1/$file"
- echo "mode"
- echo ""
- elif [ -x "$1/$file" ]
- then
- echo ""
- echo "mode"
- echo ""
- elif [ -L "$1/$file" ]
- then
- echo ""
- echo "mode"
- echo ""
- else
- echo ""
- echo "mode"
- echo ""
- fi
- ;;
- esac
- done
-}
-
-# output root XML and top directory, then recursively survey the directories
-
-echo ""
-echo ""
-echo ""
-survey "$1"
-echo "mode"
-echo ""
-echo ""
diff --git a/macosx/graphviz.xcodeproj/project.pbxproj b/macosx/graphviz.xcodeproj/project.pbxproj
index 0446bf9087f39eada4e5f4436fd56e1f5ed0320e..6e8c5ae0c786fbb96bb5d17f7c3c902c26e2936f 100644
--- a/macosx/graphviz.xcodeproj/project.pbxproj
+++ b/macosx/graphviz.xcodeproj/project.pbxproj
@@ -7,6 +7,7 @@
objects = {
/* Begin PBXBuildFile section */
+ 584D9AB22B9C0C880009FA29 /* License.rtf in Resources */ = {isa = PBXBuildFile; fileRef = 584D9AB02B9C0C880009FA29 /* License.rtf */; };
5BCDD0AD141A8E6400E812BC /* graphviz.help in Resources */ = {isa = PBXBuildFile; fileRef = 5BCDD0AA141A8E6400E812BC /* graphviz.help */; };
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165FFE840EACC02AAC07 /* InfoPlist.strings */; };
8D15AC310486D014006FF6A4 /* GVDocument.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A37F4ACFDCFA73011CA2CEA /* GVDocument.m */; settings = {ATTRIBUTES = (); }; };
@@ -53,6 +54,7 @@
2A37F4C4FDCFA73011CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; };
2A37F4C5FDCFA73011CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; };
32DBCF750370BD2300C91783 /* graphviz_prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = graphviz_prefix.pch; sourceTree = ""; };
+ 584D9AB12B9C0C880009FA29 /* English */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = English; path = English.lproj/License.rtf; sourceTree = ""; };
5BCDD0AA141A8E6400E812BC /* graphviz.help */ = {isa = PBXFileReference; lastKnownFileType = folder; path = graphviz.help; sourceTree = ""; };
8D15AC360486D014006FF6A4 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
8D15AC370486D014006FF6A4 /* Graphviz.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Graphviz.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -197,6 +199,7 @@
D8C09DB60D60427200134D03 /* NodeAttributesTemplate.png */,
8D15AC360486D014006FF6A4 /* Info.plist */,
089C165FFE840EACC02AAC07 /* InfoPlist.strings */,
+ 584D9AB02B9C0C880009FA29 /* License.rtf */,
);
name = Resources;
sourceTree = "";
@@ -251,6 +254,8 @@
/* Begin PBXProject section */
2A37F4A9FDCFA73011CA2CEA /* Project object */ = {
isa = PBXProject;
+ attributes = {
+ };
buildConfigurationList = C05733CB08A9546B00998B17 /* Build configuration list for PBXProject "graphviz" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = English;
@@ -283,6 +288,7 @@
D8969EA80E30DF93002D1876 /* GraphDot.icns in Resources */,
D8969EA90E30DF93002D1876 /* GraphGv.icns in Resources */,
8D15AC2F0486D014006FF6A4 /* InfoPlist.strings in Resources */,
+ 584D9AB22B9C0C880009FA29 /* License.rtf in Resources */,
D87989F50D5D287600CCC6E3 /* Attributes.xib in Resources */,
D8C09DB90D60427200134D03 /* NodeAttributesTemplate.png in Resources */,
D8C09DBA0D60427200134D03 /* GraphAttributesTemplate.png in Resources */,
@@ -328,6 +334,14 @@
name = InfoPlist.strings;
sourceTree = "";
};
+ 584D9AB02B9C0C880009FA29 /* License.rtf */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 584D9AB12B9C0C880009FA29 /* English */,
+ );
+ name = License.rtf;
+ sourceTree = "";
+ };
D8264B0B0DE81133009D6A44 /* Export.xib */ = {
isa = PBXVariantGroup;
children = (
@@ -372,7 +386,6 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = graphviz_prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
../lib/cdt/.libs,
../lib/cgraph/.libs,
@@ -380,20 +393,16 @@
);
PRODUCT_NAME = Graphviz;
USER_HEADER_SEARCH_PATHS = "../lib/common ../lib/cdt ../lib/pathplan ../lib/cgraph ../lib/gvc";
- WRAPPER_EXTENSION = app;
- ZERO_LINK = YES;
};
name = Debug;
};
C05733C908A9546B00998B17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS_STANDARD_32_64_BIT_PRE_XCODE_3_1 = x86_64;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = graphviz_prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
../lib/cdt/.libs,
../lib/cgraph/.libs,
@@ -401,15 +410,13 @@
);
PRODUCT_NAME = Graphviz;
USER_HEADER_SEARCH_PATHS = "../lib/common ../lib/cdt ../lib/pathplan ../lib/cgraph ../lib/gvc";
- VALID_ARCHS = "i386 x86_64";
- WRAPPER_EXTENSION = app;
};
name = Release;
};
C05733CC08A9546B00998B17 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
@@ -435,15 +442,13 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- SDKROOT = macosx;
};
name = Debug;
};
C05733CD08A9546B00998B17 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
@@ -469,8 +474,6 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- MACOSX_DEPLOYMENT_TARGET = 10.6;
- SDKROOT = macosx;
};
name = Release;
};
diff --git a/macosx/package.mk b/macosx/package.mk
new file mode 100644
index 0000000000000000000000000000000000000000..e7481e8134c65a216d9cc7909c53047df2187a57
--- /dev/null
+++ b/macosx/package.mk
@@ -0,0 +1,117 @@
+#######################################################################
+# Copyright (c) 2011 AT&T Intellectual Property
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors: Details at http://www.graphviz.org/
+#######################################################################
+
+ARCH=$(shell uname -m)
+PREFIX=/Applications/Graphviz.app/Contents/Resources
+DESTDIR=$(realpath .)/build/Destdir
+
+# build tools
+
+MKDIR=mkdir -p
+PRODUCTBUILD=productbuild
+PKGBUILD=pkgbuild
+XCODEBUILD=xcodebuild
+
+#
+# Graphviz.app build variables
+#
+
+GV_DIR=..
+GV_APP=Graphviz.app
+GV_PKG=graphviz-$(ARCH).pkg
+
+#
+# targets
+#
+
+$(GV_DIR)/$(GV_PKG): build/$(GV_PKG)
+ cp $< $@
+ @echo
+ @echo ========================================================
+ @echo The macOS installer package built: $(GV_PKG)
+ @echo
+ @echo To install locally on this macOS host:
+ @echo open $(GV_PKG)
+ @echo
+ @echo To distribute for installation on other hosts, note
+ @echo that $(GV_PKG) is not signed, and therefore may
+ @echo require removing the quarantine extended attribute:
+ @echo xattr -d com.apple.quarantine $(GV_PKG)
+ @echo ========================================================
+ @echo
+
+.PHONY: clean
+clean:
+ rm -rf build $(GV_DIR)/$(GV_PKG)
+
+.PHONY: distclean
+distclean: clean
+ rm -f Distribution.xml Info.plist
+
+#
+# Graphviz App installer package
+#
+# Note: the check function in Distribution.xml specifies the minimum macOS
+# version, which should match the Graphviz.app project's deployment target.
+#
+# Note: the Component.plist file specifies BundleIsRelocatable = false,
+# requiring that the bundle be installed in /Applications. Otherwise,
+# the macOS installer may find an existing Graphviz.app registered and
+# acceptable. If so, the installer WILL NOT install Graphviz.app into
+# /Applications, but DOES set the existing app's user/group to root/wheel!!
+#
+
+build/$(GV_PKG): Distribution.xml build/app.pkg
+ @echo
+ @echo BUILDING GRAPHVIZ INSTALLER...
+ @echo
+ $(PRODUCTBUILD) --package-path build --distribution $< $@
+
+build/app.pkg: Component.plist $(DESTDIR)$(PREFIX)/bin/dot build/Scripts/postinstall
+ @echo
+ @echo PACKAGING GRAPHVIZ APP...
+ @echo
+ $(PKGBUILD) --root $(DESTDIR) --scripts build/Scripts --identifier com.att.graphviz --component-plist $< $@
+
+build/Scripts/postinstall:
+ @echo
+ @echo SCRIPTING POSTINSTALL...
+ @echo
+ $(MKDIR) $(@D)
+ echo "#!/bin/sh" >$@
+ echo "logger -is -t \"Graphviz Install\" \"register dot plugins\"" >>$@
+ echo "$(PREFIX)/bin/dot -c" >>$@
+ if [[ $(PREFIX) != /usr/local ]]; then\
+ echo 'echo "$(PREFIX)/bin" >/etc/paths.d/graphviz' >>$@ ; fi
+ chmod 755 $@
+
+$(DESTDIR)$(PREFIX)/bin/dot: $(DESTDIR)/Applications/$(GV_APP)/Contents/MacOS/Graphviz
+ @echo
+ @echo BUILDING GRAPHVIZ...
+ @echo
+ $(MAKE) -C $(GV_DIR) install DESTDIR=$(DESTDIR)
+
+$(DESTDIR)/Applications/$(GV_APP)/Contents/MacOS/Graphviz: *.m *.h English.lproj/*.xib $(GV_DIR)/cmd/dot/dot
+ @echo
+ @echo BUILDING GRAPHVIZ APP...
+ @echo
+ $(XCODEBUILD) -project graphviz.xcodeproj install ARCHS=$(ARCH) DSTROOT=$(DESTDIR)
+
+$(GV_DIR)/cmd/dot/dot: $(GV_DIR)/Makefile
+ @echo
+ @echo BUILDING GRAPHVIZ...
+ @echo
+ $(MAKE) -C $(GV_DIR)
+
+$(GV_DIR)/Makefile Distribution.xml: $(GV_DIR)/configure
+ @echo
+ @echo CONFIGURING GRAPHVIZ...
+ @echo
+ cd $(GV_DIR) && ./configure --prefix=$(PREFIX)