components/guile/Makefile
author Rich Burridge <rich.burridge@oracle.com>
Tue, 01 Sep 2015 13:30:24 -0700
changeset 4834 22970ab7cd3a
parent 4339 6501cf9c29f9
child 5682 94c0ca64c022
permissions -rw-r--r--
21764367 guile pkg-config files include gcc-specific flag

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

# Built in SFW with gcc and builds cleanly now only with gcc
COMPILER =	gcc

include ../../make-rules/shared-macros.mk

COMPONENT_NAME=		guile
COMPONENT_VERSION=	1.8.6
COMPONENT_PROJECT_URL=	http://www.gnu.org/software/guile/
COMPONENT_SRC=		$(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_ARCHIVE=	$(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH=	\
    sha256:69a2f9491480ff756d1cc4c8ea2bdc13d40ea8ddc8f93f26957bade8219a1d86
COMPONENT_ARCHIVE_URL=	http://ftp.gnu.org/pub/gnu/guile/$(COMPONENT_ARCHIVE)
COMPONENT_BUGDB=	utility/guile

TPNO=			8939

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

CONFIGURE_OPTIONS +=	CPPFLAGS="-I/usr/include/gmp -D__USE_LEGACY_PROTOTYPES__"
CONFIGURE_OPTIONS +=	--disable-static 
CONFIGURE_OPTIONS +=	--disable-error-on-warning
CONFIGURE_OPTIONS +=	ac_cv_type_complex_double=no
CONFIGURE_OPTIONS +=	CFLAGS="$(CFLAGS)"

# Remove the GNU specific "-pthreads" Cflags option from the guile config
# files. In case we need to back-port this to earlier versions of Solaris,
# -D_POSIX_PTHREAD_SEMANTICS is added in its place, which makes the pthreads
# interfaces behave as specified in the POSIX standard (even though it does
# nothing for Solaris 12).

PROTOPKGCONFIGDIR.32 = $(PROTOUSRLIBDIR)/pkgconfig
PROTOPKGCONFIGDIR.64 = $(PROTOUSRLIBDIR64)/pkgconfig

COMPONENT_POST_INSTALL_ACTION += \
	$(GSED) -i -e 's/-pthreads/-D_POSIX_PTHREAD_SEMANTICS/' \
		$(PROTOPKGCONFIGDIR.$(BITS))/guile-1.8.pc

# Master test results are the same for 32-bit and 64-bit, so override
# here, rather than create multiple identical master files.
COMPONENT_TEST_MASTER = $(COMPONENT_TEST_RESULTS_DIR)/results-all.master

# The additional guile specific set of transforms to be applied to the
# test results to try to normalize them.
COMPONENT_TEST_TRANSFORMS += \
	'-e "s|^.*$(GCC_ROOT).*$$|XXX_GCC_ROOT_XXX|g" ' \
	'-e "/^XXX_GCC_ROOT_XXX$$/d" ' \
	'-e "/^WARNING:/d" '

ASLR_MODE = $(ASLR_ENABLE)

# common targets
configure:	$(CONFIGURE_32_and_64)

build:		$(BUILD_32_and_64)

install:	$(INSTALL_32_and_64)

test:		$(TEST_32_and_64)

system-test:    $(SYSTEM_TESTS_NOT_IMPLEMENTED)

REQUIRED_PACKAGES += library/gmp
REQUIRED_PACKAGES += library/libtool/libltdl
REQUIRED_PACKAGES += library/ncurses
REQUIRED_PACKAGES += library/readline
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library
REQUIRED_PACKAGES += system/library/gcc-3-runtime
REQUIRED_PACKAGES += system/library/gcc-45-runtime
REQUIRED_PACKAGES += system/library/gcc/gcc-c-runtime
REQUIRED_PACKAGES += system/library/math