Michael Neumann
7a829a7015
Fix paths to find llvm/clang on DragonFly
2020-04-07 17:13:33 +02:00
Andrew Kelley
15ab61b2a0
cmake: improvements to cross-compiling for Windows
...
* don't unconditionally pass -lz3 for mingw builds. If mingw builds
require this then the llvm-config executable should put it as part of
--system-libs. If there is a bug and it does not do that, and we need
a workaround, then the workaround should be an explicit cmake option.
* don't link libstage2.a against -lntdll. This causes zig to set
`builtin.link_mode == .Dynamic` and include the TLS definitions,
which then collide with the mingw-w64 symbols. This should probably
be addressed separately, but for now this solves the problem and
there is no reason to link a static library against a DLL.
* Findllvm.cmake no longer treats the libraries as "optional" and will
emit a cmake error if one is not found. Additionally, the
not-required LLVM library LLVMTableGen is omitted.
2020-04-06 18:38:09 -04:00
Brian Cain
607892a30d
Create an "LLD_LIBDIRS" var to override lld loc
2020-03-30 11:01:36 -04:00
Andrew Kelley
69aa09948b
cmake: support cross compiling
2020-03-27 23:43:21 -04:00
Andrew Kelley
107b5196f6
Merge pull request #4827 from ziglang/zig-cpp
...
support compiling and linking c++ code
2020-03-27 22:35:13 -04:00
Andrew Kelley
e803490a56
cmake: support finding a cross compiled llvm
2020-03-27 22:24:15 -04:00
Michael Dusan
9cc593ca78
cmake: address new warnings from cmake-3.17
...
Match package-name case from CMakeLists.txt .
New warning sample:
The package name passed to `find_package_handle_standard_args` (LLVM) does
not match the name of the calling package (llvm). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
2020-03-25 18:43:28 -04:00
Andrew Kelley
f9992850a5
simplify cmake logic for finding clang
...
which fixes the build on windows
2020-03-22 17:35:06 -04:00
Andrew Kelley
f33bf48af7
Merge remote-tracking branch 'origin/master' into llvm10
2020-02-25 16:30:40 -05:00
Andrew Kelley
20f3b0efff
rename libuserland to libstage2
2020-02-16 19:16:08 -05:00
Andrew Kelley
7eb0a3edce
remove libc dependency of zig0 building libstage2
...
Rather than `zig0 build ...` the build now does
`zig0 build-lib ...`, avoiding the requirement of linking the build
script, and thus avoiding the requirement of finding native libc,
for systems where libc is the system ABI.
2020-02-16 18:57:34 -05:00
Andrew Kelley
97b2ac598b
Merge remote-tracking branch 'origin/master' into llvm10
2020-01-22 12:12:36 -05:00
Michael Dusan
b9f4ac86ef
cmake: support make
and make install
...
(2nd attempt to get this right)
2020-01-17 19:39:43 -05:00
Andrew Kelley
fbe6af81fd
Merge remote-tracking branch 'origin/master' into llvm10
2020-01-16 13:01:36 -05:00
Sahnvour
63ecded3ce
msvc: reduce inlining aggressivity to workaround a codegen bug in cl.exe cf. #3024
2019-10-16 19:04:50 -04:00
Sahnvour
5b51f41cee
stage1: override cmake's default compilation flags to statically link the CRT on windows
...
we want to use /MT instead of /MD for a fully static executable
2019-10-16 19:04:50 -04:00
LemonBoy
935cce2414
Fix lld search path
2019-10-12 15:27:42 +02:00
Andrew Kelley
6f10e3fda6
llvm 9.0.0 => llvm 10.0.0
2019-10-02 02:11:46 -04:00
Andrew Kelley
e816d592e8
update zig codebase to llvm 9
2019-07-17 17:47:39 -04:00
Andrew Kelley
8f92a49dfd
update to llvm9 trunk
2019-07-16 22:23:48 -04:00
daurnimator
3a67c13b5d
cmake: allow user to select static vs dynamic LLVM
2019-07-16 12:33:13 -04:00
Andrew Kelley
038946288c
Revert "fixed path with spaces in llvm-config ( #2854 )"
...
This reverts commit d23798a296
.
This caused build problems for several people.
2019-07-09 13:31:13 -04:00
Ian Lilley
d23798a296
fixed path with spaces in llvm-config ( #2854 )
...
* fixed path with spaces in llvm-config
2019-07-09 11:48:25 -04:00
Wink Saville
7bafe2e490
Fix alignment of macro FIND_AND_ADD_CLANG_LIB
2019-04-24 14:42:08 -04:00
Andrew Kelley
2dcf1a2392
Merge remote-tracking branch 'origin/master' into llvm8
2019-02-28 09:19:18 -05:00
Andrew Kelley
a77a17e2c2
add zig cc
command to act like a C compiler
...
closes #490
2019-02-24 12:53:28 -05:00
Andrew Kelley
1864acd326
Merge remote-tracking branch 'origin/master' into llvm8
2019-02-09 18:57:39 -05:00
Andrew Kelley
91baa574a5
build: update Findllvm.cmake for llvm 8
2019-02-07 12:24:55 -05:00
Andrew Kelley
f8ba50f5ed
build: make sure LLVM is exactly correct
...
* check the version to be the correct major version
* ensure that it has all the default targets enabled
2019-02-07 12:22:04 -05:00
Andrew Kelley
7843c96df8
build: make sure LLVM is exactly correct
...
* check the version to be the correct major version
* ensure that it has all the default targets enabled
2019-02-07 12:18:01 -05:00
Andrew Kelley
87f5bed11f
Merge remote-tracking branch 'origin/master' into llvm8
2019-01-22 20:10:34 -05:00
tharvik
3bec3b9f9b
llvm-config sanity check
2019-01-21 15:58:54 -05:00
Andrew Kelley
c00216701c
Merge remote-tracking branch 'origin/master' into llvm8
2018-12-23 17:04:26 -05:00
Andrew Kelley
dd2450b1b2
tier 2 support for freebsd
2018-11-27 20:56:43 -05:00
Andrew Kelley
f8d6f5daff
Merge remote-tracking branch 'origin/master' into llvm8
2018-11-05 10:56:42 -05:00
Greg V
24e54799fd
Fix CMake finding LLVM/clang/lld on FreeBSD
2018-10-20 15:15:01 +03:00
Andrew Kelley
5b84192f07
build: try to find llvm-config-7 before llvm-config
2018-10-06 00:10:16 -04:00
Andrew Kelley
a4d61b5d72
update to llvm 8
2018-09-19 17:34:52 -04:00
Andrew Kelley
287f5cce50
build: fix finding llvm and clang 7
2018-09-19 15:38:36 -04:00
Andrew Kelley
7109035b78
Merge remote-tracking branch 'origin/master' into llvm7
2018-08-25 21:57:28 -04:00
prazzb
6e55f61581
Find local llvm-config first
...
Distro's llvm usually have a 6.0 suffix.Any custom llvm build
names the binary as llvm-config.Keeping 6.0 variant first causes
the distro's llvm to be compiled in place of a custom one even if
given using CMAKE_PREFIX_PATH.
2018-08-13 22:55:19 +05:30
Andrew Kelley
84a700f972
llvm7: find external liblldWasm and update for newest lld macho API
2018-06-14 18:28:42 -04:00
Andrew Kelley
cca93908e6
Merge remote-tracking branch 'origin/master' into llvm7
2018-04-04 17:22:26 -04:00
Andrew Kelley
f586acabdc
add ZIG_STATIC cmake option
...
it's not compatible with glibc but it works with musl
2018-03-30 13:20:13 -04:00
Andrew Kelley
62668e3e6b
update to llvm 7.0.0
2018-03-22 15:39:50 -04:00
Ben Noordhuis
c2c34c09b9
add LLVM_LIBDIRS to link directories
...
This seems to be the only way to get the zig build to link against llvm
libraries in a non-standard location.
2018-03-17 18:41:54 +01:00
Ben Noordhuis
4a921b2eba
add CLANG_LIBDIRS cmake build variable
...
Mirrors LLVM_LIBDIRS, tells cmake where to look for libclang libraries.
2018-03-17 18:41:47 +01:00
Andrew Kelley
94ec2190f8
update to llvm master
2017-11-02 21:54:24 -04:00
Andrew Kelley
3fe50cb13c
simpler cmake for msvc
2017-09-28 10:48:13 -04:00
Andrew Kelley
41b588547c
improvements to windows support
...
See #302
2017-09-23 18:46:03 -04:00
Andrew Kelley
d9eabde319
add Child property of slice type
...
also rename child field to Child for pointer and array
2017-09-13 14:30:57 -04:00
Andrew Kelley
57ea6e8c9f
fix up msvc stuff to make it work on linux and macos too
2017-09-13 02:40:02 -04:00
Jonathan Marler
67021e2bff
Modified cmake to use LLVM imported packages.
2017-09-11 18:27:41 -06:00
Jonathan Marler
7c81cd30de
Add support for MSVC
2017-09-11 09:26:26 -06:00
Andrew Kelley
120e2fdf8b
build: add more search paths for libclang
...
thanks @smaeul
2017-09-09 17:17:36 -04:00
Jonathan Marler
850a1d2054
Switched find order for llvm, means it will choose llvm version 5.0 before any other version. ( #446 )
2017-09-08 17:08:24 -04:00
Andrew Kelley
234030c37a
update build to look for llvm 5.0
2017-08-26 00:34:40 -04:00
Andrew Kelley
62b23f5da5
build: link against system libs reported by llvm-config
2017-06-19 10:33:19 -04:00
Andrew Kelley
e64f0971fc
add appveyor integration testing
2017-06-03 12:47:23 -04:00
Andrew Kelley
3a137c6ff0
add Travis CI integration
2017-04-21 13:27:11 -04:00
Andrew Kelley
f043e0e85c
build: ignore libLLD.so when it is a broken symlink
...
closes #318
2017-04-13 00:12:44 -04:00
Andrew Kelley
403eb92a62
try harder to find lld
2017-04-11 06:44:45 -04:00
Josh Wolfe
536c35136a
fix cmake finding dependencies for ubuntu
2017-03-29 22:18:12 -07:00
Andrew Kelley
d10bbd28e9
use lld instead of system linker
2017-03-13 11:54:56 -04:00
Andrew Kelley
cd31f875a6
update to llvm 4.0
2017-03-10 02:29:01 -05:00
Andrew Kelley
4e7effd3d3
port to llvm 3.9
2016-09-04 18:30:40 -07:00
Andrew Kelley
037283c3b3
build: link against libLLVM.so if available
...
readme: better instructions for finding native libc headers
2016-04-30 17:17:59 -07:00
Andrew Kelley
76e1541803
update to llvm 3.8.0
2016-03-08 18:56:14 -07:00
Andrew Kelley
194e93a582
add windows os code
2016-02-16 19:42:46 -07:00
Andrew Kelley
3664e8e4e2
use llvm-config to find llvm include dirs
2016-02-15 15:52:19 -07:00
Josh Wolfe
62a689f7f5
fix some of the ubuntu build trouble
2016-02-08 14:34:51 -07:00
Andrew Kelley
fc5ffd32e9
build: prefer llvm-config
2016-02-01 22:38:55 -07:00
Andrew Kelley
0278468479
upgrade to the libclang C++ API
...
c_import creates a tmp .h file and parses it with libclang,
reporting any errors found.
See #88
2016-01-27 00:01:49 -07:00
Andrew Kelley
3eca42c17b
cmake: detect libLLVM.so
2016-01-19 22:13:22 -07:00
Andrew Kelley
890714b8ca
Revert "delete parseh"
...
This reverts commit 18374ea8f1
.
2016-01-18 21:28:54 -07:00
Andrew Kelley
18374ea8f1
delete parseh
...
we'll have to switch to the clang C++ api anyway
we'll revive this code later
2016-01-15 14:16:07 -07:00
Josh Wolfe
180f539f67
cmake needs to be taught a lesson in debian paths
2015-12-06 23:19:03 -07:00
Andrew Kelley
ad3f98c615
parseh command, parses a C .h file and produces extern decls
2015-12-03 16:00:14 -07:00
Andrew Kelley
c3458543c9
build: fix findllvm script
2015-11-25 11:37:43 -07:00
Andrew Kelley
a1771c76c3
build: improve findllvm script
2015-11-25 11:23:25 -07:00
Andrew Kelley
50f0ed918c
link against LLVM
2015-08-05 15:23:15 -07:00