1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-30 07:22:55 +01:00
Commit Graph

613 Commits

Author SHA1 Message Date
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
7160458b8e Fix whitespace.
llvm-svn: 114724
2010-09-24 09:00:56 +00:00
Oscar Fuentes
2a81c4abe0 cmake: test for the presence of fenv.h
llvm-svn: 114205
2010-09-17 20:30:48 +00:00
Oscar Fuentes
37061461b3 Updated LLVMLibDeps.cmake
llvm-svn: 114143
2010-09-17 00:43:53 +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
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
Michael J. Spencer
a72466bbca CMake: Use the svn revision information from git-svn if available.
llvm-svn: 113405
2010-09-08 20:49:40 +00:00
Oscar Fuentes
b2a1074fdf Fix cmake build without native target selected.
The cmake (+ MSVC) build is broken if you don't select your native
target.

e.g. 'cmake -D LLVM_TARGETS_TO_BUILD="MyNonNativeTarget" .'

This is because cmake currently sets the LLVM_NATIVE_* definitions
regardless of whether the native target is selected (causing build
errors).

Patch by Mike Gist!

llvm-svn: 112946
2010-09-03 02:22:23 +00:00
Eric Christopher
da5541e56d Fix LLVM target initialization to deal with sociopathic outside projects
that like to randomly define things like "X86", regenerate autoconf bits
and update cmake.

Fixes PR7852.

Patch by Xerxes Rånby!

llvm-svn: 112499
2010-08-30 18:34:48 +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
10d63be9fe Updated CMake library dependencies. Removed unnecessary component name
from llvm-link/CMakeLists.txt

llvm-svn: 112153
2010-08-26 02:29:53 +00:00
Oscar Fuentes
f5fe003dce Updated LLVMLibDeps.cmake
llvm-svn: 111112
2010-08-15 22:14:42 +00:00
Oscar Fuentes
ee14ce612a Updated the GenLibDeps -> LLVMLibDeps.cmake transformation example.
llvm-svn: 111104
2010-08-15 15:08:27 +00:00
Oscar Fuentes
e546bc4ea0 CMake: corrections on LLVM.cmake external services.
llvm-svn: 110763
2010-08-11 00:51:32 +00:00
Oscar Fuentes
c37bd692ce Update cmake library dependencies.
llvm-svn: 110594
2010-08-09 20:33:20 +00:00
Oscar Fuentes
fa75af0f2a CMake: llvm_map_components_to_libraries now returns system libs too.
llvm-svn: 110563
2010-08-09 03:47:11 +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
38ae8f5381 CMake: set configure macro LLVM_PREFIX
llvm-svn: 110536
2010-08-08 04:32:21 +00:00
Oscar Fuentes
8a58d72172 CMake: configure header llvm-config.h
This is the cmake equivalent of r110532, which fixed bug #7809.

llvm-svn: 110535
2010-08-08 04:17:18 +00:00
Oscar Fuentes
d2900140df When building from git, add ref-id to PACKAGE_VERSION
llvm-svn: 110301
2010-08-05 02:22:51 +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
7186be986b CMake: Change somme target library names:
XCore->XCoreGen
PIC16->PIC16CodeGen

After updating your working copy, the first build will fail because it
is using the old library dependencies. Start the build again and it
will work fine.

llvm-svn: 110127
2010-08-03 17:40:31 +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
Daniel Dunbar
3dd4738933 build: Add LLVM_NATIVE_ARCHNAME, which has the sensible value, without "Target"
appended.

llvm-svn: 110109
2010-08-03 14:26:17 +00:00
Oscar Fuentes
38529c57b6 Improve discrimination of unknown libraries from ignored targets on
LLVMConfig.

llvm-svn: 110065
2010-08-02 21:24:12 +00:00
Oscar Fuentes
cd9be9a914 explicit_map_components_to_libraries now does not complain when there
is a dependence on an LLVM target that is not included on the build.

When LLVM_TARGETS_TO_BUILD didn't include all the targets, the
function emitted an error like

"Library LLVMArmParser not found in list of llvm libraries."

llvm-svn: 110060
2010-08-02 20:48:01 +00:00
Oscar Fuentes
555c1105a5 Updated LLVMLibDeps.cmake.
llvm-svn: 110055
2010-08-02 18:36:53 +00:00
Oscar Fuentes
4742c01c2a Prefix next' iterator operation with llvm::'.
Fixes potential ambiguity problems on VS 2010.

Patch by nobled!

llvm-svn: 110029
2010-08-02 06:00:15 +00:00
Nick Lewycky
4d160cb75c Don't link against libm and libpthread which don't exist in BeOS/Haiku. Also,
Haiku like Linux provides <regex.h>, so use it. Patch by Paul Davey!

llvm-svn: 106620
2010-06-23 06:48:34 +00:00
Douglas Gregor
5d2a26361d Allow absolute paths in LLVM_TARGET_DEFINITIONS for CMake's TableGen rule
llvm-svn: 106219
2010-06-17 15:17:07 +00:00
Jeffrey Yasskin
f468a14fb1 Tell Valgrind when we modify already-executed machine code so it knows
to re-instrument the code.  We depend on the system valgrind.h to
avoid adding a new license.

llvm-svn: 98529
2010-03-15 04:57:55 +00:00
Daniel Dunbar
479c1ef816 Update CMake LibDeps
llvm-svn: 94185
2010-01-22 18:14:14 +00:00
Daniel Dunbar
045966d7bf Update CMake LibDeps
llvm-svn: 92540
2010-01-04 23:17:24 +00:00
Douglas Gregor
57be824b19 Fix CMake build for InstCombine changes
llvm-svn: 92519
2010-01-04 21:58:55 +00:00
Daniel Dunbar
4212bb197b CMake: Update lib deps.
llvm-svn: 91786
2009-12-19 21:27:30 +00:00
Sean Callanan
18fa59f381 Table-driven disassembler for the X86 architecture (16-, 32-, and 64-bit
incarnations), integrated into the MC framework.  

The disassembler is table-driven, using a custom TableGen backend to 
generate hierarchical tables optimized for fast decode.  The disassembler 
consumes MemoryObjects and produces arrays of MCInsts, adhering to the 
abstract base class MCDisassembler (llvm/MC/MCDisassembler.h).

The disassembler is documented in detail in

- lib/Target/X86/Disassembler/X86Disassembler.cpp (disassembler runtime)
- utils/TableGen/DisassemblerEmitter.cpp (table emitter)

You can test the disassembler by running llvm-mc -disassemble for i386
or x86_64 targets.  Please let me know if you encounter any problems
with it.

llvm-svn: 91749
2009-12-19 02:59:52 +00:00
Oscar Fuentes
e1f5d048d7 CheckAtomic.cmake: Put all C++ code inside CHECK_CXX_SOURCE_COMPILES.
llvm-svn: 90685
2009-12-06 00:06:33 +00:00
Oscar Fuentes
ec99766e2e Fix for atomic intrinsics detection when using MSVC.
Patch by Michael Beck!

llvm-svn: 90683
2009-12-05 23:19:33 +00:00
Oscar Fuentes
731f4b47f8 * cmake/modules/LLVMLibDeps.cmake: Updated library dependencies.
llvm-svn: 90169
2009-11-30 23:48:51 +00:00
Daniel Dunbar
7f52922e77 Add the rest of the build system logic for optional target disassemblers
llvm-svn: 89841
2009-11-25 04:46:58 +00:00
Oscar Fuentes
a24207aad2 CMake: Updated library dependencies.
llvm-svn: 89637
2009-11-23 00:40:39 +00:00
Oscar Fuentes
cc71a4aee8 CMake: Do not try to install a target before it is defined.
llvm-svn: 89636
2009-11-23 00:32:42 +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
Oscar Fuentes
88c6014eb8 Use CMAKE_DL_LIBS instead of raw library name. Fixes bug 5536.
Patch by Tobias Grosser!

