Commit Graph

261 Commits

Author SHA1 Message Date
Anirudha Bose
2f9bd35610 Do not print non-ascii characters in cmd.exe 2014-07-13 13:03:06 +02:00
Anirudha Bose
487b519477 Remove close_fds from subprocess calls which is not supported in Windows 2014-07-13 13:03:06 +02:00
Anirudha Bose
d6bc9d536c Use a portable solution for timestamp in RFC 2822 format
strftime doesn't work on Windows
2014-07-13 13:03:06 +02:00
Anirudha Bose
f80f24abd1 Stash local changes before cloning the sources 2014-07-13 13:03:06 +02:00
Anirudha Bose
88f850ea10 Initial Python port of debianize.sh 2014-07-13 13:03:06 +02:00
Anirudha Bose
546d09b284 Logically separate script into sections 2014-07-13 13:03:06 +02:00
Anirudha Bose
a879ae345a Remove file indep.py
Already merged into cpt.py
2014-07-13 13:03:06 +02:00
Anirudha Bose
d14e8d17ef Initial Python port of cpt.sh
Merge already ported indep.py to cpt.py
2014-07-13 13:03:06 +02:00
Anirudha Bose
e6687233b4 Initial Python port of indep.sh 2014-07-13 13:03:06 +02:00
Anirudha Bose
90bac69568 Show a warning to the user if GPG fingerprint is absent 2014-06-25 11:06:00 +02:00
Anirudha Bose
1bb1009ca9 Add new override for the variable LLVM_GIT_URL 2014-06-25 11:06:00 +02:00
Anirudha Bose
3b1c585a52 Add new override for the variable CLANG_GIT_URL 2014-06-25 11:06:00 +02:00
Anirudha Bose
b43606acb6 Use set_version in case of --*-tag={tag} 2014-06-25 11:06:00 +02:00
Anirudha Bose
ffe2d5ef8a Produce an error when no arrguments are passed to cpt.sh 2014-06-25 11:06:00 +02:00
Anirudha Bose
a4a17a8b9a Merge cleanup functions of all platforms to a single one 2014-06-25 11:06:00 +02:00
Anirudha Bose
52e0768ded Remove double quotes to allow expansion of relative paths 2014-06-25 11:06:00 +02:00
Anirudha Bose
183563a03a Allow ${workdir} to be overridden 2014-06-25 11:06:00 +02:00
Anirudha Bose
e89f5d68cb Assign correct value to LLVM_OBJ_ROOT if it is null 2014-06-25 11:05:59 +02:00
Anirudha Bose
c6deaeca86 Trap SIGEXIT appropriately during exits 2014-06-25 11:05:59 +02:00
Anirudha Bose
3355f27235 Update documentation to include --nsis-tag={tag} 2014-06-25 11:05:59 +02:00
Anirudha Bose
6ed654f403 CPT: Update error condition for cross-compiling to Windows 2014-06-25 11:05:59 +02:00
Anirudha Bose
29d289ae29 CPT: Show an error if no value is passed with options that require one 2014-06-25 11:05:59 +02:00
Anirudha Bose
921b60e522 Checkout the proper Git tag when --*-tag={tag} is passed 2014-06-25 11:05:59 +02:00
Anirudha Bose
943844f81c cpt.sh: Add new option --nsis-tag={tag} 2014-06-25 11:05:59 +02:00
Anirudha Bose
558ea7d719 Add error handling in CPT scripts 2014-06-25 11:05:59 +02:00
Anirudha Bose
593b78a9cc Generate lit.site.cfg in ${LLVM_OBJ_ROOT}/test if not present
lit.site.cfg is parsed to get the values of SHLIBEXT and EXEEXT.
CMake automatically generates this without running tests.
2014-06-25 11:05:59 +02:00
Anirudha Bose
8b5c1a09de Running Cling tests shouldn't be a part of "make proper"
"make distribution" renamed to "make proper"
2014-06-25 11:05:59 +02:00
Anirudha Bose
fa0a31aae0 Use test/lit.site.cfg instead of config.log to get EXEEXT and SHLIBEXT 2014-06-25 11:05:59 +02:00
Anirudha Bose
24fbdf820d Fix invalid paths in NSI script
Also use the TMP_PREFIX variable in the path.
2014-06-25 11:05:59 +02:00
Anirudha Bose
f276927209 Use SHLIBEXT and EXEEXT to make dist-files.mk platform independent 2014-06-25 11:05:59 +02:00
Anirudha Bose
12687731b3 Add function in cling.nsi to detect existing installation of Cling 2014-06-25 11:05:59 +02:00
Anirudha Bose
9a4f4fead0 Add function in cling.nsi to detect the version of Windows
Abort installation for old and unsupported versions of Windows.
2014-06-25 11:05:59 +02:00
Anirudha Bose
5f1a782468 Update README.md for CPT 2014-06-25 11:05:59 +02:00
Anirudha Bose
ce452ec9d5 Remove "unzip" as a requirement in Cygwin
"unzip.exe" is fetched on the fly and used by CPT.
2014-06-25 11:05:59 +02:00
Anirudha Bose
1198ecaeb9 Update usage details of CPT 2014-06-25 11:05:59 +02:00
Anirudha Bose
5faa225459 Initial support for integrating CPT with the build system 2014-06-25 11:05:59 +02:00
Anirudha Bose
c9a40085a7 Remove extra LICENSE.TXT file of LLVM 2014-06-25 11:05:59 +02:00
Anirudha Bose
bea1810af6 Change Cling's installer icon to use LLVM logo 2014-06-18 09:51:02 +02:00
Anirudha Bose
f461f9544b Maintain an extended path in dist-files.mk for better accuracy
This is needed to resolve some duplicate files installed during "make install"
by default.
2014-06-18 09:51:02 +02:00
Anirudha Bose
19014400d4 Version key "FileVersion" is required in cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
62f0148773 Add a mechanism to override default URL of Cling's git repo
Also handle cases where existing origin is different to the supplied origin.
2014-06-18 09:51:02 +02:00
Anirudha Bose
b029fbb5de Hard code cling.exe to be included in the package 2014-06-18 09:51:02 +02:00
Anirudha Bose
c5bd3ea1a3 Translate Cygwin pathname to Windows format for makensis.exe 2014-06-18 09:51:02 +02:00
Anirudha Bose
e41724157b Add icons for NSIS installer and uninstaller 2014-06-18 09:51:02 +02:00
Anirudha Bose
23c4bc0868 Enable building nsis executable from cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
ca100adf9d Use valid VIProductVersion key in cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
967175fc5c Use Windows style absolute paths in cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
6483f480f1 Change mode of nsis directory to 775
Grant read and execute permissions to nsis executables
2014-06-18 09:51:02 +02:00
Anirudha Bose
17ea31cd78 Add "unzip" to list of requirements in Windows 2014-06-18 09:51:02 +02:00
Anirudha Bose
15ca2b1064 Generate nsi script with --current-dev=nsis and last-stable=nsis 2014-06-18 09:51:02 +02:00
Anirudha Bose
5b9937769e Add uninstallation capabilities in cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
3fa5f6d5fd Use solid LZMA compression in NSIS installer 2014-06-18 09:51:02 +02:00
Anirudha Bose
6a321be404 Add section "Mainfiles" to NSI script
Section contains a list of files to be packaged in the installer
2014-06-18 09:51:02 +02:00
Anirudha Bose
401aa8514e Initial metadata for cling.nsi 2014-06-18 09:51:02 +02:00
Anirudha Bose
ca87015367 No need to run ldconfig in debian/postinst
Clang libraries are not distributed anymore.
2014-06-18 09:51:02 +02:00
Anirudha Bose
9fd7e3d3c7 Delay fetching of tags for --last-stable
In case of a fresh clone of cling, script could not perform "git describe"
2014-06-10 21:56:01 +02:00
Anirudha Bose
17087b930b CPT: Update README.md 2014-06-10 21:56:01 +02:00
Anirudha Bose
95c8088d21 Remove message for MSVC
CPT can now check for Visual Studio 11.0 installation. Remove unnecessary message.
2014-06-10 21:56:00 +02:00
Anirudha Bose
2978f646e6 Enable querying of Windows registry for Visual Studio 11.0 installation 2014-06-10 21:56:00 +02:00
Anirudha Bose
c7163994f2 No need to check if OS is Cygwin again 2014-06-10 21:56:00 +02:00
Anirudha Bose
72b1c09fa7 Update README.md for CPT 2014-06-10 21:56:00 +02:00
Anirudha Bose
b22a1622df Create README.md for CPT 2014-06-10 21:56:00 +02:00
Anirudha Bose
97739fa19d Replace cURL with wget to enable recursive downloading 2014-06-10 21:56:00 +02:00
Anirudha Bose
a051817247 Implement live check for latest version of NSIS 2014-06-10 21:56:00 +02:00
Anirudha Bose
fdec3a5a1d Add new options to generate an NSIS installer 2014-06-10 21:56:00 +02:00
Anirudha Bose
40da1cba1d Add entries of docs and share for Cling in dist-files.mk 2014-06-10 21:56:00 +02:00
Anirudha Bose
00e9ba7877 Disable installing LLVM/Clang libraries in all other cases 2014-06-10 21:56:00 +02:00
Anirudha Bose
e47f68fcff Automatically resolve missing dependencies in Ubuntu
This may not be so straight in case of Cygwin.
2014-06-10 21:56:00 +02:00
Anirudha Bose
8111c0f1ad Also check Cygwin when --check-requirements is passed (to keep users happy)
This may also be useful (in future) if some user launches CPT using MSYS
Also remove some extra instructions. We can provide a link to the
documentation when it is complete.
2014-06-10 21:56:00 +02:00
Anirudha Bose
9649d8ac8e Use cat command and EOT to print large messages instead of echo 2014-06-10 21:56:00 +02:00
Anirudha Bose
f1e392f9c0 Use RFC 2822 format in timestamp for cross-platform compatibility 2014-06-10 21:56:00 +02:00
Anirudha Bose
1c2eac4225 Use absolute paths to locate packaging scripts 2014-06-10 21:56:00 +02:00
manasij7479
f9f829c48e autoloading visitor 2014-06-10 15:24:01 +02:00
manasij7479
ae5a3ce221 fwd tool: generates forward declarations from given file 2014-06-10 15:24:01 +02:00
manasij7479
297d005617 other fixes 2014-06-10 15:24:01 +02:00
manasij7479
024b16df11 Init TagsExtension Module, for extending cling to provide interactive hints
AutoloadCallback: Implementing InterpreterCallbacks to attach the module to cling
   The main focus is on overriding LookupObject so that the information about
   lookup failures are obtained from clang.
   The type of the name is not taken into consideration for now.

