[LLVMdev] building llvm-gcc4 with a different target name

Owen Anderson resistor at mac.com
Mon Jun 4 08:05:36 PDT 2007


Pass "--program-prefix=llvm-" to the llvm-gcc configuration.  This  
will cause the produced executables to be "llvm-gcc" and "llvm-g++"  
respectively.

--Owen

On Jun 3, 2007, at 6:30 PM, Erick Tryzelaar wrote:

> Hello,
>
> I've put together a macports version of llvm and llvm-gcc4, but  
> I've run
> into a problem with how gcc on the mac works. llvm-gcc4 creates an
> executable named:
>
> /opt/local/bin/powerpc-apple-darwin8-gcc-4.0.1
>
> Which happens to be the same executable in /usr/bin. Because I have
> /opt/local before /usr/bin, gcc ends up using llvm-gcc4 to build  
> all my
> code. Most of the time this isn't a problem, but since llvm-gcc4  
> doesn't
> yet support all the flags of gcc 4 (such as the -compatibility_version
> flag flac uses when compiling), it can error out. Anyone know how  
> can I
> build llvm-gcc4 so that it has a different exe name, or suggest a  
> better
> way to do this?
>
> If this will help, these are the options I'm using to build llvm-gcc4.
> It's in tcl, but it hopefully is straight forward enough:
>
>
> # create a build directory and run out of there
> worksrcdir              build
>
> pre-configure {
>   file mkdir ${workpath}/build
> }
>
> # ${prefix} is where we install llvm, normally /opt/local
> configure.cmd           ../llvm-gcc4-${version}.source/configure
>
> configure.args-append   --enable-llvm=${prefix}/lib/llvm/obj \
>                         --enable-languages=c,c++,objc,obj-c++ \
>                         --libdir=${prefix}/lib/${name} \
>                         --libexecdir=${prefix}/libexec/${name} \
>                         --includedir=${prefix}/include/${name} \
>                         --infodir=${prefix}/share/info \
>                         --mandir=${prefix}/share/man \
>                         --with-local-prefix=${prefix} \
>                         --program-prefix=llvm- \
>                         --disable-nls
>
> # like rpm, install into a destroot before finally installing
> destroot.destdir        prefix=${destroot}${prefix} \
>                         libdir=${destroot}${prefix}/lib/${name} \
>                         libexecdir=${destroot}${prefix}/libexec/$ 
> {name} \
>                         includedir=${destroot}${prefix}/include/$ 
> {name} \
>                         infodir=${destroot}${prefix}/share/info \
>                         mandir=${destroot}${prefix}/share/man
>
> # if we're on a mac, follow the install rules
> variant darwin {
>   post-extract {
>     system "rm -rf ${workpath}/llvm-gcc4-${version}.source/libstdc+ 
> +-v3"
>   }
>
>   configure.args-append  --with-gxx-include-dir=/usr/include/c++/4.0.0
> }
>
> # use the powerpc triple if on a powerpc
> variant powerpc {
>   set triple powerpc-apple-darwin8
>
>   configure.env-append TRIPLE=${triple}
>   configure.post_args  --build=${triple} --host=${triple} --target=$ 
> {triple}
> }
>
> # use the intel triple if on an intel
> variant x86 {
>   set triple i686-apple-darwin8
>
>   configure.env-append TRIPLE=${triple} \
>                        TARGETOPTIONS="--with-arch=nocona
> --with-tune=generic"
>   configure.post_args  --build=${triple} --host=${triple} --target=$ 
> {triple}
> }
>
>
>
> Thanks,
> -e
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list