#
|
# 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, 2013, Oracle and/or its affiliates. All rights reserved.
|
# Copyright 2020, Michal Nowak
|
# Copyright 2021, Andreas Wacknitz
|
#
|
|
BUILD_BITS= 64
|
include ../../../make-rules/shared-macros.mk
|
|
COMPONENT_NAME= bison
|
COMPONENT_MAJOR_VERSION= 3.8
|
COMPONENT_MAJOR_VERSION_= $(subst .,,$(COMPONENT_MAJOR_VERSION))
|
COMPONENT_VERSION= $(COMPONENT_MAJOR_VERSION).2
|
COMPONENT_REVISION= 4
|
COMPONENT_SUMMARY= bison - A YACC Replacement
|
COMPONENT_DESCRIPTION= A general-purpose parser generator that converts an annotated context-free grammar into an LALR(1) or GLR parser for that grammar
|
COMPONENT_PROJECT_URL= https://www.gnu.org/software/bison/
|
COMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
|
COMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.xz
|
COMPONENT_ARCHIVE_HASH= sha256:9bba0214ccf7f1079c5d59210045227bcf619519840ebfa80cd3849cff5a5bf2
|
COMPONENT_ARCHIVE_URL= https://ftp.gnu.org/gnu/bison/$(COMPONENT_ARCHIVE)
|
COMPONENT_FMRI= developer/parser/bison-$(COMPONENT_MAJOR_VERSION_)
|
COMPONENT_CLASSIFICATION= Development/Other Languages
|
COMPONENT_LICENSE= GPLv2, FDLv1.2
|
|
include $(WS_MAKE_RULES)/common.mk
|
|
PKG_MACROS+= COMPONENT_MAJOR_VERSION=$(COMPONENT_MAJOR_VERSION)
|
|
# Tests need this
|
COMPONENT_PRE_CONFIGURE_ACTION = ( $(CLONEY) $(SOURCE_DIR) $(@D) )
|
|
CONFIGURE_LIBDIR.32 = $(GNULIB)/$(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION)/
|
CONFIGURE_LIBDIR.64 = $(GNULIB)/$(MACH64)/$(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION)/
|
|
CONFIGURE_OPTIONS += --program-transform-name=s/$$/-$(COMPONENT_MAJOR_VERSION)/
|
CONFIGURE_OPTIONS += --datarootdir=$(CONFIGURE_PREFIX)/share/$(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION)/
|
CONFIGURE_OPTIONS += --docdir=$(CONFIGURE_PREFIX)/share/doc/$(COMPONENT_NAME)-$(COMPONENT_MAJOR_VERSION)/
|
# We set the localedir here because this is the latest version and thus it will be used in the bison-runtime package.
|
# Info and locale files will be filtered out from the bison-$(COMPONENT_MAJOR_VERSION) manifests.
|
CONFIGURE_OPTIONS += --localedir=$(CONFIGURE_PREFIX)/share/locale/
|
# We set the infodir here because this is the latest version
|
CONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
|
CONFIGURE_OPTIONS += --disable-silent-rules
|
CONFIGURE_OPTIONS += --disable-dependency-tracking
|
CONFIGURE_OPTIONS += --disable-yacc
|
|
# the shared library we create needs to be built pic
|
COMPONENT_BUILD_ARGS += CC_PIC="$(CC_PIC)"
|
|
# this is cheesy but the tests don't seem to
|
# get compiled with the CFLAGS we built bison
|
# with, so they are 32-bit otherwise.
|
CONFIGURE_OPTIONS += WARN_CXXFLAGS_TEST="$(CFLAGS)"
|
|
CONFIGURE_ENV += M4="/usr/bin/gm4"
|
CONFIGURE_ENV += RANLIB="/usr/bin/ranlib"
|
|
# Strip compilation lines from test output
|
# and strange backslash lines. and random output,
|
# including rm complaints over nfs
|
COMPONENT_TEST_TRANSFORMS += \
|
$(CONFIGURE_TEST_TRANSFORMS) \
|
' -e "/^\#/p" ' \
|
' -e "/^[\s]*[0-9][0-9]*:/p" ' \
|
' -e "/tests were/p" '
|
|
GENERATE_EXTRA_CMD += | \
|
$(GSED) -e 's/bison-$(shell echo $(COMPONENT_MAJOR_VERSION) | $(GSED) -e 's/\./\\./g')/bison-$$(COMPONENT_MAJOR_VERSION)/'
|
|
# Two test suite cases utilitize Doxygen
|
TEST_REQUIRED_PACKAGES += developer/documentation-tool/doxygen
|
|
# Auto-generated dependencies
|
REQUIRED_PACKAGES += developer/macro/gnu-m4
|
REQUIRED_PACKAGES += system/library
|
REQUIRED_PACKAGES += system/library/math
|
REQUIRED_PACKAGES += text/gnu-gettext
|