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 |