Commit Graph

74 Commits

Author SHA1 Message Date
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
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
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
51a83f543d Reduce the libraries we link to. 2018-11-21 17:15:14 +01:00
Sylvain Corlay
7116e7239c Add missing libraries 2018-10-19 00:30:04 +02:00
Bertrand Bellenot
e26a6cb2df Several fixes for Windows
- cling: add missing symbol in the export list and fix semicolon issue in CMakeList.txt (it has to be in quotes)
 - cling-demo: export symbols and format hexadecimal output
2018-03-22 13:44:16 +01:00
Bertrand Bellenot
cb658dd0f8 Fix fatal error LNK1120: 1 unresolved externals (Windows)
Remove export symbol causing the following linker error:
cling.exp : error LNK2001: unresolved external symbol "public: void __cdecl clang::Decl::dump(class llvm::raw_ostream &)const " (?dump@Decl@clang@@QEBAXAEAVraw_ostream@llvm@@@Z)
2017-07-05 10:44:07 +02:00
Frederich Munch
38c757e36d Have MetaProcessor::process take an llvm::StringRef. Remove unnecessary std::string -> const char* -> std::string conversions. 2017-06-21 11:29:07 +02:00
Bertrand Bellenot
536c10ce34 Use correct way of checking Debug build
The CMAKE_BUILD_TYPE CMake variable is only valid for single-configuration generator (like Linux Makefiles), and not for multi-configuration generator (like for Visual Studio). So let's try to use a CMake generator expression instead.
2017-02-22 10:34:07 +01:00
Frederich Munch
08d43f7ac0 CMake: Export global new and delete operators.
Note: There is still a problem with LLVM’s lookup of symbols and a change is needed
there for the full benefit.
2017-02-21 16:34:19 +01:00
Frederich Munch
8d6377f3a7 Windows: Split up exports into groups and make it easier to understand what’s forced to be exported. 2017-02-17 15:14:06 +01:00
Bertrand Bellenot
40f433e769 Export more symbols (decreasing the failing tests from 17 to 10) 2017-02-14 14:59:43 +01:00
Frederich Munch
b56254c0e7 Windows: Add explicit exports that aren’t being exported. 2017-02-09 16:45:10 +01:00
Frederich Munch
e245220dff Cleanup main and add InvocationOptions::IsInteractive method. 2017-02-01 13:14:11 +01:00
Frederich Munch
8aa8395cd6 Early out Interpreter initialization when invoked via '-v' or '-version'. 2017-02-01 13:14:11 +01:00
Frederich Munch
14437862ef Handle -E flag to dump preprocessor definitions. 2017-02-01 13:14:11 +01:00
Frederich Munch
592e61ba1e Feature to generate precompiled headers. 2017-02-01 13:14:11 +01:00
Frederich Munch
6aa837920e Check initialization is proceeding as expecting.
Don't blindly run through initialization; make sure things are going according to plan.
If not handle it and run destructors without crashing.
Return standard error codes from main.
2017-02-01 13:14:11 +01:00
Frederich Munch
0153f63690 Windows: Make sure to export type_info globals. 2016-12-20 12:59:08 +01:00
Axel Naumann
43fe0be0a0 From Roman Zulak: Flush stdout less (cling). 2016-12-19 13:59:11 +01:00
Bertrand Bellenot
f98f5a0096 Should fix cling.exp : error LNK2001: unresolved external symbol "char const * const cling::valuePrinterInternal::kEmptyCollection" 2016-12-01 17:14:05 +01:00
Roman Zulak
1e004e9d3a Fix printing of collections. Make it impossible for a collection with 1 element to match the string of an empty collection. Avoid checking if comma needs to be added in loop. Make an empty tuple print same as empty collection: '{}'.
Signed-off-by: Vassil Vassilev <vvasilev@cern.ch>
2016-11-21 12:44:34 +01:00
Bertrand Bellenot
1fe0bf1ad0 Enable stack trace & suppress error dialog on Windows.
Suppressing the error dialog on Windows prevent hangs on build nodes. One can also use an environment variable (Cling_GuiOnAssert) to enable/disable the error dialogs.
2016-08-08 12:14:09 +02:00
Frederich Munch
5a08af54ec llvm::sys::PrintStackTraceOnErrorSignal takes argv[0] as an argument in current llvm. 2016-07-22 12:44:11 +02:00
Frederich Munch
36e5b97051 Fix cling executable when building as shared-library. 2016-07-22 12:44:11 +02:00
Bertrand Bellenot
79c8fc1d7c Build cling.exe on Windows using the CMake object libraries
This allows to export the symbols from the executable, using the next version of CMake (not yet in the git master version of CMake)
2016-07-21 11:59:27 +02:00
Frederich Munch
a054b253d8 Fix CMake projects to link to proper libraries when built as shared library. 2016-07-19 17:59:14 +02:00
Axel Naumann
7e9a74f3e4 Remove remnants of llvm configure/make build system. 2016-07-13 17:16:13 +02:00
Axel Naumann
e01719a2bb Do not strip the binary. Fixes missing symbols on MacOS. 2015-02-17 15:45:15 +01:00
Axel Naumann
45056891ad Link against OrcJIT. 2015-02-11 10:57:46 +01:00
Axel Naumann
9b94d72ac3 No more old JIT. 2015-02-11 10:57:43 +01:00
Vassil Vassilev
3a541b38e0 Add future work to do. 2014-08-14 14:56:43 +02:00
Vassil Vassilev
a415711407 Implement a shebang support in cling. 2014-08-14 14:56:43 +02:00
Vassil Vassilev
7b2c95f7bc Use the file lookup using the include paths to resolve filenames. 2014-08-14 14:56:39 +02:00
Vassil Vassilev
deb8c0d21c If the input is not a file do not prepend .x in front. 2014-08-14 14:56:39 +02:00
Vassil Vassilev
c1bd9c198c clingTagsExtension is gone. 2014-08-14 14:56:34 +02:00
Vassil Vassilev
20c6cd6fae We need libLLVMProfileData. 2014-08-14 14:56:34 +02:00
Philippe Canal
576ca3ca96 Remove trailing spaces 2014-08-13 16:08:36 +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
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