1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-25 22:12:57 +02:00
Commit Graph

503 Commits

Author SHA1 Message Date
Nico Weber
751d91743e [cmake] In add_llvm_loadable_module, don't clobber existing LINK_FLAGS on OS X.
Also add leading spaces to the LINK_FLAGS setters, since that's what the cmake
folks recommend: http://www.cmake.org/pipermail/cmake/2012-October/052399.html

llvm-svn: 198182
2013-12-29 23:04:48 +00:00
NAKAMURA Takumi
887d8dcdf3 Fix mis-merging in AddLLVM.cmake, take #2. LINK.EXE's options had been broken. Sorry again.
llvm-svn: 198169
2013-12-29 16:50:15 +00:00
NAKAMURA Takumi
39599b4e25 Fix mis-merging in AddLLVM.cmake. Sorry.
llvm-svn: 198166
2013-12-29 16:19:13 +00:00
NAKAMURA Takumi
55c0c85340 [CMake] Fix add_llvm_loadble_module.
Thanks to Edward-san, to let me know.

llvm-svn: 198165
2013-12-29 16:15:31 +00:00
NAKAMURA Takumi
f0a37d5de0 [CMake] add_llvm_symbol_exports: Use unique name for each target.
llvm-svn: 198164
2013-12-29 16:15:26 +00:00
NAKAMURA Takumi
e3f08ac9b7 [CMake] add_llvm_symbol_exports: Use ${native_export_file} instead of equivalent constant "symbol.*', since it is defined.
llvm-svn: 198163
2013-12-29 16:15:18 +00:00
Nico Weber
541ea449cf Yet another attempt at getting cmake-clang-i686-mingw32 green.
llvm-svn: 198159
2013-12-29 07:43:09 +00:00
Nico Weber
41125f3059 Windows build fixes, hopefully last part.
r198153 fixed the msvs bot problem, but broke a msysgit bot. This change
hopefully makes both variants happy.

llvm-svn: 198156
2013-12-29 06:56:28 +00:00
Nico Weber
ac7825287f Another windows build fix attempt.
Inspired by http://public.kitware.com/pipermail/cmake-developers/2012-March/003768.html

llvm-svn: 198153
2013-12-29 06:12:40 +00:00
Nico Weber
8904d5719e More windows build fix attempts.
The windows ninja build is now green, but msvs is still unhappy. Maybe that's
because the .def file was passed when building LTO_static, so only pass
symbol lists for shared libraries.

llvm-svn: 198151
2013-12-29 05:39:01 +00:00
Nico Weber
02ce2440ed The same we do every commit, Pinky: Try to fix the windows build (after r198136).
llvm-svn: 198148
2013-12-29 04:05:23 +00:00
Nico Weber
5bb466e9f2 Another windows build fix attempt after r198136.
The current quoting is stripped by cmake, try quoting more.

llvm-svn: 198143
2013-12-29 00:50:09 +00:00
Nico Weber
cf5b94187b Try to fix windows build more after r198136.
The command that cmd.exe is complaining about is:
cmd.exe /c cd /D C:\bb-win7\cmake-clang-i686-mingw32\build\tools\lto && cmake -E echo EXPORTS > symbol.def && type C:/bb-win7/cmake-clang-i686-mingw32/llvm-project/llvm/tools/lto/lto.exports >> symbol.def

Maybe quoting the filename helps.

llvm-svn: 198140
2013-12-29 00:27:49 +00:00
Nico Weber
836d2151f2 Use ${CMAKE_COMMAND} instead of cmake.
llvm-svn: 198139
2013-12-29 00:11:20 +00:00
Nico Weber
63f1522f93 Try to fix windows build after r198136.
`type` can't read from stdin.

llvm-svn: 198138
2013-12-28 23:50:01 +00:00
Nico Weber
05ce04baa9 Try to fix linux build after r198136.
$ needs to be written $$ in makefiles, but not in cmakefiles.

llvm-svn: 198137
2013-12-28 23:39:49 +00:00
Nico Weber
6711c182c4 EXPORTED_SYMBOL_FILE support for cmake
The cmake build didn't support EXPORTED_SYMBOL_FILE. Instead, it had a
Windows-only implementation in tools/lto/CMakeLists.txt, a linux-only
implementation in tools/gold/CMakeLists.txt, and a darwin-only implementation
in tools/clang/tools/libclang/CMakeLists.txt.

This attempts to consolidate these one-offs into a single place. Clients can now
just set LLVM_EXPORTED_SYMBOL_FILE and things (hopefully) Just Work, like in
the make build.

llvm-svn: 198136
2013-12-28 23:31:44 +00:00
Nico Weber
0e7e662820 Remove windows newlines.
llvm-svn: 198135
2013-12-28 23:26:51 +00:00
Alp Toker
20f2bae8eb Fix documentation typos
llvm-svn: 197757
2013-12-20 00:33:39 +00:00
NAKAMURA Takumi
4e11107c76 Revert r197682, "[CMake] Introduce LIT in add_lit_target."
llvm-svn: 197703
2013-12-19 17:11:08 +00:00
NAKAMURA Takumi
ae79bc81b6 [CMake] Introduce LIT in add_lit_target.
llvm-svn: 197682
2013-12-19 16:02:17 +00:00
Jordan Rose
1d4923ba76 [CMake] Don't put every project's tblgen executable in the LLVM bin directory.
This changes Clang standalone builds so that clang-tblgen lives in
clang/build/bin instead of llvm/build/bin, and so that with the Xcode
generator it's in clang/build/bin/Debug instead of llvm/build/bin/Debug/Debug/.
Yes, really.

