Skip to content

Commit

Permalink
[WIP] Support windows wheels (#155)
Browse files Browse the repository at this point in the history
  • Loading branch information
makslevental authored Aug 20, 2024
1 parent 8ba7690 commit 4062488
Show file tree
Hide file tree
Showing 5 changed files with 19 additions and 23 deletions.
4 changes: 3 additions & 1 deletion .github/workflows/amd-aie-distro.yml
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,8 @@ jobs:
include:
- OS: ubuntu-20.04
ARCH: x86_64
- OS: windows-2019
ARCH: AMD64

defaults:
run:
Expand Down Expand Up @@ -211,7 +213,7 @@ jobs:
LLVM_AIE_PROJECT_COMMIT=${{ needs.settings.outputs.LLVM_AIE_PROJECT_COMMIT }}
gh api -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" \
repos/Xilinx/llvm-aie/zipball/$LLVM_AIE_PROJECT_COMMIT > llvm-aie.zip
unzip -q llvm-aie.zip
unzip -qq llvm-aie.zip
rm -rf llvm-aie.zip
mv Xilinx-llvm-aie-* llvm-aie
Expand Down
12 changes: 0 additions & 12 deletions .github/workflows/amd_aie_releases/patches/mscv.patch

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ set -uxo pipefail

# note that space before slash is important
PATCHES="\
mscv \
"

if [[ x"${APPLY_PATCHES:-true}" == x"true" ]]; then
Expand Down
24 changes: 15 additions & 9 deletions .github/workflows/amd_aie_releases/setup.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import shutil
from datetime import datetime
import os
import platform
import re
import shutil
import subprocess
import sys
from pathlib import Path, PureWindowsPath
from datetime import datetime
from pathlib import Path
from pprint import pprint

from setuptools import Extension, setup
Expand Down Expand Up @@ -49,8 +49,6 @@ def build_extension(self, ext: CMakeExtension) -> None:
cmake_args = [
f"-B{build_temp}",
f"-G {cmake_generator}",
"-DLLVM_BUILD_LLVM_DYLIB=ON",
"-DLLVM_LINK_LLVM_DYLIB=ON",
"-DLLVM_BUILD_BENCHMARKS=OFF",
"-DLLVM_BUILD_EXAMPLES=OFF",
f"-DLLVM_BUILD_TESTS={RUN_TESTS}",
Expand All @@ -75,10 +73,14 @@ def build_extension(self, ext: CMakeExtension) -> None:
f"-DCMAKE_INSTALL_PREFIX={install_dir}",
f"-DCMAKE_LIBRARY_OUTPUT_DIRECTORY={extdir}{os.sep}",
f"-DPython3_EXECUTABLE={PYTHON_EXECUTABLE}",
f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm
f"-DCMAKE_BUILD_TYPE={cfg}", # not used on MSVC, but no harm,
]

if platform.system() == "Windows":
if platform.system() != "Windows":
cmake_args += [
"-DLLVM_BUILD_LLVM_DYLIB=ON",
"-DLLVM_LINK_LLVM_DYLIB=ON",
]
else:
cmake_args += [
"-DCMAKE_C_COMPILER=cl",
"-DCMAKE_CXX_COMPILER=cl",
Expand All @@ -87,6 +89,7 @@ def build_extension(self, ext: CMakeExtension) -> None:
"-DCMAKE_CXX_FLAGS=/MT",
"-DLLVM_USE_CRT_MINSIZEREL=MT",
"-DLLVM_USE_CRT_RELEASE=MT",
"-DCMAKE_POLICY_DEFAULT_CMP0091=NEW",
]

if "CMAKE_ARGS" in os.environ:
Expand Down Expand Up @@ -204,7 +207,10 @@ def build_extension(self, ext: CMakeExtension) -> None:
os.getenv("LLVM_AIE_SRC_ROOT", Path.cwd() / "llvm-aie")
).absolute()

cmake_txt = open(LLVM_AIE_SRC_ROOT / "llvm" / "CMakeLists.txt").read()
cmake_version_path = Path("llvm-aie/cmake/Modules/LLVMVersion.cmake")
if not cmake_version_path.exists():
cmake_version_path = Path("llvm-aie/llvm/CMakeLists.txt")
cmake_txt = open(cmake_version_path).read()
llvm_version = []
for v in ["LLVM_VERSION_MAJOR", "LLVM_VERSION_MINOR", "LLVM_VERSION_PATCH"]:
vn = re.findall(rf"set\({v} (\d+)\)", cmake_txt)
Expand Down
1 change: 1 addition & 0 deletions clang/cmake/caches/Peano-AIE-runtime-libraries.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ set(LLVM_ENABLE_RUNTIMES
libc
CACHE STRING "")
set(LLVM_LIBC_FULL_BUILD ON CACHE BOOL "")
set(LLVM_FORCE_BUILD_RUNTIME "libc" CACHE STRING "")

set(LLVM_BUILTIN_TARGETS "aie-none-unknown-elf;aie2-none-unknown-elf" CACHE STRING "")
set(LLVM_RUNTIME_TARGETS "${LLVM_BUILTIN_TARGETS}" CACHE STRING "")
Expand Down

0 comments on commit 4062488

Please sign in to comment.