@@ -95,15 +95,6 @@ set(libbpf_SOURCE_DIR ${CMAKE_BINARY_DIR}/libbpf/src/libbpf)
9595set (procdump_ebpf_SOURCE_DIR ${CMAKE_SOURCE_DIR} /ebpf)
9696set (sym_SOURCE_DIR ${CMAKE_SOURCE_DIR} /sym)
9797
98- #
99- # Configure files
100- #
101- configure_file (${procdump_INC} /ProcDumpVersion.h.in ${PROJECT_BINARY_DIR} /ProcDumpVersion.h )
102- if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
103- configure_file (dist/DEBIAN.in/control.in DEBIANcontrol )
104- configure_file (dist/SPECS.in/spec.in SPECS.spec )
105- endif ()
106-
10798#
10899# Compiler
109100#
@@ -117,6 +108,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
117108 # Figure out which architecture we are building for
118109 if (CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL amd64)
119110 set (CLRHOSTDEF -DHOST_AMD64 -DHOST_64BIT)
111+ set (ARCHITECTURE "amd64" )
120112 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL x86 OR CMAKE_SYSTEM_PROCESSOR STREQUAL i686)
121113 set (CLRHOSTDEF -DHOST_X86)
122114 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL armv6 OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv6l)
@@ -125,6 +117,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
125117 set (CLRHOSTDEF -DHOST_ARM)
126118 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL aarch64 OR CMAKE_SYSTEM_PROCESSOR STREQUAL arm64)
127119 set (CLRHOSTDEF -DHOST_ARM64 -DHOST_64BIT)
120+ set (ARCHITECTURE "arm64" )
128121 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL loongarch64)
129122 set (CLRHOSTDEF -DHOST_LOONGARCH64 -DHOST_64BIT)
130123 elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL riscv64)
@@ -156,13 +149,28 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
156149 /usr/include
157150 )
158151
152+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
153+ target_include_directories (ProcDumpProfiler PUBLIC
154+ /usr/include/aarch64-linux-gnu
155+ )
156+ endif ()
157+
159158 add_custom_command (OUTPUT ProcDumpProfiler.o
160159 COMMAND "${LD} " -r -b binary -o "${PROJECT_BINARY_DIR} /ProcDumpProfiler.o" ProcDumpProfiler.so
161160 COMMENT "Packing ProcDumpProfiler.so into ProcDumpProfiler.o"
162161 DEPENDS ProcDumpProfiler
163162 )
164163endif ()
165164
165+ #
166+ # Configure files
167+ #
168+ configure_file (${procdump_INC} /ProcDumpVersion.h.in ${PROJECT_BINARY_DIR} /ProcDumpVersion.h )
169+ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
170+ configure_file (dist/DEBIAN.in/control.in DEBIANcontrol )
171+ configure_file (dist/SPECS.in/spec.in SPECS.spec )
172+ endif ()
173+
166174#
167175# Make ProcDump
168176#
@@ -225,6 +233,14 @@ target_include_directories(procdump PUBLIC
225233 ${sym_SOURCE_DIR}
226234 ${procdump_ebpf_SOURCE_DIR}
227235 )
236+
237+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
238+ message (STATUS "Adding include path for aarch64: /usr/include/aarch64-linux-gnu" )
239+ target_include_directories (procdump PUBLIC
240+ /usr/include/aarch64-linux-gnu
241+ )
242+ endif ()
243+
228244if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
229245 add_dependencies (procdump libbpf procdump_ebpf )
230246 target_link_libraries (procdump ${libbpf_SOURCE_DIR} /src/libbpf.a elf z pthread )
@@ -260,8 +276,9 @@ target_link_libraries(ProcDumpTestApplication pthread)
260276# Make package(s)
261277#
262278if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
279+ message ("Architecture: ${ARCHITECTURE} " )
263280 add_custom_target (deb
264- COMMAND "${CMAKE_SOURCE_DIR} /makePackages.sh" "${CMAKE_SOURCE_DIR} " "${PROJECT_BINARY_DIR} " "${PACKAGE_NAME} " "${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH} " "0" "deb"
281+ COMMAND "${CMAKE_SOURCE_DIR} /makePackages.sh" "${CMAKE_SOURCE_DIR} " "${PROJECT_BINARY_DIR} " "${PACKAGE_NAME} " "${PROJECT_VERSION_MAJOR} .${PROJECT_VERSION_MINOR} .${PROJECT_VERSION_PATCH} " "0" "deb" " ${ARCHITECTURE} "
265282 DEPENDS "${CMAKE_SOURCE_DIR} /dist" "${PROJECT_BINARY_DIR} /procdump"
266283 )
267284
@@ -306,22 +323,38 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
306323 )
307324 set (CLANG_DEFINES -D __KERNEL__
308325 -D __BPF_TRACING__
309- -D __TARGET_ARCH_x86
310326 -D __linux__
311327 )
328+
329+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
330+ list (APPEND CLANG_DEFINES -D __TARGET_ARCH_arm64)
331+ endif ()
332+
333+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" )
334+ list (APPEND CLANG_DEFINES -D __TARGET_ARCH_x86)
335+ endif ()
336+
312337 if (DEBUG_K)
313338 message ("Using DEBUG_K Option..." )
314339 list (APPEND CLANG_DEFINES -DDEBUG_K)
315340 endif ()
316341
317342 set (CLANG_INCLUDES
318343 -I "/usr/include"
319- -I "/usr/include/x86_64-linux-gnu"
344+ # -I "/usr/include/x86_64-linux-gnu"
320345 -I "${CMAKE_SOURCE_DIR} "
321346 -I "${CMAKE_BINARY_DIR} "
322347 -I "${libbpf_SOURCE_DIR} /src"
323348 )
324349
350+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" )
351+ list (APPEND CLANG_INCLUDES -I "/usr/include/aarch64-linux-gnu" )
352+ endif ()
353+
354+ if (NOT APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" )
355+ list (APPEND CLANG_INCLUDES -I "/usr/include/x86_64-linux-gnu" )
356+ endif ()
357+
325358 add_custom_target (procdump_ebpf
326359 DEPENDS procdump_ebpf.o
327360 )
0 commit comments