components/gnome/glib2/Makefile
author John Beck <John.Beck@Oracle.COM>
Tue, 04 Apr 2017 16:12:22 -0700
changeset 7829 2de4f4ace09c
parent 7687 1093e2a9adbd
permissions -rw-r--r--
25766761 prepare Userland for 11.4

#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#

#
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
#

COMPILER =      	gcc
BUILD_BITS =            32_and_64
include ../../../make-rules/shared-macros.mk

COMPONENT_NAME=		glib
COMPONENT_VERSION=	2.46.0
COMPONENT_PROJECT_URL=	https://wiki.gnome.org/Projects/GLib/
COMPONENT_ARCHIVE_HASH=	\
    sha256:b1cee83469ae7d80f17c267c37f090414e93960bd62d2b254a5a96fbc5baacb4
COMPONENT_BUGDB=	gnome/glib
COMPONENT_ANITYA_ID=	10024

TPNO=			24986

# No need to build for older versions.
PYTHON_VERSIONS= 3.4

include $(WS_MAKE_RULES)/gnome-component.mk

# Necessary to ensure patches applied to configure.ac take effect.
COMPONENT_PREP_ACTION += ( cd $(@D); NOCONFIGURE=1 $(CONFIG_SHELL) autogen.sh );

CFLAGS += $(CPP_XPG6MODE)
CFLAGS.gcc += -std=gnu11
CFLAGS.studio += -std=c11 -xlang=c11

# using the setting from shared-macros.mk results in 23665701
# overriding it here till we can get gdm rebuilt
gcc_STACK_ALIGN.i386.32 =

# Disabled by default (temporarily disabled here because it significantly
# increases build time).
CONFIGURE_OPTIONS += --disable-gtk-doc

# Building dtrace probes doesn't work correctly (results in undefined symbols
# in programs), disable until we can figure out how to fix.
CONFIGURE_OPTIONS += --disable-dtrace

# The build process modifies the shebang line to use the version of Python
# automatically found; to avoid using the current system default, one is
# explicitly specified here.
CONFIGURE_OPTIONS += --with-python=$(PYTHON.3.4)

# Configure doesn't find this since it's not in $PATH
CONFIGURE_OPTIONS += DBUS_DAEMON=/usr/lib/dbus-daemon

# configure sets this to gcc's -fvisibility=hidden, replace with correct
# flag for Studio builds
COMPONENT_BUILD_ARGS.studio += GLIB_HIDDEN_VISIBILITY_CFLAGS='-xldscope=hidden'
COMPONENT_BUILD_ARGS += $(COMPONENT_BUILD_ARGS.$(COMPILER))

# Assumes GNU msgfmt in PATH.
# Need to include /usr/sbin so configure can find dtrace
CONFIGURE_ENV += PATH="$(PATH):/usr/sbin"
COMPONENT_BUILD_ENV += PATH="$(GNUBIN):$(PATH):/usr/sbin"

# Make sure SMF manifests are valid
$(BUILD_DIR)/.validated-smf-manifests-$(MACH): $(BUILD_DIR)
	@for f in files/*.xml ; do \
	    (set -ex ; /usr/sbin/svccfg validate "$$f") ; \
	done
	$(TOUCH) $@

validate-smf:	$(BUILD_DIR)/.validated-smf-manifests-$(MACH)
build:		$(BUILD_DIR)/.validated-smf-manifests-$(MACH)

# Needed for "gmake test" to work successfully.
# If SHELLOPTS is exported (as it is by the userland makefiles),
# then all shell options get exported to child invocations of bash,
# which results in test failures due to nounset and xtrace being
# set unexpectedly, and errors such as "$1: unbound variable" and
# diffs failing due to script tracing in output files.
unexport SHELLOPTS

# Strip random seeds from glib tests that use different values each run
COMPONENT_TEST_TRANSFORMS += \
	'-e "s/seed:[0-9]*/seed:/"'

# Strip filenames that are reported in different order between runs
COMPONENT_TEST_TRANSFORMS += \
	'-e "s%/bookmarks/parse/.*%%"' \
	'-e "s%/markup/parse/.*%%"' \

# Standard automake test framework results transform
COMPONENT_TEST_TRANSFORMS += \
        '-n ' \
        '-e "/TOTAL/p" ' \
        '-e "/SKIP/p" ' \
        '-e "/PASS/p" ' \
        '-e "/FAIL/p" ' \
        '-e "/ERROR/p" '

REQUIRED_PACKAGES += $(PERL_PKG)
$(SOLARIS_11_3_ONLY)REQUIRED_PACKAGES += data/docbook
REQUIRED_PACKAGES += data/docbook/docbook-dtds
REQUIRED_PACKAGES += data/docbook/docbook-style-dsssl
REQUIRED_PACKAGES += data/docbook/docbook-style-xsl
REQUIRED_PACKAGES += data/sgml-common
REQUIRED_PACKAGES += data/xml-common
REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
REQUIRED_PACKAGES += library/file-monitor/gamin
REQUIRED_PACKAGES += library/libffi
REQUIRED_PACKAGES += library/pcre
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += runtime/python-34
REQUIRED_PACKAGES += system/core-os
REQUIRED_PACKAGES += system/library/dbus
REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime