Commit Graph

597 Commits

Author SHA1 Message Date
Jiang Yi
a1b1c875fd startup script support
Before showing command promt or executing scripts from argv,
enumerate .C files in the directory ${CLING_HOME}/.cling.d/ in alphabetic
order then .x them.

Search order of ${CLING_HOME}:

1. ${CLING_HOME} envvar
2. ${XDG_CONFIG_HOME}/cling/
3. ${HOME}/.config/cling/
4. ${HOME}/
2023-06-16 16:29:08 +02:00
Jonas Hahnfeld
f23f0ed9ca Re-download all Clad patches from GitHub
This guarantees valid patch files.
2023-05-30 09:14:07 +02:00
Bertrand Bellenot
9735886a70 Fix failing patch on Windows (#12882)
* Fix failing patch on Windows

Fix `fatal: corrupt patch at line 28` on Windows

* More trailing white spaces
2023-05-25 15:14:06 +02:00
Jonas Hahnfeld
833c1c1b75 Simplify logic for build with old toolchain
Setting LLVM_FORCE_USE_OLD_TOOLCHAIN will skip all checks in
interpreter/llvm/src/cmake/modules/CheckCompilerVersion.cmake, which
is what we want.
2023-05-25 11:14:05 +02:00
Garima Singh
7c492a17c9 Add AD support for RooChebychev and RooAddPdf. 2023-04-27 00:14:06 +02:00
Garima Singh
32a72240d2 Add code-squash support for RooPolyVar and RooPolynomial. 2023-04-25 17:44:04 +02:00
Vassil Vassilev
727908e8af Adapt the cling-demo to the new cling::Value interface. 2023-02-05 22:59:03 +01:00
Vassil Vassilev
2949bf96b7 Bump clad version to v1.1.
This new release includes some improvements:
  * Improvements in the array handling in the Error Estimation Framework
  * Fixed numerical stability of the pow pushforward
  * Fixed handling of for-loop conditions in reverse mode
  * LLVM15 Support

See more at: https://github.com/vgvassilev/clad/blob/v1.1/docs/internalDocs/ReleaseNotes.md
2023-01-23 19:59:07 +01:00
Vassil Vassilev
2129e96274 Do not register LLVMSupport as a library when it should be a component (#11703)
Do not register LLVMSupport as a library when it should be a component

LLVM component must be registered as LLVM_LINK_COMPONENTS to be
compatible with LLVM Dylib. Otherwise they are loaded twice in the final
binary, once through LLVM Dylmib and once through individual component,
and this results in some options being registered twice.

Fix root-project/cling#440
2023-01-20 16:59:05 +01:00
Axel Naumann
931552f385 Silence macOS linker warnings on -undefined dynamic_lookup:
See https://github.com/root-project/root/issues/11937
for why that is currently needed. `flat_namespace` is not a solution.
2023-01-19 12:59:06 +01:00
Axel Naumann
0c9821959f Revert "[cmake] Xcode 14 warns about -undefined dynamic_lookup; simply suppress:"
See https://github.com/root-project/root/issues/11937
for why `-flat_namespace` is bad.

This reverts commit a05d4beded1481a86a65e450826352eb528b03e7.
2023-01-19 12:59:06 +01:00
Vassil Vassilev
a804b3d9eb LLVM now requires C++14.
Patch by Lang Hames.
2022-12-09 08:44:18 +01:00
Vassil Vassilev
23e7fe2951 Add the override qualifier to suppress warnings 2022-12-09 08:44:17 +01:00
Axel Naumann
c88ce22326 Xcode 14 warns about -undefined dynamic_lookup; simply suppress:
"suppress" ignores any unresolved symbol. This requires flat_namespace,
see man ld.
2022-11-11 23:44:03 +01:00
Duncan Ogilvie
f9e0cd9e9e Fix the build on MSVC
Closes https://github.com/root-project/cling/issues/454
2022-10-25 15:29:06 +02:00
Vassil Vassilev
a3805bb26d Bump clad version to v1.0.
This new release includes some improvements:
  * Add support for pushforward- and pullback-style functions
  * More supported constructs in forward and reverse mode
  * Forward mode support for CUDA programs
  * AD-based Floating Point Error Estimation Framework
  * Integration with Enzyme

See more at: https://github.com/vgvassilev/clad/blob/v1.0/docs/internalDocs/ReleaseNotes.md
2022-10-15 10:59:05 +02:00
saisoma123
4c32554d73 Fixed some line break issues 2022-09-26 19:44:03 +02:00
saisoma123
e302c39be6 More splitting lines for getting rid of E501 error 2022-09-26 19:44:03 +02:00
saisoma123
94d8408264 Added checks if both normal and build tags 2022-08-13 19:59:04 +02:00
saisoma123
03ec045b69 Renamed packaging variables 2022-08-13 19:59:04 +02:00
saisoma123
8f55fb4e49 Added old names since change was made in another pull request 2022-08-13 19:59:04 +02:00
saisoma123
c31a7bfdd3 Added a build option for last-stable and current-dev. I added this option because it was listed as an improvement that could be made to the CPT on the meta issue list. These options are nice to have because sometimes the user might just want to build Cling and not package it, for fast testing and usage. 2022-08-13 19:59:04 +02:00
saisoma123
1495b97174 Split long lines to get rid of E501 error 2022-08-04 16:29:04 +02:00
saisoma123
047162c130 Used wget function to replace 3 subprocess calls and fixed up download_llvm_binary function. 2022-08-03 09:14:07 +02:00
Surya Somayyajula
094c81e288 Removed 2 globals and implemented them with parameter passing [skip-ci] (#11058)
Implemented CPT_SRC_DIR and REVISION with parameter passing
2022-07-30 07:59:06 +02:00
saisoma123
0b684e39da Got rid of build option, will develop later 2022-07-28 16:44:04 +02:00
saisoma123
50447f7987 Added option for number of cores used during make operation 2022-07-28 16:44:04 +02:00
saisoma123
4853af7820 Added indentation and spacing as well as fixing variable references 2022-07-28 16:44:04 +02:00
saisoma123
f513f1cb8a Added code to check if both tag and tab_build options are used. I also changed the xor to or now. 2022-07-28 16:44:04 +02:00
saisoma123
11d4f27364 Squashed previous commits as other changes were not intended for this branch. This commit adds build options for the platform tags. 2022-07-28 16:44:04 +02:00
saisoma123
e4f0fba78f Replaced workdir with srcdir in extract_tar calls in download_llvm_binary function 2022-07-28 16:44:04 +02:00
saisoma123
f1f0fc1e24 Created new extract_tar function to extract tar files. Replaced tar subprocess calls with new function call and also replaced pythonic tar extractions with new function call. 2022-07-28 16:44:04 +02:00
saisoma123
6f44b45ad3 Added extra spacing between functions to get rid of E302 error code. This is necessary for getting the code to be flake8 compliant. 2022-07-18 12:44:05 +02:00
Surya Somayyajula
b1ef074c09 Added skip-cleanup flags for check-requirements and create-dev-env [skip-ci] (#10960)
Added skip-cleanup flags for create-dev-env.
This would instruct the cpt to build cling, clang, and llvm, without
deleting the build area, as the cpt normally would delete the build
area due to the use of memory running out when linking, because
of too many build subprocesses.
2022-07-17 13:14:03 +02:00
saisoma123
1890a4f39f Added indentation for visual indent. Makes the code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
0a8571da4e Fixed invalid escape characters. This makes the code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
afc77bf839 Added extra whitespace around operators. This will make code more flake8 compliant. 2022-07-17 08:59:06 +02:00
saisoma123
3feec559a9 Added new dependent arguments, specifically llvm_tar and llvm_binary as well as llvm_tar and llvm_url. I added these dependent arguments because they were listed as a rewrite step for the argument parser in the meta-issue list. Also, it wouldn't make sense to download both the LLVM binary and tar. I also added the tar and url dependency because there was a binary and url dependency. 2022-07-16 18:59:03 +02:00
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