Looks like you will need to modify the make rules in:

https://[email protected]/svn/llvm-project/lldb/trunk/test/make/Makefile.rules

to actually handle linking shared libraries on windows. There are a few (5-10) 
tests that link shared libraries and we want those to work.

It is passing "-shared" to clang.exe, but it isn't recognizing it. 

> On Dec 2, 2014, at 3:49 PM, Zachary Turner <[email protected]> wrote:
> 
> I actually get errors when doing this.  
> 
> d:\src\llvm\tools\lldb\test\lang\c\shared_lib>make 
> CC=d:\src\llvm\build\ninja\bin\clang.exe
> 'g++' is not recognized as an internal or external command,
> operable program or batch file.
> The system cannot find the file specified.
> The system cannot find the file specified.
> d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32  -fPIC 
> -Id:/src/llvm/tools/lldb/test/make/../../include   -c -o main.o main.c
> d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32  -fPIC 
> -Id:/src/llvm/tools/lldb/test/make/../../include   -c -o foo.o foo.c
> d:\src\llvm\build\ninja\bin\clang.exe -g -O0 -m32  -fPIC 
> -Id:/src/llvm/tools/lldb/test/make/../../include  -fuse-ld=lld foo.o -shared 
> -o "libfoo.so"
> clang.exe: warning: argument unused during compilation: '-shared'
> Cannot infer subsystem; assuming /subsystem:console
> Undefined symbol: C:\Program Files (x86)\Microsoft Visual Studio 
> 12.0\VC\lib\libcmt.lib(f:\binaries\Intermediate\vctools\crt_bld\SELF_X86\crt\prebuild\build\INTEL\mt_obj\nativec\\crt0.obj):
>  _main
> symbol(s) not found
> clang.exe: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> make: *** [libfoo.so] Error 1
> 
> 
> This probably hints a deeper issue or just something else I haven't gotten 
> around to fixing yet (like maybe it's broken for all C files, and only works 
> for C++).
> 
> Just so I understand, is this a location where it's supposed to find system 
> libraries, like libc or similar?  Or is this for something else?  Clang is 
> pretty good about automatically finding all required libraries on Windows, so 
> if it's just for that it might not be needed, but if it's a place we're 
> putting our own shared libraries, then maybe we do.
> 
> On Tue Dec 02 2014 at 3:26:32 PM Greg Clayton <[email protected]> wrote:
> You will actually want to set this correctly for windows. To find out what 
> settings to use use:
> 
> cd test/lang/c/shared_lib
> make
> 
> Then look for the shared library that was created "libfoo.dll"? If so your 
> setup would be:
> 
> 
> ```
>         elif sys.platform.startswith('windows'):
>             cls.platformContext = _PlatformContext('PATH', 'lib', 'dll')
> 
> ```
> 
> REPOSITORY
>   rL LLVM
> 
> http://reviews.llvm.org/D6484
> 
> 


_______________________________________________
lldb-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits

Reply via email to