summaryrefslogtreecommitdiff
path: root/tools/llvm-config
Commit message (Collapse)AuthorAge
* Rewrite the CMake build to use explicit dependencies between libraries,Chandler Carruth2011-07-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@136433 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename LLVMConfig.cmake to LLVM-Config.cmake. The *Config.cmake namingOscar Fuentes2011-04-05
| | | | | | scheme is used by the functionality related to find_package. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128889 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: remove debug code from previous commit.Oscar Fuentes2011-04-01
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128740 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix assignment of -fPIC to CMAKE_C_FLAGS. Configure llvm-config.in.inOscar Fuentes2011-04-01
| | | | | | | | | with the contents of CMAKE_C(XX)_FLAGS too, else `llvm-config --c(xx)flags' doesn't tell the absolute truth. This comes from PR9603 and is based on a patch by Ryuta Suzuki! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128727 91177308-0d34-0410-b5e6-96231b3b80d8
* Make llvm-config.in configuration more MSYS-friendly.Oscar Fuentes2011-03-19
| | | | | | | Some of those POSIX <-> Windows command line conversions ended on failure. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127958 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: store TARGET_TRIPLE on llvm-config.in.Oscar Fuentes2011-03-19
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@127957 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: remove unnecessary variable.Oscar Fuentes2011-02-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@126224 91177308-0d34-0410-b5e6-96231b3b80d8
* Move library stuff out of the toplevel CMakeLists.txt file.Oscar Fuentes2011-02-18
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@125968 91177308-0d34-0410-b5e6-96231b3b80d8
* Don't show -pedantic, -W and -Wall on the output ofOscar Fuentes2011-01-27
| | | | | | | | | llvm-config --cflags --cxxflags --cppflags We shouldn't impose those flags on people who use llvm-config for building their own projects. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124399 91177308-0d34-0410-b5e6-96231b3b80d8
* fix the autoconf script to detect "has asmprinter"ness of a target byChris Lattner2010-11-14
| | | | | | | | looking for lib/Target/*AsmPrinter.cpp. Fix llvm-config to handle targets that don't have an explicit AsmPrinter library. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119057 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop the build if cyclic library dependecies found.Oscar Fuentes2010-10-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115405 91177308-0d34-0410-b5e6-96231b3b80d8
* Convert a bunch of uses of 'bytecode' into 'bitcode'. ThisDuncan Sands2010-09-29
| | | | | | | is not everything, but the remaining cases are less trivial. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115080 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."Michael J. Spencer2010-09-13
| | | | | | | | | | This reverts commit r113632 Conflicts: cmake/modules/AddLLVM.cmake git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113819 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.Michael J. Spencer2010-09-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Improved COMMENT on a custom commandOscar Fuentes2010-08-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@111111 91177308-0d34-0410-b5e6-96231b3b80d8
* Rewrite makefiles to explicitly reference DESTDIR to fix bug 3153.Erick Tryzelaar2010-03-04
| | | | | | We need this so can not bake DESTDIR into the O'Caml symlinks. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97743 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill off LLVMGCCARCH and LLVMGCC_VERSION make variables.Daniel Dunbar2010-02-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96909 91177308-0d34-0410-b5e6-96231b3b80d8
* Kill off LLVMGCC_MAJVERS make variable.Daniel Dunbar2010-02-23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96907 91177308-0d34-0410-b5e6-96231b3b80d8
* New flag for GenLibDeps, and llvm-config-perobjincl.Torok Edwin2010-02-04
| | | | | | | | This allows to show the explicit files that need to be built/linked to get an LLVM component. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@95300 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop building RTTI information for *most* llvm libraries. NotableChris Lattner2010-01-22
| | | | | | | | | | | | | missing ones are libsupport, libsystem and libvmcore. libvmcore is currently blocked on bugpoint, which uses EH. Once it stops using EH, we can switch it off. This #if 0's out 3 unit tests, because gtest requires RTTI information. Suggestions welcome on how to fix this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94164 91177308-0d34-0410-b5e6-96231b3b80d8
* make llvm-config more portable to windows versions of perl,Chris Lattner2010-01-18
| | | | | | | patch by Michael Beck! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@93793 91177308-0d34-0410-b5e6-96231b3b80d8
* Add the rest of the build system logic for optional target disassemblersDaniel Dunbar2009-11-25
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89841 91177308-0d34-0410-b5e6-96231b3b80d8
* Stop running get_target_triple more than we need to.Daniel Dunbar2009-11-07
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86418 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: remove .so file extension from library names when buildingOscar Fuentes2009-10-04
| | | | | | | | | dependency info. Patch by Peter Collingbourne! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83275 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix llvm-config --src-root and --obj-root for CMake builds.Daniel Dunbar2009-09-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82529 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-config: Remove unused variables.Daniel Dunbar2009-09-22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82528 91177308-0d34-0410-b5e6-96231b3b80d8
* Make cmake generated llvm-config output correct JIT backend for non X86 targets.Xerxes Ranby2009-09-16
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82049 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Automatic regeneration of the library dependencies file.Oscar Fuentes2009-08-14
| | | | | | | | | | | | It doesn't stop or reconfigure the build, though, so the user will see a broken build that magically succeeds at the next attempt. It is technically possible to halt the build with a helpful message, and even to automatically restart the build using the new dependencies as it we did when llvm-config was used by cmake for learning dependencies. This is left on the TODO list. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79004 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: propagate to the parent scope LLVM_COMMON_DEPENDS. This isOscar Fuentes2009-08-14
| | | | | | | necessary for the changes being effective on the successive targets git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78989 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: build llvm-config before the other tools.Oscar Fuentes2009-08-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78975 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Localized dependency on Perl.Oscar Fuentes2009-08-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78788 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Re-enabled build of llvm-config. Removed recursive invocationOscar Fuentes2009-08-12
| | | | | | | of cmake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78768 91177308-0d34-0410-b5e6-96231b3b80d8
* Reenable asmparser dependency generation, now with improved Perl foo.Daniel Dunbar2009-07-17
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76243 91177308-0d34-0410-b5e6-96231b3b80d8
* Disable llvm-config magic for AsmParser, it is isn't right & is breaking the ↵Daniel Dunbar2009-07-17
| | | | | | build. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76242 91177308-0d34-0410-b5e6-96231b3b80d8
* Sketch support for target specific assembly parser.Daniel Dunbar2009-07-17
| | | | | | | - Not fully enabled yet, need a configure regeneration. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76230 91177308-0d34-0410-b5e6-96231b3b80d8
* Teach Makefiles & CMake to link in the <TARGET>Info library when linking theDaniel Dunbar2009-07-15
| | | | | | | | | TARGET component. - Also, updated some CMake library dependencies, it is still missing some though. :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75755 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix http://llvm.org/PR4481: Make llvm-config print the right include paths whenJeffrey Yasskin2009-07-07
| | | | | | | srcdir!=objdir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74956 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Implements and documents option LLVM_ENABLE_ASSERTS.Oscar Fuentes2009-06-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72774 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Set LIBS on llvm-config so we can query the system librariesOscar Fuentes2009-05-27
| | | | | | | used by CMake with --ldflags. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72470 91177308-0d34-0410-b5e6-96231b3b80d8
* Accommodate empty string for build type. This was previously causing an errorTed Kremenek2009-04-08
| | | | | | | | when generating an Xcode project using the CMake files (thanks to Doug Gregor for identifying the issue). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68618 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: defines and uses macro add_llvm_definitions for keeping trackOscar Fuentes2009-04-04
| | | | | | | | | | | | | of compiler parameters explicitly added by the build specification. This macro replaces the cmake built-in `add_definitions'. Detects glibc and defines _GNU_SOURCE accordingly. Resolves bug 3882. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68428 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: tools/llvm-config/CMakeLists.txt: Use ! instead of comma asOscar Fuentes2009-04-03
| | | | | | | separator in sed scripts. Resolves Bug 3881. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68385 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Build system fixes for XCode. llvm-config still causes us some ↵Douglas Gregor2009-03-16
| | | | | | serious trouble, but it's less serious than it used to be git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67056 91177308-0d34-0410-b5e6-96231b3b80d8
* Change these sed lines to behave correctly when the input stringDan Gohman2009-03-10
| | | | | | | contains commas. This fixes PR3727. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66565 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: replace `rm' with portable invocations of cmake.Oscar Fuentes2009-01-07
| | | | | | | Based on a bug report by Yonggang Luo. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@61875 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Removed some cruft.Oscar Fuentes2008-11-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59376 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Recursively invokes cmake using the right directories.Oscar Fuentes2008-11-15
| | | | | | | | | | LLVM_MAIN_SRC_DIR and LLVM_BINARY_DIR are not the cmake top level directories when LLVM is embedded on the build of other project. Fixes PR #3072. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59374 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: forces rebuild of llvm-config's library dependency info when aOscar Fuentes2008-11-11
| | | | | | | library is added or changed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59051 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Corrected detection of `nm'.Oscar Fuentes2008-11-09
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58941 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Support for cross-compiling. For now, requires a previouslyOscar Fuentes2008-11-09
| | | | | | | | | | | | | | built native tblgen which is passed to cmake in the variable LLVM_TABLEGEN. See http://www.cmake.org/Wiki/CmakeMingw for a quick example on how to cross-compile with CMake. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58939 91177308-0d34-0410-b5e6-96231b3b80d8