llvm-svn: 89406
2009-11-19 23:21:43 +00:00
Oscar Fuentes
27c9bbc709 CMake: Pass -lm to check_symbol_exists for detecting several math
functions like floorf, ceilf, ... Add test for detecting nearbyintf.

This change was prompted by test/Transforms/SimplifyLibCalls/floor.ll

llvm-svn: 86954
2009-11-12 05:36:09 +00:00
Douglas Gregor
852c7d16df CMake: Add Darwin-specific linker flags for building loadable modules
llvm-svn: 86684
2009-11-10 15:30:33 +00:00
Oscar Fuentes
ce417d0ac2 CMake: Support for building llvm loadable modules.
llvm-svn: 86656
2009-11-10 02:45:37 +00:00
Oscar Fuentes
555721d2c2 CMake: Remove unnecessary `unset' which was not supported by old cmake
releases.

llvm-svn: 86644
2009-11-10 01:45:05 +00:00
Oscar Fuentes
b05535f7c5 CMake: Detect gv, circo, twopi, neato, fdo, dot and dotty.
Patch by Arnaud Allard de Grandmaison!

llvm-svn: 86547
2009-11-09 15:26:40 +00:00
Daniel Dunbar
8e90c79da7 Fix CMake reporting of target triple.
llvm-svn: 86419
2009-11-07 23:52:27 +00:00
Daniel Dunbar
656c9bf461 Stop running get_target_triple more than we need to.
llvm-svn: 86418
2009-11-07 23:52:20 +00:00
Oscar Fuentes
a0309933c6 CMake: Detect dotty.
Patch by Arnaud Allard de Grandmaison!

llvm-svn: 86153
2009-11-05 19:03:26 +00:00
Oscar Fuentes
5866071c1e CMake: do not test for pthread and dl libraries on Windows (except
Cygwin). Fixes PR 5368.

llvm-svn: 86152
2009-11-05 18:57:56 +00:00
Oscar Fuentes
b3bc38f392 CMake: Report an error if there is an unknown .cpp file in a source
directory.

This is useful in case someone who works with the config&make build
system forgot to add a file to its CMakeLists.txt. Instead of
obtaining undefined references at link time, cmake will complain at
configure time on the first build after a svn update.

llvm-svn: 85817
2009-11-02 19:11:03 +00:00
Benjamin Kramer
0613c84aba Teach cmake that mk[sd]temp is defined in stdlib.h on some systems.
This fixes parallel build with clang on glibc platforms.

llvm-svn: 85414
2009-10-28 18:37:31 +00:00
Chandler Carruth
766362c707 Move DataTypes.h to include/llvm/System, update all users. This breaks the last
direct inclusion edge from System to Support.

llvm-svn: 85086
2009-10-26 01:35:46 +00:00
Daniel Dunbar
59d81da39c Update CMake dependencies.
llvm-svn: 85013
2009-10-24 20:32:43 +00:00
Oscar Fuentes
5bb8ed7795 Updated cmake library dependencies.
llvm-svn: 84564
2009-10-19 23:00:00 +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
Edward O'Callaghan
322db411d4 CMake misses a check for sbrk on NetBSD.
llvm-svn: 83341
2009-10-05 23:05:32 +00:00
Douglas Gregor
a3fb17c280 Teach CMake to look for bidirectional_iterator, iterator, forward_iterator, uint64_t, and u_int64_t, from Yonggang Luo
llvm-svn: 83203
2009-10-01 17:25:36 +00:00
Jeffrey Yasskin
ae5a12200c Fix a compile failure introduced by r82675 on MinGW which doesn't have
setenv().  This patch just disables the test rather than getting putenv() to
work.  Thanks to Sandeep Patel for reporting the problem.

llvm-svn: 82797
2009-09-25 21:07:20 +00:00
Daniel Dunbar
1ce602e5db Update CMake.
llvm-svn: 82097
2009-09-17 00:06:48 +00:00
Daniel Dunbar
52dc654026 Update CMake dependencies.
llvm-svn: 81758
2009-09-14 05:22:54 +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
Daniel Dunbar
16621294b7 Update lib deps.
llvm-svn: 80985
2009-09-04 05:07:44 +00:00
Oscar Fuentes
03ef83d429 CMake: updated library dependencies.
llvm-svn: 80531
2009-08-31 01:58:50 +00:00
Gabor Greif
6cd12a9f7f re-apply r80197, now that iterator.h is not mentioned any more
llvm-svn: 80254
2009-08-27 17:07:35 +00:00
Bill Wendling
5f74a3e3b9 --- Reverse-merging r80147 into '.':
A    include/llvm/ADT/iterator.cmake
U    autoconf/configure.ac
--- Reverse-merging r80161 into '.':
U    cmake/config-ix.cmake
--- Reverse-merging r80171 into '.':
U    Makefile
--- Reverse-merging r80173 into '.':
U    configure
U    include/llvm/Config/config.h.in
--- Reverse-merging r80180 into '.':
A    include/llvm/ADT/iterator.h.in

Despite common miscomceptions, iterator.h is alive and well. It broke the build
bots for several hours. And yet no one bothered to look at them.

Gabor and Doug, please review your changes and make sure that they actually
build before resubmitting them.

llvm-svn: 80197
2009-08-27 03:29:26 +00:00
Douglas Gregor
9382a11722 De-bork CMake build
llvm-svn: 80161
2009-08-26 22:12:02 +00:00
Oscar Fuentes
6bfb6249e6 Ignore -fPIC test on Windows. Suggested by Yonggang Luo.
llvm-svn: 80111
2009-08-26 17:05:06 +00:00
Daniel Dunbar
f965f98687 Remove alloca config.h support.
- I did not actually remove the configure test itself, someone who can
   regenerate configure should do this (see FIXME in autoconf/configure.ac)

llvm-svn: 79881
2009-08-24 02:14:39 +00:00
Oscar Fuentes
709a42b7eb CMake: Updated library dependencies and list of source files.
llvm-svn: 79876
2009-08-23 23:59:15 +00:00
Douglas Gregor
1e5d914bc0 CMake: Don't use copy_if_different for TableGen output, because it does not work with IDE targets
llvm-svn: 79732
2009-08-22 07:00:18 +00:00
Duncan Sands
0ecc3aff50 Fix cmake build on non-x86 targets. Patch by
Xerxes Rånby.

llvm-svn: 79419
2009-08-19 12:41:52 +00:00
Oscar Fuentes
77f96a4e2e CMake: Updated library dependencies.
llvm-svn: 79223
2009-08-17 04:23:50 +00:00
Oscar Fuentes
6c2a9c40d7 CMake: LLVMConfig assigns LLVMX86 to the `native' component
name. Updated LLVM_LINK_COMPONENTS of Kaleidoscope.

