Windows build

View: New views
5 Messages — Rating Filter:   Alert me  

Windows build

by Paul Gregory-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi all,

I've been toying with Io for a while (since I found out about it via
Pixar's usage). I've been looking for a nice powerful, embeddable,
extendable scripting language for some time to provide a default
binding for content generation for the Aqsis renderer project I run.

I've started building a RenderMan binding
(http://github.com/pgregory/ioman), and it all seems to be going quite
well. Well, that is, until I move to Win32 porting. It seems to me
that the Win32 build has been somewhat left behind. I've made numerous
changes to the Makefile based build system in order to make it compile
well using the free Visual Studio compiler, currently I'm working with
VC8 (Visual Studio 2005). Mainly the problems I encountered were
related to the default 'lib' prefix for everything in Io. While this
is fine in everything internal to Io, it proves problematic when
incorporating external libraries, as it is the norm under Win32 to not
have a prefix. There are some places in the build system that expect
there to be a 'lib' prefix for all libraries.

I've modified the system to specify the library prefix per system, as
is already done with much of the other system specific items, such as
library suffix. I've also modified the Makefiles slightly so that the
build can be done in Cygwin, using the GNU make there, and the shell
tools that are necessary, while producing an install that doesn't in
any way rely on Cygwin. Specifically, the INSTALL_PREFIX is converted
to Windows format when passed into the compile, so that the addons
etc. are found properly. This means that the build can be easily
configured to build for any target directory*.


My question is, is anyone currently actively maintaining the Win32
build? If not, I would be happy to take that role, and try to make
regular installer builds available. If so, then would that person like
the patch I've created to make this easier?

Cheers


Paul Gregory

* I strongly believe the install should not have hard coded install
details in the build. It's easy on Windows to identify the executable
location, and infer the addons path from there at runtime, which would
make a proper installer viable. Again something I would be happy to
undertake if nobody is looking at the same thing.


Re: Windows build

by Steve Dekorte :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


Hi Paul,

James Burgess (jrb@...) was maintaining the windows support but  
hasn't committed any patches in a while. I'm pretty sure he'd be glad  
to pass the windows support torch to you.

On 2009-05-05, at 3:44 PM, paulcgregory wrote:

> My question is, is anyone currently actively maintaining the Win32
> build? If not, I would be happy to take that role, and try to make
> regular installer builds available. If so, then would that person like
> the patch I've created to make this easier?
> ...
> * I strongly believe the install should not have hard coded install
> details in the build. It's easy on Windows to identify the executable
> location, and infer the addons path from there at runtime, which would
> make a proper installer viable. Again something I would be happy to
> undertake if nobody is looking at the same thing.



Re: Windows build

by Paul Gregory-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

In that case, I'll clean up the changes a bit, check that they don't affect building on Posix, and send a patch. I'll then look at getting the VC build into a shape that can be packaged into an installer for the Windows folks.


Paul

--- In iolanguage@..., Steve Dekorte <steve@...> wrote:
>
>
> Hi Paul,
>
> James Burgess (jrb@...) was maintaining the windows support but  
> hasn't committed any patches in a while. I'm pretty sure he'd be glad  
> to pass the windows support torch to you.
>



Re: Windows build

by Andreas Schipplock-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

sounds good :).

On Wed, May 6, 2009 at 4:13 PM, paulcgregory <pgregory@...> wrote:

>
>
> In that case, I'll clean up the changes a bit, check that they don't affect
> building on Posix, and send a patch. I'll then look at getting the VC build
> into a shape that can be packaged into an installer for the Windows folks.
>
> Paul
>
> --- In iolanguage@..., Steve Dekorte <steve@...> wrote:
>>
>>
>> Hi Paul,
>>
>> James Burgess (jrb@...) was maintaining the windows support but
>> hasn't committed any patches in a while. I'm pretty sure he'd be glad
>> to pass the windows support torch to you.
>>
>
>



--
-
Kind regards,
Andreas Schipplock.

Re: Windows build

by James Burgess-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Paul,
 A  few months ago I pulled the latest Io tree from github and built successfully with only a couple of minor changes using the free vc9 compiler(which cygwin make, sh etc) IIRC it was just the usual C99'isms that had crept in like variable declaration after a statement that MS's compilers don't support in "C" mode.

There was one other strange issue which was somewhere a header was setting the  _WIN32_WINNT define (to get the Fiber API). Defining this yourself in today's unbundled SDK that low (currently 0x400) seems to conflict with winsock2.h.

I'm not sure what you mean about converting the INSTALL_PREFIX to a window's path. I have always built with

 $ make INSTALL_PREFIX=c:/io SYS=Windows

Which used to do the right thing.

 It would be coolif you added the auto-find-yourself business. Seems like that should be really simple, its an idea that has been tossed around for a while but no one has taken up.

If you are going to go mad and build a msi then it seem like the install path thing will need to be enhanced anyway. If you do that work you should make sure we can easily override the location by modifying the environment and via an API call.

Cheers,
 James