ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Ltib] Can't get: linux-2.6.16-mx31-sdio.patch at./ltibline599.


From: Sesto, Vin
Subject: RE: [Ltib] Can't get: linux-2.6.16-mx31-sdio.patch at./ltibline599.
Date: Fri, 8 Dec 2006 11:31:46 -0500

Hi Steve 

So below is the spec file. I can see changing Version to 4.1.1 but after
that I'd be guessing! How do I know what to put down for the Patch
sections?

Or, perhaps the eabi / nptl support as well? This file is a little
cryptic to me in that I don't have 100% knowledge and what it's doing!

Thanks.

File output follows below:

Vin

%define pfx /opt/freescale/rootfs/%{_target_cpu}

Summary         : Various compilers (C, C++, Objective-C, Java, ...)
Name            : gcc
Version         : 3.4.3
Release         : 1
License         : GPL
Vendor          : Freescale
Packager        : Steve Papacharalambous
Group           : Development/Languages
Source          : %{name}-%{version}.tar.bz2
Patch0          : gcc-3.4.0-arm-bigendian.patch
Patch1          : gcc-3.4.0-arm-lib1asm.patch
Patch2          : gcc-3.4.0-arm-nolibfloat.patch
Patch3          : gcc-3.4.3-ccross-syslimits.patch
Patch4          : pr15068-fix.patch
Patch5          : pr16201-fix.patch
Patch6          : gcc-3.4.3-libiberty-cp-demangle.h.patch
Patch7          : gcc-3.4.3-make-3.81.patch
BuildRoot       : %{_tmppath}/%{name}
Prefix          : %{pfx}

%Description
%{summary}

%Prep
%setup
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1

%Build
# Temporary hack - stevep
# For building toolchain components an optimized version of the
# target is needed.  This should really be defined in the config
# area of ltib, and not done in the toolchain spec files.
# For now we assume that the optimised target can be derived by
# stripping the trailing "-" off the toolchain prefix, but this
# will not be true for all cases, eg when using uClibc toolchains.
if [ ${TOOLCHAIN_PREFIX} = "arm_v6_vfp_le-" -o -n "$UCLIBC" ]
then
    OPT_CFGHOST=$CFGHOST
else
    OPT_CFGHOST=`echo ${TOOLCHAIN_PREFIX} | perl -n -e 's,-$,,;print'`
fi
if [  -n "$UCLIBC" ]
then
   ENABLE_LANGUAGES="c"
else
   ENABLE_LANGUAGES="c,c++"
fi

rm -rf build-gcc
mkdir build-gcc
cd build-gcc
export CPP=$BUILDCPP
    CC_FOR_BUILD="${BUILDCC}" \
    ../configure \
    --host=${OPT_CFGHOST} --build=%{_build} --target=${OPT_CFGHOST} \
    --prefix=%{_prefix}/local --disable-nls --enable-threads=posix \
    --enable-symvers=gnu --enable-__cxa_atexit --enable-c99 \
    --enable-long-long --enable-languages="$ENABLE_LANGUAGES"
--enable-shared \
    --mandir=%{_mandir}
make -j1 all-build-libiberty
make -j1 all

%Install
rm -rf $RPM_BUILD_ROOT


if [ ${TOOLCHAIN_PREFIX} = "arm_v6_vfp_le-" -o -n "$UCLIBC" ]
then
    OPT_CFGHOST=$CFGHOST
else
    OPT_CFGHOST=`echo ${TOOLCHAIN_PREFIX} | perl -n -e 's,-$,,;print'`
fi
if [ "$TOOLCHAIN_TYPE" = "64" ]
then
   SLIBS="lib64"
else
   SLIBS="lib"
