Long term plans for Windows version?

41 views
Skip to first unread message

Szabolcs Horvát

unread,
Feb 24, 2012, 5:46:29 AM2/24/12
to juli...@googlegroups.com
Hello,

I was wondering if there are any long term plans to create a Windows version.

Is Julia being developed with portability in mind (and the current
lack of Windows support is just because no one had the time to port it
yet), or is it specifically focused on Unix systems?

A this moment what are the biggest difficulties in porting it to
Windows? Does Julia have any hard dependencies that are problematic to
port?

Keno Fischer

unread,
Feb 24, 2012, 11:49:21 AM2/24/12
to juli...@googlegroups.com
Hello,

I have been doing some investigation into that and I thought I'd give you an update on what I'm at.
The dependencies all work on windows. However THE BUILDSYSTEM DOES NOT. At least not out of the box, and If you're trying to do a complete native build, with MSVC, then you can't use existing the build system at all.

Therefore, I have been writing CMakeFiles, to at least properly generate Makefiles (or MSVC projects) that build on windows (the code of the dependencies itself is mostly windows compatible) and I've got most of it working already. I'll probably do a pull request of that today or tomorrow. So that should cover the dependencies.

Regarding the code itself, there is quite a lot of POSIX specific code that needs to be ported, specifically Julia's C Interface and the REPL. I'm looking into libuv to see if that can be abstracted, but I haven't done much investigation into that yet (I wanted to get the dependencies to work reliably first).

So, if you want to help with that, you're more than welcome to (I don't know if anybody else has been working on that, too).

--
Keno Fischer

Jeff Bezanson

unread,
Feb 24, 2012, 2:15:56 PM2/24/12
to juli...@googlegroups.com
See issue #399 on github.

So far we have *not* generally developed with portability to windows
in mind. Of course eventually we'd love to have it.

The REPL, j/multi.j, and j/process.j are very unixy. There is probably
a large amount of work hiding there.

I really appreciate your work on this; it is tedious stuff. It will be
hard for me to help since I haven't used windows in over 10 years and
don't have ready access to a windows machine.

-Jeff

Viral Shah

unread,
Feb 24, 2012, 2:21:02 PM2/24/12
to juli...@googlegroups.com
Yes, even though we have not developed with Windows in mind, we are still at an early stage. More importantly, once we do get a Windows port going, it will force us all to ensure that future work is done in a portable way.

Would the ccall interface just work as it is, since it is just using LLVM?

-viral

Joe Groff

unread,
Feb 24, 2012, 3:32:11 PM2/24/12
to juli...@googlegroups.com
On Fri, Feb 24, 2012 at 11:21 AM, Viral Shah <vi...@mayin.org> wrote:
> Yes, even though we have not developed with Windows in mind, we are still at an early stage. More importantly, once we do get a Windows port going, it will force us all to ensure that future work is done in a portable way.
>
> Would the ccall interface just work as it is, since it is just using LLVM?

LLVM doesn't fully abstract away the C calling convention. Calls with
simple scalar types should work, but when you add support for structs
to the FFI, you'll need to borrow Clang's TargetInfo in order to
generate correct LLVM for C calls.

-Joe

Stefan Karpinski

unread,
Feb 25, 2012, 1:08:41 AM2/25/12
to juli...@googlegroups.com
Fortunate that we don't support structs in ccall yet then :-)
Reply all
Reply to author
Forward
0 new messages