TagManager: To manage and lookup information from various sorts of tag files.
   Currently a TagManager object is owned by the callback system.
   This may change in future.

Wrapper: As a base class for handling particular types of tagfiles.
   The TagManager maintains a container of Wrappers.

CtagsFileWrapper: Implementing a wrapper for ctags.
   This class is responsible for generating a tagfile from a given path or list of files.
   It also performs lookups in the file generated by it.

And a few simple file system utils to complement llvm::sys::fs and path utilities
2014-06-04 09:20:14 +02:00
Anirudha Bose
2875e4d3e4 Exclude unnecessary libraries of LLVM and Clang from Cling's build
Use dist-files.mk to keep track of files to be distributed with Cling.
2014-06-04 09:20:14 +02:00
Anirudha Bose
5e4fcade73 Enable running of Cling test suite post compilation 2014-06-04 09:20:14 +02:00
Anirudha Bose
3e69e4eb0a Fix spacer issues on Cygwin 2014-06-04 09:20:14 +02:00
Anirudha Bose
6e9dc31dae Add function to clean up redundant files and folders 2014-06-04 09:20:14 +02:00
Anirudha Bose
1828ae8d1d Prettify text printing with box drawings like in the Debian build logs 2014-06-04 09:20:14 +02:00
Anirudha Bose
b7f72ce212 Prevent skipping of the signing of Debian package when VERSION is 0.1 2014-06-04 09:20:14 +02:00
Anirudha Bose
16d6dbd1cc Wrap long commit messages to 75 columns wide following Debian Policy
Old changelogs (prior to tag v0.1) do not need wrapping. Debian Policy Manual
suggests changelog entries should not exceed 80 columns. The "fmt" tool
provided by GNU Coreutils wraps text to 75 columns by default. This can be
modified by: fmt --split-only --width=80
2014-06-04 09:20:14 +02:00
Anirudha Bose
5c2eda383a Automatically generate changelogs separated according to versions or Git tags 2014-06-04 09:20:13 +02:00
Anirudha Bose
3c5a310ddf Create file debian/postinst to call ldconfig on libclang.so
Fixes Lintian Tag: postinst-must-call-ldconfig
2014-06-04 09:20:13 +02:00
Anirudha Bose
1141fe5bbe Override Lintian tag: source-is-missing 2014-06-04 09:20:13 +02:00
Anirudha Bose
fe12304cde Use cygpath to get cmd.exe friendly path to prefix 2014-06-04 09:20:13 +02:00
Anirudha Bose
0a36eaebe9 Use different naming of prefix for Cygwin 2014-06-04 09:20:13 +02:00
Anirudha Bose
e8463df8c6 Set DIST variable for Windows 2014-06-04 09:20:13 +02:00
Anirudha Bose
8f55ec767c Conditionally compile Cling for Windows 2014-06-04 09:20:13 +02:00
Anirudha Bose
61c1941be5 Enable compilation of Cling in Cygwin with CMake 2014-06-04 09:20:13 +02:00
Anirudha Bose
d3af1cd0a3 Use "Cygwin" as name of OS in Windows 2014-06-04 09:20:13 +02:00
Anirudha Bose
d6e6e239e7 Add checking of requirements in Cygwin 2014-06-04 09:20:13 +02:00
Anirudha Bose
4ab55e890f Dynamically determine name and email from GnuPG fingerprint 2014-06-04 09:20:13 +02:00
Anirudha Bose
88c22d1c27 Also clean up temporary builddir 2014-06-04 09:20:12 +02:00
Anirudha Bose
b06749b980 Merge get_platform.sh to be a part of indep.sh 2014-06-04 09:20:12 +02:00
Anirudha Bose
9aa2485723 Reorganize platform independent functions into a single script 2014-06-04 09:20:12 +02:00
Anirudha Bose
9ebac9b476 Cleanup redundant directory after creating tarball 2014-06-04 09:20:12 +02:00
Anirudha Bose
a898a002de Use actual URL for LICENSE.TXT 2014-06-04 09:20:12 +02:00
Anirudha Bose
0eb2bdf637 Combine --last-stable-deb and --last-stable-tar to --last-stable={tar,deb} 2014-06-04 09:20:12 +02:00
Anirudha Bose
2b6f55376b Generalize --current-dev-tarball to --current-dev={tar, deb} 2014-06-04 09:20:12 +02:00
Anirudha Bose
5c4ba39cea Make --check-requirements conditional, and some code cleanups 2014-06-04 09:20:12 +02:00
Anirudha Bose
d4ba5c61aa Refactor and split common code into multiple helper scripts 2014-06-04 09:20:12 +02:00
Anirudha Bose
536d386876 Use correct OS name in GNU/Linux and Cygwin 2014-06-04 09:20:12 +02:00
Anirudha Bose
0c5cab41ad Add TODOs in the script 2014-06-04 09:20:12 +02:00
Anirudha Bose
65ca47e2bf Generate debian/changelog according to the checked out repo of Cling 2014-06-04 09:20:11 +02:00
Anirudha Bose
13e1c42a7a Also check python during --check-requirements 2014-06-04 09:20:11 +02:00
Anirudha Bose
cdaaaa6490 Do not use ${var} style variable in AWK statement 2014-06-04 09:20:11 +02:00
Anirudha Bose
d97c2d47cc source get_platform.sh must be executed after Cling is cloned 2014-06-04 09:20:11 +02:00
Anirudha Bose
eb3565e282 Limit commit hash to 7 characters like Git 2014-06-04 09:20:11 +02:00
Anirudha Bose
0651bbec97 Do not allow more than one switch at a time 2014-06-04 09:20:11 +02:00
Anirudha Bose
91c6267ba6 Modularize code and add switches 2014-06-04 09:20:11 +02:00
Anirudha Bose
81b84c9a74 Add script to detect host platform and Operating System 2014-06-04 09:20:11 +02:00
Anirudha Bose
6c2a281a5c Patch "Fix wrong path of VERSION in Makefile" has been merged upstream
Commit: 7658828d0d
2014-06-04 09:20:11 +02:00
Anirudha Bose
3b8e1f74be Make script capable of compiling Cling from source 2014-06-04 09:20:10 +02:00
Anirudha Bose
dc17d22467 Adapt script to use the new version system of Cling 2014-06-04 09:20:10 +02:00
Anirudha Bose
2f69c1be09 Fix globbing issues and use an improved method to check tarball in argument 2014-06-04 09:20:10 +02:00
Anirudha Bose
be4c32345e Fix bug for the disappearing ${shlibs:Depends} and ${misc:Depends} 2014-06-04 09:20:10 +02:00
Anirudha Bose
1052a4a27c Also double quote Parameter Expansion to prevent globbing and word splitting 2014-06-04 09:20:10 +02:00
Anirudha Bose
c0eae0781d Use Parameter Expansion instead of sed 2014-06-04 09:20:10 +02:00
Anirudha Bose
455c4a6250 Double quote to prevent globbing and word splitting 2014-06-04 09:20:10 +02:00
Anirudha Bose
5954ec0ea5 Use $(..) instead of deprecated .. 2014-06-04 09:20:09 +02:00
Anirudha Bose
061ca9dfa5 Double quote array expansions, otherwise they're like $* and break on spaces 2014-06-04 09:20:09 +02:00
Anirudha Bose
4ae49cf988 Add new script to Debianize a tarball 2014-06-04 09:20:09 +02:00
Vassil Vassilev
a1c9e12809 Remove old code and dir. 2014-05-09 22:59:55 +02:00
Lukas Vacek
ce008b07fc Fix input files processing (cling foo.c should work now) 2014-05-02 19:01:01 +02:00
Axel Naumann
93970e8c35 Replace StoredValueRef by Value. 2014-04-01 18:31:58 +02:00
Axel Naumann
b3f0aa4120 Add new llvm lib dependencies. 2014-03-28 16:52:55 +01:00
Axel Naumann
e7982e022d Clean linked libs. 2014-03-08 19:05:02 +01:00
Axel Naumann
70144ff4d8 Export symbols so dlsym() can find them. 2014-03-08 18:47:10 +01:00
Axel Naumann
61d2ec4e7a Export symbols for the JIT. 2014-03-08 18:47:10 +01:00
Axel Naumann
363e6162ca Do not strip symbols; we need them for the JIT. 2014-02-18 17:08:57 +01:00
Axel Naumann
8aedeca69c Refer to license in CMake files. 2014-01-07 12:02:58 +01:00
Axel Naumann
44481ace1e Fix license; remove $Id$ version. 2014-01-07 11:14:04 +01:00
Axel Naumann
5da6e646a5 Correct licenses in Makefiles. 2014-01-07 11:13:56 +01:00
Vassil Vassilev
d95fd05850 From Peter Kummel: prepend current cmake dir. 2013-10-20 23:00:59 +02:00
Axel Naumann
f5470e4942 Add llvm option library. 2013-09-30 22:55:55 +02:00
Vassil Vassilev
5285fb909e Indents. 2013-08-07 17:58:57 +02:00
Vassil Vassilev
247f775f1d Return result of the process should be if there were diagnostics issued, that weren't recovered. 2013-08-07 17:58:57 +02:00
Vassil Vassilev
9a362ba643 In the case where we run cling -verify we must check whether it issued errors and return unhappiness as an exit code from the process. This is helpful for cling's test suite, because this gives the suite chance to understand that something went wrong.
The implementation is a bit hackish since the implementation of the
VerifyDiagnosticsConsumer requires EndSourceFile call to perform all necessary
checks. This means that we need to force it before Interpreter's dtor has done
it so that we still could have chance to set the return result of main. Then
we need to call artificially BeginSourceFile because the interpreter expects
balanced BeginSourceFile/EndSourceFils calls.
2013-08-07 17:58:56 +02:00
Vassil Vassilev
fee4a226ba Don't create an extra user interface object when in interactive mode. 2013-08-07 17:58:56 +02:00
Axel Naumann
11e71f5c76 Make result evaluation optional again. 2013-06-10 17:12:50 +02:00
Axel Naumann
0c1c22f002 Return action result and Value from all interfaces. Force callers to rpovide them, to make them handle errors etc. 2013-06-07 15:19:51 +02:00
Pere Mato Vila
3d33fb56c2 Avoid building cling 'UserInterface' library and 'cling' executable when bulding ROOT with CMake. Fixed the order of libraries in link statement.. 2013-06-05 16:26:50 +02:00
Axel Naumann
7b728b7ba2 Update to the lib list of llvm's / clang's trunk. 2013-05-15 16:36:13 +02:00
Axel Naumann
eed7249efd Update dependencies - changes in llvm trunk.
git-svn-id: http://root.cern.ch/svn/root/trunk@49354 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-25 16:41:54 +00:00
Axel Naumann
70695fe2be Update to clang/llvm r179269 (llvm vendor branch r49215):
Parser::Scope versus Sema::DeclContext are now checked for cross-vailidity.
Emit the TU-transaction explicitly instead of relying on a first transaction.
The typename extraction now takes a stream instead of a string to write to.
The llvm::Linker has much reduced functionality; use llvm::sys::Path instead to find dynamic libraries.


git-svn-id: http://root.cern.ch/svn/root/trunk@49325 27541ba8-7e3a-0410-8455-c3a389f83636
2013-04-24 16:28:08 +00:00
Fons Rademakers
fc0d43ea2e From Pere:
changes needed from introduction of cling and removal of cint.
There are still some problems, that will be fixed asap.


git-svn-id: http://root.cern.ch/svn/root/trunk@48027 27541ba8-7e3a-0410-8455-c3a389f83636
2012-12-13 17:22:52 +00:00
Vassil Vassilev
a86f9fcff7 My bad that shouldn't ended up in the trunk at all
git-svn-id: http://root.cern.ch/svn/root/trunk@47629 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-26 14:08:10 +00:00
Vassil Vassilev
55e9e20bf8 Silence a warning.
git-svn-id: http://root.cern.ch/svn/root/trunk@47626 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-26 13:45:32 +00:00