Commit Graph

295 Commits

Author SHA1 Message Date
Oscar Fuentes ae1b988a6b 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 f4202ba475 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 6495595382 Handles libffi on the CMake build.
Patch by arrowdodger!

llvm-svn: 123976
2011-01-21 15:42:54 +00:00
Francois Pichet 7cade2cd2f 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 c8cb58e130 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 45539edad2 Apply -fPIC to C sources too.
llvm-svn: 123122
2011-01-09 17:38:31 +00:00
Oscar Fuentes edfc184222 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 9bf259581c 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 7064035998 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 8c8125d74f CMake: Cleanup and document MSVC warning flags.
llvm-svn: 122115
2010-12-18 00:18:58 +00:00
Michael J. Spencer 01639a4c72 CMake: Add FileUpdate to the build.
llvm-svn: 121386
2010-12-09 17:54:44 +00:00
Francois Pichet 7ce1c1eaa3 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 82f3b5f945 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 447762da85 Merge System into Support.
llvm-svn: 120298
2010-11-29 18:16:10 +00:00
NAKAMURA Takumi f80507c28c 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 4fd9b685ff 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 148b62cca9 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 eef03fb444 Make MCJIT work with CMake.
llvm-svn: 119589
2010-11-17 23:35:07 +00:00
Michael J. Spencer fe5ee80268 Add LLVMObject Library.
llvm-svn: 119107
2010-11-15 03:21:41 +00:00
Oscar Fuentes edf0a1d55e Detect presence of AsmPrinter's. Remove some cruft too.
llvm-svn: 119077
2010-11-14 21:17:13 +00:00
Chris Lattner 7c4dfc28ce hopefully unbreak the cmake build, patch by frits van bommel.
llvm-svn: 119069
2010-11-14 20:51:15 +00:00
Oscar Fuentes 4d39cc4a62 CMakeLists.txt: removed mismatched endif predicate.
llvm-svn: 119064
2010-11-14 20:15:05 +00:00
Chris Lattner a4113464f3 hopefully fix cmake as well.
llvm-svn: 119058
2010-11-14 19:12:57 +00:00
Chris Lattner 66031ed839 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 f791007e81 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 4bb599cf7d 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 ffae4a66fa 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 49f72b635e Added basic support for CPack.
llvm-svn: 116516
2010-10-14 21:11:51 +00:00
Francois Pichet c56f5b93c5 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 279362dd5a Add KillTheDoctor.
llvm-svn: 116216
2010-10-11 19:55:38 +00:00
Chris Lattner 1ef5e84c31 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 bd7627605f Handle InstPrinter's on the CMake build.
llvm-svn: 115402
2010-10-02 02:38:42 +00:00
Nick Lewycky c18b735552 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 aaf9c32d9f 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 0fcb8c688d Added library LLVMPIC16passes to CMake build.
llvm-svn: 114952
2010-09-28 14:02:45 +00:00
Oscar Fuentes b35856e338 Added PTX target to the CMake build.
llvm-svn: 114951
2010-09-28 14:02:36 +00:00
Oscar Fuentes bf03084532 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 46d8a93005 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 e35a611aa5 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 10d274d874 CMake: Build unittests.
llvm-svn: 114725
2010-09-24 09:01:13 +00:00
Douglas Gregor 381f98e499 Bump LLVM in CMake makefiles to 2.9
llvm-svn: 114640
2010-09-23 14:19:21 +00:00
Michael J. Spencer 93c9b2ea93 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 885611b42b CMake: Add llvm-lit to CMake build.
llvm-svn: 113762
2010-09-13 17:52:38 +00:00
Michael J. Spencer 7c3a5ee996 CMake: Fix mingw32 build.
llvm-svn: 113676
2010-09-11 02:13:39 +00:00
Michael J. Spencer dc38d36ccb CMake: Get rid of LLVMLibDeps.cmake and export the libraries normally.
llvm-svn: 113632
2010-09-10 21:14:25 +00:00
Chandler Carruth 1ddaacebf6 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 a389c58598 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 396cc7d477 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 052c23cd2f 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 758f71af11 Bump cmake_minimum_required to version 2.8
llvm-svn: 110110
2010-08-03 15:07:17 +00:00
Oscar Fuentes 30644950d6 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 979634bbb0 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 1dc887cf3b Fix LLVM CMake PACKAGE_VERSION variable.
llvm-svn: 106861
2010-06-25 16:29:14 +00:00
Oscar Fuentes e5ca63acc8 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 b0578bf0c3 Adding MBlaze to cmake target list.
llvm-svn: 97806
2010-03-05 15:15:55 +00:00
Daniel Dunbar 4dcd3b20ca CMake: Add MCParser directory.
llvm-svn: 94135
2010-01-22 02:04:33 +00:00
Douglas Gregor 5b88b8a365 Fix CMake build for InstCombine changes
llvm-svn: 92519
2010-01-04 21:58:55 +00:00
Daniel Dunbar 04433fe3e1 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 8b8a5b22cb Fix copy paste bug
llvm-svn: 90220
2009-12-01 08:43:33 +00:00
Oscar Fuentes 5c600b5435 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 cc71783b32 * CMakeLists.txt: Adds warnings flags for g++. Fixes PR 5647.
llvm-svn: 90170
2009-11-30 23:50:14 +00:00
Daniel Dunbar f472129722 Add CMake and configure logic to create llvm/Config/Disassemblers.defs.
llvm-svn: 89839
2009-11-25 04:30:13 +00:00
Oscar Fuentes 0c2443a28d 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 06d8c2427a 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 700205c49f 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 3908a4047e 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 15716f6e26 CMake: install .def files from source `include/llvm' directory.
llvm-svn: 85587
2009-10-30 11:42:08 +00:00
Oscar Fuentes 08875d1dda CMake: Install .inc files too.
llvm-svn: 85285
2009-10-27 20:04:22 +00:00
Oscar Fuentes 6997c643c6 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 396ed2bcaa 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 cb08fb7b83 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 00dd448cff 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 28830b39b4 Initial support for running LLVM tests from cmake.
llvm-svn: 82534
2009-09-22 07:38:44 +00:00
Daniel Dunbar 6ce1ab1c64 CMake: Fix definition of LTDL_SHLIB_EXT for Darwin.
llvm-svn: 82530
2009-09-22 06:09:37 +00:00
Oscar Fuentes b9a781373c 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 b63ea31817 revert r78628 and r78803 as these are not needed any more
llvm-svn: 80048
2009-08-25 23:02:21 +00:00
Douglas Gregor cd44daddf6 TOT is 2.7svn for CMake, too
llvm-svn: 79730
2009-08-22 06:30:31 +00:00
Oscar Fuentes 6d61f558ac 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 a127f4e010 CMake: Removed traces of obsolete variable LLVM_PLO_FLAGS.
llvm-svn: 79204
2009-08-16 21:01:16 +00:00
Oscar Fuentes acfd9ad43d 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 9496a6d7ef 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 8160d28712 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 42f3b9d02d Revert 78996. It was breaking MSVC builds.
llvm-svn: 79144
2009-08-15 21:57:01 +00:00
Oscar Fuentes 5717a72863 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 7a87d6694e CMake: Corrected indentation on a block of code.
llvm-svn: 78992
2009-08-14 04:55:21 +00:00
Gabor Greif 27c7a9dfcd 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 06eef1c2fe CMake: Localized dependency on Perl.
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes fc081d6139 CMake: Do not install files with .tmp suffix.
llvm-svn: 78769
2009-08-12 01:37:33 +00:00
Oscar Fuentes c1341ea9de 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 526e803f6a 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 17151155ed Remove the IA-64 backend.
llvm-svn: 76920
2009-07-24 00:30:09 +00:00
Douglas Gregor 289dfc5e34 Build FileCheck from with CMake
llvm-svn: 76449
2009-07-20 18:30:25 +00:00
Daniel Dunbar 88f35c870b CMake support for SystemZ.
llvm-svn: 76384
2009-07-20 00:24:17 +00:00
Daniel Dunbar acd56a0902 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 71475775b9 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 e0daf0ca9e 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 b3ec48892d Add TargetInfo directories to CMake's list.
llvm-svn: 75752
2009-07-15 07:04:27 +00:00
Oscar Fuentes 304396a8c3 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 9f3bd4a728 bug 4524: Add MSP430 to the cmake build.
llvm-svn: 75170
2009-07-09 20:27:09 +00:00
Oscar Fuentes c296b89d51 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 5674531255 CMake: Avoids defining _DEBUG on MSVC Release builds. Fixes PR 4379.
llvm-svn: 74794
2009-07-05 18:43:52 +00:00
Daniel Dunbar ca29e4d7f4 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 e324ceeced CMake: remove support for llvm-config-generated dependencies in the build
llvm-svn: 73979
2009-06-23 18:30:17 +00:00
Douglas Gregor 85fedbe081 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 32f546b77e 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 1b731d5dbe 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 46fed3b475 CMake: New variable LLVM_LIBDIR_SUFFIX.
Patch by Ingmar Vanhassel!

llvm-svn: 73216
2009-06-12 02:49:53 +00:00
Oscar Fuentes caa7a94f66 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 6b602adcbe 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 5f11afc442 More portability checks for CMake's config.h.
llvm-svn: 72975
2009-06-05 23:46:34 +00:00
Douglas Gregor 5c273ce20e CMake: Use explicit dependencies for Xcode (as well as MSVC), to make
the CMake-generated Xcode project build properly.

llvm-svn: 72883
2009-06-04 19:53:37 +00:00
Oscar Fuentes 208a87314b 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.

llvm-svn: 72864
2009-06-04 09:26:16 +00:00
Oscar Fuentes 6133813eb4 CMake: Implements and documents option LLVM_ENABLE_ASSERTS.
llvm-svn: 72774
2009-06-03 15:11:25 +00:00
Oscar Fuentes fff33a3cdf CMake: Added notes pointing to the LLVM CMake documentation.
llvm-svn: 68429
2009-04-04 22:52:02 +00:00
Oscar Fuentes bda403b4c8 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.

llvm-svn: 68428
2009-04-04 22:41:07 +00:00
Sebastian Redl 8d5baa09f8 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.

llvm-svn: 67347
2009-03-19 23:26:52 +00:00
Oscar Fuentes afbe97542f CMake: auto-discover project files under the projects/ subdirectory.
Patch by Viktar Zviarovich!

llvm-svn: 66230
2009-03-06 01:16:52 +00:00
Chris Lattner ff2d99d94b Enable PACKAGE_VERSION in cmake builds, this unbreaks the clang build with cmake.
Patch by Piotr Rak!

llvm-svn: 63213
2009-01-28 17:49:03 +00:00
Oscar Fuentes 073b0b12a5 CMake: Option for building with -fPIC.
llvm-svn: 59739
2008-11-20 19:13:51 +00:00
Oscar Fuentes 325814957e CMake: Support for building 32 bits shared libraries on 64 bits GNU
systems. BUILD_32_BITS option renamed to LLVM_BUILD_32_BITS.

llvm-svn: 59568
2008-11-19 00:10:39 +00:00
Oscar Fuentes 366fbb79f5 CMake: Option for enabling/disabling threads.
llvm-svn: 59565
2008-11-18 23:45:21 +00:00
Oscar Fuentes b5b8bd85fd CMake: Forces linking of the rest of architecture targets and its
respective asm printers on MSVC.

Based on a patch by Scott Graham.

llvm-svn: 59379
2008-11-15 22:51:03 +00:00
Oscar Fuentes 7e17369255 CMake: Removed some cruft.
llvm-svn: 59376
2008-11-15 20:51:18 +00:00
Oscar Fuentes dc8d56e76e CMake: Moved generation of Intrinsics.gen to
include/llvm/CMakeLists.txt. Does it with the `tablegen' cmake macro.

