Commit Graph

29 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
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
14437862ef Handle -E flag to dump preprocessor definitions. 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
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
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
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
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
8aedeca69c Refer to license in CMake files. 2014-01-07 12:02:58 +01:00
Axel Naumann
7b728b7ba2 Update to the lib list of llvm's / clang's trunk. 2013-05-15 16:36:13 +02: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
Axel Naumann
0dea9a66f6 Updated location of RequiredSymbols.cpp
git-svn-id: http://root.cern.ch/svn/root/trunk@46986 27541ba8-7e3a-0410-8455-c3a389f83636
2012-11-01 19:38:15 +00:00
Axel Naumann
05ba8a3a07 Move cling from cint/ to interpreter/ (Will add a "we have moved" readme to cint/cling.)
git-svn-id: http://root.cern.ch/svn/root/trunk@45844 27541ba8-7e3a-0410-8455-c3a389f83636
2012-09-05 09:37:39 +00:00