Makefile revision 5889
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# CDDL HEADER START
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# The contents of this file are subject to the terms of the
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Common Development and Distribution License (the "License").
0a05fab9aadd37834734ffe106fc8ad4488fb3e3rbowen# You may not use this file except in compliance with the License.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# or http://www.opensolaris.org/os/licensing.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# See the License for the specific language governing permissions
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# and limitations under the License.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# When distributing Covered Code, include this CDDL HEADER in each
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# If applicable, add the following below this CDDL HEADER, with the
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# fields enclosed by brackets "[]" replaced with your own identifying
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# information: Portions Copyright [yyyy] [name of copyright owner]
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# CDDL HEADER END
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis#
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPILER = gcc
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentisBUILD_BITS = 32_and_64
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisinclude ../../../make-rules/shared-macros.mk
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_NAME= glib
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_VERSION= 2.46.0
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_PROJECT_URL= https://wiki.gnome.org/Projects/GLib/
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_ARCHIVE_HASH= \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis sha256:b1cee83469ae7d80f17c267c37f090414e93960bd62d2b254a5a96fbc5baacb4
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_BUGDB= gnome/glib
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisTPNO= 24986
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# No need to build for older versions.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisPYTHON_VERSIONS= 3.4
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisinclude $(WS_MAKE_RULES)/gnome-component.mk
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis# Necessary to ensure patches applied to configure.ac take effect.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_PREP_ACTION += ( cd $(@D); NOCONFIGURE=1 $(CONFIG_SHELL) autogen.sh );
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCFLAGS += $(CPP_XPG6MODE)
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCFLAGS.gcc += -std=gnu11
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCFLAGS.studio += -std=c11 -xlang=c11
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Disabled by default (temporarily disabled here because it significantly
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# increases build time).
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCONFIGURE_OPTIONS += --disable-gtk-doc
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Building dtrace probes doesn't work correctly (results in undefined symbols
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# in programs), disable until we can figure out how to fix.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCONFIGURE_OPTIONS += --disable-dtrace
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis# The build process modifies the shebang line to use the version of Python
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# automatically found; to avoid using the current system default, one is
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# explicitly specified here.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCONFIGURE_OPTIONS += --with-python=$(PYTHON.3.4)
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Configure doesn't find this since it's not in $PATH
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCONFIGURE_OPTIONS += DBUS_DAEMON=/usr/lib/dbus-daemon
09796a508c72a6aba33aa486753bb8cdea806d43lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# configure sets this to gcc's -fvisibility=hidden, replace with correct
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# flag for Studio builds
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_BUILD_ARGS.studio += GLIB_HIDDEN_VISIBILITY_CFLAGS='-xldscope=hidden'
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentisCOMPONENT_BUILD_ARGS += $(COMPONENT_BUILD_ARGS.$(COMPILER))
78f97ce162b66a0dbfd7af4dcd9984f162569b04minfrin
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Assumes GNU msgfmt in PATH.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Need to include /usr/sbin so configure can find dtrace
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCONFIGURE_ENV += PATH="$(PATH):/usr/sbin"
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_BUILD_ENV += PATH="$(GNUBIN):$(PATH):/usr/sbin"
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Needed for "gmake test" to work successfully.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# If SHELLOPTS is exported (as it is by the userland makefiles),
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# then all shell options get exported to child invocations of bash,
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis# which results in test failures due to nounset and xtrace being
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis# set unexpectedly, and errors such as "$1: unbound variable" and
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# diffs failing due to script tracing in output files.
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisunexport SHELLOPTS
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Strip random seeds from glib tests that use different values each run
8202fc9176b3bca8b27ad20737863494e2f244a5lgentisCOMPONENT_TEST_TRANSFORMS += \
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis '-e "s/seed:[0-9]*/seed:/"'
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis# Strip filenames that are reported in different order between runs
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_TEST_TRANSFORMS += \
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis '-e "s%/bookmarks/parse/.*%%"' \
98857218d3269556b5cf0e923a8292e2c9f82abflgentis '-e "s%/markup/parse/.*%%"' \
8202fc9176b3bca8b27ad20737863494e2f244a5lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis# Standard automake test framework results transform
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisCOMPONENT_TEST_TRANSFORMS += \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-n ' \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-e "/TOTAL/p" ' \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-e "/SKIP/p" ' \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-e "/PASS/p" ' \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-e "/FAIL/p" ' \
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis '-e "/ERROR/p" '
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentis
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += data/docbook
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += desktop/xdg/desktop-file-utils
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += library/file-monitor/gamin
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += library/libffi
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += library/pcre
48a42d4cf6ed025e08edcc3ad6a62c5000755a07lgentisREQUIRED_PACKAGES += library/zlib
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += $(PERL_PKG)
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += runtime/python-34
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += system/library/dbus
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentisREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
fe2eb5430ca6eb9de36b804ac1457aaf22dd5a84lgentis