llvm-svn: 197590
2013-12-18 17:50:33 +00:00
NAKAMURA Takumi
56d91c88c2 [CMake] Prune LLVM_TOOLS_BINARY_DIR in LLVMConfig.cmake, since it always points build directory.
llvm-svn: 197581
2013-12-18 15:57:58 +00:00
NAKAMURA Takumi
fef994be39 [CMake] ${LLVM_MAIN_SRC_DIR}/include can be represented as ${LLVM_MAIN_INCLUDE_DIR}.
llvm-svn: 197396
2013-12-16 16:14:19 +00:00
NAKAMURA Takumi
7644bac321 [CMake] Introduce LLVM_RUNTIME_OUTPUT_INTDIR and LLVM_LIBRARY_OUTPUT_INTDIR to reduce references to CMAKE_CFG_INTDIR.
Each of them forms like;
  ${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}
  ${CMAKE_BINARY_DIR}/lib/${CMAKE_CFG_INTDIR}

llvm-svn: 197394
2013-12-16 16:03:08 +00:00
NAKAMURA Takumi
bfddedc1df [CMake] add_lit_target: Let lit.site.cfg free from "--param build_mode" on single configuration builds, like autoconf build.
llvm-svn: 196377
2013-12-04 11:15:17 +00:00
NAKAMURA Takumi
ba8c4a443d [CMake] add_lit_target: Tests should be excluded from "Build Solution".
llvm-svn: 196093
2013-12-02 11:31:19 +00:00
NAKAMURA Takumi
9b851e876f [CMake] Let add_public_tablegen_target() provide intrinsics_gen, too.
I think, in principle, intrinsics_gen may be added explicitly.
That said, it can be added incidentally, since each target already has dependencies to llvm-tblgen.
Almost all source files depend on both CommonTaleGen and intrinsics_gen.

Explicit add_dependencies() have been pruned under lib/Target.

llvm-svn: 195929
2013-11-28 17:04:31 +00:00
NAKAMURA Takumi
99f544b37e [CMake] Let add_public_tablegen_target responsible to provide dependency to CommonTableGen.
add_public_tablegen_target adds *CommonTableGen to LLVM_COMMON_DEPENDS.
LLVM_COMMON_DEPENDS affects add_llvm_library (and other add_target stuff) within its scope.

llvm-svn: 195927
2013-11-28 17:04:04 +00:00
Arnaud A. de Grandmaison
d7bbd2a889 CMake : optionaly enable LLVM to be compiled with -std=c++11 (default: off)
In some case, it may be required to build LLVM in C++11 mode, as some the subprojects (like lldb) requires it.

This mimics the autoconf behaviour.

However, given the discussions on the switch to C++11 of the codebase, this behaviour should evolve to default to C++11 with some checks of the compiler capabilities.

llvm-svn: 195727
2013-11-26 10:33:53 +00:00
Hans Wennborg
f386ce44b5 Revert my CMake patches concerning building with /MT (r194589, r194596)
Reid pointed out we already have LLVM_USE_CRT_{buildtype} to set it.

llvm-svn: 194604
2013-11-13 20:29:10 +00:00
Hans Wennborg
2390fdb13b CMake: make building with /MT an option instead of always forcing it
for release builds.

This is a follow-up to r194589. Aaron pointed out that building
libraries with /MT and using them in an application that uses a
different run-time library can be a bad idea.

Move the option to build with /MT behind a CMake option so it can be
turned on selectively, such as when building the toolchain installer.

llvm-svn: 194596
2013-11-13 19:12:02 +00:00
Hans Wennborg
e4d2a9b940 cmake: link release builds statically against run-time library on windows (use /MT instead of /MD)
This should fix the problem of snapshot builds created with MSVC 2012 not
working for users with MSVC 2010, etc.

Differential Revision: http://llvm-reviews.chandlerc.com/D2157

llvm-svn: 194589
2013-11-13 18:16:23 +00:00
Yaron Keren
a46f732b6d Remove NDBEUG from all release types compile flags.
llvm-svn: 193031
2013-10-19 07:30:37 +00:00
Hans Wennborg
dda6f3aab3 CMake: set stack size for MSVC in just one place
After r192904, Reid pointed out he thought we already set the stack
size for MSVC. Turns out we did, but it didn't seem to work.

This commit sets the stack size in a single place, using
CMAKE_EXE_LINKER_FLAGS because that seems to be the way that works
best.

