path: root/Makefile
AgeCommit message (Collapse)AuthorFilesLines
2014-03-25[configure/make] Propagate names of build host tools when making BuildToolsMeador Inge1-0/+5
When cross-compiling LLVM itself the configure/make scripts get confused when creating the needed build host tools. For example, building and configuring like: CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++' CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' /scratch /meadori/llvm-trunk/src/trunk/configure --host=i686-mingw32 CC_FOR_BUILD='i686-pc-linux-gnu-gcc' CXX_FOR_BUILD='i686-pc-linux-gnu-g++' CXX='i686-mingw32-g++' CC='i686-mingw32-gcc' LD='i686-mingw32-ld' make causes the following build break: checking whether the C compiler works... configure: error: cannot run C compiled programs. If you meant to cross compile, use `--host'. See `config.log' for more details. The 'config.log' shows that i686-mingw32-gcc is being used to create executables for the build host. This patch fixes the problem by propogating the names of the build host tools via BUILD_* when configuring/making BuildTools. Original patch by Ekaterina Sanina. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-02-09Provide CMake package modules in install treeNAKAMURA Takumi1-2/+2
Teach the Makefile build system to generate and install CMake modules LLVMConfig.cmake and LLVMConfigVersion.cmake so that applications that build with CMake can use 'find_package(LLVM)' even when LLVM is not built with CMake. These modules tell such applications about available LLVM libraries and their dependencies. Run llvm-config to generate the list of libraries and use the results of llvm-build to generate the library dependencies. Use sed to perform substitutions in the and sources that our CMake build system uses. Teach the Makefile build system to generate the LLVMExports.cmake file with content similar to that produced by the CMake install(EXPORT) command. Extend llvm-build with an option to generate the library dependencies fragment for this file. Contributed by Brad King. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-17Fix bad variable syntax in r199413Bob Wilson1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-16Pass the --enable-libcpp configure option for cross builds, too.Bob Wilson1-1/+5
<rdar://problem/15831288> git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-12-16llvm-config: Fixup r197380, tweak for cross compilation. SYSTEM_LIBS should ↵NAKAMURA Takumi1-0/+1
be --host's in BuildTools/llvm-config. FIXME: Host's llvm-config is not generated. It's for target's. Host tools, aka "BuildTools", in utils, do not require llvm-config to build. For example with --host=i686-pc-mingw32 --build=linux, $ BuildTools/Release+Asserts/bin/llvm-config --libs support -lLLVMSupport -lpthread -lshell32 -lpsapi -limagehlp -lm git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-02Remove the very substantial, largely unmaintained legacy PGOChandler Carruth1-7/+7
infrastructure. This was essentially work toward PGO based on a design that had several flaws, partially dating from a time when LLVM had a different architecture, and with an effort to modernize it abandoned without being completed. Since then, it has bitrotted for several years further. The result is nearly unusable, and isn't helping any of the modern PGO efforts. Instead, it is getting in the way, adding confusion about PGO in LLVM and distracting everyone with maintenance on essentially dead code. Removing it paves the way for modern efforts around PGO. Among other effects, this removes the last of the runtime libraries from LLVM. Those are being developed in the separate 'compiler-rt' project now, with somewhat different licensing specifically more approriate for runtimes. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-07-03Fix regular expression used by 'make update' to only look for 'I' and '?' at ↵Craig Topper1-1/+1
the start of svn info results and to check for spaces after 'I' instead of just after '?'. Previously it was able to match 'I' anywhere in the filenames of the svn info results instead of just files that where ignored or unknown to svn. This would cause 'make update' to infinitely recurse if a file was modified with I anywhere in its name since svn info would return a Path pointing to the llvm root for those files. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-28Improved svn repo searching for 'make update'Edwin Vane1-4/+17
Use a simple recursive bash function to search for svn repos for the 'make update' target thus including projects like clang-tools-extra. Reviewers: bkramer, echristo git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-02Update the root Makefile for VMCore -> IR. Missed by my original searchChandler Carruth1-3/+3
sadly, and is somewhat surprising in general. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-11-06[c-index-test] When building with BUILD_CLANG_ONLY=YES, include c-index-test.Argyrios Kyrtzidis1-3/+1
It is part of libclang and has other uses besides running the clang tests. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-24Don't try to install c-index-test with BUILD_CLANG_ONLY. rdar://12492703Bob Wilson1-1/+4
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-10Remove dead variable.Bill Wendling1-1/+0
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-02Set the 'build clang only' flag when we're building only clang.Bill Wendling1-0/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-09-24Clear UNIVERSAL_SDK_PATH setting when building host tools. <rdar://12360497>Bob Wilson1-2/+4
I also moved the SDKROOT setting into the make flags, since clearing it from the environment isn't good enough to override a setting on the make command line. That hasn't been a problem but it could be, and it's good to be consistent with the way UNIVERSAL_SDK_PATH is handled. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-22darwin/cross-build: Unset SDKROOT when building BuildTools.Daniel Dunbar1-0/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-08-14Fix the make update target to work even when sub repo repositories are ignored.David Blaikie1-2/+2
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-05-09Do not install llvm-config-host for cross-builds of clang. rdar://11317847Bob Wilson1-5/+0
My previous change to install llvm-config-host for cross-builds resulted in that file being installed even when the normal llvm-config was not installed, e.g., when building the install-clang target. Daniel suggested this alternative, which solves the immediate problem and also avoids the gunk in the top-level makefile. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-04-19When cross compiling, install a host version of llvm-config. <rdar://11187889>Bob Wilson1-0/+5
Now that llvm-config is a binary instead of a script the version installed during a cross compiled build cannot be run from the host. When cross compiling, install a separate llvm-config-host that will run on the host. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2012-01-17Makefile: add missing files to FilesToConfigDylan Noblesmith1-2/+9
And fix the comment about where the FilesToConfig variable is. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01llvm-config: Replace with C++ version (was llvm-config-2).Daniel Dunbar1-2/+2
- Another reapply of r144300, with hopefully one last fix. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-12-01Revert commit 145449 (ddunbar) since it is breaking the dragonegg buildbots.Duncan Sands1-2/+2
Original commit message: llvm-config: Replace with C++ version (was llvm-config-2). - Reapply of r144300, with lots of fixes/migration easement in between. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-30Remove the install-clang-c makefile target.Bob Wilson1-9/+0
When I did this before it broke a buildbot that was testing that target, but we've removed that buildbot now. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-29llvm-config: Replace with C++ version (was llvm-config-2).Daniel Dunbar1-2/+2
- Reapply of r144300, with lots of fixes/migration easement in between. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27Partially revert r145157 to quiet an unhappy buildbot.Bob Wilson1-0/+9
Removing that buildbot would be a better solution, but this is at least a temporary workaround. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-27Merge the install-clang-c target into install-clang. <rdar://problem/10217046>Bob Wilson1-9/+2
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-12build/Make: Define a TARGET_NATIVE_ARCH variable to be a bit more precise thanDaniel Dunbar1-1/+1
ARCH, which gets tested in many more contexts. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-11build/Make: Change llvm-config-2 to be compiled as a build tool.Daniel Dunbar1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-11cross-build/Make: Update cross build to properly forward ARCH andDaniel Dunbar1-0/+2
TARGETS_TO_BUILD variables to build tools submake, and also tweak echo command to indicate when we are compiling/etc build tools. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-11Add an option '--enable-libcpp' that will have the compiler pass onEric Christopher1-0/+1
options to use libc++ as the default c++ library. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-10build/Make: Try to switch over to llvm-config-2 again, now that I've cleaned upDaniel Dunbar1-1/+1
some more of the explicit dependencies. I'm staging things more slowly this time in case there is more unanticipated fallout. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-10Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).",Daniel Dunbar1-3/+3
which didn't appear ready for prime time. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-10llvm-config: Replace with C++ version (was llvm-config-2).Daniel Dunbar1-3/+3
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-11-02build/Make: Update for rename of show-diagnostics.Daniel Dunbar1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-19Updating 'update' target to handle svn 1.7 'info' output. Patch by ↵David Blaikie1-1/+1
Jean-Danial Dupas! git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-08Add clang-tblgen to OPTIONAL_DIRS when building native tools for thePeter Collingbourne1-2/+3
cross build, so that a native version of clang-tblgen is available. Should unbreak Clang cross build. Also disable Polly for the native tool build, since it depends on external libraries which may not be available, and it isn't required anyway. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-10-01Move TableGen's parser and entry point into a libraryPeter Collingbourne1-3/+3
This is the first step towards splitting LLVM and Clang's tblgen executables. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-09-19Remove llvmc and assorted build machinery for it.Eric Christopher1-2/+1
The problems that llvmc solved have largely been subsumed with the tasks that the clang driver can accomplish, but llvmc lacks flexibility and depends too heavily on the EOL'd llvm-gcc. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-10Install libprofile_rt.dylib where it's more available for gcov support.Bill Wendling1-2/+2
<rdar://problem/9583891> git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2011-04-11build: Add support for a SHOW_DIAGNOSTICS build variable.Daniel Dunbar1-0/+15
If enabled, this will attempt to use the CC_LOG_DIAGNOSTICS feature I dropped into Clang to print a log of all the diagnostics generated during an individual build (from the top-level). Not sure if this will actually be useful, but for now it is handy for testing the option. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29Merge System into Support.Michael J. Spencer1-5/+5
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27build/Makefiles: Don't build unittests when ONLY_TOOLS is set.Daniel Dunbar1-0/+5
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-12Add --enable-docs. Patch by NAKAMURA Takumi.Rafael Espindola1-0/+4
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-15llvmc: remove dynamic plugins.Mikhail Glushenkov1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02tests: Kill off custom targets which were just there for Dunbar1-3/+0
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20Add support for a new Apple-style build target, EmbeddedSim, that buildsBob Wilson1-1/+2
llvmCore for the iOS Simulator. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-16build/Clang: Build and install libLTO as part of clang-only/install-clang ↵Daniel Dunbar1-2/+4
targets. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Issue the warning about being slow whenever optimization is disabled,Duncan Sands1-1/+1
and not just for Debug+Asserts builds. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07adapt condition for changed default build modeGabor Greif1-1/+1
who knows how to cover Asserts or Debug separately please do not hesitate to extend this git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-07Rename "Release" builds as "Release+Asserts"; rename "Release-Asserts"Duncan Sands1-1/+1
builds to "Release". The default build is unchanged (optimization on, assertions on), however it is now called Release+Asserts. The intent is that future LLVM releases released via will be Release builds in the new sense, i.e. will have assertions disabled (currently they have assertions enabled, for a more than 20% slowdown). This will bring them in line with MacOS releases, which ship with assertions disabled. It also means that "Release" now means the same things in make and cmake builds: cmake already disables assertions for "Release" builds AFAICS. git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-30build: Update install-clang target.Daniel Dunbar1-1/+1
git-svn-id: 91177308-0d34-0410-b5e6-96231b3b80d8