llvm-svn: 79219
2009-08-17 01:41:46 +00:00
Oscar Fuentes
3682d10c41 CMake: Discriminate MINGW, MSYS, CYGWIN: does not try to build llvm-config under mingw without msys.
llvm-svn: 79202
2009-08-16 20:50:41 +00:00
Benjamin Kramer
ebcc5c8765 Fix the MSVC build again.
llvm-svn: 79186
2009-08-16 09:44:27 +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
Richard Osborne
31f04e14f0 Move XCore AsmPrinter to XCore/AsmPrinter directory.
llvm-svn: 79094
2009-08-15 12:53:15 +00:00
Oscar Fuentes
2061d6b224 CMake: Updated library dependence info.
llvm-svn: 79038
2009-08-14 20:30:18 +00:00
Oscar Fuentes
fc64077eb6 CMake: Automatic regeneration of the library dependencies file.
It doesn't stop or reconfigure the build, though, so the user will see
a broken build that magically succeeds at the next attempt. It is
technically possible to halt the build with a helpful message, and
even to automatically restart the build using the new dependencies as
it we did when llvm-config was used by cmake for learning
dependencies. This is left on the TODO list.

llvm-svn: 79004
2009-08-14 16:59:41 +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
257a8e3311 CMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.
llvm-svn: 78990
2009-08-14 04:38:57 +00:00
Oscar Fuentes
47095d8d01 CMake: updated library dependencies.
llvm-svn: 78976
2009-08-14 01:55:28 +00:00
Oscar Fuentes
faf0b11fe1 CMake: Fixed sed script for translating library dependencies from
LibDeps.txt format to LLVMLibDeps.cmake format.

