components/gperf/Makefile
author Rich Burridge <rich.burridge@oracle.com>
Wed, 06 Jan 2016 09:02:38 -0800
changeset 5235 067b04ef352f
parent 4729 1841446970af
child 5682 94c0ca64c022
permissions -rw-r--r--
22354433 Move gtkspell from Desktop to Userland

#
# 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) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
#
include ../../make-rules/shared-macros.mk

COMPONENT_NAME=		gperf
COMPONENT_VERSION=	3.0.3
COMPONENT_PROJECT_URL=	http://www.gnu.org/software/gperf/
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH=	\
    sha256:63287527c8d9e27e801cf0804436f3494bd569db05d49dcdd2a942ae72fa9055
COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/pub/gnu/gperf/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB=	utility/gperf

TPNO=			8589

include $(WS_MAKE_RULES)/prep.mk
include $(WS_MAKE_RULES)/configure.mk
include $(WS_MAKE_RULES)/ips.mk

CONFIGURE_BINDIR.64 =	$(CONFIGURE_PREFIX)/bin

CONFIGURE_OPTIONS  +=	--infodir=$(CONFIGURE_INFODIR)
CONFIGURE_OPTIONS  +=	--docdir=/usr/share/doc/gperf
CONFIGURE_OPTIONS  +=	CFLAGS="$(CFLAGS)"
CONFIGURE_OPTIONS  +=	CXXFLAGS="$(CXXFLAGS)"

ASLR_MODE = $(ASLR_ENABLE)

# test/system-test is tricky.
#    Reason being is this component bundles! test results
#    with the source and those results are compared against
#    generated results.
#    Unfortunately these test results embed the string:
#    /* Command-line: ../src/gperf -L C -F ', 0, 0' -j1 -i 1 -g
#    which contains the actual command run: ../src/gperf
#    That string is correct for test but system-test will have /usr/bin/gperf
#    do a sed is run over the bundled test results with /usr/bin/gperf
#    so that an internal compare will pass.
#    Put another way this component does internally what the userland
#    test infrastructure is doing.

# modify bundled test results for system-test
COMPONENT_PRE_SYSTEM_TEST_ACTION = \
	($(GSED) -i -e "s|../src/gperf|/usr/bin/gperf|" \
		$(SOURCE_DIR)/tests/*.exp)

COMPONENT_SYSTEM_TEST_ARGS = GPERF=/usr/bin/gperf

# normalize the name of gperf
# remove compilation lines
COMPONENT_TEST_TRANSFORMS += \
	'-e "s|../src/gperf|gperf|g" ' \
	'-e "s|/usr/bin/gperf|gperf|g" ' \
	'-e "s|^.*$(CC).*$$|XXX_CC_XXX|g" ' \
	'-e "/^XXX_CC_XXX$$/d" '


configure:	$(CONFIGURE_64)

build:		$(BUILD_64)

install:	$(INSTALL_64)

test:		$(TEST_64)

# must build tests before use
system-test:    build $(SYSTEM_TEST_64)


REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/c++-runtime
REQUIRED_PACKAGES += system/library/math