xref: /llvm-project/llvm/test/tools/llvm-lib/implibs.test (revision bacc7aebb9b902b7edb6c20164cd033d6c162796)
14d09ed95SMartin StorsjöTest that import libraries (and the members thereof) can be added to another
24d09ed95SMartin Storsjöstatic library.
34d09ed95SMartin Storsjö
44d09ed95SMartin StorsjöRUN: rm -rf %t
54d09ed95SMartin StorsjöRUN: mkdir -p %t
64d09ed95SMartin Storsjö
74d09ed95SMartin StorsjöRUN: echo -e "EXPORTS\nMyFunc" > %t/lib.def
84d09ed95SMartin StorsjöRUN: llvm-dlltool -m i386:x86-64 -l %t/lib.lib -d %t/lib.def -D lib.dll
94d09ed95SMartin StorsjöRUN: llvm-lib -out:%t/newlib.lib %t/lib.lib
104d09ed95SMartin Storsjö
114d09ed95SMartin StorsjöRUN: llvm-ar t %t/newlib.lib | FileCheck %s
124d09ed95SMartin StorsjöCHECK: lib.dll
13395ec445SVadim Paretsky (Intel Americas Inc)
14395ec445SVadim Paretsky (Intel Americas Inc)Test that import libraries can be created from a def file
15395ec445SVadim Paretsky (Intel Americas Inc)
16*bacc7aebSJacek CabanRUN: echo -e "NAME lib.dll\nEXPORTS\nMyFunc\nAnotherFunc" > %t/implib.def
17395ec445SVadim Paretsky (Intel Americas Inc)RUN: llvm-lib -out:%t/implib.lib -def:%t/implib.def -machine:x64
18395ec445SVadim Paretsky (Intel Americas Inc)
19395ec445SVadim Paretsky (Intel Americas Inc)RUN: llvm-ar t %t/implib.lib | FileCheck %s
20*bacc7aebSJacek Caban
21*bacc7aebSJacek CabanRUN: llvm-nm --print-armap %t/implib.lib | FileCheck --check-prefix=SYMTAB %s
22*bacc7aebSJacek CabanSYMTAB:      Archive map
23*bacc7aebSJacek CabanSYMTAB-NEXT: AnotherFunc in lib.dll
24*bacc7aebSJacek CabanSYMTAB-NEXT: MyFunc in lib.dll
25