exaloop / codon

A high-performance, zero-overhead, extensible Python compiler using LLVM
https://docs.exaloop.io/codon
Other
15.02k stars 517 forks source link

windows support #69

Open talebi1 opened 1 year ago

talebi1 commented 1 year ago

Hi, Do you have plan to support windows?

mxrch commented 1 year ago

image

nullmastermind commented 1 year ago

I spent a night trying to compile to Windows lol

retsyo commented 1 year ago

I tried to compile in MSYS2+Mingw64 on windows 10 64bits, but failed. And the files take so many disk space, I have to delete them now.

I am look forwards to a pre-compiled windows building too.

nullmastermind commented 1 year ago

Windows users are so "codon."

"codon" means lonely in Vietnamese (cô đơn)

inumanag commented 1 year ago

Right now, you can use WLS to run Codon.

We plan to support Windows in the future. There are only a few POSIXy things that need to be ported over. However, none of the developers use or have access to Windows machines, so we cannot provide an ETA at the moment.

liudonghua123 commented 1 year ago

Is there any updates about this.

ghost commented 1 year ago

Cant i just use codon to generate LLVM IR then throw it in an LLVM backend to transform it into a native windows exe?

TashaSkyUp commented 1 year ago

Same question as @PunchCakee.

Code4SAFrankie commented 1 year ago

You can get a free windows like this: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/

For the developers that don't have windows.

oSethoum commented 1 year ago

Right now, you can use WLS to run Codon.

We plan to support Windows in the future. There are only a few POSIXy things that need to be ported over. However, none of the developers use or have access to Windows machines, so we cannot provide an ETA at the moment.

are we in the future yet 👀?

WingDust commented 1 year ago

have anyone use zig to compile this

inumanag commented 1 year ago

@PunchCakee probably not--- you will need to compile libcodonrt as well for it to work.

@oSethoum et al.: We currently do not have anybody with Windows development experience on our team and thus cannot prioritize the native Windows version anytime soon (probably by the end of '23 at least). However:

  1. You can use and test Codon on WSL (which is probably good enough for testing and playing with it), and
  2. We will gladly accept patches and PRs that will bring the Windows support and CI testing from people who are familiar with Windows development.
mushroomfire commented 1 year ago

Any progress now?

GhDamghani commented 1 year ago

Cant i just use codon to generate LLVM IR then throw it in an LLVM backend to transform it into a native windows exe?

Nope. I tried.

    ninja: build stopped: subcommand failed.

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:54 (project)

-- Configuring incomplete, errors occurred!
ghost commented 1 year ago

What needs to be ported? I could try adding windows support since i think its really beneficial if i want to make consumer desktop software because the majority of market share goes to window (for home operating systems).

inumanag commented 1 year ago

This is finally happening: use #403 to track the progress.

retsyo commented 1 year ago

short story

where can I download ml.exe for windows 64bits?

long one

there is no sys\mman.h for MSYS2+Mingw64, so I download https://github.com/mcgarrah/mman-win32 according to https://msys2-users.narkive.com/xA2wbH0c/does-msys2-support-mmap-mman

then after

makedir d
cd d
cmake -G "MSYS Makefiles" ..
make 

I get

[  2%] Built target bz2
[  4%] Built target backtrace
[  4%] Built target fmt
[  5%] Built target peg2cpp
[  5%] Built target codon_jupyter
[ 11%] Built target re2
[ 22%] Built target zlibstatic
[ 42%] Built target liblzma
[ 50%] Built target gc
[ 50%] Built target libomp-needed-headers
[ 50%] Built target libomp-needed-windows-files
[ 50%] Building ASM_MASM object _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Windows_
NT-586_asm.asm.obj
/bin/sh: line 1: ml: command not found
make[2]: *** [_deps/openmp-build/runtime/src/CMakeFiles/omp.dir/build.make:495: _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Windows_NT-586_asm.asm.obj] Error 127
make[1]: *** [CMakeFiles/Makefile2:2005: _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/all] Error 2
make: *** [Makefile:146: all] Error 2
Xanderplayz16 commented 6 months ago

You can get a free windows like this: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/

For the developers that don't have windows.

psst... massgrave.dev

jschwar313 commented 6 months ago

I'm a former developer. I might be able to test stuff. I have a Windows 10 64 bit machine and I could make another drive a Windows 11 machine. I won't be able to do 8 hours a day, but maybe a couple of hours if I have time. I also have built a python application that has been running for quite some time.

sohdahh commented 6 months ago

You can get a free windows like this: https://developer.microsoft.com/en-us/windows/downloads/virtual-machines/ For the developers that don't have windows.

psst... massgrave.dev

massgrave is so goated

TaiXeflar commented 4 months ago

Hey guys I tested for serval env to compile codon project, with all are failed:

git clone https://github.com/exaloop/llvm-project.git --depth=1
git clone https://github.com/exaloop/codon.git --depth=1 --branch=windows

The LLVM has been built successfully, so the codon build will passing the -DCMAKE_PREFIX_PATH="C:/exaloop/llvm/install_dir".

Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/CheckTypeSize.cmake:270 (__check_type_size_impl) /usr/share/cmake-3.22/Modules/TestBigEndian.cmake:55 (CHECK_TYPE_SIZE) /usr/share/cmake-3.22/Modules/TestBigEndian.cmake:37 (__TEST_BIG_ENDIAN_LEGACY_IMPL) build2/_deps/xz-src/cmake/tuklib_integer.cmake:21 (test_big_endian) build2/_deps/xz-src/CMakeLists.txt:129 (tuklib_integer)



Having new testing results will update comments here.
inumanag commented 1 week ago

Update: we are currently working on version that will not need LLVM RTTI anymore and will hopefully enable us to compile LLVM and Codon on Windows (thus far, all attempts to do this would result in exceeding maximum amount of linker symbols, at least under MinGW).