1*387f9dfdSAndroid Build Coastguard Worker# - Try to find libbpf 2*387f9dfdSAndroid Build Coastguard Worker# Once done this will define 3*387f9dfdSAndroid Build Coastguard Worker# 4*387f9dfdSAndroid Build Coastguard Worker# LIBBPF_FOUND - system has libbpf 5*387f9dfdSAndroid Build Coastguard Worker# LIBBPF_INCLUDE_DIR - the libbpf include directory 6*387f9dfdSAndroid Build Coastguard Worker# LIBBPF_STATIC_LIBRARIES - the libbpf source directory 7*387f9dfdSAndroid Build Coastguard Worker# LIBBPF_LIBRARIES - link these to use libbpf 8*387f9dfdSAndroid Build Coastguard Worker 9*387f9dfdSAndroid Build Coastguard Worker#if (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES) 10*387f9dfdSAndroid Build Coastguard Worker# set (LibBpf_FIND_QUIETLY TRUE) 11*387f9dfdSAndroid Build Coastguard Worker#endif (LIBBPF_LIBRARIES AND LIBBPF_INCLUDE_DIR AND LIBBPF_STATIC_LIBRARIES) 12*387f9dfdSAndroid Build Coastguard Worker 13*387f9dfdSAndroid Build Coastguard Worker# You'll need following packages to be installed (Fedora names): 14*387f9dfdSAndroid Build Coastguard Worker# libbpf 15*387f9dfdSAndroid Build Coastguard Worker# libbpf-static 16*387f9dfdSAndroid Build Coastguard Worker# libbpf-devel 17*387f9dfdSAndroid Build Coastguard Worker 18*387f9dfdSAndroid Build Coastguard Workerfind_path (LIBBPF_INCLUDE_DIR 19*387f9dfdSAndroid Build Coastguard Worker NAMES 20*387f9dfdSAndroid Build Coastguard Worker bpf/bpf.h 21*387f9dfdSAndroid Build Coastguard Worker bpf/btf.h 22*387f9dfdSAndroid Build Coastguard Worker bpf/libbpf.h 23*387f9dfdSAndroid Build Coastguard Worker 24*387f9dfdSAndroid Build Coastguard Worker PATHS 25*387f9dfdSAndroid Build Coastguard Worker /usr/include 26*387f9dfdSAndroid Build Coastguard Worker /usr/local/include 27*387f9dfdSAndroid Build Coastguard Worker /opt/local/include 28*387f9dfdSAndroid Build Coastguard Worker /sw/include 29*387f9dfdSAndroid Build Coastguard Worker ENV CPATH) 30*387f9dfdSAndroid Build Coastguard Worker 31*387f9dfdSAndroid Build Coastguard Workerfind_library (LIBBPF_LIBRARIES 32*387f9dfdSAndroid Build Coastguard Worker NAMES 33*387f9dfdSAndroid Build Coastguard Worker bpf 34*387f9dfdSAndroid Build Coastguard Worker PATHS 35*387f9dfdSAndroid Build Coastguard Worker /usr/lib 36*387f9dfdSAndroid Build Coastguard Worker /usr/local/lib 37*387f9dfdSAndroid Build Coastguard Worker /opt/local/lib 38*387f9dfdSAndroid Build Coastguard Worker /sw/lib 39*387f9dfdSAndroid Build Coastguard Worker ENV LIBRARY_PATH 40*387f9dfdSAndroid Build Coastguard Worker ENV LD_LIBRARY_PATH) 41*387f9dfdSAndroid Build Coastguard Workerif(LIBBPF_LIBRARIES) 42*387f9dfdSAndroid Build Coastguard Workerlist(APPEND PATHS LIBBPF_LIBRARIES) 43*387f9dfdSAndroid Build Coastguard Workerendif() 44*387f9dfdSAndroid Build Coastguard Worker 45*387f9dfdSAndroid Build Coastguard Workerfind_library (LIBBPF_STATIC_LIBRARIES 46*387f9dfdSAndroid Build Coastguard Worker NAMES 47*387f9dfdSAndroid Build Coastguard Worker libbpf.a 48*387f9dfdSAndroid Build Coastguard Worker PATHS 49*387f9dfdSAndroid Build Coastguard Worker /usr/lib 50*387f9dfdSAndroid Build Coastguard Worker /usr/local/lib 51*387f9dfdSAndroid Build Coastguard Worker /opt/local/lib 52*387f9dfdSAndroid Build Coastguard Worker /sw/lib 53*387f9dfdSAndroid Build Coastguard Worker ENV LIBRARY_PATH 54*387f9dfdSAndroid Build Coastguard Worker ENV LD_LIBRARY_PATH) 55*387f9dfdSAndroid Build Coastguard Workerif(LIBBPF_STATIC_LIBRARIES) 56*387f9dfdSAndroid Build Coastguard Workerlist(APPEND PATHS LIBBPF_STATIC_LIBRARIES) 57*387f9dfdSAndroid Build Coastguard Workerendif() 58*387f9dfdSAndroid Build Coastguard Worker 59*387f9dfdSAndroid Build Coastguard Workerif(LIBBPF_STATIC_LIBRARIES OR LIBBPF_LIBRARIES) 60*387f9dfdSAndroid Build Coastguard Workerinclude (FindPackageHandleStandardArgs) 61*387f9dfdSAndroid Build Coastguard Worker 62*387f9dfdSAndroid Build Coastguard Worker# handle the QUIETLY and REQUIRED arguments and set LIBBPF_FOUND to TRUE if all listed variables are TRUE 63*387f9dfdSAndroid Build Coastguard WorkerFIND_PACKAGE_HANDLE_STANDARD_ARGS(LibBpf "Please install the libbpf development package" 64*387f9dfdSAndroid Build Coastguard Worker ${PATHS} 65*387f9dfdSAndroid Build Coastguard Worker LIBBPF_INCLUDE_DIR) 66*387f9dfdSAndroid Build Coastguard Worker 67*387f9dfdSAndroid Build Coastguard Workermark_as_advanced(LIBBPF_INCLUDE_DIR ${PATHS}) 68*387f9dfdSAndroid Build Coastguard Workerelse() 69*387f9dfdSAndroid Build Coastguard Workermessage(Please install the libbpf development package) 70*387f9dfdSAndroid Build Coastguard Workerendif() 71