Commit Graph

665 Commits

Author SHA1 Message Date
Oscar Fuentes bbc1067001 CMake: Support for building llvm loadable modules.
llvm-svn: 86656
2009-11-10 02:45:37 +00:00
Oscar Fuentes b8d7793628 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 de8f431edf 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 39a6c62b9d Fix CMake reporting of target triple.
llvm-svn: 86419
2009-11-07 23:52:27 +00:00
Daniel Dunbar c0fd8a4360 Stop running get_target_triple more than we need to.
llvm-svn: 86418
2009-11-07 23:52:20 +00:00
Oscar Fuentes 17feb2a9ee CMake: Detect dotty.
Patch by Arnaud Allard de Grandmaison!

llvm-svn: 86153
2009-11-05 19:03:26 +00:00
Oscar Fuentes 1a0bfb6290 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 c710219d1c 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 c1ba4c2941 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 56869f22c4 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 d8358b9db6 Update CMake dependencies.
llvm-svn: 85013
2009-10-24 20:32:43 +00:00
Oscar Fuentes 5e3fd4df6f Updated cmake library dependencies.
llvm-svn: 84564
2009-10-19 23:00:00 +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
Edward O'Callaghan 655314ef95 CMake misses a check for sbrk on NetBSD.
llvm-svn: 83341
2009-10-05 23:05:32 +00:00
Douglas Gregor f99626ed11 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 14a5cc54e5 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 487d1c8138 Update CMake.
llvm-svn: 82097
2009-09-17 00:06:48 +00:00
Daniel Dunbar 25ac142b37 Update CMake dependencies.
llvm-svn: 81758
2009-09-14 05:22:54 +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
Daniel Dunbar 59eb5ef136 Update lib deps.
llvm-svn: 80985
2009-09-04 05:07:44 +00:00
Oscar Fuentes c6db3ee94b CMake: updated library dependencies.
llvm-svn: 80531
2009-08-31 01:58:50 +00:00
Gabor Greif 962c374781 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 c7d230f736 --- 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 7e3778948a De-bork CMake build
llvm-svn: 80161
2009-08-26 22:12:02 +00:00
Oscar Fuentes 175a6e4a3b Ignore -fPIC test on Windows. Suggested by Yonggang Luo.
llvm-svn: 80111
2009-08-26 17:05:06 +00:00
Daniel Dunbar 83dbd7a432 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 94e470504f CMake: Updated library dependencies and list of source files.
llvm-svn: 79876
2009-08-23 23:59:15 +00:00
Douglas Gregor 81c0524102 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 a21fe10c06 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 a6cf97dc22 CMake: Updated library dependencies.
llvm-svn: 79223
2009-08-17 04:23:50 +00:00
Oscar Fuentes 349df2c976 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 91bd6c922d 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 171a7d6823 Fix the MSVC build again.
llvm-svn: 79186
2009-08-16 09:44:27 +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
Richard Osborne ddd1d4e0f2 Move XCore AsmPrinter to XCore/AsmPrinter directory.
llvm-svn: 79094
2009-08-15 12:53:15 +00:00
Oscar Fuentes cc756e70ad CMake: Updated library dependence info.
llvm-svn: 79038
2009-08-14 20:30:18 +00:00
Oscar Fuentes 1ea4b3a4b5 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 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 3fca0e811c CMake: Use LLVM_COMMON_DEPENDS on add_llvm_executable.
llvm-svn: 78990
2009-08-14 04:38:57 +00:00
Oscar Fuentes 96147c60f1 CMake: updated library dependencies.
llvm-svn: 78976
2009-08-14 01:55:28 +00:00
Oscar Fuentes da3b250796 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 06eef1c2fe CMake: Localized dependency on Perl.
llvm-svn: 78788
2009-08-12 04:16:19 +00:00
Oscar Fuentes a88916d94f 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 1b9110699c CMake: updated library dependencies.
llvm-svn: 78786
2009-08-12 03:57:26 +00:00
Oscar Fuentes f7591af58e CMake: cmake/modules/LLVMLibDeps.cmake: Use unix line endings.
llvm-svn: 78785
2009-08-12 03:36:43 +00:00
Oscar Fuentes 64f955b732 CMake: Moved hard-coded library dependencies to its own file.
llvm-svn: 78784
2009-08-12 03:32:44 +00:00
Oscar Fuentes e93b54be8d CMake: target triple for MSVC on Windows 64.
llvm-svn: 78753
2009-08-12 00:04:12 +00:00
Douglas Gregor 24be97df67 CMake configuration: find mkdtemp, mkstemp, mktemp.
llvm-svn: 77219
2009-07-27 18:23:41 +00:00
Dan Gohman 17151155ed Remove the IA-64 backend.
llvm-svn: 76920
2009-07-24 00:30:09 +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
Xerxes Ranby 64c6d42a9a Implement cmake LLVM_MULTITHREADED gcc atomic builtin checks.
llvm-svn: 76221
2009-07-17 19:22:41 +00:00
Daniel Dunbar 0b02da75d6 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 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 b97d02fd96 Tweak CMake component lookup, I misunderstood what was happening here.though. :(
llvm-svn: 75757
2009-07-15 07:52:36 +00:00
Daniel Dunbar 2179d73133 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 cb234fec50 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 1a93330ffa 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 e081d90233 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 1d88779e2f CMake: add configure checks for pthread_rwlock_init and pthread_getspecific
llvm-svn: 74284
2009-06-26 14:35:43 +00:00
Douglas Gregor 2042c3519d Add missing dependencies to the CMake build system.
llvm-svn: 74161
2009-06-25 05:03:06 +00:00
Douglas Gregor f42a6ab6b8 Reinstate target dependencies on Table_gen targets in CMake
llvm-svn: 74003
2009-06-23 21:05:21 +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 881af58933 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 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 3def847551 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 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
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
Douglas Gregor 60dd76fbc9 Properly detect malloc_zone_statistics in CMake build system
llvm-svn: 72873
2009-06-04 17:22:52 +00:00
Oscar Fuentes 10a71da05a 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 eeac588471 CMake: Use libdl only when available. Fixes build on FreeBSD.
llvm-svn: 72311
2009-05-23 02:37:24 +00:00
Douglas Gregor b81294d989 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 15436617f4 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 58e257de2e CMake: Use pthread library when requested and available.
llvm-svn: 71116
2009-05-06 20:42:04 +00:00
Oscar Fuentes a6e2006f83 CMake: Detects libpthread and sets HAVE_LIBPTHREAD.
llvm-svn: 71084
2009-05-06 14:40:37 +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
Douglas Gregor 6d1ec14f0f 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 d36792c86f 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 b2f34f6211 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 b8aa2ea72a 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 244d369d53 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 b97e96350f 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 9ccf574ea0 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 02b5c3222b 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 4d69fd4f1c 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 366fbb79f5 CMake: Option for enabling/disabling threads.
llvm-svn: 59565
2008-11-18 23:45:21 +00:00
Oscar Fuentes 08c4a35caa 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 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 2c10b22b62 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 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 751ea9d957 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 7ae7d91ee0 CMake: Updated library dependency info used for MSVC++.
llvm-svn: 59079
2008-11-11 20:04:40 +00:00
Oscar Fuentes 90cf22e013 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 54c1dedd42 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 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 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
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
Oscar Fuentes 39304667af CMake: Fix some unwanted commentary line wraps on the last change.
llvm-svn: 58485
2008-10-31 01:37:26 +00:00
Oscar Fuentes c999dfadf1 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 2500aaebdd CMake: Removed some cruft.
llvm-svn: 58358
2008-10-29 02:33:15 +00:00
Oscar Fuentes 20baf2fc3c 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 bf81f792cd 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 a9ac909248 CMake: MSVC++ no longer uses a special configuration method.
llvm-svn: 58132
2008-10-25 03:29:36 +00:00
Cedric Venet a00d112486 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 64c996271e CMake: `make install' for libraries, executables and header files.
llvm-svn: 57945
2008-10-22 02:56:07 +00:00
Oscar Fuentes cdc95498f5 CMake: Builds all targets.
llvm-svn: 56641
2008-09-26 04:40:32 +00:00
Oscar Fuentes 0d94c21a2b CMake: Removed unnecessary messages from msvc_llvm_config macro.
llvm-svn: 56540
2008-09-24 01:54:03 +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 f3d3a0dfca 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 a229b3c9a7 Initial support for the CMake build system.
llvm-svn: 56419
2008-09-22 01:08:49 +00:00