From 46f2fcd13baaf71b4be00ac2f6b00db1c82a337f Mon Sep 17 00:00:00 2001 From: serge-sans-paille Date: Wed, 2 Sep 2020 07:05:41 +0000 Subject: [PATCH] Initial version --- .gitignore | 2 + hans-gpg-key.asc | 52 +++++++++++++++++ mlir-cmake-standalone.patch | 56 ++++++++++++++++++ mlir-doxygen.patch | 12 ++++ mlir.spec | 110 ++++++++++++++++++++++++++++++++++++ sources | 2 + 6 files changed, 234 insertions(+) create mode 100644 .gitignore create mode 100644 hans-gpg-key.asc create mode 100644 mlir-cmake-standalone.patch create mode 100644 mlir-doxygen.patch create mode 100644 mlir.spec create mode 100644 sources diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..43bb068 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/llvm-project-11.0.0rc2.tar.xz +/llvm-project-11.0.0rc2.tar.xz.sig diff --git a/hans-gpg-key.asc b/hans-gpg-key.asc new file mode 100644 index 0000000..4b3cdde --- /dev/null +++ b/hans-gpg-key.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +67H2IH//2sf8dw== +=ADVe +-----END PGP PUBLIC KEY BLOCK----- diff --git a/mlir-cmake-standalone.patch b/mlir-cmake-standalone.patch new file mode 100644 index 0000000..bb2f265 --- /dev/null +++ b/mlir-cmake-standalone.patch @@ -0,0 +1,56 @@ +diff --git a/mlir/CMakeLists.txt b/mlir/CMakeLists.txt +index 806eb42db..5fa0c16dc 100644 +--- a/mlir/CMakeLists.txt ++++ b/mlir/CMakeLists.txt +@@ -1,4 +1,50 @@ +-# MLIR project. ++# Check if this is a in tree build. ++if (NOT DEFINED LLVM_MAIN_SRC_DIR) ++ project(Mlir) ++ cmake_minimum_required(VERSION 3.13.4) ++ ++ # Where is LLVM installed? ++ find_package(LLVM CONFIG REQUIRED) ++ set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${LLVM_CMAKE_DIR}) ++ include(HandleLLVMOptions) ++ include(AddLLVM) ++ include(TableGen) ++ ++ # Add the llvm header path. ++ include_directories(${LLVM_INCLUDE_DIRS}) ++ # Local builddir generated header inclusion ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -I.") ++ ++ # Sources available, too? ++ if (LLVM_BUILD_MAIN_SRC_DIR) ++ set(LLVM_SOURCE_ROOT ${LLVM_BUILD_MAIN_SRC_DIR} CACHE PATH ++ "Path to LLVM source tree") ++ else() ++ execute_process(COMMAND "${LLVM_TOOLS_BINARY_DIR}/llvm-config" --src-root ++ OUTPUT_VARIABLE MAIN_SRC_DIR ++ OUTPUT_STRIP_TRAILING_WHITESPACE) ++ set(LLVM_SOURCE_ROOT ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree") ++ endif() ++ ++ # Make sure the isl c files are built as fPIC ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC") ++ ++ # Set directory for mlir test. ++ set(MLIR_TOOLS_DIR "${CMAKE_CURRENT_BINARY_DIR}/bin") ++ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") ++ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") ++ ++ if (LLVM_ENABLE_DOXYGEN) ++ message(STATUS "Doxygen enabled.") ++ find_package(Doxygen REQUIRED) ++ else() ++ message(STATUS "Doxygen disabled.") ++ endif() ++ ++else () ++ set(LLVM_SOURCE_ROOT "${LLVM_MAIN_SRC_DIR}") ++endif () ++ + set(MLIR_MAIN_SRC_DIR ${CMAKE_CURRENT_SOURCE_DIR} ) + set(MLIR_MAIN_INCLUDE_DIR ${MLIR_MAIN_SRC_DIR}/include ) + diff --git a/mlir-doxygen.patch b/mlir-doxygen.patch new file mode 100644 index 0000000..2d1b226 --- /dev/null +++ b/mlir-doxygen.patch @@ -0,0 +1,12 @@ +diff -ru llvm-project-11.0.0rc1.orig/mlir/docs/doxygen.cfg.in llvm-project-11.0.0rc1/mlir/docs/doxygen.cfg.in +--- llvm-project-11.0.0rc1.orig/mlir/docs/doxygen.cfg.in 2020-08-28 08:00:16.940946125 +0000 ++++ llvm-project-11.0.0rc1/mlir/docs/doxygen.cfg.in 2020-08-28 08:05:40.672879026 +0000 +@@ -1119,7 +1119,7 @@ + # The default value is: YES. + # This tag requires that the tag GENERATE_HTML is set to YES. + +-HTML_TIMESTAMP = YES ++HTML_TIMESTAMP = NO + + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML + # documentation will contain sections that can be hidden and shown after the diff --git a/mlir.spec b/mlir.spec new file mode 100644 index 0000000..eda6d9f --- /dev/null +++ b/mlir.spec @@ -0,0 +1,110 @@ +%global rc_ver 2 +%global baserelease 0.1 +%global maj_ver 11 +%global min_ver 0 +%global patch_ver 0 +%global mlir_srcdir llvm-project-%{version}%{?rc_ver:rc%{rc_ver}} + +Name: mlir +Version: %{maj_ver}.%{min_ver}.%{patch_ver} +Release: %{baserelease}%{?rc_ver:.rc%{rc_ver}}%{?dist} +Summary: Multi-Level Intermediate Representation Overview + +License: ASL 2.0 with exceptions +URL: http://mlir.llvm.org +Source0: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{mlir_srcdir}.tar.xz +Source1: https://github.com/llvm/llvm-project/releases/download/llvmorg-%{version}%{?rc_ver:-rc%{rc_ver}}/%{mlir_srcdir}.tar.xz.sig +Source2: https://prereleases.llvm.org/%{version}/hans-gpg-key.asc + +# Support standalone build (MLIR is usually built as part of LLVM) +Patch0: mlir-cmake-standalone.patch + +# Unexpected linking error: neither -j1, disabling lto, LD_LIBRARY_PATH, rpath work +ExcludeArch: armv7hl + +BuildRequires: gcc +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: zlib-devel +BuildRequires: llvm-devel = %{version} +BuildRequires: llvm-test = %{version} + +# For origin certification +BuildRequires: gnupg2 + +%description +The MLIR project is a novel approach to building reusable and extensible +compiler infrastructure. MLIR aims to address software fragmentation, +improve compilation for heterogeneous hardware, significantly reduce +the cost of building domain specific compilers, and aid in connecting +existing compilers together. + +%package static +Summary: MLIR static files +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description static +MLIR static files. + +%package devel +Summary: MLIR development files +Requires: %{name}-static%{?_isa} = %{version}-%{release} + +%description devel +MLIR development files. + +%prep +%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' +%autosetup -n %{mlir_srcdir}/%{name} -p2 +# remove all but keep mlir +find ../* -maxdepth 0 ! -name '%{name}' -exec rm -rf {} + + + +%build +%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCMAKE_SKIP_RPATH=ON \ + -DLLVM_LINK_LLVM_DYLIB:BOOL=ON \ + -DCMAKE_PREFIX_PATH=%{_libdir}/cmake/llvm/ \ + -DMLIR_INCLUDE_DOCS:BOOL=ON \ + -DMLIR_INCLUDE_TESTS:BOOL=OFF \ + -DMLIR_INCLUDE_INTEGRATION_TESTS:BOOL=OFF \ +%if 0%{?__isa_bits} == 64 + -DLLVM_LIBDIR_SUFFIX=64 +%else + -DLLVM_LIBDIR_SUFFIX= +%endif +# build process .exe tools normally use rpath or static linkage +export LD_LIBRARY_PATH=%{_builddir}/%{mlir_srcdir}/%{name}/%{_build}/bin +%cmake_build + + +%install +%cmake_install + +%check +# build process .exe tools normally use rpath or static linkage +%cmake_build --target check-mlir || true + +%files +%license LICENSE.TXT +%{_libdir}/libMLIR*.so.%{maj_ver}* +%{_libdir}/libmlir_runner_utils.so.%{maj_ver}* +%{_libdir}/libmlir_c_runner_utils.so.%{maj_ver}* +%{_libdir}/libmlir_c_runner_utils_static.so.%{maj_ver}* + +%files static +%{_libdir}/libMLIR*.a + +%files devel +%{_libdir}/libMLIR*.so +%{_libdir}/libmlir_runner_utils.so +%{_libdir}/libmlir_c_runner_utils.so +%{_libdir}/libmlir_c_runner_utils_static.so +%{_includedir}/mlir +%{_includedir}/mlir-c +%{_libdir}/cmake/mlir + +%changelog +* Wed Aug 12 2020 Cristian Balint - 11.0.0-0.1.rc1 +- Initial version. + diff --git a/sources b/sources new file mode 100644 index 0000000..01a79c4 --- /dev/null +++ b/sources @@ -0,0 +1,2 @@ +SHA512 (llvm-project-11.0.0rc2.tar.xz) = f96c83295139280fef88295eaeab98ee9c78538ccfadff936a844053db1ea1011201d8eaffe5bb4bcc42e755b4edc304644f67f938fe1bcb65f18d9a808ac9d9 +SHA512 (llvm-project-11.0.0rc2.tar.xz.sig) = 5d4fe4ac5540f8af5e30fe52817bffd281400114872dea304f84f5b4b48621570aae28d809d603c1fc69312dbe3d17c3847f0e26c55f3d986ea6fcad620a2264