set(SOURCES Image.cpp Validation.cpp ) minerva_install_headers("LibELF") minerva_install_sources("Userland/Libraries/LibELF") if (MINERVA) list(APPEND SOURCES Arch/${MINERVA_ARCH}/entry.S Arch/${MINERVA_ARCH}/plt_trampoline.S Arch/${MINERVA_ARCH}/tls.cpp DynamicLinker.cpp DynamicLoader.cpp DynamicObject.cpp ELFBuild.cpp Relocation.cpp ) if (MINERVA_ARCH STREQUAL "aarch64") list(APPEND SOURCES Arch/aarch64/tls.S ) elseif (MINERVA_ARCH STREQUAL "riscv64") list(APPEND SOURCES Arch/riscv64/ExtensionBitmask.cpp ) endif() add_library(DynamicLoader_LibELF STATIC ${SOURCES}) target_link_libraries(DynamicLoader_LibELF PUBLIC DynamicLoader_CompileOptions PRIVATE DynamicLoader_LibC ) endif() minerva_lib(LibELF elf ${SOURCES}) target_link_libraries(LibELF PRIVATE LibSystem)