diff options
author | netchild <netchild@FreeBSD.org> | 2002-09-17 20:10:46 +0800 |
---|---|---|
committer | netchild <netchild@FreeBSD.org> | 2002-09-17 20:10:46 +0800 |
commit | 33b01dfbc93515347b3a5938f3ac29ce74ab3609 (patch) | |
tree | 6b6e6d0be62a7800f525240c765a34aa319c839e /lang/icc7/Makefile | |
parent | 6f3eb34b7fd52fe17d4b789fef058dfef877a3c5 (diff) | |
download | freebsd-ports-gnome-33b01dfbc93515347b3a5938f3ac29ce74ab3609.tar.gz freebsd-ports-gnome-33b01dfbc93515347b3a5938f3ac29ce74ab3609.tar.zst freebsd-ports-gnome-33b01dfbc93515347b3a5938f3ac29ce74ab3609.zip |
- C++ support: fix to work also on -current, work around broken exception
handling when generating shared objects with binutils/ld 2.12.[0,1], link
in the icc C++ ABI definitions not those of gcc
- remove libcprts (STL): it has unresolvable glibc dependencies in both,
dynamic and static, versions, therefore is not usable and entirely unneeded
when libstlport is used instead
- add libimf (Intel's optimized math functions library), while there's no
measurable speed improvement (at least for the functions tested) in
comparison to FreeBSD's libm beyond the "normal" icc vs. gcc boost icc
occasionally produces code depending on libimf when told to optimize for
Pentium 4
- replace the ld-script with a wrapper written in C as (c)sh is a bit limited
and long winded for that purpose
- minor stuff and cleanup
Submitted by: marius@alchemy.franken.de
Diffstat (limited to 'lang/icc7/Makefile')
-rw-r--r-- | lang/icc7/Makefile | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/lang/icc7/Makefile b/lang/icc7/Makefile index 4ac9fc1660af..3e911bc2a152 100644 --- a/lang/icc7/Makefile +++ b/lang/icc7/Makefile @@ -7,7 +7,7 @@ PORTNAME= icc PORTVERSION= 6.0.159 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= lang linux devel MASTER_SITES= DISTNAME= l_cc_pu_6.0.159 @@ -26,7 +26,6 @@ ONLY_FOR_ARCHS= i386 USE_LINUX= yes USE_REINPLACE= yes NO_WRKSUBDIR= yes -NO_BUILD= yes NO_FILTER_SHLIBS= yes MAN1= icc.1 @@ -72,26 +71,26 @@ post-patch: # Correct some paths and patch some files .for i in ia32/bin/icc ia32/bin/icc.cfg ia32/bin/iccvars.csh \ ia32/bin/iccvars.sh ia32/bin/icpc ia32/bin/icpc.cfg docs/csupport - @${REINPLACE_CMD} -i "" -e 's@export -n IA32ROOT; unset IA32ROOT;@@g; s@-a "<INSTALLDIR>/compiler60/ia32/bin/icc" @@g; s@-a "<INSTALLDIR>/compiler60/ia32/bin/icpc" @@g; s@\<INSTALLDIR\>@${PREFIX}/intel@g; s@-tp p6@@; s@man -w@manpath -q@g; s:\<INSTALLTIMECOMBOPACKAGEID\>:${DISTNAME}:g' \ + @${REINPLACE_CMD} -i "" -e 's:@@PREFIX@@:${PREFIX}:g; s@man -w@manpath -q@g; s:\<INSTALLTIMECOMBOPACKAGEID\>:${DISTNAME}:g' \ ${WRKSRC}/opt/intel/compiler60/${i} @${CHMOD} 755 ${WRKSRC}/opt/intel/compiler60/${i} .endfor # Remove unneeded files -.for i in cwchar.orig yvals.h.orig algorithm bitset complex deque fstream \ - fstream.h functional hash_map hash_set iomanip iomanip.h ios iosfwd \ - iostream iostream.h istream iterator limits list locale map mathf.h \ +.for i in cfloat.orig cwchar.orig yvals.h.orig algorithm bitset complex deque \ + fstream fstream.h functional hash_map hash_set iomanip iomanip.h ios \ + iosfwd iostream iostream.h istream iterator limits list locale map \ memory numeric ostream queue set slist sstream stack stdexcept stl.h \ stream.h streambuf string strstream strstream.h utility valarray \ vector xcomplex xdebug xhash xiosbase xlocale xlocinfo xlocinfo.h \ xlocmes xlocmon xlocnum xloctime xmemory xstring xtree xutility ymath.h @${RM} ${WRKSRC}/opt/intel/compiler60/ia32/include/${i} .endfor -.for i in crtxi.o crtxn.o icrt.link libcprts.so libcprts.so.1 libimf.a \ - libunwind.so libunwind.so.1 +.for i in libcprts.a libcprts.so libcprts.so.1 libunwind.so libunwind.so.1 @${RM} -rf ${WRKSRC}/opt/intel/compiler60/ia32/lib/${i} .endfor @${RM} ${WRKSRC}/opt/intel/compiler60/ia32/bin/uninstall \ - ${WRKSRC}/opt/intel/compiler60/ia32/bin/icc.orig + ${WRKSRC}/opt/intel/compiler60/ia32/bin/icc.orig \ + ${WRKSRC}/opt/intel/compiler60/ia32/bin/icpc.orig .if defined(NOPORTDOCS) @${RM} -rf ${WRKSRC}/opt/intel/compiler60/docs .endif @@ -100,19 +99,21 @@ post-patch: @${ECHO} -e "\n-Ulinux\n-U__linux__\n-U__linux\n\n-D__FreeBSD__=${ICCCFGVAL}\n-D__ELF__=1\n" >>${WRKSRC}/opt/intel/compiler60/ia32/bin/${i} @${CHMOD} a-x,g-w ${WRKSRC}/opt/intel/compiler60/ia32/bin/${i} .endfor -# C++ hack for ipcp +# C++ hack for icpc @${ECHO} -e "\n-I${PREFIX}/include/stlport\n-Qoption,ld,-CPLUSPLUS\n" >>${WRKSRC}/opt/intel/compiler60/ia32/bin/icpc.cfg @cd ${WRKSRC}/opt/intel/compiler60/ia32/bin/ && ${LN} -s icc.cfg iccbin.cfg && ${LN} -s icpc.cfg icpcbin.cfg # \n-Qlocation,ld,/usr/bin\n\n-sox-\n -# Fix (some) unresolved references in libcprts, libcxa and libunwind - @cd ${WRKSRC} && ${CC} -c ${FILESDIR}/*.c && \ + +do-build: +# Fix unresolved references in libcxa.a, libimf.a and libunwind.a + @cd ${WRKSRC} && ${CC} ${CFLAGS} -c ${FILESDIR}/cxa_atexit.c \ + ${FILESDIR}/cxa_finalize.c ${FILESDIR}/errno_location.c \ + ${FILESDIR}/stderr.c && \ ${AR} q opt/intel/compiler60/ia32/lib/libcxa.a *.o # Some magic to be able to link - @${SED} 's:@@PREFIX@@:${PREFIX}:g' ${FILESDIR}/ld >${WRKSRC}/opt/intel/compiler60/ia32/bin/ld + @${CC} ${CFLAGS} -o ${WRKSRC}/opt/intel/compiler60/ia32/bin/ld ${FILESDIR}/ld.c + @${STRIP_CMD} ${WRKSRC}/opt/intel/compiler60/ia32/bin/ld @${CHMOD} 755 ${WRKSRC}/opt/intel/compiler60/ia32/bin/ld - @${MKDIR} ${WRKSRC}/opt/intel/compiler60/ia32/bin/real -# Do not use the linux ld if it exists - @${LN} -s /usr/bin/ld ${WRKSRC}/opt/intel/compiler60/ia32/bin/real do-install: @cd ${WRKSRC}/opt && ${TAR} -cf - . | \ |