View | Details | Raw Unified | Return to bug 193092
Collapse All | Expand All

(-)icc/Makefile (-17 / +18 lines)
Lines 7-31 Link Here
7
CATEGORIES=	lang linux devel
7
CATEGORIES=	lang linux devel
8
MASTER_SITES=
8
MASTER_SITES=
9
DISTNAME=	l_cc_pc_${PORTVERSION:C/p.+$//}
9
DISTNAME=	l_cc_pc_${PORTVERSION:C/p.+$//}
10
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
10
11
11
# netchild@FreeBSD.org is willing to review patches and to provide background
12
# netchild@FreeBSD.org is willing to review patches and to provide background
12
# infos regarding this port
13
# infos regarding this port
13
MAINTAINER=	ports@FreeBSD.org
14
MAINTAINER=	ports@FreeBSD.org
14
COMMENT=	Intels C/C++ compiler, set up to produce native FreeBSD binaries
15
COMMENT=	Intels C/C++ compiler, set up to produce native FreeBSD binaries
15
16
17
EXTRACT_DEPENDS=	rpm2cpio.pl:${PORTSDIR}/archivers/rpm2cpio
18
16
PATCHLEVEL=	${PORTVERSION:C/(.+p)(.+)$/pe\2/}
19
PATCHLEVEL=	${PORTVERSION:C/(.+p)(.+)$/pe\2/}
17
DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
18
.if ${PORTVERSION} != ${PATCHLEVEL}
20
.if ${PORTVERSION} != ${PATCHLEVEL}
19
DISTFILES+=	${DISTNAME}_${PATCHLEVEL}${EXTRACT_SUFX}
21
DISTFILES+=	${DISTNAME}_${PATCHLEVEL}${EXTRACT_SUFX}
20
PATCH_DEPENDS=		${LINUX_BASE_PORT}
22
PATCH_DEPENDS=	${LINUX_BASE_PORT}
21
.endif
23
.endif
22
24
23
EXTRACT_DEPENDS=	rpm2cpio.pl:${PORTSDIR}/archivers/rpm2cpio
24
25
RESTRICTED=	Intel forbids any redistribution
25
RESTRICTED=	Intel forbids any redistribution
26
26
27
ONLY_FOR_ARCHS=		i386
27
ONLY_FOR_ARCHS=		i386
28
CONFLICTS=		linux_devtools*
29
28
30
USE_LINUX=		yes
29
USE_LINUX=		yes
31
30
Lines 33-45 Link Here
33
PLIST_SUB=	COMPILERDIR=${COMPILERDIR}
32
PLIST_SUB=	COMPILERDIR=${COMPILERDIR}
34
PATCH_WRKSRC=	${WRKSRC}/opt/${COMPILERDIR}
33
PATCH_WRKSRC=	${WRKSRC}/opt/${COMPILERDIR}
35
34
36
MAN1=		icc.1
35
OPTIONS_DEFINE=	DOCS
37
MLINKS=		icc.1 icpc.1
36
37
.include <bsd.port.options.mk>
38
38
MANPREFIX=	${PREFIX}/${COMPILERDIR}
39
MANPREFIX=	${PREFIX}/${COMPILERDIR}
39
40
40
ICC_SITE=	http://www.intel.com/software/products/compilers/
41
ICC_SITE=	http://www.intel.com/software/products/compilers/
41
42
42
NO_STAGE=	yes
43
.include <bsd.port.pre.mk>
43
.include <bsd.port.pre.mk>
44
44
45
EXTRACT_AFTER_ARGS=	--exclude cdt-\*.zip \
45
EXTRACT_AFTER_ARGS=	--exclude cdt-\*.zip \
Lines 51-63 Link Here
51
			--exclude \*ia64.rpm \
51
			--exclude \*ia64.rpm \
52
			--exclude flexlm64
52
			--exclude flexlm64
53
53
54
ICCCFGVAL!=	${UNAME} -r | ${SED} -e 's/\..*//'
54
ICCCFGVAL_CMD=	${UNAME} -r | ${SED} -e 's/\..*//'
55
55
56
GCCCOMPATVER=	340
56
GCCCOMPATVER=	340
57
GXXINCLUDE=	/usr/include/c++/${GCCCOMPATVER:C/([0-9])([0-9]).+/\1.\2/}
57
GXXINCLUDE=	/usr/include/c++/${GCCCOMPATVER:C/([0-9])([0-9]).+/\1.\2/}
58
58
59
.for file in ${DISTFILES}
59
.for f in ${DISTFILES}
60
.if !exists(${DISTDIR}/${DIST_SUBDIR}/${file})
60
.if !exists(${DISTDIR}/${DIST_SUBDIR}/${f})
61
IGNORE=	Go to Intel Premier Support \(https://premier.intel.com/\) to obtain ${DISTFILES}. Product updates such as this compiler are posted regularly on Premier Support. You must have a license to obtain access to Premier Support. If you do not already have a license go to ${ICC_SITE} to review licensing options \(evaluation, commercial, and free non-commercial\) and obtain a license. Put ${DISTFILES} into ${DISTDIR} and run make again
61
IGNORE=	Go to Intel Premier Support \(https://premier.intel.com/\) to obtain ${DISTFILES}. Product updates such as this compiler are posted regularly on Premier Support. You must have a license to obtain access to Premier Support. If you do not already have a license go to ${ICC_SITE} to review licensing options \(evaluation, commercial, and free non-commercial\) and obtain a license. Put ${DISTFILES} into ${DISTDIR} and run make again
62
.endif
62
.endif
63
.endfor
63
.endfor
Lines 82-88 Link Here
82
	@for i in `${CAT} ${FILESDIR}/exclude`; do \
82
	@for i in `${CAT} ${FILESDIR}/exclude`; do \
83
		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
83
		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
84
	done
84
	done
85
.if defined(NOPORTDOCS)
85
.if ! ${PORT_OPTIONS:MDOCS}
86
# Remove docs.
86
# Remove docs.
87
	@for i in `${CAT} ${FILESDIR}/exclude_noportdocs`; do \
87
	@for i in `${CAT} ${FILESDIR}/exclude_noportdocs`; do \
88
		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
88
		${RM} -rf ${WRKSRC}/opt/${COMPILERDIR}/$$i; \
Lines 122-128 Link Here
122
.endfor
122
.endfor
123
# Provide a more FreeBSD'ish compile environment
123
# Provide a more FreeBSD'ish compile environment
124
.for i in icc.cfg icpc.cfg
124
.for i in icc.cfg icpc.cfg
125
	@${ECHO_CMD} -e "-Qlocation,ld,${PREFIX}/${COMPILERDIR}/bin/ldwrapper\n\n-wr1125\n-we140\n\n-Ulinux\n-U__linux__\n-U__linux\n-U__gnu_linux__\n\n-D__FreeBSD__=${ICCCFGVAL}\n\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
125
	@${ECHO_CMD} -e "-Qlocation,ld,${PREFIX}/${COMPILERDIR}/bin/ldwrapper\n\n-wr1125\n-we140\n\n-Ulinux\n-U__linux__\n-U__linux\n-U__gnu_linux__\n\n-D__FreeBSD__=$$(${ICCCFGVAL_CMD})\n\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
126
	@${ECHO_CMD} -e "-D__wchar_t=__ct_rune_t\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
126
	@${ECHO_CMD} -e "-D__wchar_t=__ct_rune_t\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
127
	@${ECHO_CMD} -e "-restrict\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
127
	@${ECHO_CMD} -e "-restrict\n" >>${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
128
	@${CHMOD} a-x,g-w ${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
128
	@${CHMOD} a-x,g-w ${WRKSRC}/opt/${COMPILERDIR}/bin/${i}
Lines 159-170 Link Here
159
		${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld \
159
		${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld \
160
		${FILESDIR}/ld.c
160
		${FILESDIR}/ld.c
161
# We can't use STRIP_CMD, since we need the FreeBSD one, not the Linux one.
161
# We can't use STRIP_CMD, since we need the FreeBSD one, not the Linux one.
162
	@/usr/bin/strip ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
162
	@${STRIP_CMD} ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
163
	@${CHMOD} 755 ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
163
	@${CHMOD} 755 ${WRKSRC}/opt/${COMPILERDIR}/bin/ldwrapper/ld
164
# Make ICC happy with regards to crtbegin.o, crtend.o and libgcc.a which it
164
# Make ICC happy with regards to crtbegin.o, crtend.o and libgcc.a which it
165
# expects to find in GXX_ROOT.
165
# expects to find in GXX_ROOT.
166
.for file in crtbegin.o crtend.o libgcc.a
166
.for f in crtbegin.o crtend.o libgcc.a
167
	@cd ${WRKSRC}/opt/${COMPILERDIR}/lib && ${LN} -s /usr/lib/${file} ${file}
167
	@cd ${WRKSRC}/opt/${COMPILERDIR}/lib && ${LN} -s /usr/lib/${f} ${f}
168
.endfor
168
.endfor
169
# The static linking case expects a crtbeginT.o. Based upon inspection of
169
# The static linking case expects a crtbeginT.o. Based upon inspection of
170
# /usr/src/contrib/gnu/crtstuff.c it seems it's the same as crtbegin.o.
170
# /usr/src/contrib/gnu/crtstuff.c it seems it's the same as crtbegin.o.
Lines 172-180 Link Here
172
172
173
do-install:
173
do-install:
174
	@cd ${WRKSRC}/opt && ${FIND} . -print | \
174
	@cd ${WRKSRC}/opt && ${FIND} . -print | \
175
		${CPIO} -pdu -R ${BINOWN}:${BINGRP} --quiet ${PREFIX}
175
		${CPIO} -pdu --quiet ${STAGEDIR}${PREFIX}
176
176
177
post-install:
177
post-install:
178
	@${LN} -sf icc.1.gz ${STAGEDIR}${MANPREFIX}/man/man1/icpc.1.gz
178
	@${ECHO} "${PKGNAME} is now installed in ${PREFIX}/${COMPILERDIR}, to use it you have to put your license into your \$${INTEL_FLEXLM_LICENSE} (default: ${PREFIX}/${COMPILERDIR}/licenses) directory and add ${PREFIX}/${COMPILERDIR}/bin to your PATH." | fmt
179
	@${ECHO} "${PKGNAME} is now installed in ${PREFIX}/${COMPILERDIR}, to use it you have to put your license into your \$${INTEL_FLEXLM_LICENSE} (default: ${PREFIX}/${COMPILERDIR}/licenses) directory and add ${PREFIX}/${COMPILERDIR}/bin to your PATH." | fmt
179
	@${ECHO}
180
	@${ECHO}
180
	@${ECHO} "WARNING: If you use icc while having linux_devtools installed, icc will use the wrong includes and therefore will generate non-working binaries!" | fmt
181
	@${ECHO} "WARNING: If you use icc while having linux_devtools installed, icc will use the wrong includes and therefore will generate non-working binaries!" | fmt
(-)icc/pkg-plist (+4 lines)
Lines 1-3 Link Here
1
@owner bin
2
@group bin
1
%%COMPILERDIR%%/bin/Errormatch.txt
3
%%COMPILERDIR%%/bin/Errormatch.txt
2
%%COMPILERDIR%%/bin/codecov
4
%%COMPILERDIR%%/bin/codecov
3
%%COMPILERDIR%%/bin/icc
5
%%COMPILERDIR%%/bin/icc
Lines 943-948 Link Here
943
%%COMPILERDIR%%/licenses/clicense
945
%%COMPILERDIR%%/licenses/clicense
944
%%COMPILERDIR%%/licenses/credist.txt
946
%%COMPILERDIR%%/licenses/credist.txt
945
%%COMPILERDIR%%/licenses/lgpltext
947
%%COMPILERDIR%%/licenses/lgpltext
948
%%COMPILERDIR%%/man/man1/icc.1.gz
949
%%COMPILERDIR%%/man/man1/icpc.1.gz
946
@unexec rmdir %D/%%COMPILERDIR%%/licenses >/dev/null 2>&1 || echo '*** License directory (%D/%%COMPILERDIR%%/licenses/) not removed, it may contain a license.'
950
@unexec rmdir %D/%%COMPILERDIR%%/licenses >/dev/null 2>&1 || echo '*** License directory (%D/%%COMPILERDIR%%/licenses/) not removed, it may contain a license.'
947
@dirrm %%COMPILERDIR%%/man/man1
951
@dirrm %%COMPILERDIR%%/man/man1
948
@dirrm %%COMPILERDIR%%/man
952
@dirrm %%COMPILERDIR%%/man

Return to bug 193092