From 292ed31c4d92bb186924533817301804a548dc04 Mon Sep 17 00:00:00 2001 From: Vincent Li Date: Mon, 26 Feb 2024 14:41:23 +0000 Subject: [PATCH] Add clang add-on xdp-tools requires clang, add clang during build to meet xdp-tools requirement. Signed-off-by: Vincent Li --- lfs/llvm-project | 85 ++++++++++++++++++++++++++++++++++++++++++++++++ make.sh | 1 + 2 files changed, 86 insertions(+) create mode 100644 lfs/llvm-project diff --git a/lfs/llvm-project b/lfs/llvm-project new file mode 100644 index 000000000..9b67eb0b0 --- /dev/null +++ b/lfs/llvm-project @@ -0,0 +1,85 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2023 IPFire Team # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 17.0.6 + +THISAPP = llvm-project-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_BLAKE2 = 779a428c86b5e797a1f2264e33268d69799cf7d9eb9776c38af5efca2b5b6f94248bb48409306fbd61f0d4775ee7ada3cac5490b0bd55d8f56133af1df814b07 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + + cd $(DIR_APP)/llvm && mkdir build + cd $(DIR_APP)/llvm/build && cmake .. -G "Ninja" -DLLVM_TARGETS_TO_BUILD="BPF;X86" \ + -DLLVM_ENABLE_PROJECTS="clang" \ + -DCMAKE_BUILD_TYPE=Release \ + -DLLVM_BUILD_RUNTIME=OFF \ + -DCMAKE_INSTALL_PREFIX=/usr + + cd $(DIR_APP)/llvm/build && ninja + cd $(DIR_APP)/llvm/build && ninja install + + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 90edb697b..df1b84e47 100755 --- a/make.sh +++ b/make.sh @@ -1129,6 +1129,7 @@ buildipfire() { lfsmake2 screen lfsmake2 elfutils lfsmake2 pahole + lfsmake2 llvm-project lfsmake2 expat lfsmake2 libconfig lfsmake2 curl