aboutsummaryrefslogtreecommitdiff
path: root/math/opensolaris-libm/Makefile
blob: 326f842afb6f7aa6db35e79a43e2adb0bccd62f2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Created by: John Marino <marino@FreeBSD.org>
# $FreeBSD$

PORTNAME=	opensolaris-libm
PORTVERSION=	2006.01.31
PORTREVISION=	2
DISTVERSIONPREFIX=	v
CATEGORIES=	math

MAINTAINER=	freebsd.contact@marino.st
COMMENT=	C99 Math and vector libraries from OpenSolaris snv_33

LICENSE=	CDDL
LICENSE_FILE=	${WRKSRC}/usr/src/OPENSOLARIS.LICENSE

ONLY_FOR_ARCHS=	amd64	# i386 and sparc possible with much work
PORTSCOUT=	ignore:1

USE_GITHUB=	yes
GH_ACCOUNT=	jrmarino
GH_TAGNAME=	2017.01.31

BUILD_WRKSRC=	${WRKSRC}/usr/src/libm/wos64
INSTALL_WRKSRC=	${WRKSRC}/usr/src/libm/wos64
MAKEFILE=	Makefile.bsd
MAKE_ENV=	ARCH=${ARCH} USE_ASSEMBLY_VERSIONS=yes

# On FreeBSD 11+, libm will build on base clang.
# On FreeBSD 10, the base clang (v3.4) cannot even build libm without emitting
# Internal Compiler Errors, so GCC is required and does not appear as an
# option.  Similarly, the GCC option does not appear on DragonFly as the
# base compiler is already GCC.  Programs compiled with GCC that link to
# these libraries require that the libraries are compiled with GCC for
# proper functioning.

OPTIONS_DEFINE=			GCC
OPTIONS_EXCLUDE_FreeBSD_10=	GCC
OPTIONS_EXCLUDE_DragonFly=	GCC

GCC_USE=	GCC=yes

.include <bsd.port.options.mk>

.if ${OPSYS} == FreeBSD
. if ${OSREL:R} < 11
USE_GCC=	yes
. endif

RUN_DEPENDS=	${LOCALBASE}/bin/addr2line:devel/binutils

post-patch:
	# The addr2line program in FreeBSD is inadequate, so pull in
	# binutils on FreeBSD
	@${REINPLACE_CMD} -e 's|/usr/bin|/usr/local/bin|' \
		${WRKSRC}/usr/src/libm/src/m9x/__traceback.c
.endif

.include <bsd.port.mk>