llvm-svn: 192912
2013-10-17 18:39:47 +00:00
Hans Wennborg
09837d269a CMake: set stack size to 2MB for MSVC builds
Compiling under Visual C++ 2012 with the default stack size of 1MB, the stack
overflows at a depth of 216 template instantiations, well before the 256
default limit. This patch modifies the default MSVC stack size to 2MB.

Patch by Yaron Keren!

llvm-svn: 192904
2013-10-17 17:49:57 +00:00
Hans Wennborg
8c515c229e cmake: don't set LLVM_COMPILER_IS_GCC_COMPATIBLE when using clang-cl
Tip-of-tree CMake has become clang-cl aware [1]. In this case,
CMAKE_CXX_COMPILER_ID will still be Clang, but MSVC will be true.

[1] See http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3d8356d4

llvm-svn: 192139
2013-10-07 22:03:23 +00:00
David Majnemer
689b358b16 Revert "Revert "Windows: Add support for unicode command lines""
This reverts commit r192070 which reverted r192069, I forgot to
regenerate the configure scripts.

llvm-svn: 192079
2013-10-07 01:00:07 +00:00
David Majnemer
433fb50610 Revert "Windows: Add support for unicode command lines"
This is causing MinGW bots to fail.
This reverts commit r192069.

llvm-svn: 192070
2013-10-06 20:44:34 +00:00
David Majnemer
0d7d059b44 Windows: Add support for unicode command lines
Summary:
The MSVCRT deliberately sends main() code-page specific characters.
This isn't too useful to LLVM as we end up converting the arguments to
UTF-16 and subsequently attempt to use the result as, for example, a
file name.  Instead, we need to have the ability to access the Unicode
command line and transform it to UTF-8.

This has the distinct advantage over using the MSVC-specific wmain()
function as our entry point because:
 - It doesn't work on cygwin.
 - It only work on MinGW with caveats and only then on certain versions.
 - We get to keep our entry point as main(). :)

N.B.  This patch includes fixes to other parts of lib/Support/Windows
s.t. we would be able to take advantage of getting the Unicode paths.
E.G.  clang spawning clang -cc1 would want to give it Unicode arguments.

Reviewers: aaron.ballman, Bigcheese, rnk, ruiu

Reviewed By: rnk

CC: llvm-commits, ygao

Differential Revision: http://llvm-reviews.chandlerc.com/D1834

llvm-svn: 192069
2013-10-06 20:25:49 +00:00
Rafael Espindola
1622afa564 Reverts commit r190808 and r190556.
The use of these features in clang has been reverted.

llvm-svn: 191785
2013-10-01 17:40:47 +00:00
Jordan Rose
6f21cbb1dd [CMake] Hack GetSVN.cmake to handle unusual terminals.
I got a report of a hang in git's helper functions trying to figure out
how to display results of "git svn info" when run inside ninja, even though
the result is immediately piped to grep. This seems to avoid that.

llvm-svn: 190808
2013-09-16 21:38:01 +00:00
Alexey Samsonov
86dc7f599c Fixup for r190409: add dep on LZMA only if CMake is cross-compiling
llvm-svn: 190591
2013-09-12 08:26:53 +00:00
Jordan Rose
9820575674 [CMake] Update GetSVN.cmake to use LLVM version control helper scripts.
This allows the logic to work with Git, and also uses the variable names
to match what Clang is actually looking for.

This changes the interface of GetSVN.cmake. Clang change to follow.

llvm-svn: 190556
2013-09-11 22:46:41 +00:00
NAKAMURA Takumi
912b9c2821 config-ix.cmake: Tweak stray endif(...) to suppress a warning in CMake.
llvm-svn: 190502
2013-09-11 09:42:03 +00:00
Hans Wennborg
b945a8b3d5 cmake: Install llvm-tblgen again
It was removed in r189130, but it turns out this makes life hard for
folks packaging LLVM and Clang and building the latter based on the
LLVM package.

Note that this only adds back the LLVM tblgen, and it's obviously
not included when LLVM_INSTALL_TOOLCHAIN_ONLY is set.

llvm-svn: 190419
2013-09-10 18:35:14 +00:00
Renato Golin
b535ff7f80 Adding LZMA as dep for XML2 on 2.8.0 or higher
LibXML2 config doesn't specify lzma as a dependency, which breaks
cross-compilation builds using new linkers (ld 2.21 or higher).

There is a bug on libxml2 to fix that, but since it's going to take
a while for things to go round and back, so we should have a harmless
addition of the library until then.

llvm-svn: 190409
2013-09-10 14:24:17 +00:00
Alexey Samsonov
2c12d4855f [CMake] Add -O1 in debug builds with LLVM_USE_SANITIZER
llvm-svn: 189747
2013-09-02 09:15:01 +00:00
Michael Gottesman
1659d8245b [doxygen] Use correct variable names for external variable configuration and make EXTRA_SEARCH_MAPPINGS a "dumb" variable.
I do not think the massaging that I was doing for EXTRA_SEARCH_MAPPINGS was
truly necessary.

llvm-svn: 189522
2013-08-28 21:55:26 +00:00
Michael Gottesman
fb1d3c4af1 [doxygen] Added support for doxygen external search.
llvm-svn: 189507
2013-08-28 20:28:35 +00:00