[LLVMdev] Build llvm/clang with cmake vs configure produces different set of artifacts

Ashok Nalkund ashoknn at qualcomm.com
Wed Jun 20 12:08:46 PDT 2012


Hi,
    In another post I was trying to find out how to use libc++ instead 
of libstdc++ when compiling llvm/clang. I couldnt find the a way to tell 
cmake to do that.

    So I switched to using configure to compile llvm/clang. But now I 
find that the artifacts produced are different. Here are the issues I see:
- configure doesnt seem to respect '--prefix' option, it just puts 
everything in the build directory
- configure doesnt create the include dir under "Release+Asserts"
- configure doesnt create files like clang/CodeGen/ModuleBuilder.h

   The list of artifacts is attached. Any pointers? The commands I used are:

> cmake -G "$cmake_args" -DLLVM_TARGETS_TO_BUILD="X86" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_INSTALL_PREFIX="../bin" ../src


> ../src/configure --prefix=$PWD/../bin --enable-libcpp --enable-optimized --disable-docs --enable-targets=host --with-extra-options="-I$PWD/../../libcxx/include -I$PWD/../../libcxx/build/addinclude" --with-extra-ld-options="-L$PWD/../../libcxx/build"
> LD_LIBRARY_PATH=$PWD/../../libcxx/build/:$LD_LIBRARY_PATH make -j32

TIA.
Ashok
-------------- next part --------------
==================CMake artifacts====================
ashoknn at wk:/local/mnt/workspace/llvm/bin.stock$l *
bin:
bugpoint*      clang++@       diagtool*  llvm-ar*          llvm-config*  llvm-dis*        llvm-ld*    llvm-mc*       llvm-prof*     llvm-rtdyld*  llvm-stub*    opt*
c-index-test*  clang-3.1*     llc*       llvm-as*          llvm-cov*     llvm-dwarfdump*  llvm-link*  llvm-nm*       llvm-ranlib*   llvm-size*    llvm-tblgen*
clang@         clang-tblgen*  lli*       llvm-bcanalyzer*  llvm-diff*    llvm-extract*    llvm-lit*   llvm-objdump*  llvm-readobj*  llvm-stress*  macho-dump*

include:
clang/  clang-c/  llvm/  llvm-c/

lib:
BugpointPasses.so     libclangFrontendTool.a            libgtest.a           libLLVMBitWriter.a        libLLVMJIT.a             libLLVMSupport.a          libLLVMX86Info.a
clang/                libclangLex.a                     libgtest_main.a      libLLVMCodeGen.a          libLLVMLinker.a          libLLVMTableGen.a         libLLVMX86Utils.a
libclangAnalysis.a    libclangParse.a                   liblibclang.a        libLLVMCore.a             libLLVMMC.a              libLLVMTarget.a           libLTO.a
libclangARCMigrate.a  libclangRewrite.a                 liblibclang.so@      libLLVMDebugInfo.a        libLLVMMCDisassembler.a  libLLVMTransformUtils.a   libLTO.so
libclangAST.a         libclangSema.a                    liblibclang.so.3.1   libLLVMExecutionEngine.a  libLLVMMCJIT.a           libLLVMVectorize.a        libprofile_rt.a
libclangBasic.a       libclangSerialization.a           libLLVMAnalysis.a    libLLVMInstCombine.a      libLLVMMCParser.a        libLLVMX86AsmParser.a     LLVMHello.so
libclangCodeGen.a     libclangStaticAnalyzerCheckers.a  libLLVMArchive.a     libLLVMInstrumentation.a  libLLVMObject.a          libLLVMX86AsmPrinter.a    PrintFunctionNames.so
libclangDriver.a      libclangStaticAnalyzerCore.a      libLLVMAsmParser.a   libLLVMInterpreter.a      libLLVMRuntimeDyld.a     libLLVMX86CodeGen.a       profile_rt.so
libclangEdit.a        libclangStaticAnalyzerFrontend.a  libLLVMAsmPrinter.a  libLLVMipa.a              libLLVMScalarOpts.a      libLLVMX86Desc.a          SampleAnalyzerPlugin.so
libclangFrontend.a    libclangTooling.a                 libLLVMBitReader.a   libLLVMipo.a              libLLVMSelectionDAG.a    libLLVMX86Disassembler.a

share:
llvm/
ashoknn at wk:/local/mnt/workspace/llvm/bin.stock$

==================CMake artifacts====================

==================configure artifacts====================
ashoknn at wk:/local/mnt/workspace/llvm/bin.stock$l ../build/*
../build/build_and_install.sh*  ../build/buildconfigureshared.clean.log  ../build/buildconfigurestatic.log  ../build/config.log      ../build/llvm.spec  ../build/Makefile.common  ../build/Makefile.llvmbuild
../build/buildconfigure.log     ../build/buildconfigureshared.log        ../build/buildwithclang.sh*        ../build/config.status*  ../build/Makefile   ../build/Makefile.config  ../build/winbuild.bat

../build/bindings:
Makefile  ocaml/

../build/docs:
doxygen.cfg

../build/examples:
Makefile

../build/include:
llvm/

../build/lib:
Analysis/  Archive/  AsmParser/  Bitcode/  CodeGen/  DebugInfo/  ExecutionEngine/  Linker/  Makefile  MC/  Object/  Support/  TableGen/  Target/  Transforms/  VMCore/

../build/projects:
Makefile  sample/

../build/Release+Asserts:
bin/  lib/

../build/runtime:
libprofile/  Makefile

../build/test:
Makefile  Makefile.tests

../build/tools:
bugpoint/         clang/  lli/      llvm-as/          llvm-config/  llvm-diff/  llvm-dwarfdump/  llvm-ld/    llvm-mc/  llvm-objdump/  llvm-ranlib/   llvm-rtdyld/  llvm-stress/  lto/         Makefile
bugpoint-passes/  llc/    llvm-ar/  llvm-bcanalyzer/  llvm-cov/     llvm-dis/   llvm-extract/    llvm-link/  llvm-nm/  llvm-prof/     llvm-readobj/  llvm-size/    llvm-stub/    macho-dump/  opt/

../build/unittests:
ADT/  Analysis/  Bitcode/  ExecutionEngine/  Makefile  Support/  Transforms/  VMCore/

../build/utils:
count/  FileCheck/  FileUpdate/  fpcmp/  llvm-lit/  Makefile  not/  PerfectShuffle/  TableGen/  unittest/

==================configure artifacts====================


More information about the llvm-dev mailing list