Makefile revision 3817
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens# CDDL HEADER START
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens# The contents of this file are subject to the terms of the
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock# Common Development and Distribution License (the "License").
ea8dc4b6d2251b437950c0056bc626b311c73c27eschrock# You may not use this file except in compliance with the License.
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fa9e4066f08beec538e775443c5be79dd423fcabahrens# or http://www.opensolaris.org/os/licensing.
fa9e4066f08beec538e775443c5be79dd423fcabahrens# See the License for the specific language governing permissions
fa9e4066f08beec538e775443c5be79dd423fcabahrens# and limitations under the License.
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens# When distributing Covered Code, include this CDDL HEADER in each
fa9e4066f08beec538e775443c5be79dd423fcabahrens# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fa9e4066f08beec538e775443c5be79dd423fcabahrens# If applicable, add the following below this CDDL HEADER, with the
fa9e4066f08beec538e775443c5be79dd423fcabahrens# fields enclosed by brackets "[]" replaced with your own identifying
fa9e4066f08beec538e775443c5be79dd423fcabahrens# information: Portions Copyright [yyyy] [name of copyright owner]
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens# CDDL HEADER END
fa9e4066f08beec538e775443c5be79dd423fcabahrens#
fa9e4066f08beec538e775443c5be79dd423fcabahrens
8d18220deb04ec7b12410cd90deb4d45e66d49bfMark J Musante#
daec38ecb4fb5e73e4ca9e99be84f6b8c50c02faJoe Stein# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
9dc3941c735ef88de46e850f745aa556d3a071a5Sašo Kiselkov#
c3d26abc9ee97b4f60233556aadeb57e0bd30bb9Matthew Ahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensPERL_VERSION = 5.16
fa9e4066f08beec538e775443c5be79dd423fcabahrensinclude ../../make-rules/shared-macros.mk
fa9e4066f08beec538e775443c5be79dd423fcabahrens
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_NAME= graphviz
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_VERSION= 2.28.0
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_PROJECT_URL= http://www.graphviz.org/
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_ARCHIVE_HASH= \
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson sha256:d3aa7973c578cae4cc26d9d6498c57ed06680cab9a4e940d0357a3c6527afc76
2e4c998613148111f2fc5371085331ffb39122ffGeorge WilsonCOMPONENT_ARCHIVE_URL= $(COMPONENT_PROJECT_URL)pub/graphviz/stable/SOURCES/$(COMPONENT_ARCHIVE)
fa9e4066f08beec538e775443c5be79dd423fcabahrensCOMPONENT_BUGDB= utility/graphviz
0f7643c7376dd69a08acbfc9d1d7d548b10c846aGeorge Wilson
0f7643c7376dd69a08acbfc9d1d7d548b10c846aGeorge WilsonTPNO= 17707
09c9d376e8ccb8fbba74f33cc268964464092b62George Wilson
13506d1eefbbc37e2f12a0528831d9f6d4c361d7maybeeinclude $(WS_MAKE_RULES)/prep.mk
e05725b117836db173257fae43fb0746eb857fb5bonwickinclude $(WS_MAKE_RULES)/configure.mk
13506d1eefbbc37e2f12a0528831d9f6d4c361d7maybeeinclude $(WS_MAKE_RULES)/ips.mk
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson
16a4a8074274d2d7cc408589cf6359f4a378c861George WilsonPATH = /usr/php/5.3/bin:/usr/bin:/usr/gnu/bin
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson
8363e80ae72609660f6090766ca8c2c18aa53f0cGeorge Wilson# GMP header files for the guile extension (no --with- flag)
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson# The guile build is broken with studio (15732452), so we disable this for now.
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson# CPPFLAGS += -I/usr/include/gmp
16a4a8074274d2d7cc408589cf6359f4a378c861George Wilson# Java header files (--with-javaincludedir allows for only one directory)
16a4a8074274d2d7cc408589cf6359f4a378c861George WilsonCPPFLAGS += -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/solaris
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex Reece# PHP header files (no --with- flag)
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCPPFLAGS += $(shell PATH=$(PATH) php-config --includes)
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCXX += $(studio_NORUNPATH)
b1be2892dd07cf9a97d47ad06334cdc879196aafMatthew Ahrens
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_ENV += CPPFLAGS="$(CPPFLAGS)"
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_ENV += CFLAGS="$(CFLAGS)"
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_ENV += CXXFLAGS="$(CXXFLAGS)"
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex Reece# Make sure to use the right python, depending on the 32/64-bit build.
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_ENV += PYTHON26=$(PYTHON.2.6)
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_ENV += PYTHON27=$(PYTHON.2.7)
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_OPTIONS += --without-included-ltdl
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_OPTIONS += --enable-python=no
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_OPTIONS += --enable-python26=yes
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_OPTIONS += --enable-python27=yes
2a104a5236475eb73aa41eaaf3ed9f3ccbe0ca55Alex ReeceCONFIGURE_OPTIONS += --x-libraries=$(CONFIGURE_LIBDIR.$(BITS))
22e30981d82a0b6dc89253596ededafae8655e00George Wilson
22e30981d82a0b6dc89253596ededafae8655e00George WilsonCOMPONENT_BUILD_ARGS += GREP=/usr/bin/ggrep
22e30981d82a0b6dc89253596ededafae8655e00George Wilson
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson# Both perl and ruby ship 64-bit only.
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(CONFIGURE_32): CONFIGURE_OPTIONS += --enable-perl=no
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(CONFIGURE_32): CONFIGURE_OPTIONS += --enable-ruby=no
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(CONFIGURE_64): CONFIGURE_ENV += PERL=$(PERL)
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(CONFIGURE_64): CONFIGURE_ENV += RUBY=$(RUBY.1.9)
22e30981d82a0b6dc89253596ededafae8655e00George Wilson# PHP ships 32-bit only.
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(CONFIGURE_64): CONFIGURE_OPTIONS += --enable-php=no
22e30981d82a0b6dc89253596ededafae8655e00George Wilson$(INSTALL_64): COMPONENT_INSTALL_ARGS += PHP_INSTALL_DIR=$(shell PATH=$(PATH) php-config --extension-dir)
22e30981d82a0b6dc89253596ededafae8655e00George Wilson# tcl ships both 32 and 64 bit, but even though /usr/bin/tclsh is 64-bit, there
22e30981d82a0b6dc89253596ededafae8655e00George Wilson# is no place to stick 64-bit modules, so skip it. On the other hand, make
22e30981d82a0b6dc89253596ededafae8655e00George Wilson# sure to find the right tcl bits when building 32-bit.
09c9d376e8ccb8fbba74f33cc268964464092b62George Wilson$(CONFIGURE_64): CONFIGURE_OPTIONS += --enable-tcl=no
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson$(CONFIGURE_32): CONFIGURE_OPTIONS += --with-tclsh=/usr/bin/$(MACH32)/tclsh
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson$(CONFIGURE_32): CONFIGURE_ENV += TCLCONFIG=/usr/lib/tclConfig.sh
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson# Put the 64-bit lua module in a 64-bit directory.
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson$(INSTALL_32): COMPONENT_INSTALL_ARGS += LUA_INSTALL_DIR=/usr/lib/lua/5.2
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson$(INSTALL_64): COMPONENT_INSTALL_ARGS += LUA_INSTALL_DIR=/usr/lib/lua/5.2/64
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson# Use GNU ln, which supports the -r (--relative) option.
2e4c998613148111f2fc5371085331ffb39122ffGeorge WilsonCOMPONENT_INSTALL_ARGS += LN_S="gln -s"
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson
2e4c998613148111f2fc5371085331ffb39122ffGeorge WilsonASLR_MODE = $(ASLR_ENABLE)
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson# We build 32 and 64 bit because we build libraries, and we build modules for
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson# runtimes which provide 64 or 32 (or both) bit environments.
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilsonconfigure: $(CONFIGURE_32_and_64)
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilsonbuild: $(BUILD_32_and_64)
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilson
2e4c998613148111f2fc5371085331ffb39122ffGeorge Wilsoninstall: $(INSTALL_32_and_64)
b24ab6762772a3f6a89393947930c7fa61306783Jeff Bonwick env LD_LIBRARY_PATH=$(PROTO_DIR)/usr/lib GVBINDIR=$(PROTO_DIR)/usr/lib/graphviz $(PROTO_DIR)/usr/bin/dot -c
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson $(PYTHON.2.6.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.6.VENDOR_PACKAGES)
b24ab6762772a3f6a89393947930c7fa61306783Jeff Bonwick $(PYTHON.2.7.32) -m compileall $(PROTO_DIR)/$(PYTHON.2.7.VENDOR_PACKAGES)
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson# The test infrastructure doesn't run in a VPATHed environment.
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonCOMPONENT_PRE_TEST_ACTION = \
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson (cd $(@D)/rtest; ln -s $(SOURCE_DIR)/rtest/* .)
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson# There are tests, but they fail consistently because the test samples are out
b24ab6762772a3f6a89393947930c7fa61306783Jeff Bonwick# of date and not generated with a known configuration. See
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George Wilson# http://graphviz.org/bugs/b2063.html
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George Wilsontest: $(NO_TESTS)
80eb36f241abf8c076119fb4c49a55fd61ebc710George Wilson
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += image/graphviz
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += image/library/libjpeg
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += image/library/libpng
b515258426fed6c7311fd3f1dea697cfbd4085c6Matthew AhrensREQUIRED_PACKAGES += image/library/librsvg
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/desktop/atk
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/desktop/cairo
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/desktop/gdk-pixbuf
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/desktop/gtk2
8363e80ae72609660f6090766ca8c2c18aa53f0cGeorge WilsonREQUIRED_PACKAGES += library/desktop/pango
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/expat
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += library/gd
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += library/glib2
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += library/libtool/libltdl
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += library/zlib
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += print/filter/ghostscript
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += runtime/lua
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += runtime/ocaml
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += runtime/perl-516
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += runtime/ruby-19
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += runtime/tk-8
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += shell/ksh93
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += system/library
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += system/library/c++-runtime
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += system/library/fontconfig
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += system/library/freetype-2
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += system/library/math
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += system/linker
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += web/php-53
80eb36f241abf8c076119fb4c49a55fd61ebc710George WilsonREQUIRED_PACKAGES += x11/library/libx11
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += x11/library/libxcursor
d6e555bdd793b8bc8fe57d5f12c3d69c813d0661George WilsonREQUIRED_PACKAGES += x11/library/libxmu
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += x11/library/libxrender
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += x11/library/toolkit/libxaw7
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge WilsonREQUIRED_PACKAGES += x11/library/toolkit/libxt
0713e232b7712cd27d99e1e935ebb8d5de61c57dGeorge Wilson