Commit Graph

559 Commits

Author SHA1 Message Date
Surya Somayyajula
39738dc98f Fixed argument nomenclature [skip-ci] (#10936) 2022-07-15 11:59:07 +02:00
saisoma123
a1a8a9d149 Fixed formatting and made new helper function for setting llvm_flags 2022-06-28 18:29:04 +02:00
saisoma123
f7fdcf6773 Formatting changes 2022-06-28 18:29:04 +02:00
saisoma123
476a7d13fa Forgot extra plus sign 2022-06-28 18:29:04 +02:00
saisoma123
13013617fe Added verbose flag to the llvm_flags variable, if the verbose option is called 2022-06-28 18:29:04 +02:00
saisoma123
f5402eefab Added verbose flag to the llvm_flags variable 2022-06-28 18:29:04 +02:00
saisoma123
cabadcf6f4 Edited verbose output flag 2022-06-28 18:29:04 +02:00
saisoma123
3bd9d02ab1 Added new starting point for cpt.py.
Added new main block because this was mentioned in the meta issue
list (#406 in cling) as one of the rewrite steps. This also allows for
the main code to be run as opposed to running the main code plus the
function defintions.
2022-06-28 18:29:04 +02:00
saisoma123
1fee0d4b10 This fixes the undefined llvm_flag error when the --last-stable option is called. I added a download_llvm_binary function call, which sets the llvm_flags. 2022-06-15 15:14:02 +02:00
saisoma123
717eea7c47 Added cmakeDir for Windows 2022-06-11 20:44:02 +02:00
Bertrand Bellenot
e20302182f Fix compilation on Windows (32 and 64 bit)
Properly set the export symbols for `x86` and `x64` and don't export the `llvm`, `clang` and already exported internal `cling` symbols for both `cling` and `cling-demo`
2022-03-16 09:59:03 +01:00
Bertrand Bellenot
6a7fc6bdc8 change compiler flags (#9083)
* [cling][windows] change compiler flags

 - Set the `-std:c++14` / `-std:c++17` flag depending on the version of Visual Studio (only if building outside ROOT)
 - Split the one line exports in three lines to fix a potential issue with Ninja on Windows (missing a white space between each `/EXPORT:` specifier)

* Add a forgotten `endif()`
2021-10-07 16:59:05 +02:00
Vassil Vassilev
d78d1a03fe Fix building ROOT with external llvm.
Fixes #8141.
2021-08-17 10:29:05 +02:00
Baidyanath Kundu
8e950be75d Bump clad version to v0.9.
This new release includes some improvements:
* Extended array support
* Add cmake variables to control the locations where find_package discovers LLVM and Clang: `LLVM_CONFIG_EXTRA_PATH_HINTS` and `Clang_CONFIG_EXTRA_PATH_HINTS` respectively.

See more at: https://github.com/vgvassilev/clad/blob/v0.9/docs/ReleaseNotes.md
2021-08-16 06:44:07 +02:00
Oksana Shadura
d1c279a075 Update minimal CMake version in favour of advances features it offers (#8336)
* Update minimal CMake version in favour of advances features it offers

* Remove workaround for FindDoxygen (cmake < 3.13)

* Remnove workaround for cmake < 3.14 to able to report issue directly to stdout

* Remove workaround for CMake < 3.14 when Ninja 1.9.0 builds static libraries twice

* Remove other CMake hack from multi-python ROOT builds

* We are using 3.16 as a min CMake version and REGEX is definitely available in this version

* Remove code used to search Python2/Python3 with <= CMake 3.14
2021-08-04 11:14:06 +02:00
Bertrand Bellenot
df3f66afef check for internet connection. Fixes #8292 (#8520)
* [cmake] check for internet connection. Fixes #8292

This should fix an issue with external packages requiring an internet connection when working offline.
If there is no internet connection, they are either automatically disabled or raise a `FATAL_ERROR` if the `fail-on-missing` flag is `ON`

* Add forgotten "is" (thanks @pamputt)

* Add internet check for the forgotten 'davix' and 'ssl' options

* Change the timeout value and add information messages (thanks Axel)

* Let's download an existing file to test internet access

* Disable also clad if there is no internet connection

* Do not add the clad directory in case of no internet access

* Change the logic for clad with no internet connection

* disable clad early enough if there is no internet connection

* Disable also xrootd when disabling builtin_xrootd
2021-07-15 15:59:07 +02:00
Vassil Vassilev
68b3b29a95 Bump clad version to v0.8.
The new release includes some improvements:
* Implement #pragma clad ON/OFF/DEFAULT to control regions where clad is active
* Add getCode() interface for interactive use

See more at: https://github.com/vgvassilev/clad/blob/v0.8/docs/ReleaseNotes.md
2021-05-31 13:14:07 +02:00
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