Commit Graph

542 Commits

Author SHA1 Message Date
Pratyush Das
2acd1d2776 Fix cpt for Cling build using LLVM 9
Only fixes builds from LLVM 9 source. Builds using an LLVM 9 binary
release is still broken.

Drop Ubuntu 16.04 Clang build, since Clang 3.8 is very old and causes
build failure.
2021-03-31 18:59:06 +02:00
Bertrand Bellenot
df5fbb3c46 Fix unresolved external symbol errors on Windows
Resolves root-project/cling#399
Fix the following linker errors:
253>cling.exp : error LNK2001: unresolved external symbol "public: static class std::basic_string<char,struct std::char_traits,class std::allocator > __cdecl clang::QualType::getAsString(class clang::Type const *,class clang::Qualifiers)" (?getAsString@QualType@clang@@sa?AV?$basic_string@DU?$char_traits@D@std@@v?$allocator@D@2@@std@@PEBVType@2@VQualifiers@2@@z)
253>cling.exp : error LNK2001: unresolved external symbol "private: virtual void __cdecl llvm::raw_ostream::handle(void)" (?handle@raw_ostream@llvm@@EEAAXXZ)
253>D:\work\libs\cling\src\build\Release\bin\cling.exe : fatal error LNK1120: 2 unresolved externals
2021-03-23 22:29:08 +01:00
Pratyush Das
2b222f35f5 Drop --compiler flag
Build compiler can be set using CMake flag
2021-03-18 23:29:07 +01:00
Pratyush Das
9e2c41e580 Update cpt shebang to reflect Python 3 requirement 2021-03-05 12:44:07 +01:00
Vassil Vassilev
07ad3c1a72 Allow building clad as a cling plugin via -DCLING_BUILD_PLUGINS=On 2021-03-03 18:44:05 +01:00
Vassil Vassilev
c061a8ae01 Plugins on Windows are not supported, don't build the example plugin. 2021-02-25 20:44:18 +01:00
Vassil Vassilev
19543be988 LLVM-9 recommends gcc version at least 5.1
The reason is that llvm soon will use new features which are not available
on older versions.

That is a temporary fix to support gcc 4.8 and higher.
2021-02-25 20:44:18 +01:00
Vassil Vassilev
deafa47202 Remove unused parameters. Fixes -Wunused-parameter. 2021-02-25 20:44:18 +01:00
Vassil Vassilev
36ffd9a3d5 Include ExternalProject for the clad plugin.
That allows building clad for cling standalone.
2021-02-25 20:44:18 +01:00
Vassil Vassilev
b4daff130e LLVM_ON_WIN32 was dropped.
See llvm-mirror/llvm@4833be0
2021-02-25 20:44:18 +01:00
Vassil Vassilev
38545eec20 Suppress cmake diagnostic.
It tells us that target_link_libraries should be either all-keyword or all-plain.
2021-02-25 20:44:17 +01:00
Vassil Vassilev
355e9bcfe5 PragmaIntroducerKind was renamed to PragmaIntroducer.
See llvm-mirror/clang@6333880.
2021-02-25 20:44:16 +01:00
Pratyush Das
960127f33a Drop Python 2 support
lit cannot be installed as a standalone package using pip on macOS when
using Python 2.
2021-02-16 22:29:03 +01:00
Pratyush Das
e978660f35 Remove dependence on svn
LLVM repository has migrated from svn to git
2021-02-16 22:29:03 +01:00
Henry Schreiner
3d789b131a cmake: clad config failures shown on CMake 3.14+ 2020-11-17 10:44:06 +01:00
Pratyush Das
a2ed863649 Fix cloning a fresh cling
We need the cloned directory to always be named cling
2020-11-02 08:14:08 +01:00
Pratyush Das
cb6178da2b New flag --cling-branch to specify particular cling branch
Motivated by the need to clone the PR branch for CI in Github Actions.
The earlier "branch/branches" tag did not allow binaries to be created.
2020-11-02 08:14:08 +01:00
Vassil Vassilev
4f26582330 Merge the build steps for msvc and unix. 2020-10-12 10:59:09 +02:00
Philippe Canal
758b053e64 cling:clad sync windows config with unix 2020-09-16 23:44:07 +02:00
Vassil Vassilev
6a98af7e48 Debug win 2020-09-16 23:44:07 +02:00
Vassil Vassilev
d35e45f431 Bump clad version to v0.7.
The new release includes some improvements:
  * Implement hessian matrices via the clad::jacobian interface.

See more at: https://github.com/vgvassilev/clad/blob/v0.7/docs/ReleaseNotes.md