llvm-svn: 78789
2009-08-12 04:18:10 +00:00
Oscar Fuentes
cd0825dcd1 CMake: Localized dependency on Perl.
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes
d5d35d4af2 CMake: Rely on llvm_config again for obtaining the list of required
libraries for an executable.

Now LLVMConfig uses a new system for sorting library dependencies, as
the list of dependent libraries for each entry of FinalLibDeps.txt no
longer is topologically sorted.

llvm-svn: 78787
2009-08-12 04:05:26 +00:00
Oscar Fuentes
c638ec71c4 CMake: updated library dependencies.
llvm-svn: 78786
2009-08-12 03:57:26 +00:00
Oscar Fuentes
a3c1cce583 CMake: cmake/modules/LLVMLibDeps.cmake: Use unix line endings.
llvm-svn: 78785
2009-08-12 03:36:43 +00:00
Oscar Fuentes
9e0eb3529c CMake: Moved hard-coded library dependencies to its own file.
llvm-svn: 78784
2009-08-12 03:32:44 +00:00
Oscar Fuentes
9073cc3e0a CMake: target triple for MSVC on Windows 64.
llvm-svn: 78753
2009-08-12 00:04:12 +00:00
Douglas Gregor
ea200f4d3a CMake configuration: find mkdtemp, mkstemp, mktemp.
llvm-svn: 77219
2009-07-27 18:23:41 +00:00
Dan Gohman
62c8b40b66 Remove the IA-64 backend.
llvm-svn: 76920
2009-07-24 00:30:09 +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
Xerxes Ranby
d90b36055d Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
llvm-svn: 76221
2009-07-17 19:22:41 +00:00
Daniel Dunbar
845a780701 Regerate CMake library dependencies.
- Added a sed script to do this in the comments.

