Commit Graph

289 Commits

Author SHA1 Message Date
Oscar Fuentes
2c5e0b8b98 Rewrite handling of LLVM_ENABLE_PIC. It was being processed after
config.h was generated, so it had no effect on it.

Thanks to arrowdodger for pointing out this and a tentative patch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123119 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-09 14:34:39 +00:00
Oscar Fuentes
53bf3ee82b Don't use -O3 on Mingw, as people report it as unreliable. Use -O2
instead.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@123028 91177308-0d34-0410-b5e6-96231b3b80d8
2011-01-07 20:31:03 +00:00
Oscar Fuentes
784a176bc3 New cmake option LLVM_APPEND_VC_REV for controlling when the VC
revision id is appended to the LLVM version string. Defaults to
OFF.

Until now the VC revision id was always appended to the revision
string whenever cmake was invoked (either explicitly or implicitly
because a cmake source file changed). This was causing massive
recompilations because config.h are reconfigured with the new contents
of PACKAGE_VERSION.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122240 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-20 09:47:13 +00:00
Michael J. Spencer
57e9104318 CMake: Cleanup and document MSVC warning flags.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@122115 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-18 00:18:58 +00:00
Michael J. Spencer
014e189069 CMake: Add FileUpdate to the build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121386 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-09 17:54:44 +00:00
Francois Pichet
97b2f72765 Promote "enumerator in switch of enum is not handled" to level 1 warning on MSVC. It was disabled by default.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@121096 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-07 01:25:06 +00:00
Francois Pichet
b361452ef9 Disable C++ exception handling on MSVC.
Total size of bin\Release on disk goes from 82.9 MB to 74.2 MB. (~10% saving)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120908 91177308-0d34-0410-b5e6-96231b3b80d8
2010-12-04 14:30:22 +00:00
Michael J. Spencer
1f6efa3996 Merge System into Support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120298 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi
d420e7b76c CMake: lit(check.vcproj) can run with multiple configurations on Visual Studio.
Unittests need LLVM_BUILD_MODE to pick up each test.

Confirmed on CentOS5, Mingw, MSYS, and with possible configurations on VS8 and VS10.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@120212 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-27 13:10:11 +00:00
Francois Pichet
0b8f0a208e Disable warning C4291 on MSVC. Caused because class AttributeList provides a non implemented operator delete without a corresponding new.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119902 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-20 15:39:03 +00:00
NAKAMURA Takumi
4c8710d917 CMakeLists.txt: On MSVS10, touch LLVM.sln as workaround, w/e project files are changed, to avoid the Dialog Hell. Thanks to Oscar.
FIXME: This could be removed with future version of CMake.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119780 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-19 03:19:18 +00:00
Wesley Peck
b977f04c5b Make MCJIT work with CMake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119589 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-17 23:35:07 +00:00
Michael J. Spencer
68b3f0c40e Add LLVMObject Library.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119107 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-15 03:21:41 +00:00
Oscar Fuentes
db2c50907f Detect presence of AsmPrinter's. Remove some cruft too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119077 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 21:17:13 +00:00
Chris Lattner
01928b9a40 hopefully unbreak the cmake build, patch by frits van bommel.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119069 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 20:51:15 +00:00
Oscar Fuentes
14b0c056e6 CMakeLists.txt: removed mismatched endif predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119064 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 20:15:05 +00:00
Chris Lattner
aeafb894fa hopefully fix cmake as well.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119058 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 19:12:57 +00:00
Chris Lattner
1139691e3a move all the target's asmprinters into the main target. The piece
that should be split out is the InstPrinter (if a target is mc'ized).
This change makes all the targets be consistent.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@119056 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-14 18:43:56 +00:00
NAKAMURA Takumi
e7ae70b137 CMake: Add the new option "LLVM_LIT_ARGS".
Defaults:
if (MSVC OR XCODE): "-sv --no-progress-bar"
else: "-sv"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118776 91177308-0d34-0410-b5e6-96231b3b80d8
2010-11-11 04:09:35 +00:00
NAKAMURA Takumi
15b337c28d CMake: Build utils/KillTheDoctor only on MSVC for now.
Mingw does not have the header <dbghelp.h>.
Thanks to Daniel Newton, testing it on mingw.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117352 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-26 05:08:27 +00:00
Chandler Carruth
6b241160ed First step to allowing the resource directory of Clang to be adjusted for
strange packaging environments. The primary result of this is to expose
a (normally empty) CLANG_RESOURCE_DIR string in the autoconf and CMake builds.
This will in turn be used by a subsequent commit to Clang.

Regenerated configure and config.h.in thanks to Nick. =D


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116802 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-19 08:21:25 +00:00
Oscar Fuentes
4d156d3a25 Added basic support for CPack.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116516 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-14 21:11:51 +00:00
Francois Pichet
b2b9b768ef Disable warning C4267 for MSVC. Otherwise it generate literally thousands of warnings when targeting x64. The warning occurs because int is 32 bit but size_t is 64 bit on Win64.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116274 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-12 00:01:36 +00:00
Michael J. Spencer
bbb9ea7b70 Add KillTheDoctor.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116216 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11 19:55:38 +00:00
Chris Lattner
60cb528246 Per discussion with Sanjiv, remove the PIC16 target from mainline. When/if
it comes back, it will be largely a rewrite, so keeping the old codebase
in tree isn't helping anyone.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116190 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-11 05:44:40 +00:00
Oscar Fuentes
bab2b012d6 Handle InstPrinter's on the CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115402 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 02:38:42 +00:00
Nick Lewycky
c57707dd87 Revert patches r115363 r115367 r115391 due to build breakage:
llvm[2]: Updated LibDeps.txt because dependencies changed
llvm[2]: Checking for cyclic dependencies between LLVM libraries.
find-cycles.pl: Circular dependency between *.a files:
find-cycles.pl:   libLLVMMSP430AsmPrinter.a libLLVMMSP430CodeGen.a



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115393 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 01:06:42 +00:00
Jim Grosbach
0e69aff03a Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone who
is more familiar with CMake please review?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115391 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-02 00:39:56 +00:00
Oscar Fuentes
4dbb2dbf76 Added library LLVMPIC16passes to CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114952 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 14:02:45 +00:00
Oscar Fuentes
b2c70cfc71 Added PTX target to the CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114951 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-28 14:02:36 +00:00
Oscar Fuentes
a6c1dbd541 New cmake options LLVM_INCLUDE_X (X = {TOOLS, EXAMPLES, TESTS}) for
not generating build targets for those parts of the build.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114797 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 20:43:06 +00:00
Oscar Fuentes
066de857f8 Reverting "CMake: Don't include tools, unittets, or examples as
available targets unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies
LLVM_INCLUDE_X"

It breaks the configuration phase when cmake is invoked without
parameters, it is too complex for the purpose and introduces an
incovenience for the user (as both LLVM_BUILD_X and LLVM_INCLUDE_X
must set to OFF for not including X on the build)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114795 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-25 20:25:25 +00:00
Michael J. Spencer
4b794c9a99 CMake: Don't include tools, unittets, or examples as available targets
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114747 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 19:10:51 +00:00
Michael J. Spencer
ee6944f4ab CMake: Build unittests.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114725 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-24 09:01:13 +00:00
Douglas Gregor
6b5db9500c Bump LLVM in CMake makefiles to 2.9
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114640 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-23 14:19:21 +00:00
Michael J. Spencer
3a210e2d30 Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."
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
2010-09-13 23:59:48 +00:00
Michael J. Spencer
becf392e3b CMake: Add llvm-lit to CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113762 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-13 17:52:38 +00:00
Michael J. Spencer
1c4e934666 CMake: Fix mingw32 build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113676 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-11 02:13:39 +00:00
Michael J. Spencer
4e9c939312 CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113632 91177308-0d34-0410-b5e6-96231b3b80d8
2010-09-10 21:14:25 +00:00
Chandler Carruth
83944b7dbe Attempt to remove the MSIL backend from CMake as well based on Chris's r112375.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@112464 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-30 07:25:54 +00:00
Oscar Fuentes
6252e98709 CMake: system for providing llvm-config-like features to the user.
The user can use a cmake function for obtaining the LLVM libraries
corresponding to a list of LLVM components.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110560 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-09 03:26:43 +00:00
Oscar Fuentes
02a8f76d58 New system for choosing CRT type on MSVC.
Is setted on a per build type basis. This is useful for generators
that comprise several build types, i.e. VC++ solutions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110296 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-05 01:25:48 +00:00
Oscar Fuentes
ee99317554 CMake: add version control info to PACKAGE_VERSION, if available.
Adds "svn" or "git", depending on the VCS used. If svn, adds the
revision number as well.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110121 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 17:28:09 +00:00
Oscar Fuentes
c677c5d695 Bump cmake_minimum_required to version 2.8
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110110 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-03 15:07:17 +00:00
Oscar Fuentes
cb95a2bf28 Lets the CMake GUI show a list of possible values for LLVM_USE_CRT
Patch by nobled!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@110057 91177308-0d34-0410-b5e6-96231b3b80d8
2010-08-02 19:00:34 +00:00
Chris Lattner
847da55716 start straightening out libedis's dependencies and make it fit
better in the llvm world.  Among other things, this changes:

1. The guts of libedis are now moved into lib/MC/MCDisassembler
2. llvm-mc now depends on lib/MC/MCDisassembler, not tools/edis,
   so edis and mc don't have to be built in series.
3. lib/MC/MCDisassembler no longer depends on the C api, the C
   API depends on it.
4. Various code cleanup changes. 

There is still a lot to be done to make edis fit with the llvm
design, but this is an incremental step in the right direction.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-07-20 18:25:19 +00:00
Daniel Dunbar
e53cd1a7a1 Fix LLVM CMake PACKAGE_VERSION variable.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106861 91177308-0d34-0410-b5e6-96231b3b80d8
2010-06-25 16:29:14 +00:00
Oscar Fuentes
3f0cc8c268 CMake: Add options for using static runtime on MSVC++ build.
Patch by Victor Zverovich!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@98821 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-18 13:52:05 +00:00
Wesley Peck
c84a9566cb Adding MBlaze to cmake target list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97806 91177308-0d34-0410-b5e6-96231b3b80d8
2010-03-05 15:15:55 +00:00
Daniel Dunbar
4bd8dc39fb CMake: Add MCParser directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94135 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-22 02:04:33 +00:00
Douglas Gregor
f1c3a8650a Fix CMake build for InstCombine changes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92519 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-04 21:58:55 +00:00
Daniel Dunbar
9ea3a2c9fc Don't default warnings to ON on MSVC, the spew is enough to triple the build time. :/
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90251 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 19:11:36 +00:00
Tobias Grosser
602071f8ff Fix copy paste bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90220 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 08:43:33 +00:00
Oscar Fuentes
f12a90098a Add two CMake flags LLVM_ENABLE_PEDANTIC and LLVM_ENABLE_WERROR,
PEDANTIC defaults to ON and WERROR default to off.

Also add MSVC warnings. To disable warnings add the flags
LLVM_ENABLE_WARNINGS (default on).

Patch by Tobias Grosser!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90188 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-01 02:21:51 +00:00
Oscar Fuentes
2343b10637 * CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@90170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-30 23:50:14 +00:00
Daniel Dunbar
fa3f0b9bc2 Add CMake and configure logic to create llvm/Config/Disassemblers.defs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89839 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-25 04:30:13 +00:00
Oscar Fuentes
b8352de551 CMake: generate targets for tools and examples even when
LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89635 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-23 00:21:43 +00:00
Daniel Dunbar
e1caa98c5b Turn LLVM_BUILD_EXAMPLES off by default in CMake builds, to match Makefiles &
Clang.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@89211 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-18 17:42:22 +00:00
Oscar Fuentes
8e3c16917c CMake: Hopefully unbreak the build by mimicking the changes on the
other build system about the new C_INCLUDE_DIRS configure option.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86960 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-12 06:48:09 +00:00
Daniel Dunbar
36206182e1 Prevent warning spew about -fPIC when using CMake generated Xcode project files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86427 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-08 00:34:22 +00:00
Oscar Fuentes
bc2eb13d00 CMake: install .def files from source `include/llvm' directory.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85587 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-30 11:42:08 +00:00
Oscar Fuentes
a2281e72dc CMake: Install .inc files too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85285 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 20:04:22 +00:00
Oscar Fuentes
1d7c43b7e7 Rather than excluding quite some things, and still installing
CMakeLists.txt, Makefiles, ... it's better to whitelist what we really
want to install.

Patch by Ingmar Vanhassel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@85282 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-27 19:57:29 +00:00
Edward O'Callaghan
c6cf5fe595 Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83819 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-12 04:00:11 +00:00
Chris Lattner
dbf75e813e remove llvm-db: it is completely broken and if anyone wants to do a debugger,
they should not base it on llvm-db (which not following almost any "best practices").


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@83288 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-05 02:29:51 +00:00
Daniel Dunbar
48f7ce88a6 Add count/not tools as executables.
- Apparently, I'm willing to do incredibly stupid things in the name of portability.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82685 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-24 06:23:57 +00:00
Daniel Dunbar
a177492108 Initial support for running LLVM tests from cmake.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82534 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 07:38:44 +00:00
Daniel Dunbar
05dafd8207 CMake: Fix definition of LTDL_SHLIB_EXT for Darwin.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82530 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22 06:09:37 +00:00
Oscar Fuentes
a9ff1392ea CMake: New user-settable variable LLVM_TARGET_ARCH useful when
cross-compiling.

Patch by Xerxes Rånby!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81722 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-13 22:18:38 +00:00
Gabor Greif
2f3fa88a25 revert r78628 and r78803 as these are not needed any more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@80048 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-25 23:02:21 +00:00
Douglas Gregor
022fc3e70a TOT is 2.7svn for CMake, too
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79730 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-22 06:30:31 +00:00
Oscar Fuentes
1e02bf092a CMake: LLVM_ENABLE_PIC now defaults to ON, as in `configure'. This is
required on some platforms for building shared libraries that link to
the LLVM libraries.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79339 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-18 15:29:35 +00:00
Oscar Fuentes
34888816e8 CMake: Removed traces of obsolete variable LLVM_PLO_FLAGS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79204 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 21:01:16 +00:00
Oscar Fuentes
c81f56d9ec CMake: New option LLVM_BUILD_TOOLS. Renamed LLVM_EXAMPLES to
LLVM_BUILD_EXAMPLES and set default to true. Documented.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79203 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 20:56:30 +00:00
Oscar Fuentes
69e973d79b CMake: Hopefully this will fix the build on VS. I can't replicate the
failure with VS 9.0, nmake and cmake 2.6.4. The buildbot output does
not show the patch level of cmake, it just says 2.6.

Sadly, parallel builds are broken due to recent changes on LLVM Target
libraries and its auxiliaries (TargetInfo, AsmPrinter, AsmParser). I
have a patch for stablishing the correct dependencies, but cmake is
buggy and generates makefiles that can't handle them.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79180 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 07:44:02 +00:00
Oscar Fuentes
b78829ee38 CMake: Revert r79144. It reverted a change necessary for correct
parallel builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79177 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-16 05:16:43 +00:00
Benjamin Kramer
04ef5428cd Revert 78996. It was breaking MSVC builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79144 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-15 21:57:01 +00:00
Oscar Fuentes
3d3ed36572 CMake: Builds main LLVM Target library before its sublibraries. This
way we ensure that tablegenned files exist before they are #include'd
by the LLVM Target sublibraries. Required for parallel builds.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78996 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 05:17:24 +00:00
Oscar Fuentes
75caad4f1a CMake: Corrected indentation on a block of code.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78992 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-14 04:55:21 +00:00
Gabor Greif
9befba80be here comes the CMAKE part on LLVM_COMPACT_SENTINELS; see also r78628 and r78661
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78803 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 08:37:37 +00:00
Oscar Fuentes
fdb9677ae9 CMake: Localized dependency on Perl.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78788 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 04:16:19 +00:00
Oscar Fuentes
4ae953b747 CMake: Do not install files with .tmp suffix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78769 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 01:37:33 +00:00
Oscar Fuentes
2803365c4e CMake: Re-enabled build of llvm-config. Removed recursive invocation
of cmake.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78768 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-12 01:36:27 +00:00
Jakob Stoklund Olesen
73b7bb7b07 Build Blackfin target with autoconf and cmake.
Note that configure was edited by hand. Will somebody with the correct version of autoconf please regenerate?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77898 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-02 17:32:37 +00:00
Dan Gohman
d2cb3d2c32 Remove the IA-64 backend.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76920 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-24 00:30:09 +00:00
Douglas Gregor
4d20c24fe6 Build FileCheck from with CMake
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76449 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 18:30:25 +00:00
Daniel Dunbar
3f189a3eb4 CMake support for SystemZ.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76384 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-20 00:24:17 +00:00
Daniel Dunbar
2c4df5a95d MSVC: Disable 4351, a completely useless warning: "warning: I'm not miscompiling
this". Um, ok, thanks!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76355 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-19 01:35:10 +00:00
Daniel Dunbar
092a9dda2d Sketch support for target specific assembly parser.
- 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
2009-07-17 20:42:00 +00:00
Daniel Dunbar
fef02e9af2 Kill off cmake magic to force linking.
- This isn't needed anymore, we require clients to call the appropriate
   initialization routines using TargetSelect.h.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75871 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-16 00:35:05 +00:00
Daniel Dunbar
b5a8c08bb1 Add TargetInfo directories to CMake's list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75752 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-15 07:04:27 +00:00
Oscar Fuentes
6761c5d609 CMake: Refuses to work for out-of-source builds when tablegenned files
are found mixed with the sources. Fixes PR 4522.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75522 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-13 21:58:44 +00:00
Richard Pennington
a51984b8ba bug 4524: Add MSP430 to the cmake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@75170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-09 20:27:09 +00:00
Oscar Fuentes
e8c81ea3f8 CMake: Fixes previous change: CMAKE_BUILD_TYPE is unknown when
generating project files for MSVC.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74809 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05 23:58:20 +00:00
Oscar Fuentes
af10910cc5 CMake: Avoids defining _DEBUG on MSVC Release builds. Fixes PR 4379.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74794 91177308-0d34-0410-b5e6-96231b3b80d8
2009-07-05 18:43:52 +00:00
Daniel Dunbar
ecc63f8687 Start flushing out MCContext.
- Lives inside new library lib/MC (LLVMMC.a)


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74013 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 22:01:43 +00:00
Douglas Gregor
8756a8db5b CMake: remove support for llvm-config-generated dependencies in the build
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73979 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 18:30:17 +00:00
Douglas Gregor
7e9e36a23e Eliminate object-relinking support from CMake. Fixes PR 4429 and
cleans up the CMake-based build system a bit. Started by a patch from
Xerxes Rånby.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73969 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-23 17:57:35 +00:00
Douglas Gregor
5dd4272c47 CMake: Only include LLVM example executables in the build if requested by the user
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73566 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 22:25:45 +00:00
Douglas Gregor
1555a23335 Introduce new headers whose inclusion forces linking and
initialization of all targets (InitializeAllTargets.h) or assembler
printers (InitializeAllAsmPrinters.h). This is a step toward the
elimination of relinked object files, so that we can build normal
archives.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73543 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-16 20:12:29 +00:00
Oscar Fuentes
af0f65fe6a CMake: New variable LLVM_LIBDIR_SUFFIX.
Patch by Ingmar Vanhassel!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73216 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-12 02:49:53 +00:00
Oscar Fuentes
99b94892f5 CMake: Fixed parallel build problem related to native tblgen when
cross-compiling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73180 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-11 04:16:10 +00:00
Stefanus Du Toit
4ba3a0ec6c Allow setting the C runtime to be used with MSVC from cmake.
Patch by Tareq Siraj.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@73084 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-08 21:18:31 +00:00
Douglas Gregor
318de60701 More portability checks for CMake's config.h.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72975 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-05 23:46:34 +00:00
Douglas Gregor
8eeb96d2d5 CMake: Use explicit dependencies for Xcode (as well as MSVC), to make
the CMake-generated Xcode project build properly.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 19:53:37 +00:00
Oscar Fuentes
76941b2733 CMake: Renamed LLVM_ENABLE_ASSERTS to
LLVM_ENABLE_ASSERTIONS. Fine-tuned the logic that controls the
definition of NDEBUG and _DEBUG macros.

Thanks to Jay Foad for this suggestions.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72864 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-04 09:26:16 +00:00
Oscar Fuentes
81a875585c CMake: Implements and documents option LLVM_ENABLE_ASSERTS.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@72774 91177308-0d34-0410-b5e6-96231b3b80d8
2009-06-03 15:11:25 +00:00
Oscar Fuentes
34fc51710a CMake: Added notes pointing to the LLVM CMake documentation.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@68429 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-04 22:52:02 +00:00
Oscar Fuentes
9a0107db72 CMake: defines and uses macro add_llvm_definitions for keeping track
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
2009-04-04 22:41:07 +00:00
Sebastian Redl
48fe63526e Fix the Win32 VS2008 build:
- Make type declarations match the struct/class keyword of the definition.
 - Move AddSignalHandler into the namespace where it belongs.
 - Correctly call functions from template base.
 - Some other small changes.
With this patch, LLVM and Clang should build properly and with far less noise under VS2008.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67347 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-19 23:26:52 +00:00
Oscar Fuentes
5c6bf65a09 CMake: auto-discover project files under the projects/ subdirectory.
Patch by Viktar Zviarovich!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@66230 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-06 01:16:52 +00:00
Chris Lattner
8c46e8573e Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake.
Patch by Piotr Rak!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@63213 91177308-0d34-0410-b5e6-96231b3b80d8
2009-01-28 17:49:03 +00:00
Oscar Fuentes
64fb4c8ccd CMake: Option for building with -fPIC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59739 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-20 19:13:51 +00:00
Oscar Fuentes
6307b9440a CMake: Support for building 32 bits shared libraries on 64 bits GNU
systems. BUILD_32_BITS option renamed to LLVM_BUILD_32_BITS.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59568 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-19 00:10:39 +00:00
Oscar Fuentes
4b442836fc CMake: Option for enabling/disabling threads.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-18 23:45:21 +00:00
Oscar Fuentes
7f6f21ebae CMake: Forces linking of the rest of architecture targets and its
respective asm printers on MSVC.

Based on a patch by Scott Graham.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59379 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 22:51:03 +00:00
Oscar Fuentes
232ed2d373 CMake: Removed some cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59376 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 20:51:18 +00:00
Oscar Fuentes
422fcf3837 CMake: Moved generation of Intrinsics.gen to
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59342 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-15 00:24:38 +00:00
Oscar Fuentes
cccecb8ea2 CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
consistency.

Patch by Kevin Andre!


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59326 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 22:21:02 +00:00
Oscar Fuentes
6326a0d509 CMake: Disallow in-source builds except when building with the Visual
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@59292 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-14 03:43:18 +00:00
Oscar Fuentes
41bdedf17a CMake: Builds a native tblgen when cross-compiling and the user didn't
set LLVM_TABLEGEN.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58953 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 02:35:55 +00:00
Oscar Fuentes
4f21c1358d CMake: Implement magic word `all' for selecting all targets. Check
that specified targets are known.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58951 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 01:47:07 +00:00
Oscar Fuentes
02516ba8b4 CMake: Non-working code for auto-building the native tblgen util when
cross-compiling.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58950 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-10 01:32:14 +00:00
Oscar Fuentes
3ab40ca3d5 CMake: Support for cross-compiling. For now, requires a previously
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
2008-11-09 18:53:19 +00:00
Richard Osborne
9380c05f2d Add XCore backend to CMake build.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58843 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-07 12:37:45 +00:00
Oscar Fuentes
b0c56992ce CMake: Support for building 32 bit mode libs and binaries on
Linux/x86-64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58677 91177308-0d34-0410-b5e6-96231b3b80d8
2008-11-04 03:27:24 +00:00
Cedric Venet
1d083f408b Change the name of the generated solution file for a CMake build. (from 'project' to 'LLVM').
!!!!!!!!!! Warning !!!!!!!!!!!!!!!
If you already have created a solution with cmake, you will need to manually open to the new one.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58461 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 21:22:00 +00:00
Oscar Fuentes
0a48698cbc CMake: Reverted some unintentional changes on the previous commit.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58435 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 17:21:37 +00:00
Oscar Fuentes
4fd38b8d58 CMake: Cygwin pretends to be Unix.
Patch by Jay Foad.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58434 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-30 17:15:54 +00:00
Oscar Fuentes
980e842153 CMake: Removed some cruft.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-29 02:33:15 +00:00
Oscar Fuentes
619ce78b21 CMake: Removed unnecessary macro definitions. They are defined in
config.h


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58177 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-26 00:50:03 +00:00
Oscar Fuentes
f7e73b98d2 CMake: Directed bug reports to llvmbugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58134 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-25 03:49:35 +00:00
Oscar Fuentes
de98db33fb CMake: MSVC++ no longer uses a special configuration method.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@58132 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-25 03:29:36 +00:00
Oscar Fuentes
1dc9716121 CMake: `make install' for libraries, executables and header files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57945 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-22 02:56:07 +00:00
Dan Gohman
63f97201dc Fun x86 encoding tricks: when adding an immediate value of 128,
use a SUB instruction instead of an ADD, because -128 can be
encoded in an 8-bit signed immediate field, while +128 can't be.
This avoids the need for a 32-bit immediate field in this case.

A similar optimization applies to 64-bit adds with 0x80000000,
with the 32-bit signed immediate field.

To support this, teach tablegen how to handle 64-bit constants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57663 91177308-0d34-0410-b5e6-96231b3b80d8
2008-10-17 01:33:43 +00:00
Oscar Fuentes
e1ad087fcb CMake: Builds all targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56641 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-26 04:40:32 +00:00
Oscar Fuentes
a789af239c CMake: Disabled some warnings for MSVC.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56565 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-24 19:27:54 +00:00
Oscar Fuentes
1d8e4cfdb7 CMake build system: support for parallel builds.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56453 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 18:21:51 +00:00
Oscar Fuentes
3d01fc7de8 Initial support for the CMake build system.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56419 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-22 01:08:49 +00:00