[LLVMdev] CMake build maturity
Paul Melis
llvm at assumetheposition.nl
Mon Jun 1 04:06:44 PDT 2009
Óscar Fuentes wrote:
> Paul Melis <llvm at assumetheposition.nl> writes:
>
>
>> It seems that the llvm-config generated when building through CMake does
>> not contain -lpthread on my 32-bit Core2Duo Gentoo Linux system (even
>> though I configured with LLVM_ENABLE_PTHREADS). I get missing symbols
>> during linking of e.g. the JIT tutorial code:
>>
>
> [snip]
>
> This should be fixed now. Now about this one:
>
>
>> Adding -lpthread to the compile command manually fixes it, but there
>> seem to be some more discrepancies between the output of llvm-config for
>> a build using ./configure and one using CMake:
>>
>> melis at juggle2:~/c/llvm-svn> ./configure --prefix=/home/melis/llvm
>> --enable-optimized
>> melis at juggle2:~/c/llvm-svn> make install
>> melis at juggle2:~/c/llvm-svn> which llvm-config
>> /home/melis/llvm/bin/llvm-config
>> melis at juggle2:~/c/llvm-svn> llvm-config --cxxflags --ldflags --libs core
>> -I/home/melis/llvm/include -D_DEBUG -D_GNU_SOURCE
>> -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fomit-frame-pointer
>> -fPIC -Woverloaded-virtual
>> -L/home/melis/llvm/lib -lpthread -ldl -lm -lelf
>> -lLLVMCore -lLLVMSupport -lLLVMSystem
>>
>> melis at juggle2:~/c/llvm-svn-build> cmake /home/melis/c/llvm-svn
>> -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/melis/llvm-cmake
>> -DLLVM_ENABLE_THREADS=ON
>> melis at juggle2:~/c/llvm-svn-build> make install
>> melis at juggle2:~/c/llvm-svn-build> which llvm-config
>> /home/melis/llvm-cmake/bin/llvm-config
>> melis at juggle2:~/c/llvm-svn-build> llvm-config --cxxflags --ldflags
>> --libs core
>> -I/home/melis/llvm-cmake/include -O3 -DNDEBUG -D_GNU_SOURCE
>> -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS
>> -L/home/melis/llvm-cmake/lib
>> -lLLVMCore -lLLVMSupport -lLLVMSystem
>>
>> I'm actually also surprised about the _DEBUG versus NDEBUG difference...
>>
>
> I'm surprised too.
>
> Question for those who know: why is _DEBUG and not NDEBUG defined on a
> --enable-optimize'd build?
>
I guess to keep all the assertions around. I think you need
--disable-assertions to make those go away as well.
Regards.
Paul
More information about the llvm-dev
mailing list