diff --git a/Android.mk b/Android.mk index 6146a06..bf171e4 100644 --- a/Android.mk +++ b/Android.mk @@ -8,6 +8,11 @@ LOCAL_PATH := $(call my-dir) include $(LOCAL_PATH)/cargo_mmradio.mk +include $(LOCAL_PATH)/cmake_armnn.mk +include $(LOCAL_PATH)/cmake_computelibrary.mk +include $(LOCAL_PATH)/cmake_flatbuffers.mk +include $(LOCAL_PATH)/cmake_llvm.mk + include $(LOCAL_PATH)/ffmpeg.mk include $(LOCAL_PATH)/meson_dav1d.mk diff --git a/aospext_cleanup.mk b/aospext_cleanup.mk index e7f52b7..8842bb1 100644 --- a/aospext_cleanup.mk +++ b/aospext_cleanup.mk @@ -17,3 +17,5 @@ AOSPEXT_PROJECT_NAME := AOSPEXT_EXPORT_INSTALLED_INCLUDE_DIRS := FFMPEG_DEFINITIONS := MESON_BUILD_ARGUMENTS := +CMAKE_ARGUMENTS := +CMAKE_SRC_SUBDIR := diff --git a/aospext_cross_compile.mk b/aospext_cross_compile.mk index 25acd29..d5cd617 100644 --- a/aospext_cross_compile.mk +++ b/aospext_cross_compile.mk @@ -10,6 +10,8 @@ # AOSPEXT_GEN_PKGCONFIGS (list: "pkg1:version pkg2:version", optional) # FFMPEG_DEFINITIONS (optional) # MESON_BUILD_ARGUMENTS (optional) +# CMAKE_ARGUMENTS (optional) +# CMAKE_SRC_SUBDIR (optional) # # Inputs set by aospext_get_buildflags.mk # AOSPEXT_ARCH_PREFIX @@ -51,6 +53,10 @@ $(AOSPEXT_INTERNAL_BUILD_TARGET): CARGO_RUST_TARGET := $(subst arm64,aarch64,$( # ffmpeg $(AOSPEXT_INTERNAL_BUILD_TARGET): FFMPEG_DEFINITIONS := $(FFMPEG_DEFINITIONS) +# cmake +$(AOSPEXT_INTERNAL_BUILD_TARGET): CMAKE_ARGUMENTS := $(CMAKE_ARGUMENTS) +$(AOSPEXT_INTERNAL_BUILD_TARGET): CMAKE_SRC_SUBDIR := $(CMAKE_SRC_SUBDIR) + # dirs $(AOSPEXT_INTERNAL_BUILD_TARGET): AOSP_FLAGS_DIR_OUT := $(call relative-to-absolute,$(AOSP_FLAGS_DIR_OUT)) $(AOSPEXT_INTERNAL_BUILD_TARGET): AOSPEXT_ABS_OUT_DIR:= $(call relative-to-absolute,$(AOSPEXT_OUT_DIR)) @@ -120,6 +126,13 @@ $(AOSPEXT_INTERNAL_BUILD_TARGET): $(AOSP_FLAGS_DIR_OUT)/.sharedlib.timestamp -e 's#\[PLACE_FOR_FFMPEG_CPU_FAMILY\]#$(AOSPEXT_CPU_FAMILY)#g' \ $(AOSPEXT_ABS_OUT_DIR)/project_specific.mk +# For cmake build system + sed -i \ + -e 's#\[PLACE_FOR_CMAKE_ARGS\]#$(CMAKE_ARGUMENTS)#g' \ + -e 's#\[PLACE_FOR_LIBDIR_SUFFIX\]#$(LIBDIR_SUFFIX)#g' \ + -e 's#\[PLACE_FOR_CMAKE_SRC_SUBDIR\]#$(CMAKE_SRC_SUBDIR)#g' \ + $(AOSPEXT_ABS_OUT_DIR)/project_specific.mk + # Build project export $$(cat /etc/environment):$(RUST_BIN_DIR_ABS):$(AOSP_ABSOLUTE_PATH)/$(LLVM_PREBUILTS_PATH) && make -C $(AOSPEXT_ABS_OUT_DIR) install diff --git a/cmake_armnn.mk b/cmake_armnn.mk new file mode 100644 index 0000000..caaef4a --- /dev/null +++ b/cmake_armnn.mk @@ -0,0 +1,47 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# AOSPEXT project (https://github.com/GloDroid/aospext) +# +# Copyright (C) 2021 GlobalLogic Ukraine +# Copyright (C) 2021-2023 Roman Stratiienko (r.stratiienko@gmail.com) + +ifneq ($(filter true, $(BOARD_BUILD_AOSPEXT_ARMNN)),) + +LOCAL_PATH := $(call my-dir) +include $(LOCAL_PATH)/aospext_cleanup.mk + +AOSPEXT_PROJECT_NAME := ARMNN +AOSPEXT_BUILD_SYSTEM := cmake + +LOCAL_SHARED_LIBRARIES := libc liblog libflatbuffers + +CMAKE_ARGUMENTS := \ + -DBUILD_SHARED_LIBS=ON \ + -DBUILD_ARMNN_DESERIALIZER=ON \ + -DBUILD_ARMNN_SERIALIZER=ON \ + -DFLATBUFFERS_INCLUDE_PATH=. \ + -DFLATBUFFERS_LIBRARY=flatbuffers \ + -DBUILD_TESTS=OFF \ + -DBUILD_UNIT_TESTS=OFF \ + +# Format: TYPE:REL_PATH_TO_INSTALL_ARTIFACT:VENDOR_SUBDIR:MODULE_NAME:SYMLINK_SUFFIX +# TYPE one of: lib, bin, etc +AOSPEXT_GEN_TARGETS := \ + lib:libarmnn.so::libarmnn: \ + lib:libarmnnDeserializer.so::libarmnnDeserializer: \ + lib:libarmnnSerializer.so::libarmnnSerializer: \ + bin:armnn-tests::armnn-tests: \ + $(BOARD_ARMNN_EXTRA_TARGETS) + +AOSPEXT_TARGETS_SO_DEPS := libarmnn=libarmnnDeserializer:libarmnnSerializer + +LOCAL_EXPORT_C_INCLUDE_DIRS := $(BOARD_ARMNN_SRC_DIR)/include $(BOARD_ARMNN_SRC_DIR)/third-party $(BOARD_ARMNN_SRC_DIR)/third-party/half/ $(BOARD_ARMNN_SRC_DIR)/src/armnnUtils/ + +# Build first ARCH only +LOCAL_MULTILIB := first +include $(LOCAL_PATH)/aospext_cross_compile.mk +include $(LOCAL_PATH)/aospext_gen_targets.mk + +#------------------------------------------------------------------------------- + +endif # BOARD_BUILD_AOSPEXT_ARMNN diff --git a/cmake_computelibrary.mk b/cmake_computelibrary.mk new file mode 100644 index 0000000..7c8d728 --- /dev/null +++ b/cmake_computelibrary.mk @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# AOSPEXT project (https://github.com/GloDroid/aospext) +# +# Copyright (C) 2021 GlobalLogic Ukraine +# Copyright (C) 2021-2023 Roman Stratiienko (r.stratiienko@gmail.com) + +ifneq ($(filter true, $(BOARD_BUILD_AOSPEXT_COMPUTELIBRARY)),) + +LOCAL_PATH := $(call my-dir) +include $(LOCAL_PATH)/aospext_cleanup.mk + +AOSPEXT_PROJECT_NAME := COMPUTELIBRARY +AOSPEXT_BUILD_SYSTEM := cmake + +LOCAL_SHARED_LIBRARIES := libc + +CMAKE_ARGUMENTS := \ + -DARM_COMPUTE_OPENMP=NO \ + +# Format: TYPE:REL_PATH_TO_INSTALL_ARTIFACT:VENDOR_SUBDIR:MODULE_NAME:SYMLINK_SUFFIX +# TYPE one of: lib, bin, etc +AOSPEXT_GEN_TARGETS := \ + lib:libarm_compute.so::libarm_compute: \ + lib:libarm_compute_graph.so::libarm_compute_graph: \ + lib:libarm_compute_sve.so::libarm_compute_sve: \ + lib:libarm_compute_sve2.so::libarm_compute_sve2: \ + $(BOARD_COMPUTELIBRARY_EXTRA_TARGETS) + +AOSPEXT_TARGETS_SO_DEPS := libarm_compute=libarm_compute_graph:libarm_compute_sve:libarm_compute_sve2 + +LOCAL_EXPORT_C_INCLUDE_DIRS := $(BOARD_COMPUTELIBRARY_SRC_DIR)/include $(BOARD_COMPUTELIBRARY_SRC_DIR) + +# Build first ARCH only +LOCAL_MULTILIB := first +include $(LOCAL_PATH)/aospext_cross_compile.mk +include $(LOCAL_PATH)/aospext_gen_targets.mk + +#------------------------------------------------------------------------------- + +endif # BOARD_BUILD_AOSPEXT_COMPUTELIBRARY diff --git a/cmake_flatbuffers.mk b/cmake_flatbuffers.mk new file mode 100644 index 0000000..21150ca --- /dev/null +++ b/cmake_flatbuffers.mk @@ -0,0 +1,37 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# AOSPEXT project (https://github.com/GloDroid/aospext) +# +# Copyright (C) 2021 GlobalLogic Ukraine +# Copyright (C) 2021-2023 Roman Stratiienko (r.stratiienko@gmail.com) + +ifneq ($(filter true, $(BOARD_BUILD_AOSPEXT_FLATBUFFERS)),) + +LOCAL_PATH := $(call my-dir) +include $(LOCAL_PATH)/aospext_cleanup.mk + +AOSPEXT_PROJECT_NAME := FLATBUFFERS +AOSPEXT_BUILD_SYSTEM := cmake + +LOCAL_SHARED_LIBRARIES := libc liblog + +CMAKE_ARGUMENTS := \ + -DFLATBUFFERS_BUILD_TESTS=OFF \ + -DFLATBUFFERS_BUILD_SHAREDLIB=ON \ + +# Format: TYPE:REL_PATH_TO_INSTALL_ARTIFACT:VENDOR_SUBDIR:MODULE_NAME:SYMLINK_SUFFIX +# TYPE one of: lib, bin, etc +AOSPEXT_GEN_TARGETS := \ + lib:libflatbuffers.so::libflatbuffers: \ + $(BOARD_FLATBUFFERS_EXTRA_TARGETS) + +LOCAL_EXPORT_C_INCLUDE_DIRS := $(BOARD_FLATBUFFERS_SRC_DIR)/include + +# Build first ARCH only +LOCAL_MULTILIB := first +include $(LOCAL_PATH)/aospext_cross_compile.mk +include $(LOCAL_PATH)/aospext_gen_targets.mk + +#------------------------------------------------------------------------------- + +endif # BOARD_BUILD_AOSPEXT_FLATBUFFERS diff --git a/cmake_llvm.mk b/cmake_llvm.mk new file mode 100644 index 0000000..3dd8ab1 --- /dev/null +++ b/cmake_llvm.mk @@ -0,0 +1,61 @@ +# SPDX-License-Identifier: Apache-2.0 +# +# AOSPEXT project (https://github.com/GloDroid/aospext) +# +# Copyright (C) 2021 GlobalLogic Ukraine +# Copyright (C) 2021-2023 Roman Stratiienko (r.stratiienko@gmail.com) + +ifneq ($(filter true, $(BOARD_BUILD_AOSPEXT_LLVM)),) + +LOCAL_PATH := $(call my-dir) +include $(LOCAL_PATH)/aospext_cleanup.mk + +AOSPEXT_PROJECT_NAME := LLVM +AOSPEXT_BUILD_SYSTEM := cmake + +LOCAL_SHARED_LIBRARIES := libc + +CMAKE_ARGUMENTS := \ + -DLLVM_LIBDIR_SUFFIX=[PLACE_FOR_LIBDIR_SUFFIX] \ + -DCMAKE_BUILD_TYPE=Debug \ + -DLLVM_LINK_LLVM_DYLIB=ON \ + -DLLVM_VERSION_SUFFIX= \ + -DLLVM_BUILD_EXAMPLES=OFF \ + -DLLVM_INCLUDE_EXAMPLES=OFF \ + -DLLVM_INCLUDE_TESTS=OFF \ + +CMAKE_SRC_SUBDIR := llvm + +LLVM_VERSION := $(shell cat $(BOARD_LLVM_SRC_DIR)/llvm/CMakeLists.txt | grep -o 'LLVM_VERSION_MAJOR [0-9]\+' | grep -o '[0-9][0-9]*' | head -1) + +# Format: TYPE:REL_PATH_TO_INSTALL_ARTIFACT:VENDOR_SUBDIR:MODULE_NAME:SYMLINK_SUFFIX +# TYPE one of: lib, bin, etc +AOSPEXT_GEN_TARGETS := \ + lib:libLLVM-$(LLVM_VERSION).so::libLLVM-$(LLVM_VERSION): \ + $(BOARD_LLVM_EXTRA_TARGETS) + +AOSPEXT_EXPORT_INSTALLED_INCLUDE_DIRS := vendor/include + +LOCAL_MULTILIB := first +include $(LOCAL_PATH)/aospext_cross_compile.mk +TMP_AOSPEXT_TARGET_FIRST:=$(AOSPEXT_INTERNAL_BUILD_TARGET) + +ifdef TARGET_2ND_ARCH +LOCAL_MULTILIB := 32 +include $(LOCAL_PATH)/aospext_cross_compile.mk +TMP_AOSPEXT_TARGET_32:=$(AOSPEXT_INTERNAL_BUILD_TARGET) +endif + +LOCAL_MULTILIB := first +AOSPEXT_INTERNAL_BUILD_TARGET:=$(TMP_AOSPEXT_TARGET_FIRST) +include $(LOCAL_PATH)/aospext_gen_targets.mk + +ifdef TARGET_2ND_ARCH +LOCAL_MULTILIB := 32 +AOSPEXT_INTERNAL_BUILD_TARGET:=$(TMP_AOSPEXT_TARGET_32) +include $(LOCAL_PATH)/aospext_gen_targets.mk +endif + +#------------------------------------------------------------------------------- + +endif # BOARD_BUILD_AOSPEXT_LLVM diff --git a/ffmpeg.mk b/ffmpeg.mk index 422049b..2d93c6b 100644 --- a/ffmpeg.mk +++ b/ffmpeg.mk @@ -20,7 +20,7 @@ FFMPEG_DEFINITIONS := \ --disable-avdevice \ --disable-postproc \ --disable-avfilter \ - $(FFMPEG_EXTRA_CONFIGURE_OPTIONS) + $(BOARD_FFMPEG_EXTRA_CONFIGURE_OPTIONS) # Format: TYPE:REL_PATH_TO_INSTALL_ARTIFACT:VENDOR_SUBDIR:MODULE_NAME:SYMLINK_SUFFIX # TYPE one of: lib, bin, etc diff --git a/meson_mesa3d.mk b/meson_mesa3d.mk index ab68afa..bff568f 100644 --- a/meson_mesa3d.mk +++ b/meson_mesa3d.mk @@ -24,19 +24,6 @@ MESA_VK_LIB_SUFFIX_panfrost := panfrost MESA_VK_LIB_SUFFIX_virtio := virtio MESA_VK_LIB_SUFFIX_swrast := lvp -MESON_BUILD_ARGUMENTS := \ - -Dplatforms=android \ - -Dplatform-sdk-version=$(PLATFORM_SDK_VERSION) \ - -Dgallium-drivers=$(subst $(space),$(comma),$(BOARD_MESA3D_GALLIUM_DRIVERS)) \ - -Dvulkan-drivers=$(subst $(space),$(comma),$(subst radeon,amd,$(BOARD_MESA3D_VULKAN_DRIVERS))) \ - -Dgbm=enabled \ - -Degl=$(if $(BOARD_MESA3D_GALLIUM_DRIVERS),enabled,disabled) \ - -Dllvm=$(if $(MESON_GEN_LLVM_STUB),enabled,disabled) \ - -Dcpp_rtti=false \ - -Dlmsensors=disabled \ - -Dandroid-libbacktrace=disabled \ - $(BOARD_MESA3D_EXTRA_MESON_ARGS) - ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 30; echo $$?), 0) MESA_LIBGBM_NAME := libgbm_mesa else @@ -74,7 +61,7 @@ LOCAL_CFLAGS += $(BOARD_MESA3D_CFLAGS) ifneq ($(filter swrast,$(BOARD_MESA3D_GALLIUM_DRIVERS) $(BOARD_MESA3D_VULKAN_DRIVERS)),) ifeq ($(BOARD_MESA3D_FORCE_SOFTPIPE),) -MESON_GEN_LLVM_STUB := true +MESA3D_USES_LLVM := true endif endif @@ -89,7 +76,7 @@ AOSPEXT_GEN_PKGCONFIGS += libdrm_intel:$(LIBDRM_VERSION) endif ifneq ($(filter radeonsi,$(BOARD_MESA3D_GALLIUM_DRIVERS)),) -MESON_GEN_LLVM_STUB := true +MESA3D_USES_LLVM := true LOCAL_CFLAGS += -DFORCE_BUILD_AMDGPU # instructs LLVM to declare LLVMInitializeAMDGPU* functions endif @@ -114,9 +101,10 @@ LOCAL_STATIC_LIBRARIES += DirectX-Guids AOSPEXT_GEN_PKGCONFIGS += DirectX-Headers endif -ifneq ($(MESON_GEN_LLVM_STUB),) -MESON_LLVM_VERSION := 12.0.0 -LOCAL_SHARED_LIBRARIES += libLLVM12 +ifneq ($(MESA3D_USES_LLVM),) +$(if $(BOARD_BUILD_AOSPEXT_LLVM),,$(error LLVM is required but BOARD_BUILD_AOSPEXT_LLVM is not enabled)) +LLVM_VERSION := $(shell cat $(BOARD_LLVM_SRC_DIR)/llvm/CMakeLists.txt | grep -o 'LLVM_VERSION_MAJOR [0-9]\+' | grep -o '[0-9][0-9]*' | head -1) +LOCAL_SHARED_LIBRARIES += libLLVM-$(LLVM_VERSION) endif ifeq ($(shell test $(PLATFORM_SDK_VERSION) -ge 30; echo $$?), 0) @@ -129,6 +117,19 @@ LOCAL_SHARED_LIBRARIES += \ AOSPEXT_GEN_PKGCONFIGS += android.hardware.graphics.mapper:4.0 endif +MESON_BUILD_ARGUMENTS := \ + -Dplatforms=android \ + -Dplatform-sdk-version=$(PLATFORM_SDK_VERSION) \ + -Dgallium-drivers=$(subst $(space),$(comma),$(BOARD_MESA3D_GALLIUM_DRIVERS)) \ + -Dvulkan-drivers=$(subst $(space),$(comma),$(subst radeon,amd,$(BOARD_MESA3D_VULKAN_DRIVERS))) \ + -Dgbm=$(if $(BOARD_MESA3D_BUILD_LIBGBM),enabled,disabled) \ + -Degl=$(if $(BOARD_MESA3D_GALLIUM_DRIVERS),enabled,disabled) \ + -Dllvm=$(if $(MESA3D_USES_LLVM),enabled,disabled) \ + -Dcpp_rtti=false \ + -Dlmsensors=disabled \ + -Dandroid-libbacktrace=disabled \ + $(BOARD_MESA3D_EXTRA_MESON_ARGS) + LOCAL_EXPORT_C_INCLUDE_DIRS := $(BOARD_MESA3D_SRC_DIR)/src/gbm/main AOSPEXT_EXPORT_INSTALLED_INCLUDE_DIRS := vendor/include diff --git a/tools/makefile_cmake.mk b/tools/makefile_cmake.mk new file mode 100644 index 0000000..e5f7955 --- /dev/null +++ b/tools/makefile_cmake.mk @@ -0,0 +1,53 @@ +#!/usr/bin/make + +CMAKE_DEFS := [PLACE_FOR_CMAKE_ARGS] \ + -DCMAKE_TOOLCHAIN_FILE=$(OUT_BASE_DIR)/gen/cross.cmake.out \ + -DCMAKE_PLATFORM_NO_VERSIONED_SONAME=ON \ + +CMAKE_INSTALL_LIBDIR := lib[PLACE_FOR_LIBDIR_SUFFIX] + +CONFIGURE_TARGET:=./logs/3.configure.log +BUILD_TARGET:=./logs/4.build.log +INSTALL_TARGET:=./logs/5.install.log + +CMAKELISTS_OUT_SRC_DIR := $(OUT_SRC_DIR)/[PLACE_FOR_CMAKE_SRC_SUBDIR] + +NPROC:=$(shell grep -c "^processor" /proc/cpuinfo) + +configure: ## Configure the project +configure: export BASE_DIR = $(OUT_BASE_DIR) +configure: $(CONFIGURE_TARGET) +$(CONFIGURE_TARGET): $(PATCH_TARGET) + @echo Configuring... + @mkdir -p $(OUT_BUILD_DIR) + @echo "set(CMAKE_SYSTEM_NAME Linux)" > $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_C_COMPILER $(OUT_BASE_DIR)/toolchain_wrapper/wrap_c)" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_CXX_COMPILER $(OUT_BASE_DIR)/toolchain_wrapper/wrap_cxx)" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_C_FLAGS \"[C_ARGS]\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_CXX_FLAGS \"[CPP_ARGS]\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_EXE_LINKER_FLAGS \"[C_LINK_ARGS]\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_SHARED_LINKER_FLAGS \"[C_LINK_ARGS]\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_MODULE_LINKER_FLAGS \"[C_LINK_ARGS]\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @echo "set(CMAKE_INSTALL_LIBDIR \"$(CMAKE_INSTALL_LIBDIR)\")" >> $(OUT_BASE_DIR)/gen/cross.cmake.out + @(cd $(OUT_BUILD_DIR) && cmake $(CMAKE_DEFS) $(CMAKELISTS_OUT_SRC_DIR)) &> $@.tmp || (cat $@.tmp && exit 1) + @mv $@.tmp $@ -f + +build: ## Build the project +build: export BASE_DIR = $(OUT_BASE_DIR) +build: $(BUILD_TARGET) +$(BUILD_TARGET): $(CONFIGURE_TARGET) + @echo Building... + @make -C $(OUT_BUILD_DIR) -j$(NPROC) &> $@.tmp || (cat $@.tmp && exit 1) + @mv $@.tmp $@ -f + +install: ## Install the project (will execute copy, patch, configure and build prior to install) +install: $(INSTALL_TARGET) +$(INSTALL_TARGET): $(BUILD_TARGET) + @echo Installing... + @mkdir -p $(OUT_INSTALL_DIR) + @(cd $(OUT_BUILD_DIR) && cmake --install . --prefix $(OUT_INSTALL_DIR)/vendor) &> $@.tmp || (cat $@.tmp && exit 1) + @mv $@.tmp $@ -f + +gen_aospless: ## Generate tree for building without AOSP or NDK + L_AOSP_ROOT=$(AOSP_ROOT) L_AOSP_OUT_DIR=$(AOSP_OUT_DIR) python3 $(OUT_BASE_DIR)/gen_aospless_dir.py + tar -czf aospless.tar.gz aospless diff --git a/tools/makefile_meson.mk b/tools/makefile_meson.mk index aced3dc..65a2345 100644 --- a/tools/makefile_meson.mk +++ b/tools/makefile_meson.mk @@ -1,5 +1,6 @@ #!/usr/bin/make MESON_DEFS:=[PLACE_FOR_MESON_DEFS] +LLVM_CONFIG:=$(OUT_BASE_DIR)/../LLVM/build/NATIVE/bin/llvm-config CONFIGURE_TARGET:=./logs/3.configure.log BUILD_TARGET:=./logs/4.build.log @@ -13,6 +14,7 @@ $(CONFIGURE_TARGET): $(PATCH_TARGET) @echo "[constants]" > $(OUT_BASE_DIR)/gen/meson_aosp_cross.out @echo "base_dir='$(OUT_BASE_DIR)'" >> $(OUT_BASE_DIR)/gen/meson_aosp_cross.out @echo "llvm_dir='$(LLVM_DIR)'" >> $(OUT_BASE_DIR)/gen/meson_aosp_cross.out + @echo "llvm_config='$(LLVM_CONFIG)'" >> $(OUT_BASE_DIR)/gen/meson_aosp_cross.out @cat $(OUT_BASE_DIR)/gen/meson_aosp_cross >> $(OUT_BASE_DIR)/gen/meson_aosp_cross.out @(cd $(OUT_SRC_DIR) && meson setup $(OUT_BUILD_DIR) --cross-file $(OUT_BASE_DIR)/gen/meson_aosp_cross.out $(MESON_DEFS)) &> $@.tmp || (cat $@.tmp && exit 1) @mv $@.tmp $@ -f diff --git a/tools/meson_aosp_cross.cfg b/tools/meson_aosp_cross.cfg index eef0471..6b3dbad 100644 --- a/tools/meson_aosp_cross.cfg +++ b/tools/meson_aosp_cross.cfg @@ -22,7 +22,7 @@ c_ld = 'lld' cpp_ld = 'lld' rust_ld = toolchain_dir / 'wrap_rust_ld' pkgconfig = '/usr/bin/pkg-config' -llvm-config = '/dev/null' +llvm-config = llvm_config [cmake] CMAKE_C_FLAGS = '[C_ARGS]'