-
Notifications
You must be signed in to change notification settings - Fork 827
Expand file tree
/
Copy pathCMakeLists.txt
More file actions
92 lines (84 loc) · 2.11 KB
/
CMakeLists.txt
File metadata and controls
92 lines (84 loc) · 2.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
publish_internal_headers(rdma
rdma/bnxt_re-abi.h
rdma/cxgb4-abi.h
rdma/efa-abi.h
rdma/erdma-abi.h
rdma/hns-abi.h
rdma/ib_user_ioctl_cmds.h
rdma/ib_user_ioctl_verbs.h
rdma/ib_user_mad.h
rdma/ib_user_sa.h
rdma/ib_user_verbs.h
rdma/irdma-abi.h
rdma/mana-abi.h
rdma/mlx4-abi.h
rdma/mlx5-abi.h
rdma/mlx5_user_ioctl_cmds.h
rdma/mlx5_user_ioctl_verbs.h
rdma/mthca-abi.h
rdma/ocrdma-abi.h
rdma/qedr-abi.h
rdma/rdma_netlink.h
rdma/rdma_user_cm.h
rdma/rdma_user_ioctl.h
rdma/rdma_user_ioctl_cmds.h
rdma/rdma_user_rxe.h
rdma/rvt-abi.h
rdma/siw-abi.h
rdma/vmw_pvrdma-abi.h
rdma/zxdh-abi.h
rdma/zxdh_user_ioctl_cmds.h
rdma/zxdh_user_ioctl_verbs.h
)
publish_internal_headers(rdma/hfi
rdma/hfi/hfi1_ioctl.h
rdma/hfi/hfi1_user.h
)
publish_internal_headers(linux
linux/stddef.h
linux/vfio.h
)
function(rdma_kernel_provider_abi)
# Older versions of cmake do not create the output directory automatically
set(DDIR "${BUILD_INCLUDE}/kernel-abi")
rdma_make_dir("${DDIR}")
set(HDRS "")
foreach(IHDR ${ARGN})
get_filename_component(FIL ${IHDR} NAME)
set(OHDR "${DDIR}/${FIL}")
set(HDRS ${HDRS} ${OHDR})
add_custom_command(
OUTPUT "${OHDR}"
COMMAND "${PYTHON_EXECUTABLE}" "${PROJECT_SOURCE_DIR}/buildlib/make_abi_structs.py" "${IHDR}" "${OHDR}"
MAIN_DEPENDENCY "${IHDR}"
DEPENDS "${PROJECT_SOURCE_DIR}/buildlib/make_abi_structs.py"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
COMMENT "Creating ABI wrapper ${OHDR}"
)
endforeach()
# This weird construction is needed to ensure ordering of the build.
add_library(kern-abi STATIC kern-abi.c ${HDRS})
endfunction()
# Transform the kernel ABIs used by the providers
rdma_kernel_provider_abi(
rdma/bnxt_re-abi.h
rdma/cxgb4-abi.h
rdma/efa-abi.h
rdma/erdma-abi.h
rdma/hns-abi.h
rdma/ib_user_verbs.h
rdma/irdma-abi.h
rdma/mana-abi.h
rdma/mlx4-abi.h
rdma/mlx5-abi.h
rdma/mthca-abi.h
rdma/ocrdma-abi.h
rdma/qedr-abi.h
rdma/rdma_user_rxe.h
rdma/siw-abi.h
rdma/vmw_pvrdma-abi.h
rdma/zxdh-abi.h
)
publish_headers(infiniband
rdma/ib_user_ioctl_verbs.h
)