This patch should be the last part of the fix for ROOT-10886.
2020-09-16 23:44:07 +02:00
Philippe Canal
8e0b7158b1 Tell clad where to find LLVM.
This is needed to fix ROOT-10886 in conjunction with
https://github.com/vgvassilev/clad/pull/170.
2020-09-11 21:14:07 +02:00
Axel Naumann
7e6762da4f Remove statement about "policy restrictions" wrt repos (NFC);
addresses https://github.com/root-project/cling/issues/307
2020-09-02 10:29:05 +02:00
Chris Burr
3676d5c179 ROOT-10812: Fix building clad with external clang (#5945)
ROOT-10812: Fix building clad with external clang
2020-07-08 13:29:07 +02:00
Pratyush Das
74b99152db Fix llvm binary tarball requirement
Removed redundant is_llvm_binary_compatible() and fixed zlib prerequisite
2020-06-14 11:59:05 +02:00
Pratyush Das
be615cb351 Move declarations to fix faulty logic
llvm_vers variable required earlier for linux platform initialization
2020-06-10 12:44:04 +02:00
Pratyush Das
f8ccd27e67 Fix tar_required logic
If all requirements were satisfied, tar_required would always be false.
This commit fixes it.
2020-05-13 09:29:07 +02:00
Pratyush Das
87011bd783 Fix cmake requirement 2020-05-13 09:29:07 +02:00
Pratyush Das
98a1c4acad Fix svn installation 2020-05-13 09:29:07 +02:00
Pratyush Das
52f75d8768 Fix distro requirement (and installation of pip)
There might be an issue when using conda as default Python for Python3
because conda calls it pip but otherwise it is pip3.
2020-05-13 09:29:07 +02:00
Vassil Vassilev
a7d40e8237 Bump clad version to v0.6.
The new release includes some improvements in Reverse mode:
  * Reduce the quadratic cloning complexity to linear.
  * Support variable reassignments pontentially depending on control flow.
  * Support operators `+=`, `-=`, `*=`, `/=`, `,`, `++`, `--`.
  * Allow assignments to array subscripts.
  * Support nested assignments in expressions `a = b * ((c ? d : e) = f = g);`
  * Enable differentiation of for-loops

See more at: https://github.com/vgvassilev/clad/blob/v0.6/docs/ReleaseNotes.md

This patch enables us to upgrade to llvm9. Clad supports from clang5 to clang9.
2020-04-03 11:29:05 +02:00
Pratyush Das
82e662096c Enable tarball-tag flag to build cling using LLVM binary release.
Fixes Cling's nightly releases
2019-12-25 07:29:26 +01:00
Pratyush Das
8a64fb67e5 Cleanup 2019-12-23 06:44:30 +01:00
Pratyush Das
ba5b08c837 Fix warning - is keyword only applies to literals 2019-12-23 06:44:30 +01:00
Pratyush Das
334ac32e25 platform.linux_distribution is deprecated 2019-12-23 06:44:30 +01:00
Pratyush Das
4b928845e3 Refactor code in last_stable and current_dev 2019-12-23 06:44:30 +01:00
Pratyush Das
eec9a3559f Remove legacy code to build libcpp 2019-12-23 06:44:29 +01:00
Pratyush Das
0af62c625d Fix global namespace error on variable tar_required 2019-12-23 06:44:29 +01:00
Pratyush Das
20254e5926 Enable flag with-llvm-tar for OS X 2019-12-23 06:44:29 +01:00
Pratyush Das
ad0126f994 Fix lit.cfg for building from LLVM binary in OS X 2019-12-23 06:44:29 +01:00
Pratyush Das
e9f0bc3458 Build cling using LLVM packaged binary for OS X 2019-12-23 06:44:28 +01:00
Pratyush Das
f2ea3180f3 Force travis to use LLVM binary release tar 2019-12-23 06:44:28 +01:00
Pratyush Das
5bfb2b834d Cleanup 2019-12-23 06:44:28 +01:00
Pratyush Das
bc70947c9a Fix broken vanilla-cling tests.
Change condition of adding vanilla-cling, change directory locations for
downloaded binary release.
2019-12-23 06:44:28 +01:00
Pratyush Das
28c58fdf34 Add support to build Cling using LLVM from Distro's package manager. 2019-12-23 06:44:28 +01:00
Pratyush Das
5ebd9587dd Comply with new NVPTX update of Cling 2019-12-23 06:44:28 +01:00
Pratyush Das
21d3cd2d7c Enabled support to build Cling using downloaded LLVM release tar. 2019-12-23 06:44:27 +01:00
Pratyush Das
2796d6bf96 Proof of concept - Cling can be built using downloaded LLVM release tar. 2019-12-23 06:44:27 +01:00
Pratyush Das
495a667988 Removed redundant line 2019-12-23 06:44:27 +01:00
Simeon Ehrig
43d5583905 Add NVPTX backend to CPT 2019-11-07 19:29:15 +01:00