4721N/A#
4721N/A# CDDL HEADER START
4721N/A#
4721N/A# The contents of this file are subject to the terms of the
4721N/A# Common Development and Distribution License (the "License").
4721N/A# You may not use this file except in compliance with the License.
4721N/A#
4721N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
4721N/A# or http://www.opensolaris.org/os/licensing.
4721N/A# See the License for the specific language governing permissions
4721N/A# and limitations under the License.
4721N/A#
4721N/A# When distributing Covered Code, include this CDDL HEADER in each
4721N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
4721N/A# If applicable, add the following below this CDDL HEADER, with the
4721N/A# fields enclosed by brackets "[]" replaced with your own identifying
4721N/A# information: Portions Copyright [yyyy] [name of copyright owner]
4721N/A#
4721N/A# CDDL HEADER END
4721N/A#
4721N/A
4721N/A#
5680N/A# Copyright (c) 2010, 2016, Oracle and/or its affiliates. All rights reserved.
4721N/A#
5680N/ABUILD_BITS= 64_and_32
6238N/A
6238N/A# GCC 5.3 with the default optimization -O3 (set via shared-macros.mk),
6238N/A# inlines _gcry_cipher_ocb_get_l, double_block_cpy and double_block to
6238N/A# _gcry_cipher_ocb_authenticate on amd64. Due to a bug in GCC, the
6238N/A# inlined code is incorrect and the library produces data with errors
6238N/A# (manifested through failed 'basic' test results). The optimization is
6238N/A# lowered down on the affected platform. For more information see:
6238N/A# https://lists.gnupg.org/pipermail/gcrypt-devel/2016-April/003858.html
6238N/Agcc_OPT.i386.64 = -O2
6238N/A
4721N/Ainclude ../../make-rules/shared-macros.mk
4721N/A
4721N/ACOMPONENT_NAME= libgcrypt
6653N/ACOMPONENT_VERSION= 1.7.3
4721N/ACOMPONENT_PROJECT_URL= ftp://ftp.gnupg.org/gcrypt/libgcrypt/
4721N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.bz2
4721N/ACOMPONENT_ARCHIVE_HASH= \
6653N/A sha256:ddac6111077d0a1612247587be238c5294dd0ee4d76dc7ba783cc55fb0337071
4721N/ACOMPONENT_ARCHIVE_URL= ftp://ftp.gnupg.org/gcrypt/$(COMPONENT_NAME)/$(COMPONENT_ARCHIVE)
4721N/ACOMPONENT_BUGDB= library/libgcrypt
4721N/A
6653N/ATPNO= 31181
4721N/A
6059N/A# Requires new pkgmogrify feature, available in S12 but not 11.3, so do not
6059N/A# publish.
6059N/Aifeq ($(BUILD_TYPE), evaluation)
6059N/ABUILD_32_and_64=
6059N/AINSTALL_32_and_64=
6059N/APUBLISH_STAMP=
6059N/Aendif
6059N/A
4721N/ACOMPONENT_BUILD_TARGETS = all info
4721N/A
5680N/Ainclude $(WS_MAKE_RULES)/common.mk
6049N/A#
6049N/A# Any improvements made by the upstream to enable compilation of
6049N/A# libgcrypt library on Solaris primarily reference GNU tools. The
6049N/A# library assembly source code contains ANSI notations currently not
6049N/A# supported by Solaris C language preprocessor, cpp(1). Heavy manual
6049N/A# patching in a potentially dangerous area would be needed to allow use
6049N/A# of Solaris Studio as the component compiler.
6049N/ACOMPILER = gcc
6049N/A
5680N/ACONFIGURE_OPTIONS += --sysconfdir=$(ETCDIR)
4721N/ACONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
4721N/ACONFIGURE_OPTIONS += --enable-maintainer-mode
6049N/ACONFIGURE_OPTIONS += --disable-asm
4721N/A
4721N/Ainclude ../../make-rules/shared-targets.mk
4721N/A
6049N/A#
6049N/A# The following target is used during switch of the incompatible libgcrypt.11
6049N/A# to libgcrypt.20. Libgcrypt-15 is not delivered as a package. If it has not
6049N/A# been built yet, we build the library as a target dependency from here and
6049N/A# deliver a subset of the library (the shared objects only and the second
6049N/A# level links) to satisfy the ABI compatibility requirements during the ABI
6049N/A# upgrade period.
6049N/A$(WS_COMPONENTS)/libgcrypt-15/build/$(MACH$(BITS))/.installed:
6049N/A $(GMAKE) -C $(WS_COMPONENTS)/libgcrypt-15 install
6049N/A
6049N/A$(WS_COMPONENTS)/libgcrypt-15/build/$(MACH$(BITS))/.FRC_%:
6049N/A $(GMAKE) -C $(WS_COMPONENTS)/libgcrypt-15 $(@F:.FRC_%=%)
6049N/A
6059N/Aifneq ($(BUILD_TYPE), evaluation)
6049N/Ainstall: $(WS_COMPONENTS)/libgcrypt-15/build/$(MACH$(BITS))/.installed
6059N/Aendif
6049N/A
6049N/Aclean clobber:: % : $(WS_COMPONENTS)/libgcrypt-15/build/$(MACH$(BITS))/.FRC_%
6049N/A
4721N/ACOMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master
4721N/A
4721N/ACOMPONENT_TEST_TRANSFORMS += \
4721N/A '-n -e "/PASS/p" ' \
4721N/A '-e "/FAIL/p" ' \
4721N/A '-e "/All/p" '
4721N/A
4721N/AREQUIRED_PACKAGES += library/security/libgpg-error
6049N/AREQUIRED_PACKAGES += shell/ksh93
6049N/AREQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime