1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
Commit Graph

385 Commits

Author SHA1 Message Date
Duncan Sands
d783c807b8 Tweak the cmake interaction between CMAKE_BUILD_TYPE and LLVM_ENABLE_ASSERTIONS.
The issue is that CMAKE_BUILD_TYPE=RelWithDebInfo LLVM_ENABLE_ASSERTIONS=ON was
not building with assertions enabled.  (I was unable to find what in the LLVM
source tree was adding -DNDEBUG to the build line in this case, so decided that
it must be cmake itself that was adding it - this may depend on the cmake
version).  The fix treats any mode that is not Debug as being the same as
Release for this purpose (previously it was being assumed that cmake would only
add -DNDEBUG for Release and not for RelWithDebInfo or MinSizeRel).  If other
versions of cmake don't add -DNDEBUG for RelWithDebInfo then that's OK: with
this change you just get a useless but harmless -UNDEBUG or -DNDEBUG.

llvm-svn: 186499
2013-07-17 09:34:51 +00:00
Andy Gibbs
d76c23149b Support using "host" as a target in LLVM_TARGETS_TO_BUILD when using cmake.
llvm-svn: 184923
2013-06-26 07:57:53 +00:00
Reid Kleckner
b24062a89a Look for Python 2 before Python 3 in CMakeLists.txt
All of LLVM's Python scripts only support Python 2 for widely understood
reasons.

Patch by Yonggang Luo.

llvm-svn: 184732
2013-06-24 13:21:16 +00:00
Rafael Espindola
86e62c5db6 Allow duplicates in LLVM_TARGETS_TO_BUILD and LLVM_EXPERIMENTAL_TARGETS_TO_BUILD.
Should fix the cmake bots that were already building R600.

llvm-svn: 182447
2013-05-22 02:45:28 +00:00
Rafael Espindola
098c228558 Make R600 non-experimental.
The r600 backend has been in tree for some time now. Marking it as
non-experimental to avoid accidental breakage.

llvm-svn: 182442
2013-05-22 00:35:47 +00:00
Tim Northover
04eba4a59a AArch64: enable MCJIT unittests
llvm-svn: 182217
2013-05-19 19:44:56 +00:00
Rafael Espindola
a86de9cd7b Change version to 3.4 in the cmake build too.
llvm-svn: 181353
2013-05-07 20:44:22 +00:00
Ulrich Weigand
cd6e3895d8 [SystemZ] Add to --enable-targets=all
This patch finally enables the SystemZ target in the default build
(with --enable-targets=all).

Patch by Richard Sandiford.

llvm-svn: 181209
2013-05-06 16:23:07 +00:00
Ulrich Weigand
0d393e5693 [SystemZ] Add configure bits
This patch wires up the SystemZ target in configure, so that it can now be
built using --enable-targets=systemz.   It is not yet included in the default
build (--enable-targets=all); this will be done by a follow-up patch.

Patch by Richard Sandiford.

llvm-svn: 181208
2013-05-06 16:22:34 +00:00
Alexey Samsonov
30f0410c39 Add basic zlib support to LLVM. This would allow to use compression/uncompression in selected LLVM tools.
llvm-svn: 180083
2013-04-23 08:28:39 +00:00
Tim Northover
f8e799781e Enable all targets by default on Visual Studio.
llvm-svn: 179518
2013-04-15 11:53:05 +00:00
Tim Northover
e5e398947b Revert "TMP"
This reverts commit e652085eacbec62e4157d08d3f2f875e6e6d5bb4.

llvm-svn: 179172
2013-04-10 12:08:57 +00:00
Tim Northover
0b3f7a5b89 TMP
llvm-svn: 179170
2013-04-10 12:08:25 +00:00
Rafael Espindola
67ed9d1cfb Move yaml2obj to tools too.
llvm-svn: 178904
2013-04-05 20:00:35 +00:00
Rafael Espindola
b2b188b238 Move obj2yaml to tools to sort out make's dependencies.
llvm-svn: 178835
2013-04-05 02:57:22 +00:00
Rafael Espindola
bf8dcf15ed Don't export symbols in every binary on linux.
On freebsd this makes sure that symbols are exported on the binaries that need
them. The net result is that we should get symbols in the binaries that need
them on every platform.

On linux x86-64 this reduces the size of the bin directory from 262MB to 250MB.

Patch by Stephen Checkoway.

llvm-svn: 178725
2013-04-04 01:01:32 +00:00
Alexey Samsonov
d4f81c71f9 Add CMake option LLVM_USE_SANITIZER={Address,Memory,MemoryWithOrigins} to simplify bootstrap of LLVM/Clang under ASan/MSan
llvm-svn: 177992
2013-03-26 07:49:46 +00:00
Tim Northover
ae8ed9af21 Revert CMake version bump since we don't actually need 2.8.6 any more.
The problem call was removed in the interim. Apologies.

llvm-svn: 175435
2013-02-18 11:53:37 +00:00
Tim Northover
3dad6a0494 Note minimum required version of CMake
We already use features from 2.8.6, this just gives a slightly more friendly
message when the dependency isn't met.

Patch from Keith Walker.

llvm-svn: 175434
2013-02-18 11:41:04 +00:00
David Chisnall
79c47e94d7 On FreeBSD, we need to look in /usr/local/include so that libxml2 finds iconv.h
Patch by Jonathan Anderson!

llvm-svn: 175167
2013-02-14 15:40:44 +00:00
Tim Northover
0e16c09b88 Enable AArch64 as a target built by default.
llvm-svn: 174322
2013-02-04 12:32:21 +00:00
Joel Jones
7ac0b343b2 Fix spelling
llvm-svn: 170130
2012-12-13 15:25:07 +00:00
NAKAMURA Takumi
db0a1830f6 [CMake] TARGET_TRIPLE may be internal alias of LLVM_DEFAULT_TARGET_TRIPLE.
llvm-svn: 169726
2012-12-10 07:14:29 +00:00
Benjamin Kramer
adc3356ba5 Kick off 3.3 cycle for LLVM trunk.
llvm-svn: 168272
2012-11-17 22:01:08 +00:00
Eric Christopher
679d95fd7e Fix CMake build.
llvm-svn: 167986
2012-11-14 22:10:47 +00:00
Andrew Kaylor
6b7788b0c5 Removing dependency on third party library for Intel JIT event support.
Patch committed on behalf of Kirill Uhanov

llvm-svn: 164831
2012-09-28 17:35:20 +00:00
Benjamin Kramer
f358e32d89 Make backtraces work again with both the configure and cmake build.
llvm-svn: 164817
2012-09-28 10:10:46 +00:00
Sebastian Pop
6800067200 enable cross compilation with cmake
This patch allows us to use cmake to specify a cross compiler: target different
than host. In particular, it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE
variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them
available at configure time.

Here is the command line that I have used to test my patches to create a Hexagon
cross compiler hosted on x86:

$ cmake -G Ninja -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu ..
$ ninja check

llvm-svn: 162219
2012-08-20 19:56:52 +00:00
Victor Oliveira
6d4bd3c36c bug in experimental targets
llvm-svn: 161995
2012-08-15 22:35:36 +00:00
Victor Oliveira
69e5c477ee Support for experimental targets
Added LLVM_EXPERIMENTAL_TARGETS_TO_BUILD in CMake and --enable-experimental-targets in configure.

llvm-svn: 161561
2012-08-09 01:13:59 +00:00
Sebastian Pop
0288550576 revert my previous patch
llvm-svn: 161505
2012-08-08 18:04:45 +00:00
Sebastian Pop
53569c7d36 enable Hexagon target from cmake
This patch allows us to use cmake to specify a cross compiler for Hexagon.

In particular, the patch adds a missing case for the target Hexagon in
cmake/config-ix.cmake, and it moves LLVM_DEFAULT_TARGET_TRIPLE and TARGET_TRIPLE
variables from cmake/config-ix.cmake to the toplevel CMakeLists.txt to make them
available at configure time. Here is the command line that I have used to test
my patches:

$ cmake -G Ninja -D BUILD_SHARED_LIBS:BOOL=ON -D LLVM_TARGETS_TO_BUILD:STRING=Hexagon -D TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_DEFAULT_TARGET_TRIPLE:STRING=hexagon-unknown-linux-gnu -D LLVM_TARGET_ARCH:STRING=hexagon-unknown-linux-gnu -D LLVM_ENABLE_PIC:BOOL=OFF ..
$ ninja check

llvm-svn: 161504
2012-08-08 17:45:43 +00:00
Michael J. Spencer
9f255feb3f Add yaml2obj. A utility to convert YAML to binaries.
yaml2obj takes a textual description of an object file in YAML format
and outputs the binary equivalent. This greatly simplifies writing
tests that take binary object files as input.

llvm-svn: 161205
2012-08-02 19:16:56 +00:00
Tom Stellard
715b7811c2 Revert "Build script changes for R600/SI Codegen v6"
This reverts commit e3013202259ed1e006c21817c63cf25d75982721.

llvm-svn: 160301
2012-07-16 18:19:46 +00:00
Tom Stellard
c75d49d526 Build script changes for R600/SI Codegen v6
llvm-svn: 160272
2012-07-16 14:17:16 +00:00
Chandler Carruth
7f56993d8e Hoist LLVM's lit testsuite infrastructure into module so that it can be
re-used. Also, build in direct support for accumulating a set of lit
parameters, arguments, and testsuites to run as part of a 'check-all'
rule. This sinks 'check-all' from a Clang-specific construct to
a generic construct of the project.

llvm-svn: 159482
2012-06-30 10:14:14 +00:00
Marshall Clow
51d2b8e1ff New test tool: obj2yaml
llvm-svn: 158730
2012-06-19 18:02:35 +00:00
Justin Holewinski
ee3de35dee Remove the PTX back-end and all of its artifacts (triple, etc.)
This back-end was deprecated in favor of the NVPTX back-end.

NV_CONTRIB

llvm-svn: 157417
2012-05-24 21:38:21 +00:00
Manuel Klimek
17b4f6de93 Make it possible to switch off solution folders. VS Express does not support
them, and requires the user to click away one error message per folder on
project load.

llvm-svn: 156472
2012-05-09 15:10:54 +00:00
Preston Gurd
cd8273f842 Make IntelJITEvents and OProfileJIT as optional libraries and add
optional library support to the llvm-build tool:
 - Add new command line parameter to llvm-build: “--enable-optional-libraries”
 - Add handing of new llvm-build library type “OptionalLibrary”
 - Update Cmake and automake build systems to pass correct flags to llvm-build
   based on configuration

Patch by Dan Malea!

llvm-svn: 156319
2012-05-07 19:38:40 +00:00
Justin Holewinski
4ca961430f This patch adds a new NVPTX back-end to LLVM which supports code generation for NVIDIA PTX 3.0. This back-end will (eventually) replace the current PTX back-end, while maintaining compatibility with it.
The new target machines are:

nvptx (old ptx32) => 32-bit PTX
nvptx64 (old ptx64) => 64-bit PTX

The sources are based on the internal NVIDIA NVPTX back-end, and
contain more functionality than the current PTX back-end currently
provides.

NV_CONTRIB

llvm-svn: 156196
2012-05-04 20:18:50 +00:00
NAKAMURA Takumi
1f754ef34b CMake: Prune redundant LLVM_COMPILER_JOBS from llvm/CMakeLists.txt. HandleLLVMOptions.cmake has it.
llvm-svn: 155284
2012-04-21 14:50:56 +00:00
Benjamin Kramer
31a4be57fd Kick off 3.2 cycle for LLVM trunk.
llvm-svn: 155211
2012-04-20 18:15:07 +00:00
Manuel Klimek
47de8bd0ef Goodbye, JSONParser...
llvm-svn: 154930
2012-04-17 17:21:17 +00:00
Michael J. Spencer
2f9beb2374 Add YAML parser to Support.
llvm-svn: 153977
2012-04-03 23:09:22 +00:00
Eric Christopher
3839c1ffd3 Remove the C backend.
llvm-svn: 153307
2012-03-23 05:50:46 +00:00
Eli Bendersky
18a6065211 Add profiling support for Intel Parallel Amplifier XE (VTune) for JITted code in LLVM.
Also refactor the existing OProfile profiling code to reuse the same interfaces with the VTune profiling code.
In addition, unit tests for the profiling interfaces were added.

This patch was prepared by Andrew Kaylor and Daniel Malea, and reviewed in the llvm-commits list by Jim Grosbach

llvm-svn: 152620
2012-03-13 08:33:15 +00:00
Dylan Noblesmith
d07dd21f5c add LLVM_VERSION_MAJOR and _MINOR defines
This is useful for clients that want to maintain compatibility
across multiple releases of LLVM. Currently users like Klee and
Mesa all have to roll their own 'parse llvm-config --version
output and generate defines' solution.

Also reuse the new macros so that version information is less
redundant/likely to fall out of sync again in the future.

llvm-svn: 150405
2012-02-13 18:48:10 +00:00
Dylan Noblesmith
c8bde62fa5 cmake: update outdated CPack version info
Left over from r116516.

llvm-svn: 149751
2012-02-04 02:52:48 +00:00
Dylan Noblesmith
7975390a8e cmake: make BUILD_SHARED_LIBS a visible option
It could only be specified on the commandline, and wouldn't show
up as an option in the GUI or when invoked via `cmake -i` at all.

This also tells CMake that it's a BOOL, rather than "UNINITIALIZED".

llvm-svn: 149506
2012-02-01 14:49:39 +00:00
Dylan Noblesmith
f9c9d1b4d0 capitalize project name, reference bugzilla
And fix the double-[]. It was including the [] as part of
the project name somehow, resulting in PACKAGE_TARNAME "-llvm-"
and a strange docdir default:

./configure --help | grep docdir
  --docdir=DIR           documentation root [DATAROOTDIR/doc/-llvm-]

llvm-svn: 146849
2011-12-18 18:50:16 +00:00
Manuel Klimek
2f7cf4e64b Adds a JSON parser and a benchmark (json-bench) to catch performance regressions.
llvm-svn: 146735
2011-12-16 13:09:10 +00:00
Chandler Carruth
0c3a49b88e Don't default the *cached* list of targets to build to an explicit list
of the targets we know about. Because this is cached, rebuilds won't
detect when new targets show up. It's also a bit simpler to just say
"all". If users want to restrict the target set, they can still do so,
and then the cache will preserve what they have explicitly set this
field to.

llvm-svn: 146467
2011-12-13 02:19:11 +00:00
Tony Linthicum
61adbf8dc5 Hexagon backend support
llvm-svn: 146412
2011-12-12 21:14:40 +00:00
NAKAMURA Takumi
e13f84af78 llvm/CMakeLists.txt: Fix LLVM_LIT_TOOLS_DIR since r143728. Cygwin does not need optional tools dir. MSVC and mingw may need one.
llvm-svn: 146339
2011-12-11 03:07:53 +00:00
Daniel Dunbar
3c06b26f09 llvm-config: Replace with C++ version (was llvm-config-2).
- Another reapply of r144300, with hopefully one last fix.

llvm-svn: 145623
2011-12-01 20:18:09 +00:00
Duncan Sands
84beef543d Revert commit 145449 (ddunbar) since it is breaking the dragonegg buildbots.
Original commit message:
llvm-config: Replace with C++ version (was llvm-config-2).
 - Reapply of r144300, with lots of fixes/migration easement in between.

llvm-svn: 145582
2011-12-01 10:50:19 +00:00
Daniel Dunbar
7dcd93d4fa llvm-config: Replace with C++ version (was llvm-config-2).
- Reapply of r144300, with lots of fixes/migration easement in between.

llvm-svn: 145449
2011-11-29 22:56:31 +00:00
Daniel Dunbar
745409c62f Revert r144300 "llvm-config: Replace with C++ version (was llvm-config-2).",
which didn't appear ready for prime time.

llvm-svn: 144309
2011-11-10 19:59:35 +00:00
Daniel Dunbar
e9f2479115 llvm-config: Replace with C++ version (was llvm-config-2).
llvm-svn: 144300
2011-11-10 18:49:59 +00:00
Daniel Dunbar
138437ad27 build/Make & CMake: Pass the appropriate --native-target and --enable-targets
options to llvm-build, so the all-targets etc. components are defined properly.

llvm-svn: 144255
2011-11-10 01:16:48 +00:00
Chandler Carruth
7b09da38b4 CMake should join the party in a post 3.0 world. ;] This brings CMake's
version in-line with the configure-based version.

llvm-svn: 143834
2011-11-05 21:18:59 +00:00
Daniel Dunbar
ec9fef8dfd build/cmake: Enable initial llvm-build integration.
- Generates the llvm-config-2 LibraryDependencies.inc file.
 - Generates dependency information so that cmake will automatically reconfigure
   when LLVMBuild.txt files are changed.

llvm-svn: 143793
2011-11-05 06:30:03 +00:00
Daniel Dunbar
e57462ccc0 build/cmake: Change to require Python be available.
llvm-svn: 143742
2011-11-04 23:04:05 +00:00
Daniel Dunbar
9d4a3de49f build/cmake: Coalesce the configuration time header include fragment generation
for target definitions.

llvm-svn: 143731
2011-11-04 19:04:42 +00:00
Daniel Dunbar
76fd132711 build/cmake: Coalesce in-tree sanity checks.
llvm-svn: 143730
2011-11-04 19:04:39 +00:00
Daniel Dunbar
05f903ca81 build/cmake: Tidy up specification of build/include options for (tools, runtime,
examples, and tests).

llvm-svn: 143729
2011-11-04 19:04:37 +00:00
Daniel Dunbar
2ab4cfa33d build/cmake: Move all the user controllable options into top-level CMakeLists
for consistency.

llvm-svn: 143728
2011-11-04 19:04:35 +00:00
Daniel Dunbar
799f4bb723 build/cmake: Use tblgen macro directly instead of llvm_tablegen, which just
added a layer of indirection with no value (not even conciseness).

llvm-svn: 143727
2011-11-04 19:04:23 +00:00
Dan Gohman
892b86e74c Remove the Alpha backend.
llvm-svn: 143164
2011-10-27 22:56:32 +00:00
Dan Gohman
77125e4240 Remove the Blackfin backend.
llvm-svn: 142880
2011-10-25 00:05:42 +00:00
Dan Gohman
b54d296fd4 Remove the SystemZ backend.
llvm-svn: 142878
2011-10-24 23:48:32 +00:00
Peter Collingbourne
253c6a3690 Build system infrastructure for multiple tblgens.
llvm-svn: 141266
2011-10-06 01:51:51 +00:00
Peter Collingbourne
01246536d9 Move TableGen's parser and entry point into a library
This is the first step towards splitting LLVM and Clang's tblgen executables.

llvm-svn: 140951
2011-10-01 16:41:13 +00:00
Bruno Cardoso Lopes
6934331f4c Added the infrastructute necessary for MIPS JIT support. Patch by Vladimir
Stefanovic. I removed the part that actually emits the instructions cause
I want that to get in better shape first and in incremental steps. This
also makes it easier to review the upcoming parts.

llvm-svn: 135678
2011-07-21 16:28:51 +00:00
Oscar Fuentes
d6898d0cf5 Fix CMake build on Solaris
When building LLVM/Clang on Solaris. The generated makefiles would
have an extraneous semi-colon character in them prior to this change
due to the way the 'CMAKE_CXX_FLAGS' variable was defined. Simply
adjusting the definition by moving the current CMAKE_CXX_FLAGS value
within the quotes solves the problem.

Patch by Art Haas!

llvm-svn: 135361
2011-07-17 17:35:15 +00:00
Nick Lewycky
ea1dbad689 Rename profile_rt.so to libprofile_rt.so under configure+make (it already was
under cmake).

Add libprofile_rt.a so that we can tell clang to link against it in --coverage
mode. Also turn it on by default in cmake builds.

Oscar, this touches a change you made for EXCLUDE_FROM_ALL support -- I think
I've done the right thing, but please let me know (or fix and commit) if not!

llvm-svn: 130470
2011-04-29 02:12:06 +00:00
Nick Lewycky
6a72236e5f Add cmakefiles to build profile_rt.so!
llvm-svn: 130191
2011-04-26 05:48:41 +00:00
Chris Lattner
0304b82f80 Fix a ton of comment typos found by codespell. Patch by
Luis Felipe Strano Moraes!

llvm-svn: 129558
2011-04-15 05:18:47 +00:00
Oscar Fuentes
69c955a67e Supports building with a list of targets that does not contain
X86. Fixes PR9533.

llvm-svn: 128154
2011-03-23 17:42:13 +00:00
Oscar Fuentes
0e9aa3de87 Removed workaround for unspecified build problem on MinGW.
Tested that MinGW/MSYS builds fine without that.

llvm-svn: 128033
2011-03-21 22:53:51 +00:00
Bill Wendling
f93e7d6c17 Change the next release number to 3.0svn.
llvm-svn: 127213
2011-03-08 03:00:02 +00:00
Oscar Fuentes
55a2d6fe22 Cmake fix for option defaults not being set correctly on first run
On the first cmake run before the caches has been updated with the
default options, options defined after HandleLLVMOptions are always
treated as off inside HandleLLVMOptions.

Patch by Erik Olofsson!

llvm-svn: 126790
2011-03-01 22:31:19 +00:00
Oscar Fuentes
8b7659cfbd Install include/llvm/Support/LICENSE.TXT. PR9321.
llvm-svn: 126571
2011-02-27 13:32:50 +00:00
NAKAMURA Takumi
684e41daef CMake: Define LLVM_INCLUDE_TESTS in cmake/modules/HandleLLVMOptions.cmake. It affects testing stuff on clang-standalone build.
llvm-svn: 126107
2011-02-21 03:21:06 +00:00
Oscar Fuentes
22247bd624 Put targets on folders, if the IDE supports the feature.
Requires CMake 2.8.3 or newer.

llvm-svn: 126092
2011-02-20 22:06:10 +00:00
Oscar Fuentes
6e5d344a2e Move library stuff out of the toplevel CMakeLists.txt file.
llvm-svn: 125968
2011-02-18 22:06:14 +00:00
Oscar Fuentes
5b5316fae9 New library: LLVMX86Utils.
llvm-svn: 125786
2011-02-17 22:26:11 +00:00
Oscar Fuentes
96b319a7d0 Add current binary and source directories to the header search list
for all compiler invocations.

llvm-svn: 125513
2011-02-14 20:13:58 +00:00
Oscar Fuentes
f42fbe0c95 Moved more stuff to HandleLLVMOptions.cmake
llvm-svn: 124968
2011-02-05 19:08:42 +00:00
Oscar Fuentes
e8f760372e Moved to Clang's source tree its configuration options and associated
macros.

llvm-svn: 124824
2011-02-03 22:47:59 +00:00
Oscar Fuentes
51a072b7d8 Changes for building Clang and others using LLVM as an external
library.

Installs tblgen (required by Clang).

Translates handling of user settings and platform-dependant options to
its own file, where it can included by another project.

Installs the .cmake files required by projects like Clang.

llvm-svn: 124816
2011-02-03 20:57:36 +00:00
Oscar Fuentes
da69ba084d Handles libffi on the CMake build.
Patch by arrowdodger!

llvm-svn: 123976
2011-01-21 15:42:54 +00:00
Francois Pichet
2ce858a943 Suppress warning "switch statement contains 'default' but no 'case' labels" on MSVC.
llvm-svn: 123610
2011-01-17 02:07:17 +00:00
Oscar Fuentes
82cc1fb69c Add to the CMake build some options and platform tests supported by
the traditional build.

Patch by arrowdodger!

llvm-svn: 123233
2011-01-11 12:31:54 +00:00
Oscar Fuentes
07e2fbd31e Apply -fPIC to C sources too.
llvm-svn: 123122
2011-01-09 17:38:31 +00:00
Oscar Fuentes
184f5d0911 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.

llvm-svn: 123119
2011-01-09 14:34:39 +00:00
Oscar Fuentes
fb15f6c494 Don't use -O3 on Mingw, as people report it as unreliable. Use -O2
instead.

llvm-svn: 123028
2011-01-07 20:31:03 +00:00
Oscar Fuentes
dd676ee5b1 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.

llvm-svn: 122240
2010-12-20 09:47:13 +00:00
Michael J. Spencer
ef841c81d8 CMake: Cleanup and document MSVC warning flags.
llvm-svn: 122115
2010-12-18 00:18:58 +00:00
Michael J. Spencer
4ff8736610 CMake: Add FileUpdate to the build.
llvm-svn: 121386
2010-12-09 17:54:44 +00:00
Francois Pichet
95e129a686 Promote "enumerator in switch of enum is not handled" to level 1 warning on MSVC. It was disabled by default.
llvm-svn: 121096
2010-12-07 01:25:06 +00:00
Francois Pichet
2fac2ab94d Disable C++ exception handling on MSVC.
Total size of bin\Release on disk goes from 82.9 MB to 74.2 MB. (~10% saving)

llvm-svn: 120908
2010-12-04 14:30:22 +00:00
Michael J. Spencer
d5ec932c3a Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi
a1049dbd9a 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.

llvm-svn: 120212
2010-11-27 13:10:11 +00:00
Francois Pichet
b6059900a7 Disable warning C4291 on MSVC. Caused because class AttributeList provides a non implemented operator delete without a corresponding new.
llvm-svn: 119902
2010-11-20 15:39:03 +00:00
NAKAMURA Takumi
a9e09ea649 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.
llvm-svn: 119780
2010-11-19 03:19:18 +00:00
Wesley Peck
849367836f Make MCJIT work with CMake.
llvm-svn: 119589
2010-11-17 23:35:07 +00:00
Michael J. Spencer
23f31df887 Add LLVMObject Library.
llvm-svn: 119107
2010-11-15 03:21:41 +00:00
Oscar Fuentes
81233fbb1d Detect presence of AsmPrinter's. Remove some cruft too.
llvm-svn: 119077
2010-11-14 21:17:13 +00:00
Chris Lattner
ff3afccc6d hopefully unbreak the cmake build, patch by frits van bommel.
llvm-svn: 119069
2010-11-14 20:51:15 +00:00
Oscar Fuentes
090b3ad054 CMakeLists.txt: removed mismatched endif predicate.
llvm-svn: 119064
2010-11-14 20:15:05 +00:00
Chris Lattner
9cdb77382f hopefully fix cmake as well.
llvm-svn: 119058
2010-11-14 19:12:57 +00:00
Chris Lattner
cec3b226a4 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.

llvm-svn: 119056
2010-11-14 18:43:56 +00:00
NAKAMURA Takumi
5b3bb628fb CMake: Add the new option "LLVM_LIT_ARGS".
Defaults:
if (MSVC OR XCODE): "-sv --no-progress-bar"
else: "-sv"

llvm-svn: 118776
2010-11-11 04:09:35 +00:00
NAKAMURA Takumi
abee1c5f85 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.

llvm-svn: 117352
2010-10-26 05:08:27 +00:00
Chandler Carruth
3f16e8b729 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

llvm-svn: 116802
2010-10-19 08:21:25 +00:00
Oscar Fuentes
e596a172e3 Added basic support for CPack.
llvm-svn: 116516
2010-10-14 21:11:51 +00:00
Francois Pichet
6bf8a81c52 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.
llvm-svn: 116274
2010-10-12 00:01:36 +00:00
Michael J. Spencer
39ce18d108 Add KillTheDoctor.
llvm-svn: 116216
2010-10-11 19:55:38 +00:00
Chris Lattner
c9709f154d 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.

llvm-svn: 116190
2010-10-11 05:44:40 +00:00
Oscar Fuentes
e985061bd1 Handle InstPrinter's on the CMake build.
llvm-svn: 115402
2010-10-02 02:38:42 +00:00
Nick Lewycky
7103df7a51 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

llvm-svn: 115393
2010-10-02 01:06:42 +00:00
Jim Grosbach
469a7a27d9 Update CMake files for recent AsmPrinter->InstPrinter changes. Can someone who
is more familiar with CMake please review?

llvm-svn: 115391
2010-10-02 00:39:56 +00:00
Oscar Fuentes
748691cf20 Added library LLVMPIC16passes to CMake build.
llvm-svn: 114952
2010-09-28 14:02:45 +00:00
Oscar Fuentes
3c58c66484 Added PTX target to the CMake build.
llvm-svn: 114951
2010-09-28 14:02:36 +00:00
Oscar Fuentes
9297448bed New cmake options LLVM_INCLUDE_X (X = {TOOLS, EXAMPLES, TESTS}) for
not generating build targets for those parts of the build.

llvm-svn: 114797
2010-09-25 20:43:06 +00:00
Oscar Fuentes
40caeda472 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)

llvm-svn: 114795
2010-09-25 20:25:25 +00:00
Michael J. Spencer
3302cf4ac1 CMake: Don't include tools, unittets, or examples as available targets
unless LLVM_INCLUDE_X is ON. LLVM_BUILD_X implies LLVM_INCLUDE_X

llvm-svn: 114747
2010-09-24 19:10:51 +00:00
Michael J. Spencer
090c16fb92 CMake: Build unittests.
llvm-svn: 114725
2010-09-24 09:01:13 +00:00
Douglas Gregor
51d3d883cb Bump LLVM in CMake makefiles to 2.9
llvm-svn: 114640
2010-09-23 14:19:21 +00:00
Michael J. Spencer
90f807fda5 Revert "CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally."
This reverts commit r113632

Conflicts:

	cmake/modules/AddLLVM.cmake

llvm-svn: 113819
2010-09-13 23:59:48 +00:00
Michael J. Spencer
af30c48d99 CMake: Add llvm-lit to CMake build.
llvm-svn: 113762
2010-09-13 17:52:38 +00:00
Michael J. Spencer
60e98e663a CMake: Fix mingw32 build.
llvm-svn: 113676
2010-09-11 02:13:39 +00:00
Michael J. Spencer
98ad3f2ea7 CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
llvm-svn: 113632
2010-09-10 21:14:25 +00:00
Chandler Carruth
eddd738031 Attempt to remove the MSIL backend from CMake as well based on Chris's r112375.
llvm-svn: 112464
2010-08-30 07:25:54 +00:00
Oscar Fuentes
d45ea50baa 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.

llvm-svn: 110560
2010-08-09 03:26:43 +00:00
Oscar Fuentes
86529ccfff 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.

llvm-svn: 110296
2010-08-05 01:25:48 +00:00
Oscar Fuentes
059ece6905 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.

llvm-svn: 110121
2010-08-03 17:28:09 +00:00
Oscar Fuentes
f7877443fa Bump cmake_minimum_required to version 2.8
llvm-svn: 110110
2010-08-03 15:07:17 +00:00
Oscar Fuentes
385fb0166a Lets the CMake GUI show a list of possible values for LLVM_USE_CRT
Patch by nobled!

llvm-svn: 110057
2010-08-02 19:00:34 +00:00
Chris Lattner
1ac58ea0f3 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.

llvm-svn: 108869
2010-07-20 18:25:19 +00:00
Daniel Dunbar
20281ec272 Fix LLVM CMake PACKAGE_VERSION variable.
llvm-svn: 106861
2010-06-25 16:29:14 +00:00
Oscar Fuentes
294c226be4 CMake: Add options for using static runtime on MSVC++ build.
Patch by Victor Zverovich!

llvm-svn: 98821
2010-03-18 13:52:05 +00:00
Wesley Peck
299e815510 Adding MBlaze to cmake target list.
llvm-svn: 97806
2010-03-05 15:15:55 +00:00
Daniel Dunbar
ccf1e38020 CMake: Add MCParser directory.
llvm-svn: 94135
2010-01-22 02:04:33 +00:00
Douglas Gregor
57be824b19 Fix CMake build for InstCombine changes
llvm-svn: 92519
2010-01-04 21:58:55 +00:00
Daniel Dunbar
d7bfe3a398 Don't default warnings to ON on MSVC, the spew is enough to triple the build time. :/
llvm-svn: 90251
2009-12-01 19:11:36 +00:00
Tobias Grosser
840de36ec2 Fix copy paste bug
llvm-svn: 90220
2009-12-01 08:43:33 +00:00
Oscar Fuentes
d34503f4a0 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!

llvm-svn: 90188
2009-12-01 02:21:51 +00:00
Oscar Fuentes
804fe4f685 * CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.
llvm-svn: 90170
2009-11-30 23:50:14 +00:00
Daniel Dunbar
b3a0b9b025 Add CMake and configure logic to create llvm/Config/Disassemblers.defs.
llvm-svn: 89839
2009-11-25 04:30:13 +00:00
Oscar Fuentes
6cbe196ddc CMake: generate targets for tools and examples even when
LLVM_BUILD_TOOLS or LLVM_BUILD_EXAMPLES are OFF.

llvm-svn: 89635
2009-11-23 00:21:43 +00:00
Daniel Dunbar
8b7b923ac6 Turn LLVM_BUILD_EXAMPLES off by default in CMake builds, to match Makefiles &
Clang.

llvm-svn: 89211
2009-11-18 17:42:22 +00:00
Oscar Fuentes
c15d72f14b CMake: Hopefully unbreak the build by mimicking the changes on the
other build system about the new C_INCLUDE_DIRS configure option.

llvm-svn: 86960
2009-11-12 06:48:09 +00:00
Daniel Dunbar
c41ee3a43d Prevent warning spew about -fPIC when using CMake generated Xcode project files.
llvm-svn: 86427
2009-11-08 00:34:22 +00:00
Oscar Fuentes
8072b6dafe CMake: install .def files from source `include/llvm' directory.
llvm-svn: 85587
2009-10-30 11:42:08 +00:00
Oscar Fuentes
5e0b3e4973 CMake: Install .inc files too.
llvm-svn: 85285
2009-10-27 20:04:22 +00:00
Oscar Fuentes
9f52db1419 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!

llvm-svn: 85282
2009-10-27 19:57:29 +00:00
Edward O'Callaghan
af49208035 Fix LLVM CMake build system so that it may now work on Solaris and AuroraUX.
llvm-svn: 83819
2009-10-12 04:00:11 +00:00
Chris Lattner
1aa661ce46 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").

llvm-svn: 83288
2009-10-05 02:29:51 +00:00
Daniel Dunbar
15437d0bd2 Add count/not tools as executables.
- Apparently, I'm willing to do incredibly stupid things in the name of portability.

llvm-svn: 82685
2009-09-24 06:23:57 +00:00
Daniel Dunbar
5b14b53729 Initial support for running LLVM tests from cmake.
llvm-svn: 82534
2009-09-22 07:38:44 +00:00
Daniel Dunbar
076bf0d011 CMake: Fix definition of LTDL_SHLIB_EXT for Darwin.
llvm-svn: 82530
2009-09-22 06:09:37 +00:00
Oscar Fuentes
8edea46b44 CMake: New user-settable variable LLVM_TARGET_ARCH useful when
cross-compiling.

Patch by Xerxes Rånby!

llvm-svn: 81722
2009-09-13 22:18:38 +00:00
Gabor Greif
c243e77bde revert r78628 and r78803 as these are not needed any more
llvm-svn: 80048
2009-08-25 23:02:21 +00:00
Douglas Gregor
5125b4bacd TOT is 2.7svn for CMake, too
llvm-svn: 79730
2009-08-22 06:30:31 +00:00
Oscar Fuentes
896c999947 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.

llvm-svn: 79339
2009-08-18 15:29:35 +00:00
Oscar Fuentes
5c90c2282e CMake: Removed traces of obsolete variable LLVM_PLO_FLAGS.
llvm-svn: 79204
2009-08-16 21:01:16 +00:00
Oscar Fuentes
3ccb434b2f CMake: New option LLVM_BUILD_TOOLS. Renamed LLVM_EXAMPLES to
LLVM_BUILD_EXAMPLES and set default to true. Documented.

llvm-svn: 79203
2009-08-16 20:56:30 +00:00
Oscar Fuentes
3e0998e270 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.

llvm-svn: 79180
2009-08-16 07:44:02 +00:00
Oscar Fuentes
5608fb2893 CMake: Revert r79144. It reverted a change necessary for correct
parallel builds.

llvm-svn: 79177
2009-08-16 05:16:43 +00:00
Benjamin Kramer
399272ce96 Revert 78996. It was breaking MSVC builds.
llvm-svn: 79144
2009-08-15 21:57:01 +00:00
Oscar Fuentes
a0aff350cf 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.

llvm-svn: 78996
2009-08-14 05:17:24 +00:00
Oscar Fuentes
7b3363e869 CMake: Corrected indentation on a block of code.
llvm-svn: 78992
2009-08-14 04:55:21 +00:00
Gabor Greif
c81cd5ffca here comes the CMAKE part on LLVM_COMPACT_SENTINELS; see also r78628 and r78661
llvm-svn: 78803
2009-08-12 08:37:37 +00:00
Oscar Fuentes
cd0825dcd1 CMake: Localized dependency on Perl.
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes
9006c48e28 CMake: Do not install files with .tmp suffix.
llvm-svn: 78769
2009-08-12 01:37:33 +00:00
Oscar Fuentes
9c8634650a CMake: Re-enabled build of llvm-config. Removed recursive invocation
of cmake.

llvm-svn: 78768
2009-08-12 01:36:27 +00:00
Jakob Stoklund Olesen
21c2ffc12d Build Blackfin target with autoconf and cmake.
Note that configure was edited by hand. Will somebody with the correct version of autoconf please regenerate?

llvm-svn: 77898
2009-08-02 17:32:37 +00:00
Dan Gohman
62c8b40b66 Remove the IA-64 backend.
llvm-svn: 76920
2009-07-24 00:30:09 +00:00
Douglas Gregor
d94fbfccea Build FileCheck from with CMake
llvm-svn: 76449
2009-07-20 18:30:25 +00:00
Daniel Dunbar
e1a18819f7 CMake support for SystemZ.
llvm-svn: 76384
2009-07-20 00:24:17 +00:00
Daniel Dunbar
e76ad11a25 MSVC: Disable 4351, a completely useless warning: "warning: I'm not miscompiling
this". Um, ok, thanks!

llvm-svn: 76355
2009-07-19 01:35:10 +00:00
Daniel Dunbar
de011196a4 Sketch support for target specific assembly parser.
- Not fully enabled yet, need a configure regeneration.

llvm-svn: 76230
2009-07-17 20:42:00 +00:00
Daniel Dunbar
cf7cd54d69 Kill off cmake magic to force linking.
- This isn't needed anymore, we require clients to call the appropriate
   initialization routines using TargetSelect.h.

llvm-svn: 75871
2009-07-16 00:35:05 +00:00
Daniel Dunbar
dbeda6179e Add TargetInfo directories to CMake's list.
llvm-svn: 75752
2009-07-15 07:04:27 +00:00
Oscar Fuentes
dd0e3f0ab5 CMake: Refuses to work for out-of-source builds when tablegenned files
are found mixed with the sources. Fixes PR 4522.

llvm-svn: 75522
2009-07-13 21:58:44 +00:00
Richard Pennington
6cfce9d61d bug 4524: Add MSP430 to the cmake build.
llvm-svn: 75170
2009-07-09 20:27:09 +00:00
Oscar Fuentes
d69f7a8a42 CMake: Fixes previous change: CMAKE_BUILD_TYPE is unknown when
generating project files for MSVC.

llvm-svn: 74809
2009-07-05 23:58:20 +00:00
Oscar Fuentes
006ed56a3b CMake: Avoids defining _DEBUG on MSVC Release builds. Fixes PR 4379.
llvm-svn: 74794
2009-07-05 18:43:52 +00:00
Daniel Dunbar
323218db15 Start flushing out MCContext.
- Lives inside new library lib/MC (LLVMMC.a)

llvm-svn: 74013
2009-06-23 22:01:43 +00:00
Douglas Gregor
28a3a15808 CMake: remove support for llvm-config-generated dependencies in the build
llvm-svn: 73979
2009-06-23 18:30:17 +00:00
Douglas Gregor
3ca1e68417 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.

llvm-svn: 73969
2009-06-23 17:57:35 +00:00
Douglas Gregor
0e78e242d7 CMake: Only include LLVM example executables in the build if requested by the user
llvm-svn: 73566
2009-06-16 22:25:45 +00:00
Douglas Gregor
f5291553f2 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.

llvm-svn: 73543
2009-06-16 20:12:29 +00:00
Oscar Fuentes
9f16ef410d CMake: New variable LLVM_LIBDIR_SUFFIX.
Patch by Ingmar Vanhassel!

llvm-svn: 73216
2009-06-12 02:49:53 +00:00
Oscar Fuentes
cfe2266e89 CMake: Fixed parallel build problem related to native tblgen when
cross-compiling.

llvm-svn: 73180
2009-06-11 04:16:10 +00:00
Stefanus Du Toit
ddb6f7e10b Allow setting the C runtime to be used with MSVC from cmake.
Patch by Tareq Siraj.

llvm-svn: 73084
2009-06-08 21:18:31 +00:00
Douglas Gregor
472479c173 More portability checks for CMake's config.h.
llvm-svn: 72975
2009-06-05 23:46:34 +00:00