85 lines
2.0 KiB
Plaintext
85 lines
2.0 KiB
Plaintext
; RUN: rm -rf %t
|
|
; RUN: split-file %s %t
|
|
; RUN: sed -e "s|DSTROOT|%/t|g" %t/inputs.json.in > %t/inputs.json
|
|
; RUN: mkdir -p %t/modules.cache
|
|
|
|
; RUN: clang-installapi \
|
|
; RUN: -target arm64-apple-macos12 -install_name @rpath/libfoo.dylib \
|
|
; RUN: -current_version 1 -compatibility_version 1 \
|
|
; RUN: -Xproject -fmodules -I%t/usr/include \
|
|
; RUN: -Xproject -fmodules-cache-path=%t/modules.cache \
|
|
; RUN: -F %S/Inputs/Foundation/ \
|
|
; RUN: -exclude-public-header %t/usr/include/public.h \
|
|
; RUN: -extra-project-header %t/project.h -I%t -dynamiclib \
|
|
; RUN: %t/inputs.json \
|
|
; RUN: -o %t/output.tbd 2>&1 | FileCheck %s --allow-empty
|
|
; RUN: llvm-readtapi --compare %t/output.tbd %t/expected.tbd 2>&1 | FileCheck %s --allow-empty
|
|
|
|
; RUN: not clang-installapi \
|
|
; RUN: -target arm64-apple-macos12 -install_name @rpath/libfoo.dylib \
|
|
; RUN: -current_version 1 -compatibility_version 1 \
|
|
; RUN: -Xproject -fmodules -I%t/usr/include \
|
|
; RUN: -Xproject -fmodules-cache-path=%t/modules.cache \
|
|
; RUN: -extra-project-header %t/project.h \
|
|
; RUN: -F %S/Inputs/Foundation/ \
|
|
; RUN: %t/inputs.json \
|
|
; RUN: -I%t -dynamiclib -o %t/output.tbd 2>&1 | FileCheck %s --check-prefix=PUBLIC
|
|
|
|
; CHECK-NOT: error
|
|
; CHECK-NOT: warning
|
|
|
|
; PUBLIC: public.h:1:1: error: use of '@import' when modules are disabled
|
|
; PUBLIC-NEXT: @import Foundation;
|
|
|
|
//--- usr/include/public.h
|
|
@import Foundation;
|
|
extern int foo();
|
|
|
|
//--- project.h
|
|
@import Foundation;
|
|
extern int bar();
|
|
|
|
//--- expected.tbd
|
|
{
|
|
"main_library": {
|
|
"exported_symbols": [
|
|
{
|
|
"text": {
|
|
"global": [
|
|
"_bar"
|
|
]
|
|
}
|
|
}
|
|
],
|
|
"flags": [
|
|
{
|
|
"attributes": [
|
|
"not_app_extension_safe"
|
|
]
|
|
}
|
|
],
|
|
"install_names": [
|
|
{
|
|
"name": "@rpath/libfoo.dylib"
|
|
}
|
|
],
|
|
"target_info": [
|
|
{
|
|
"min_deployment": "12",
|
|
"target": "arm64-macos"
|
|
}
|
|
]
|
|
},
|
|
"tapi_tbd_version": 5
|
|
}
|
|
|
|
;--- inputs.json.in
|
|
{
|
|
"headers": [ {
|
|
"path" : "DSTROOT/usr/include/public.h",
|
|
"type" : "public"
|
|
}
|
|
],
|
|
"version": "3"
|
|
}
|