diff options
author | Alexander Leidinger <netchild@FreeBSD.org> | 2002-11-08 15:59:38 +0000 |
---|---|---|
committer | Alexander Leidinger <netchild@FreeBSD.org> | 2002-11-08 15:59:38 +0000 |
commit | 628837b0ccdfd1ff6631a3df8d1288f1a4b7672f (patch) | |
tree | 05da346539ea8ffc241b158827297fa4bd65229a /lang/icc7 | |
parent | Unbreak devel e4graph (diff) |
- Keep up with changes on -current (__sF, elf_i386 -> elf_i386_fbsd).
- Use an exclude file for cpio, there's not much sense in extracting
and chmod'ing a whole bunch of files only to delete them afterwards.
- Fix two bugs in the ld-wrapper that could cause it to dump core in
rare cases.
- Remove a forgotten C++ include.
- Improve IGNORE message.
Submitted by: marius@alchemy.franken.de
Notes
Notes:
svn path=/head/; revision=69730
Diffstat (limited to 'lang/icc7')
-rw-r--r-- | lang/icc7/Makefile | 44 | ||||
-rw-r--r-- | lang/icc7/files/cpio-exclude | 64 | ||||
-rw-r--r-- | lang/icc7/files/ld.c | 8 | ||||
-rw-r--r-- | lang/icc7/pkg-plist | 1 |
4 files changed, 95 insertions, 22 deletions
diff --git a/lang/icc7/Makefile b/lang/icc7/Makefile index 31e0106ce669..d8c8d35d6456 100644 --- a/lang/icc7/Makefile +++ b/lang/icc7/Makefile @@ -37,8 +37,10 @@ ICC_SITE= http://www.intel.com/software/products/compilers/ ICCCFGVAL!= ${UNAME} -r | ${SED} -e 's/\..*//' +OBJCOPY?= /usr/bin/objcopy + .if !exists(${DISTDIR}/${DIST_SUBDIR}/${DISTNAME}${EXTRACT_SUFX}) -IGNORE= "Please manually download ${DISTFILES} from ${ICC_SITE}, e.g. from ${ICC_SITE}c60l/noncom.htm or from https://premier.intel.com/ \(whichever has the file, to access premier.intel.com you have to register at http://www.intel.com/software/products/registrationcenter/index.htm\). With a little bit of luck it may also be available from ftp://download.intel.com/software/products/compilers/downloads/. Put it into ${DISTDIR} and run make again." +IGNORE= "Please manually download ${DISTFILES} from ${ICC_SITE}, ${ICC_SITE}c60l/noncom.htm or https://premier.intel.com/ \(whichever has the file, to access premier.intel.com you have to register at http://www.intel.com/software/products/registrationcenter/index.htm\). With a little bit of luck it may also be available from ftp://download.intel.com/software/products/compilers/downloads/. Put it into ${DISTDIR} and run make again" .endif post-extract: @@ -49,7 +51,14 @@ post-extract: # intel-ecc6-6.0.1-304.ia64.rpm \ # intel-eldb6-6.0.1-308.ia64.rpm \ # intel-esubh6-6.0.1-304.ia64.rpm - @cd ${WRKSRC}; rpm2cpio 2>/dev/null ${i} | cpio -idu --quiet +.if defined(NOPORTDOCS) + @cd ${WRKSRC} && rpm2cpio 2>/dev/null ${i} | \ + cpio -idfuE ${FILESDIR}/cpio-exclude --quiet \ + */opt/intel/compiler60/docs/* +.else + @cd ${WRKSRC} && rpm2cpio 2>/dev/null ${i} | \ + cpio -idfuE ${FILESDIR}/cpio-exclude --quiet +.endif .endfor pre-patch: @@ -75,23 +84,13 @@ post-patch: ${WRKSRC}/opt/intel/compiler60/${i} @${CHMOD} 755 ${WRKSRC}/opt/intel/compiler60/${i} .endfor -# Remove unneeded files -.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 +.for i in cfloat.orig cwchar.orig yvals.h.orig @${RM} ${WRKSRC}/opt/intel/compiler60/ia32/include/${i} .endfor -.for i in libcprts.a libcprts.so libcprts.so.1 libguide.a libguide.so \ - libunwind.so libunwind.so.1 - @${RM} -rf ${WRKSRC}/opt/intel/compiler60/ia32/lib/${i} +.for i in icc.orig icpc.orig + @${RM} ${WRKSRC}/opt/intel/compiler60/ia32/bin/${i} .endfor - @${RM} ${WRKSRC}/opt/intel/compiler60/ia32/bin/uninstall \ - ${WRKSRC}/opt/intel/compiler60/ia32/bin/icc.orig \ - ${WRKSRC}/opt/intel/compiler60/ia32/bin/icpc.orig +# Remove empty directory .if defined(NOPORTDOCS) @${RM} -rf ${WRKSRC}/opt/intel/compiler60/docs .endif @@ -109,9 +108,16 @@ do-build: # Fix unresolved references @cd ${WRKSRC} && ${CC} ${CFLAGS} -c ${FILESDIR}/assert_fail.c \ ${FILESDIR}/cxa_atexit.c ${FILESDIR}/cxa_finalize.c \ - ${FILESDIR}/errno_location.c ${FILESDIR}/stderr.c \ - ${FILESDIR}/mcount.S && \ - ${AR} q opt/intel/compiler60/ia32/lib/libcxa.a *.o + ${FILESDIR}/errno_location.c ${FILESDIR}/mcount.S +.if ${OSVERSION} < 500042 + @${CC} ${CFLAGS} -c -o ${WRKSRC}/stderr.o ${FILESDIR}/stderr.c +.else +.for i in libcxa.a libimf.a libirc.a libircmt.a libunwind.a + @${OBJCOPY} --redefine-sym stderr=__stderrp \ + ${WRKSRC}/opt/intel/compiler60/ia32/lib/${i} +.endfor +.endif + @${AR} q ${WRKSRC}/opt/intel/compiler60/ia32/lib/libcxa.a ${WRKSRC}/*.o # Some magic to be able to link @${CC} ${CFLAGS} -o ${WRKSRC}/opt/intel/compiler60/ia32/bin/ld ${FILESDIR}/ld.c @${STRIP_CMD} ${WRKSRC}/opt/intel/compiler60/ia32/bin/ld diff --git a/lang/icc7/files/cpio-exclude b/lang/icc7/files/cpio-exclude new file mode 100644 index 000000000000..3ff7d00ae33f --- /dev/null +++ b/lang/icc7/files/cpio-exclude @@ -0,0 +1,64 @@ +*/opt/intel/compiler60/ia32/bin/uninstall +*/opt/intel/compiler60/ia32/include/algorithm +*/opt/intel/compiler60/ia32/include/bitset +*/opt/intel/compiler60/ia32/include/complex +*/opt/intel/compiler60/ia32/include/deque +*/opt/intel/compiler60/ia32/include/fstream +*/opt/intel/compiler60/ia32/include/fstream.h +*/opt/intel/compiler60/ia32/include/functional +*/opt/intel/compiler60/ia32/include/hash_map +*/opt/intel/compiler60/ia32/include/hash_set +*/opt/intel/compiler60/ia32/include/iomanip +*/opt/intel/compiler60/ia32/include/iomanip.h +*/opt/intel/compiler60/ia32/include/ios +*/opt/intel/compiler60/ia32/include/iosfwd +*/opt/intel/compiler60/ia32/include/iostream +*/opt/intel/compiler60/ia32/include/iostream.h +*/opt/intel/compiler60/ia32/include/istream +*/opt/intel/compiler60/ia32/include/iterator +*/opt/intel/compiler60/ia32/include/limits +*/opt/intel/compiler60/ia32/include/list +*/opt/intel/compiler60/ia32/include/locale +*/opt/intel/compiler60/ia32/include/map +*/opt/intel/compiler60/ia32/include/memory +*/opt/intel/compiler60/ia32/include/numeric +*/opt/intel/compiler60/ia32/include/ostream +*/opt/intel/compiler60/ia32/include/queue +*/opt/intel/compiler60/ia32/include/set +*/opt/intel/compiler60/ia32/include/slist +*/opt/intel/compiler60/ia32/include/sstream +*/opt/intel/compiler60/ia32/include/stack +*/opt/intel/compiler60/ia32/include/stdexcept +*/opt/intel/compiler60/ia32/include/stdiostream.h +*/opt/intel/compiler60/ia32/include/stl.h +*/opt/intel/compiler60/ia32/include/stream.h +*/opt/intel/compiler60/ia32/include/streambuf +*/opt/intel/compiler60/ia32/include/string +*/opt/intel/compiler60/ia32/include/strstream +*/opt/intel/compiler60/ia32/include/strstream.h +*/opt/intel/compiler60/ia32/include/utility +*/opt/intel/compiler60/ia32/include/valarray +*/opt/intel/compiler60/ia32/include/vector +*/opt/intel/compiler60/ia32/include/xcomplex +*/opt/intel/compiler60/ia32/include/xdebug +*/opt/intel/compiler60/ia32/include/xhash +*/opt/intel/compiler60/ia32/include/xiosbase +*/opt/intel/compiler60/ia32/include/xlocale +*/opt/intel/compiler60/ia32/include/xlocinfo +*/opt/intel/compiler60/ia32/include/xlocinfo.h +*/opt/intel/compiler60/ia32/include/xlocmes +*/opt/intel/compiler60/ia32/include/xlocmon +*/opt/intel/compiler60/ia32/include/xlocnum +*/opt/intel/compiler60/ia32/include/xloctime +*/opt/intel/compiler60/ia32/include/xmemory +*/opt/intel/compiler60/ia32/include/xstring +*/opt/intel/compiler60/ia32/include/xtree +*/opt/intel/compiler60/ia32/include/xutility +*/opt/intel/compiler60/ia32/include/ymath.h +*/opt/intel/compiler60/ia32/lib/libcprts.a +*/opt/intel/compiler60/ia32/lib/libcprts.so +*/opt/intel/compiler60/ia32/lib/libcprts.so.1 +*/opt/intel/compiler60/ia32/lib/libguide.a +*/opt/intel/compiler60/ia32/lib/libguide.so +*/opt/intel/compiler60/ia32/lib/libunwind.so +*/opt/intel/compiler60/ia32/lib/libunwind.so.1 diff --git a/lang/icc7/files/ld.c b/lang/icc7/files/ld.c index c858bacd8e4c..c5d2f63858c9 100644 --- a/lang/icc7/files/ld.c +++ b/lang/icc7/files/ld.c @@ -272,7 +272,11 @@ main(int argc, char *argv[], char *envp[]) /* prepend "-melf_i386" to the commandline */ if (i == 0) { addarg(&al, argv[0], 1); +#if __FreeBSD_version < 500042 addarg(&al, "-melf_i386", 1); +#else + addarg(&al, "-melf_i386_fbsd", 1); +#endif continue; } @@ -370,7 +374,7 @@ main(int argc, char *argv[], char *envp[]) * dynamic versions have glibc dependencies. * Don't add superfluous -Bdynamic. */ - if (ARGCMP("-Bdynamic") && i <= argc + 1) { + if (ARGCMP("-Bdynamic") && i < argc - 1) { if (!strcmp(argv[i + 1], "-lcxa") || (cpp && !strcmp(argv[i + 1], "-lunwind"))) { addarg(&al, "-Bstatic", 1); @@ -383,7 +387,7 @@ main(int argc, char *argv[], char *envp[]) } /* Don't add superfluous -Bstatic. */ - if (ARGCMP("-Bstatic") && i <= argc + 1 && + if (ARGCMP("-Bstatic") && i < argc - 1 && (!strcmp(argv[i + 1], "-lcprts") || (!cpp && !strcmp(argv[i + 1], "-lunwind")))) continue; diff --git a/lang/icc7/pkg-plist b/lang/icc7/pkg-plist index ff1cd0079cb0..1ed078f93cab 100644 --- a/lang/icc7/pkg-plist +++ b/lang/icc7/pkg-plist @@ -737,7 +737,6 @@ intel/compiler60/ia32/include/sse2mmx.h intel/compiler60/ia32/include/stdarg.h intel/compiler60/ia32/include/stdbool.h intel/compiler60/ia32/include/stddef.h -intel/compiler60/ia32/include/stdiostream.h intel/compiler60/ia32/include/typeinfo intel/compiler60/ia32/include/varargs.h intel/compiler60/ia32/include/xmmintrin.h |