Date: Thu, 10 Aug 2006 23:29:09 +0600 (YEKST) From: Stanislav Sedov <ssedov@mbsd.msk.ru> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/101774: [NEW PORT] devel/strongarm-elf-gcc: GNU gcc 4.1.1 for cross-target application development Message-ID: <20060810172909.EF9FB12C61@fonon.realnet> Resent-Message-ID: <200608101930.k7AJUHMk080621@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 101774 >Category: ports >Synopsis: [NEW PORT] devel/strongarm-elf-gcc: GNU gcc 4.1.1 for cross-target application development >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Aug 10 19:30:16 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Stanislav Sedov >Release: FreeBSD 7.0-CURRENT i386 >Organization: MBSD labs, Inc. >Environment: System: FreeBSD fonon.realnet 7.0-CURRENT FreeBSD 7.0-CURRENT #1: Wed Aug 2 21:44:37 MSD >Description: FSF gcc-4.1 for cross-target development. This port brings C, C++ and Objective C compillers with all target libraries (libstdc++, libsupc++, libobjc, libssp, libgcc). Gloss and libc layer are provided through newlib embedded C library. It can be used to cross-compile operating system kernels (e.g. Linux, L4, etc) for this architecture. If you encounter any problems building/using/installing this port, please make me know. It would help to improve this port in feature. -- Stanislav Sedov <ssedov@mbsd.msk.ru> WWW: http://gcc.gnu.org/ Note: it depends on ports/101690 >How-To-Repeat: >Fix: --- strongarm-elf-gcc-4.1.1.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # cross-gcc # cross-gcc/pkg-descr # cross-gcc/Makefile # cross-gcc/pkg-plist # cross-gcc/files # cross-gcc/files/patch-libobjc_archive.c # cross-gcc/files/patch-libobjc_encoding.c # cross-gcc/files/patch-libobjc_thr-objc.c # cross-gcc/files/patch-libobjc_objects.c # cross-gcc/files/patch-libobjc_gc.c # cross-gcc/files/patch-libobjc_sendmsg.c # cross-gcc/files/patch-libssp_configure.ac # cross-gcc/files/patch-libssp_configure # cross-gcc/distinfo # echo c - cross-gcc mkdir -p cross-gcc > /dev/null 2>&1 echo x - cross-gcc/pkg-descr sed 's/^X//' >cross-gcc/pkg-descr << 'END-of-cross-gcc/pkg-descr' XFSF gcc-4.1 for cross-target development. This port brings C, C++ and XObjective C compillers with all target libraries (libstdc++, libsupc++, Xlibobjc, libssp, libgcc). Gloss and libc layer are provided through Xnewlib embedded C library. X XIt can be used to cross-compile operating system kernels (e.g. Linux, L4, etc) Xfor this architecture. X XIf you encounter any problems building/using/installing this port, please Xmake me know. It would help to improve this port in feature. X X-- Stanislav Sedov <ssedov@mbsd.msk.ru> X XWWW: http://gcc.gnu.org/ END-of-cross-gcc/pkg-descr echo x - cross-gcc/Makefile sed 's/^X//' >cross-gcc/Makefile << 'END-of-cross-gcc/Makefile' X# New ports collection makefile for: cross-gcc X# Date created: 2006-08-10 X# Whom: Stanislav Sedov <ssedov@mbsd.msk.ru> X# X# $MBSDlabs$ X# $FreeBSD$ X# X XPORTNAME= gcc XPORTVERSION= 4.1.1 XCATEGORIES= devel XMASTER_SITES= ${MASTER_SITE_GCC}:gcc \ X ${MASTER_SITE_SOURCEWARE}:newlib XMASTER_SITE_SUBDIR= releases/${DISTNAME}/:gcc newlib/:newlib XDISTFILES= ${DISTNAME}${EXTRACT_SUFX}:gcc \ X newlib-${NEWLIB_VERSION}${NEWLIB_EXTRACT_SUFX}:newlib XEXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} X XMAINTAINER= ssedov@mbsd.msk.ru XCOMMENT= GNU gcc 4.1.1 for cross-target application development X XBUILD_DEPENDS= ${GAS_EXE}:${PORTSDIR}/devel/cross-binutils XRUN_DEPENDS= ${GAS_EXE}:${PORTSDIR}/devel/cross-binutils X XWRKSRC= ${WRKDIR}/gcc-${PORTVERSION} X XUSE_BZIP2= yes XUSE_GMAKE= yes XUSE_BISON= yes XGNU_CONFIGURE= yes XSTRIP= XNO_MTREE= yes XNO_PACKAGE= no sense X X# X# Needed for correct OPTIONS handling X# XLATEST_LINK= cross-gcc X X# X# Newlib version to use X# XNEWLIB_VERSION= 1.14.0 XNEWLIB_EXTRACT_SUFX=.tar.gz X XGAS_EXE= ${LOCALBASE}/${OUR_TARGET}/bin/${PKGNAMEPREFIX}as X XOPTIONS= ARM "Build toolchain for arm processor" off \ X ARM9E "Build toolchain for arm9e processor" off \ X ARMEB "Build toolchain for armeb processor" off \ X CRIS "Build toolchain for cris processor" off \ X CRISV32 "Build toolchain for crisv32 processor" off \ X CRX "Build toolchain for crx processor" off \ X D30V "Build toolchain for d30v processor" off \ X EP9312 "Build toolchain for ep9312 processor" off \ X FR30 "Build toolchain for fr30 processor" off \ X FRV "Build toolchain for frv processor" off \ X HPPA "Build toolchain for hppa processor" off \ X I386 "Build toolchain for i386 processor" off \ X I960 "Build toolchain for i960 processor" off \ X IQ2000 "Build toolchain for iq2000 processor" off \ X M32C "Build toolchain for m32c processor" off \ X M32R "Build toolchain for m32r processor" off \ X M68HC11 "Build toolchain for m68hc11 processor" off \ X M68HC12 "Build toolchain for m68hc12 processor" off \ X MCORE "Build toolchain for mcore processor" off \ X MIPS "Build toolchain for mips processor" off \ X MIPSEL "Build toolchain for mipsel processor" off \ X MN10200 "Build toolchain for mn10200 processor" off \ X MN10300 "Build toolchain for mn10300 processor" off \ X MT "Build toolchain for mt processor" off \ X POWERPC "Build toolchain for powerpc processor" off \ X POWERPCLE "Build toolchain for ppc(le) processor" off \ X SH1 "Build toolchain for sh1 processor" off \ X SH2 "Build toolchain for sh2 processor" off \ X SH3 "Build toolchain for sh3 processor" off \ X SH4 "Build toolchain for sh4 processor" off \ X SH5 "Build toolchain for sh5 processor" off \ X SH5LE "Build toolchain for sh5le processor" off \ X SH64 "Build toolchain for sh64 processor" off \ X SH64EB "Build toolchain for sh64eb processor" off \ X SH64LE "Build toolchain for sh64le processor" off \ X SPARC "Build toolchain for sparc processor" off \ X SPARC64 "Build toolchain for sparc64 processor" off \ X SPARC86X "Build toolchain for sparc86x processor" off \ X SPARCLET "Build toolchain for sparclet processor" off \ X SPARCLITE "Build toolchain for sparclite processor" off \ X STRONGARM "Build toolchain for strongarm processor" off \ X XSCALE "Build toolchain for xscale processor" off \ X XSTORMY16 "Build toolchain for xstormy16 processor" off \ X XOPT_AVAIL= ${OPTIONS:C/[ \t]*".*"//g:C/[ \t]*off//g} X XPREFIX?= ${LOCALBASE}/${OUR_TARGET} X.include <bsd.port.pre.mk> X X.for OPT in ${OPT_AVAIL} X. if defined(WITH_${OPT}) && defined(OUR_CPU) XBROKEN= you can select only one cpu at once X. endif X. if defined(WITH_${OPT}) XOUR_CPU= ${OPT:L} X. if defined(${OPT}_ARGS) XCONFIGURE_ARGS= ${${OPT}_ARGS} X. endif X. endif X.endfor X X.if !defined(OUR_CPU) XBROKEN= you should select at least one CPU X.endif X XOUR_TARGET= ${OUR_CPU}-portbuild-${OUR_ABI} X XPKGNAMEPREFIX= ${OUR_CPU}-${OUR_ABI}- X X# X# Some targets don't support ELF ABI X# XEP9312_ABIS= coff/elf XHPPA_ABIS= pro XI386_ABIS= coff/elf XI960_ABIS= coff XSH_ABIS= pe XSPARC64_ABIS= elf XSPARCLET_ABIS= aout XSPARC_ABIS= elf XSTRONGARM_ABIS= coff/elf XXSCALE_ABIS= coff/elf X X# X# Look if ABI was supplied by user. Test it for availability in that case X# X.if defined(WITH_ABI) XOUR_ABI= ${WITH_ABI} X. if defined(${OUR_CPU:U}_ABIS) XABIS_AVAIL=${${OUR_CPU:U}_ABIS:S,/, ,g} X# X# Loop is required for :M expansion X# X. for ABI in ${WITH_ABI} X. if ${ABIS_AVAIL:M${ABI}} == "" XBROKEN= ${WITH_ABI} ABI isn't supported on target architecture by newlib now X. endif X. endfor X. endif X.else X. if defined(${OUR_CPU:U}_ABIS) XOUR_ABI=${${OUR_CPU:U}_ABIS:T} X. else XOUR_ABI= elf X. endif X.endif X X# X# override user-defined settings in make.conf X# XWITHOUT_CPU_CFLAGS= yes X XMAKE_FLAGS= LANGUAGES="c c++ objc" XMAKE_ENV= NO_CPU_CFLAGS=true \ X PATH=${PREFIX}/bin:${PATH} X XCONFIGURE_ENV= PATH=${PREFIX}/bin:${PATH} X XOUR_LIBDIR= ${PREFIX}/lib/gcc/${OUR_TARGET} X XCONFIGURE_ARGS= --target=${OUR_TARGET} \ X --enable-languages=c,c++,objc \ X --with-dwarf2 \ X --with-system-zlib \ X --disable-nls \ X --with-libiconv-prefix=${LOCALDIR} \ X --libdir=${OUR_LIBDIR} \ X --with-gxx-include-dir=${OUR_LIBDIR}/include/cxx/ \ X --with-newlib \ X --disable-shared X XMAN1= ${OUR_TARGET}-cpp.1 \ X ${OUR_TARGET}-g++.1 \ X ${OUR_TARGET}-gcc.1 \ X ${OUR_TARGET}-gcov.1 \ X XMAN7= fsf-funding.7 gfdl.7 gpl.7 XINFO= cpp cppinternals gcc gccinstall gccint X XGCC_DIRS= include lib libexec share ${OUR_TARGET}/include \ X ${OUR_TARGET}/lib XGCC_BINS= g++ c++ gccbug cpp gcc gcc-${PORTVERSION} X X.if defined(WITH_CPU) XCONFIGURE_ARGS+=--with-cpu=${WITH_CPU} \ X --enable-cxx-flags=${WITH_CPU} X.endif X X.if defined(WITH_FLOAT_TYPE) XCONFIGURE_ARGS+=--with-float=${WITH_FLOAT_TYPE} X.endif X Xpre-everything:: X @${ECHO_MSG} X @${ECHO_MSG} "---------------------------------------------------------" X @${ECHO_MSG} "You can specify default CPU target using WITH_CPU option" X @${ECHO_MSG} "Target FPU type can be provided through WITH_FLOAT_TYPE" X @${ECHO_MSG} X @${ECHO_MSG} "NOTE: target architecture might not support selected cpu/" X @${ECHO_MSG} "/float type. Refer to binutils documentation for full" X @${ECHO_MSG} "list of supported options" X @${ECHO_MSG} "---------------------------------------------------------" X @${ECHO_MSG} X Xpost-extract: X @(cd ${WRKSRC} && ${TAR} -xzf \ X ${DISTDIR}/newlib-${NEWLIB_VERSION}${NEWLIB_EXTRACT_SUFX}) X @${LN} -sf ${WRKSRC}/newlib-${NEWLIB_VERSION}/newlib ${WRKSRC}/newlib X @${LN} -sf ${WRKSRC}/newlib-${NEWLIB_VERSION}/libgloss \ X ${WRKSRC}/libgloss X Xpost-install: X# X# Build pkg-plist X# X X.for DIR in ${GCC_DIRS:S,^,${PREFIX}/,} X @${FIND} ${DIR} ! -type d ! -regex .*/ldscripts/[^/]* |\ X ${SED} 's,^${PREFIX}/,,' >> ${TMPPLIST} X @${FIND} ${DIR} -type d ! -name ldscripts | ${SORT} -r | \ X ${SED} -E -e 's,(.*),@unexec rmdir \1 2>/dev/null || true,' >> \ X ${TMPPLIST} X.endfor X X.for BIN in ${GCC_BINS} X @${ECHO_CMD} "bin/${OUR_TARGET}-${BIN}" >> ${TMPPLIST} X.endfor X X @${ECHO_CMD} "@unexec rmdir ${OUR_TARGET} 2>/dev/null || true" >> \ X ${TMPPLIST} X X.include <bsd.port.post.mk> END-of-cross-gcc/Makefile echo x - cross-gcc/pkg-plist sed 's/^X//' >cross-gcc/pkg-plist << 'END-of-cross-gcc/pkg-plist' X@exec mkdir -p %D/include X@exec mkdir -p %D/share X@dirrmtry man/man1 X@dirrmtry man/man7 X@dirrmtry man X@dirrmtry bin END-of-cross-gcc/pkg-plist echo c - cross-gcc/files mkdir -p cross-gcc/files > /dev/null 2>&1 echo x - cross-gcc/files/patch-libobjc_archive.c sed 's/^X//' >cross-gcc/files/patch-libobjc_archive.c << 'END-of-cross-gcc/files/patch-libobjc_archive.c' X--- libobjc/archive.c.orig Thu Aug 10 12:44:55 2006 X+++ libobjc/archive.c Thu Aug 10 13:04:11 2006 X@@ -24,7 +24,7 @@ X however invalidate any other reasons why the executable file might be X covered by the GNU General Public License. */ X X-#include "tconfig.h" X+//#include "tconfig.h" X #include "objc/runtime.h" X #include "objc/typedstream.h" X #include "objc/encoding.h" END-of-cross-gcc/files/patch-libobjc_archive.c echo x - cross-gcc/files/patch-libobjc_encoding.c sed 's/^X//' >cross-gcc/files/patch-libobjc_encoding.c << 'END-of-cross-gcc/files/patch-libobjc_encoding.c' X--- libobjc/encoding.c.orig Thu Aug 10 12:48:07 2006 X+++ libobjc/encoding.c Thu Aug 10 13:04:12 2006 X@@ -29,9 +29,9 @@ X X /* FIXME: This file has no business including tm.h. */ X X-#include "tconfig.h" X+//#include "tconfig.h" X #include "coretypes.h" X-#include "tm.h" X+//#include "tm.h" X #include "objc/objc-api.h" X #include "objc/encoding.h" X #include <stdlib.h> END-of-cross-gcc/files/patch-libobjc_encoding.c echo x - cross-gcc/files/patch-libobjc_thr-objc.c sed 's/^X//' >cross-gcc/files/patch-libobjc_thr-objc.c << 'END-of-cross-gcc/files/patch-libobjc_thr-objc.c' X--- libobjc/thr-objc.c.orig Thu Aug 10 12:51:46 2006 X+++ libobjc/thr-objc.c Thu Aug 10 13:04:13 2006 X@@ -33,9 +33,9 @@ X #define _XOPEN_SOURCE 500 X #endif X #include "config.h" X-#include "tconfig.h" X+//#include "tconfig.h" X #include "coretypes.h" X-#include "tm.h" X+//#include "tm.h" X #include "defaults.h" X #include "objc/thr.h" X #include "objc/runtime.h" END-of-cross-gcc/files/patch-libobjc_thr-objc.c echo x - cross-gcc/files/patch-libobjc_objects.c sed 's/^X//' >cross-gcc/files/patch-libobjc_objects.c << 'END-of-cross-gcc/files/patch-libobjc_objects.c' X--- libobjc/objects.c.orig Thu Aug 10 12:52:01 2006 X+++ libobjc/objects.c Thu Aug 10 13:04:14 2006 X@@ -24,7 +24,7 @@ X however invalidate any other reasons why the executable file might be X covered by the GNU General Public License. */ X X-#include "tconfig.h" /* include defs of bzero for target */ X+//#include "tconfig.h" /* include defs of bzero for target */ X #include "objc/objc.h" X #include "objc/runtime.h" /* the kitchen sink */ X END-of-cross-gcc/files/patch-libobjc_objects.c echo x - cross-gcc/files/patch-libobjc_gc.c sed 's/^X//' >cross-gcc/files/patch-libobjc_gc.c << 'END-of-cross-gcc/files/patch-libobjc_gc.c' X--- libobjc/gc.c.orig Thu Aug 10 12:52:26 2006 X+++ libobjc/gc.c Thu Aug 10 13:04:15 2006 X@@ -25,7 +25,7 @@ X This exception does not however invalidate any other reasons why X the executable file might be covered by the GNU General Public License. */ X X-#include "tconfig.h" X+//#include "tconfig.h" X #include "objc/objc.h" X #include "objc/encoding.h" X END-of-cross-gcc/files/patch-libobjc_gc.c echo x - cross-gcc/files/patch-libobjc_sendmsg.c sed 's/^X//' >cross-gcc/files/patch-libobjc_sendmsg.c << 'END-of-cross-gcc/files/patch-libobjc_sendmsg.c' X--- libobjc/sendmsg.c.orig Thu Aug 10 12:53:48 2006 X+++ libobjc/sendmsg.c Thu Aug 10 13:04:16 2006 X@@ -29,9 +29,9 @@ X /* FIXME: This should be using libffi instead of __builtin_apply X and friends. */ X X-#include "tconfig.h" X+//#include "tconfig.h" X #include "coretypes.h" X-#include "tm.h" X+//#include "tm.h" X #include "objc/runtime.h" X #include "objc/sarray.h" X #include "objc/encoding.h" END-of-cross-gcc/files/patch-libobjc_sendmsg.c echo x - cross-gcc/files/patch-libssp_configure.ac sed 's/^X//' >cross-gcc/files/patch-libssp_configure.ac << 'END-of-cross-gcc/files/patch-libssp_configure.ac' X--- libssp/configure.ac.orig Thu Aug 10 12:30:46 2006 X+++ libssp/configure.ac Thu Aug 10 13:04:17 2006 X@@ -21,8 +21,8 @@ X [version_specific_libs=no]) X AC_MSG_RESULT($version_specific_libs) X X-AM_MAINTAINER_MODE X-AC_EXEEXT X+dnl AM_MAINTAINER_MODE X+dnl AC_EXEEXT X X AM_ENABLE_MULTILIB(, ..) X END-of-cross-gcc/files/patch-libssp_configure.ac echo x - cross-gcc/files/patch-libssp_configure sed 's/^X//' >cross-gcc/files/patch-libssp_configure << 'END-of-cross-gcc/files/patch-libssp_configure' X--- libssp/configure.orig Thu Aug 10 12:32:03 2006 X+++ libssp/configure Thu Aug 10 13:04:18 2006 X@@ -2352,7 +2352,7 @@ X See \`config.log' for more details." >&5 X echo "$as_me: error: C compiler cannot create executables X See \`config.log' for more details." >&2;} X- { (exit 77); exit 77; }; } X+} X fi X X ac_exeext=$ac_cv_exeext X@@ -2425,7 +2425,7 @@ X See \`config.log' for more details." >&5 X echo "$as_me: error: cannot compute suffix of executables: cannot compile and link X See \`config.log' for more details." >&2;} X- { (exit 1); exit 1; }; } X+} X fi X X rm -f conftest$ac_cv_exeext END-of-cross-gcc/files/patch-libssp_configure echo x - cross-gcc/distinfo sed 's/^X//' >cross-gcc/distinfo << 'END-of-cross-gcc/distinfo' XMD5 (gcc-4.1.1.tar.bz2) = ad9f97a4d04982ccf4fd67cb464879f3 XSHA256 (gcc-4.1.1.tar.bz2) = 985cbb23a486570a8783395a42a8689218f5218a0ccdd6bec590eef341367bb7 XSIZE (gcc-4.1.1.tar.bz2) = 39172003 XMD5 (newlib-1.14.0.tar.gz) = 3fa663f131b355d3adb24ead4df678f2 XSHA256 (newlib-1.14.0.tar.gz) = 7db55671132c2943dbbdadfaa954915c23dbc329168575a42bb940ef4bf50a23 XSIZE (newlib-1.14.0.tar.gz) = 7981432 END-of-cross-gcc/distinfo exit --- strongarm-elf-gcc-4.1.1.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060810172909.EF9FB12C61>