llvm-svn: 75872
2009-07-16 00:43:36 +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
0bfc229e3a Tweak CMake component lookup, I misunderstood what was happening here.though. :(
llvm-svn: 75757
2009-07-15 07:52:36 +00:00
Daniel Dunbar
9df1ce1251 Teach Makefiles & CMake to link in the <TARGET>Info library when linking the
TARGET component.
 - Also, updated some CMake library dependencies, it is still missing some
   though. :(

llvm-svn: 75755
2009-07-15 07:43:34 +00:00
Oscar Fuentes
d7a89664c6 CMake: tablegen: Add .td files under the inlude/llvm directory
hierarchy to the list of dependencies.

llvm-svn: 75510
2009-07-13 21:35:00 +00:00
Jeffrey Yasskin
29ea777c1e Add a portable strerror*() wrapper, llvm::sys::StrError(). This includes the
Windows variant, strerror_s, but I couldn't test that.

I'll update configure and config.h.in in a subsequent patch.

llvm-svn: 74621
2009-07-01 18:11:20 +00:00
Douglas Gregor
b861ff2cf3 Fix CMake checks for pthread_getspecific and pthread_rwlock_init, from Xerxes Ranby
llvm-svn: 74426
2009-06-29 16:25:22 +00:00
Douglas Gregor
bc78f97569 CMake: add configure checks for pthread_rwlock_init and pthread_getspecific
llvm-svn: 74284
2009-06-26 14:35:43 +00:00
Douglas Gregor
7841f61ced Add missing dependencies to the CMake build system.
llvm-svn: 74161
2009-06-25 05:03:06 +00:00
Douglas Gregor
859f3091db Reinstate target dependencies on Table_gen targets in CMake
llvm-svn: 74003
2009-06-23 21:05:21 +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
bd86dc2da3 Eliminate some unused code in CMa'e add_llvm_target. No functionality change.
llvm-svn: 73970
2009-06-23 17:58:51 +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
f3f924bfb6 Define LLVM_NATIVE_ARCH in CMake, so that lli can actually JIT
llvm-svn: 73616
2009-06-17 17:01:56 +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
Douglas Gregor
472479c173 More portability checks for CMake's config.h.
llvm-svn: 72975
2009-06-05 23:46:34 +00:00
Douglas Gregor
31439d9bde 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
Douglas Gregor
8de3150a4d Properly detect malloc_zone_statistics in CMake build system
llvm-svn: 72873
2009-06-04 17:22:52 +00:00
Oscar Fuentes
72dd52b258 CMake: Set LIBS on llvm-config so we can query the system libraries
used by CMake with --ldflags.

llvm-svn: 72470
2009-05-27 15:49:33 +00:00
Oscar Fuentes
2468ff90c0 CMake: Use libdl only when available. Fixes build on FreeBSD.
llvm-svn: 72311
2009-05-23 02:37:24 +00:00
Douglas Gregor
1ad25cdc99 termios.h contains the winsize structure we need to determine the
width of a terminal. Don't try to get the width of a terminal if we
don't have this header.

llvm-svn: 72018
2009-05-18 17:21:34 +00:00
Douglas Gregor
26745696ef Add terminal width detection to llvm::sys::Process. This is needed to
fix Clang PRs 4148 and 4183.

llvm-svn: 71448
2009-05-11 18:05:52 +00:00
Oscar Fuentes
48fa557312 CMake: Use pthread library when requested and available.
llvm-svn: 71116
2009-05-06 20:42:04 +00:00
Oscar Fuentes
bf169af79a CMake: Detects libpthread and sets HAVE_LIBPTHREAD.
llvm-svn: 71084
2009-05-06 14:40:37 +00:00
Oscar Fuentes
cccbe484b5 CMake: Added notes pointing to the LLVM CMake documentation.
llvm-svn: 68429
2009-04-04 22:52:02 +00:00
Oscar Fuentes
2da28965f6 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
Douglas Gregor
f15b4edb34 CMake: Build system fixes for XCode. llvm-config still causes us some serious trouble, but it's less serious than it used to be
llvm-svn: 67056
2009-03-16 22:53:26 +00:00
Douglas Gregor
5f2d01236e CMake: Make sure to build TableGen'd files in the binary directory
llvm-svn: 67052
2009-03-16 21:35:18 +00:00
Nick Lewycky
1a4b5fd173 Remove configurey-fu to autodetect hash_map and hash_set now that they are
no longer used in LLVM.

llvm-svn: 66406
2009-03-09 06:16:26 +00:00
Cedric Venet
243a1d9a39 Add mode_t to the config.h generated by cmake on win32. Used by clang.
llvm-svn: 64555
2009-02-14 16:13:26 +00:00
Oscar Fuentes
48a1886727 CMake: Tests PERL availability with PERL_EXECUTABLE variable.
On MSVC 64bits, does not put underscore before the symbol name on the
/INCLUDE linker parameter.

llvm-svn: 62738
2009-01-22 01:20:31 +00:00
Oscar Fuentes
b37acd2804 CMake: replace `rm' with portable invocations of cmake.
Based on a bug report by Yonggang Luo.

llvm-svn: 61875
2009-01-07 19:24:44 +00:00
Eli Friedman
a094c1f940 Fix a link issue I ran into trying compiling LLVM on MinGW with CMake.
Hopefully this doesn't break anyone else's build... it shouldn't unless 
the MinGW variable means something other than compiling with MinGW.

llvm-svn: 60273
2008-11-30 02:42:05 +00:00
Oscar Fuentes
fa0053e297 CMake: Do not rebuild the world when tblgen changes but the .inc files
it produces are not affected by the change.

llvm-svn: 59763
2008-11-21 00:18:45 +00:00
Oscar Fuentes
049ffc2c59 CMake: when building shared libraries, use -fPIC for compiling
partially linked objects.

llvm-svn: 59699
2008-11-20 03:10:17 +00:00
Oscar Fuentes
5373c4c527 CMake: Option for enabling/disabling threads.
llvm-svn: 59565
2008-11-18 23:45:21 +00:00
Oscar Fuentes
0b07355baa CMake: MSVC: Pass list of components the right way to msvc_llvm_config
and siblings. Support targets whose name does not end on
`CodeGen'. Remove a performance bottleneck.

llvm-svn: 59383
2008-11-16 04:13:19 +00:00
Oscar Fuentes
9e15bc331b 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
9abd2759a2 CMake: Adds header and TableGen files to Visual Studio solution. A new
dummy library, `llvm_headers_do_not_build', is created for containing
all header and TableGen files under include/llvm.

llvm-svn: 59346
2008-11-15 02:08:08 +00:00
Oscar Fuentes
2d0e56a05a 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
fab3ce2295 CMake: Fixed dependencies of .cpp source files on .td and tablegenned
files.

llvm-svn: 59325
2008-11-14 22:06:14 +00:00
Oscar Fuentes
bc594a73f6 CMake: Updated library dependency info used for MSVC++.
llvm-svn: 59079
2008-11-11 20:04:40 +00:00
Oscar Fuentes
ea97e77bfe CMake: Removed unnecessary library path setting that was breaking the
build on OS X.

Fix by Jjgod Jiang!

llvm-svn: 59048
2008-11-11 16:56:52 +00:00
Oscar Fuentes
0e9ae6e64a CMake: Fixed cross-compiling.
`clean' makefile target removes add-hoc directory created for building
the native tablegen.

llvm-svn: 59005
2008-11-10 22:09:59 +00:00
Oscar Fuentes
dcc0b8b548 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
4067286e8d 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
bb9c221f2a 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
Oscar Fuentes
8e964f2e6f 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
Oscar Fuentes
6c18710cd5 CMake: Fix some unwanted commentary line wraps on the last change.
llvm-svn: 58485
2008-10-31 01:37:26 +00:00
Oscar Fuentes
f4d7a3885b CMake: Establish dependencies among executables and libraries, using
data manually extracted from llvm-config.

llvm-svn: 58484
2008-10-31 01:24:51 +00:00
Oscar Fuentes
c2a8e16a50 CMake: Removed some cruft.
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Oscar Fuentes
7fa2179afa CMake: Support for LLVM_USED_LIBS variable, which is the cmake
counterpart of USED_LIBS.

llvm-svn: 58178
2008-10-26 00:51:05 +00:00
Oscar Fuentes
a96ce230e0 CMake: GetTargetTriple: new module for determining the target
triple. Assign to LLVM_HOSTTRIPLE so it figures in config.h.

llvm-svn: 58176
2008-10-26 00:47:52 +00:00
Oscar Fuentes
edaf4cded2 CMake: MSVC++ no longer uses a special configuration method.
llvm-svn: 58132
2008-10-25 03:29:36 +00:00
Cedric Venet
c5bd480a57 Modify the cmake build system so that if it doesn't find bison, it will use the pregenerated file in from the svn (.cvs). Work only for windows for the moment. Tested on Vista64 with MSVC2008express.
llvm-svn: 58090
2008-10-24 11:24:33 +00:00
Oscar Fuentes
916a2ebaf8 CMake: `make install' for libraries, executables and header files.
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Oscar Fuentes
65859a84d0 CMake: Builds all targets.
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes
ef81077c17 CMake: Removed unnecessary messages from msvc_llvm_config macro.
llvm-svn: 56540
2008-09-24 01:54:03 +00:00
Oscar Fuentes
e51d9c0c3a CMake build system: support for parallel builds.
llvm-svn: 56453
2008-09-22 18:21:51 +00:00
Oscar Fuentes
d1fdff199f add_partially_linked_object: Replaced nonexistent MESSAGE option in
add_custom_command with COMMENT. It was forcing unconditional command
execution.

llvm-svn: 56425
2008-09-22 02:33:43 +00:00
Oscar Fuentes
0f25988689 Initial support for the CMake build system.
llvm-svn: 56419
2008-09-22 01:08:49 +00:00