clang build fails if done in the separate object directory

I did these steps:
* checked out llvm trunk, and clang trunk
* created symbolic link llvm/tools/clang
* created separate folder: llvm-objects
* run configure and gmake in llvm-objects

It builds ok until it hits clang, at which point I get an this error:
gmake[2]: Entering directory `/tmp/llvm-svn/llvm-objects/tools/clang'
Makefile:44: Makefile.config: No such file or directory
Makefile:127: /Makefile.rules: No such file or directory
gmake[2]: *** No rule to make target `/Makefile.rules'. Stop.
gmake[2]: Leaving directory `/tmp/llvm-svn/llvm-objects/tools/clang'
gmake[1]: *** [clang/.makeinstall] Error 2
gmake[1]: Leaving directory `/tmp/llvm-svn/llvm-objects/tools'
gmake: *** [install] Error 1

Yuri

can you tell what commands exactly did you use?

What I usually do is:

svn co llvm…
mkdir llvm/tools/clang
svn co llvm/tools/clang

mkdir cmake-build
cd cmake-build
cmake …/
make

Try something similar by running “…/configure”, it should work.

I've built clang+llvm in an object directory successfully, and I'm
sure others have. I'd guess the problem is the symlink, so I'd give
it a shot without it.

Reid

I use a symbolic link to clang and never had any trouble with it...

Ciao,

Duncan.

I did something like this:
svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
svn co http://llvm.org/svn/llvm-project/llvm/trunk clang
ln -s clang llvm/tools/clang
mkdir llvm-objects
cd llvm-objects
../llvm/configure --prefix=/my/llvm/prefix <other options>
gmake
gmake install
cd ..

Yuri

Ok, now I see what I am doing wrong: clang checkout should be:

svn co http://llvm.org/svn/llvm-project/cfe/trunk clang

Yuri

No, clang isn't built in the object directory, even without symlink
Do I need to run 'mkdir llvm-objects/tools/clang' and configure there separately ?

Yuri

No you should be able to just configure, since you originally checked
out llvm twice you should actually checkout clang and then reconfigure
the whole thing.