[LLVMdev] llvm-gcc4 mirror back online

Devang Patel
2007-01-05T18:40:41Z

On Jan 4, 2007, at 8:06 PM, Jeff Cohen wrote:

> It doesn't build.  llvm-main.cpp doesn't get compiled for some
reason:
>
> g++40 -c   -g -O2  -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-
> prototypes -Wmissing-prototypes -pedantic -Wno-long-long -Wno-
> variadic-macros -Wold-style-definition -fno-common   -DHAVE_CONFIG_H
> -DENABLE_LLVM -D__STDC_LIMIT_MACROS   -I. -I. -I../../gcc -I../../
> gcc/. -I../../gcc/../include -I./../intl -I../../gcc/../libcpp/
> include  -I/usr/home/jeffc/llvm/include -I/home/jeffc/llvm/obj/
> include \
>                 ../../gcc/config/ -o llvm-main.o
> g++40: ../../gcc/config/: linker input file unused because linking
> not done
>
> Note that llvm-main.cpp does not appear in the command line.

I think, I know what is going on here. Do you see any 'make' warning
in the your build log related to overriding .cpp rule ?

If you see such warning then it is happening because your target you
do not yet have target specific C++ file. This means
$out_cxx_object_file string for build rule at #2475 (in gcc/
Makefile.in) is just ".cpp.o" and it conflicts with default .cpp.o
build rule in same makefile at line #889.

Two alternatives are :

1) FInd a way to avoid  executing $(out_cxx_object_file) rule for your
target in such situation.

OR

2) Set out_cxx_file for your target in config.gcc. You may be able to
use  llvm-i386.cpp or llvm-rs6000.cpp directly if your target is
either x86 or powerpc.

-
Devang