fi
# Copy the crt files from the toolchain area to rootfs/usr/local/lib
# These are the crt files built by glibc (I think - stevep).
X_DIR=`echo ${OPT_CFGHOST} | sed -e 's,-$,,'`
TC_PREFIX="`which ${TOOLCHAIN_PREFIX}gcc | perl -p -e
's,/bin/'${TOOLCHAIN_PREFIX}'gcc,,'`"
mkdir -p
${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/local/lib/{,gcc/${X_DIR}/%{version}}
cp ${TC_PREFIX}/${X_DIR}/${SLIBS}/*.o
${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/local/lib
cp ${TC_PREFIX}/${X_DIR}/${SLIBS}/*.o
${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/local/lib/gcc/${X_DIR}/%{version}

cd build-gcc
make -j1 DESTDIR=${RPM_BUILD_ROOT}/%{pfx} install

# Remove the c++ pre-compiled header files.
X_DIR=`echo ${TOOLCHAIN_PREFIX} | sed -e 's,-$,,'`
rm -f
${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/local/include/c++/%{version}/${X_DIR
}/bits/stdc++.h.gch/O[02]g

# Remove libtool .la files
find $RPM_BUILD_ROOT/%{pfx} -name \*.la -exec rm {} \;

# add a symlink for cc
ln -s gcc ${RPM_BUILD_ROOT}/%{pfx}/%{_prefix}/local/bin/cc

%Clean
rm -rf ${RPM_BUILD_ROOT}


%Files
%defattr(-,root,root)
%{pfx}/*


address@hidden:/home/vin/LTIB-from-cvs/ltib/dist/lfs-5.1/gcc#

-----Original Message-----
From: Steve Papacharalambous [mailto:address@hidden 
Sent: Friday, December 08, 2006 11:07 AM
To: Sesto, Vin
Cc: Stuart Hughes; address@hidden
Subject: RE: [Ltib] Can't get: linux-2.6.16-mx31-sdio.patch
at./ltibline599.

Hi Vin,

If you look in dist/lfs-5.1/gcc there are some gcc spec files.  These
are rpm spec files which ltib uses to build gcc.  The best way for you
to get a working gcc-4.1.1 for arm eABI targets is to make a copy of
gcc.spec in this directory and call it gcc-4.1.1.spec  Then you need to
modify this file accordingly so that it builds an arm eabi target.

Once you have done this you need to edit
config/platform/imx31ads/pkg_map and add the following line:

PKG_GCC =  gcc-4.1.1

That should get ltib to build gcc-4.1.1 for the imx31ads BSP,

Best regards,

Steve

On Fri, 2006-12-08 at 10:30 -0500, Sesto, Vin wrote:
> Hi Steve
> 
> Thanks for your reply. Ltib is currently building and am hoping it
> builds OK before I venture onto the next step ... which is to build a
> native gcc supporting eabi/nptl version 4.1.1 
> 
> I guess I need a little more clarification as to your statement of the
> gcc spec file in ltib will need some work to build a native gcc for
arm
> eabi targets. I am new to this so don't mind my trivial questions.
> 
> Could you please give me some hints as to how I should go about
> achieving the native gcc 4.1.1 build versus the 3.4.3? I guess that's
> been part of my issue all along.
> 
> Thanks.
> 
> Vin
> 
> 
> 
> 
> -----Original Message-----
> From: Steve Papacharalambous [mailto:address@hidden 
> Sent: Friday, December 08, 2006 10:20 AM
> To: Sesto, Vin
> Cc: Stuart Hughes; address@hidden
> Subject: RE: [Ltib] Can't get: linux-2.6.16-mx31-sdio.patch at
> ./ltibline599.
> 
> Hi Vin,
> 
> Your approach is correct, once you have ltib installed you can
normally
> select the gcc package and it will build gcc for the target root file
> system.  You don't need to put the cross compiler in your PATH as ltib
> takes care of all this for you.
> 
> However the gcc spec file currently in ltib builds gcc-3.4.3, so if
you
> want a non eABI generic arm gcc then this should work for you, but if
> you need an arm eABI toolchain then you need a later version of gcc.
In
> summary the gcc spec file in ltib will need some work to build a
native
> gcc for amr eABI targets,
> 
> Best regards,
> 
> Steve
> 
> On Fri, 2006-12-08 at 09:46 -0500, Sesto, Vin wrote:
> > Hi Stuart
> > 
> > I am going to try this ASAP.
> > 
> > Let me back up here for a second. My main goal is to get a rootfs
and
> a
> > native gcc built using LTIB. How should I go about doing this.
> > 
> > Please tell me if my logic is in error below.
> > 
> > 1. Get the CVS fix you mentioned below
> > 2. Run LTIB
> > 3. This produces a gcc that runs on intel platform which generates
ARM
> > instructions.
> > 4. This also produces a rootfs and a linux kernel image.
> > 5. Next, I want to create a native gcc for the iMX31. How do I
achieve
> > this? I thought I could run ./ltib --configure and select gcc and
> other
> > necessary libs (ie, binutils etc) and it would produce a native ARM
> gcc.
> > I guess one thing I should be sure to do is to make the
cross-compiled
> > gcc be first in my PATH ...
> > 
> > Does this sound like the correct approach?
> > 
> > Thanks.
> > 
> > Vin
> > 
> > 
> > -----Original Message-----
> > From: Stuart Hughes [mailto:address@hidden 
> > Sent: Friday, December 08, 2006 6:03 AM
> > To: Sesto, Vin
> > Cc: address@hidden
> > Subject: Re: [Ltib] Can't get: linux-2.6.16-mx31-sdio.patch at
./ltib
> > line599.
> > 
> > Hi Vin,
> > 
> > This patch got pushed out today, so it's now available.  If you try
> > again the kernel should build.
> > 
> > Why do you need to build gcc-4.1.1? there is a toolchain already
> > available for this BSP ("ARM
gcc-4.1.1,VFP,gnueabi/glibc-2.4-nptl-3"),
> > and it has had some testing.
> > 
> > Regards, Stuart
> > 
> > On Thu, 2006-12-07 at 10:12 -0500, Sesto, Vin wrote:
> > > Hello
> > > 
> > >  
> > > 
> > > I have just updated my LTIB from CVS and got this error.
> > > 
> > >  
> > > 
> > > Can?t get: linux-2.6.16-mx31-sdio.patch at ./ltib line 599.
> > > 
> > >  
> > > 
> > > I am trying to build for an MX31 with eabi / nptl support.
> > > 
> > >  
> > > 
> > > I need to be able to build gcc 4.1.1 for this target, however, I
> can?t
> > > even build without making any changes before even attempting that
> > > feat!
> > > 
> > >  
> > > 
> > > Thanks.
> > > 
> > >  
> > > 
> > > V
> > > 
> > > 
> > > _______________________________________________
> > > LTIB home page: http://bitshrine.org
> > > 
> > > Ltib mailing list
> > > address@hidden
> > > http://lists.nongnu.org/mailman/listinfo/ltib
> > 
> > 
> > _______________________________________________
> > LTIB home page: http://bitshrine.org
> > 
> > Ltib mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/ltib
> > 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]