llvm-svn: 59342
2008-11-15 00:24:38 +00:00
Oscar Fuentes 070114fd79 CMake: Use LLVM_MAIN_SRC_DIR instead of CMAKE_SOURCE_DIR, for
consistency.

Patch by Kevin Andre!

llvm-svn: 59326
2008-11-14 22:21:02 +00:00
Oscar Fuentes a5f835622d CMake: Disallow in-source builds except when building with the Visual
Studio IDE. CMake would overwrite the makefiles distributed with LLVM.

llvm-svn: 59292
2008-11-14 03:43:18 +00:00
Oscar Fuentes 9530edd1f4 CMake: Builds a native tblgen when cross-compiling and the user didn't
set LLVM_TABLEGEN.

llvm-svn: 58953
2008-11-10 02:35:55 +00:00
Oscar Fuentes e9edc2cd15 CMake: Implement magic word `all' for selecting all targets. Check
that specified targets are known.

llvm-svn: 58951
2008-11-10 01:47:07 +00:00
Oscar Fuentes e352ca077c CMake: Non-working code for auto-building the native tblgen util when
cross-compiling.

llvm-svn: 58950
2008-11-10 01:32:14 +00:00
Oscar Fuentes b45a43aec4 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.

llvm-svn: 58939
2008-11-09 18:53:19 +00:00
Richard Osborne 7b2eae9bdd Add XCore backend to CMake build.
llvm-svn: 58843
2008-11-07 12:37:45 +00:00
Oscar Fuentes 7751a7b78d CMake: Support for building 32 bit mode libs and binaries on
Linux/x86-64.

llvm-svn: 58677
2008-11-04 03:27:24 +00:00
Cedric Venet 6c9f3ec66c 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.

llvm-svn: 58461
2008-10-30 21:22:00 +00:00
Oscar Fuentes 50af02391b CMake: Reverted some unintentional changes on the previous commit.
llvm-svn: 58435
2008-10-30 17:21:37 +00:00
Oscar Fuentes 876aa17142 CMake: Cygwin pretends to be Unix.
Patch by Jay Foad.

llvm-svn: 58434
2008-10-30 17:15:54 +00:00
Oscar Fuentes 2500aaebdd CMake: Removed some cruft.
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Oscar Fuentes ca0b988a21 CMake: Removed unnecessary macro definitions. They are defined in
config.h

llvm-svn: 58177
2008-10-26 00:50:03 +00:00
Oscar Fuentes 24617b7152 CMake: Directed bug reports to llvmbugs.
llvm-svn: 58134
2008-10-25 03:49:35 +00:00
Oscar Fuentes a9ac909248 CMake: MSVC++ no longer uses a special configuration method.
llvm-svn: 58132
2008-10-25 03:29:36 +00:00
Oscar Fuentes 64c996271e CMake: `make install' for libraries, executables and header files.
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Dan Gohman ca0546facc 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.

llvm-svn: 57663
2008-10-17 01:33:43 +00:00
Oscar Fuentes cdc95498f5 CMake: Builds all targets.
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes 24b43007d1 CMake: Disabled some warnings for MSVC.
llvm-svn: 56565
2008-09-24 19:27:54 +00:00
Oscar Fuentes 8807bddf08 CMake build system: support for parallel builds.
llvm-svn: 56453
2008-09-22 18:21:51 +00:00
Oscar Fuentes a229b3c9a7 Initial support for the CMake build system.
llvm-svn: 56419
2008-09-22 01:08:49 +00:00