#
# 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