Win compilation how-to?

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Win compilation how-to?

Postby Jamesk » Mon Mar 03, 2003 2:25 pm

:?: Since binary win releases are a bit rare, I've realized that I have to try to get some compilation of my own going here. I've got Bloodshed Dev C++ which would supposedly work - if I can get it to work like it should (some weirdness in that package)

BUT - I really need some how-to info from someone. Evidently it is fully possible to compile Blender on a windows box - the latest 2.26 release sort of proves it...

Inspite of this, I haven't been able to find any information anywhere about what compiler to use, what additional tools and libraries are required etcetera. Sure I've found references such as "you could use CygWin with mingw", "it should be possible with DevC++", "there are some library references missing, but do this-and-that to make it work" - but there is no clear "do-it-like-this-using-the-following-tools" anywhere (or maybe I just haven't found it =)

Who compiled the windows 2.26 binary? Do they know how they did it? Could they please post some blow-by-blow instruction here? An ugly textfile would be quite enough!

Is DevC++ usable? Do I need CygWin as well? Is my coffee done yet?

Any ideas, pointers, links appreciated! =)

Hos
Posts: 215
Joined: Wed Oct 16, 2002 12:06 am

Postby Hos » Mon Mar 03, 2003 8:07 pm

Courtesy of metaphorz:

http://www.cise.ufl.edu/~fishwick/blender/make.txt

I suspect that the C compiler you are planning
to use won't work, but give it a try and let us know.

Regards,
Chris

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Postby Jamesk » Mon Mar 03, 2003 10:35 pm

Thank you Hos! I will check that out and get back... hopefully alive and well. If you don't hear anything more from me... well, you know where to send condoleances and stuff. My next of kin would be my father, living a couple of miles north of Stockholm. I'll make sure my wife gets his address and so forth and so on...

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Follow-up

Postby Jamesk » Mon Mar 03, 2003 10:52 pm

Okie, so far everything is going smooth a-la GNU/GPL/OpenSource standards... that is, having installed WinCVS and finding out that it crashes instantly on start-up... :twisted:

More info to follow....

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Follow-up

Postby Jamesk » Mon Mar 03, 2003 11:01 pm

I have now found another version of WinCVS that does in fact work - I'm posting this here for reference, hopefully it can help other lame newbies like myself:

The operational version (at least on W2K) is "WinCvs 1.3.12.1 Beta 12 (build 1)" available here: http://belnet.dl.sourceforge.net/sourceforge/cvsgui/WinCvs13b12.zip


Next up: lesse if I can download the source into this thing...

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Source successfully cvs'ed

Postby Jamesk » Mon Mar 03, 2003 11:31 pm

Got 20.8 megs of juicy source code downloaded from the cvs server... The settings in WinCvs were slightly different than those posted via Hos (because I got another version of the app in question) so here's a little image showing what works:

Image

matt_e
Posts: 898
Joined: Mon Oct 14, 2002 4:32 am
Location: Sydney, Australia
Contact:

Postby matt_e » Tue Mar 04, 2003 12:58 am

Alternatively, you can also download nightly CVS checkouts if you don't want to fiddle witn winCVS etc.

http://download.blender.org/projects/bf ... checkouts/

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Postby Jamesk » Tue Mar 04, 2003 1:16 am

That's a good idea, too. Thanx!

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Postby Jamesk » Tue Mar 04, 2003 1:36 am

Umm... Looks like I'll be spending the next few months translating VisualC project and make files into something that DevC++ can use. See you all again in august 2003! :roll:

MoreK
Posts: 12
Joined: Wed Oct 16, 2002 3:24 pm

Postby MoreK » Tue Mar 04, 2003 8:29 am

Hi
I'm kinda in a same boat. I downloaded a checkout CVS and played it for a while with my Dev-C++ / Mingw. I did not dig in very deep, but here are my findings and questions:

- Dev-C++ uses GCC with Mingw library extension. Mingw can be replaced with Cygwin.
- Dev-C++ creates it's own makefiles. I don't know if existing makefiles can be"translated" to Dev-C++?
- I think you should be able to use Mingw OR Cygwin extension. I'd prefer to use Mingw, I understood it gives a little better performance than Cygwin. On the other hand Cygwin is a cross platform library - thus it may be beneficial with Blender source. But I'm not 100% sure does it really matter?! Maybe someone could tell.

I would be glad to get any additional information related to this subject.

And I really think that there should be an active GCC source code for Win-Blender. I checked out MS Visual Studio prices and I simply can't afford that! Well I could download a cracked copy, but I'm a honest guy and won't do that.

MoreK

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Postby Jamesk » Tue Mar 04, 2003 9:09 am

Hi MoreK!

Looking forward to hear what you will come up with along the road. About CygWin: I remember having read something about someone saying that NaN had used CygWin at some point, but it's not confirmed afaik. And the cross-platformness of it would probably not mean anything. The core of C/C++ has always been portable - so no matter what compiler you choose the only difference would be in the form of additional libs specifically tailored for Windows.

Yes, DevC++ generates it's own makefiles. I don't know if a translation from the makefiles in the CVS is possible or even necessary, but I assume that they are "hand-made" to a certain degree, and that would mean quite a lot of manual tweaking before it will compile in DevC++. And that would in turn mean that this tweaking has to be performed every time the CVS is expanded/changed to a not-trivial extent. Which would be a bad thing.

However, there should be other makefiles aside from the VC-version, and maybe it's better to start there. Without having looked too hard, it appears that it's really a hierarchy of make processes, with a top-level makefile calling subordinate makes until all parts have been built and linked. But I guess that's the ordinary way to do it. You must all understand that even though I've been doing a lot of programming in my days - in C, C++, Java, assembly and a bit of Python - I have never ever made anything that even comes close to a big and feature-packed application. So all this makefile/CVS/OpenGL stuff is honestly making my head spin :wink:

And as far as Visual C goes - I in fact already have a *cough*cracked*cough* copy of it, but I refuse to use it simply because a) I don't want to use illegal software, and b) it seems rediculous having to use a commercial development package in order to build a free, open source application.

Anyone who knows something about all this is indeed very welcome to post some pointers :!:

MoreK
Posts: 12
Joined: Wed Oct 16, 2002 3:24 pm

Postby MoreK » Tue Mar 04, 2003 1:10 pm

Hi Jamesk (and all...),
I will take another look at the code in the near future, probably during the weekend. Honestly I'm not planning to spend lot of time with this, especially if it would be a major pain to get things started. I would really like more to get into the code itself with Dev-C++, not tweaking makefiles and porting the code for ages.

But I'm here, I can share ideas with you for time being. Maybe we can make it happen easily, who knows. It would be fabulous to get it compiled fluidly with Dev-C++, I'm sure there would be number of developers writing new Blender features after that.

I've done programming quite a lot too - but never done porting before.

Let's keep in touch,

-MoreK-

Jamesk
Posts: 239
Joined: Mon Oct 14, 2002 8:15 am
Location: Sweden

Postby Jamesk » Tue Mar 04, 2003 1:14 pm

Sounds good. I don't plan on letting this take a lot of my time either. I'm really more on the user side of Blender, but then again - once a programmer, always a programmer (even if I'm on the lame end of the scale=)

MoreK
Posts: 12
Joined: Wed Oct 16, 2002 3:24 pm

Postby MoreK » Tue Mar 04, 2003 2:01 pm

Jamesk wrote:Sounds good. I don't plan on letting this take a lot of my time either. I'm really more on the user side of Blender, but then again - once a programmer, always a programmer (even if I'm on the lame end of the scale=)


Haha you start to sound more and more like me.... Actually I'm digging in to Blender character animation - as a user - and wow that takes time to learn, all that IKA and dynamic vertexkeys and everything.

Hos
Posts: 215
Joined: Wed Oct 16, 2002 12:06 am

Postby Hos » Tue Mar 04, 2003 4:49 pm

Jamesk wrote:I remember having read something about someone saying that NaN had used CygWin at some point, but it's not confirmed afaik.


Cygwin is used just for running make as a way to
control the build process -- the compiler that is
used is still the Microsoft one, but it is being
run in commandline mode from cygwin. The 2.26
executables were generated this way, and
this is my prefered way to build the windows executable
as it is consistent with the build process on the
other platforms. If you find that trying to
convert the projectfiles to work under Dev C++
is a pain you might want to try to adapt
the makefiles to call the Dev C++ compiler as an
alternative. The files to look at for the modification
would probably be blender/source/nan_* and
blender/source/tools/cygwin/* I think.

TankCoder and myself managed to get a
gcc/cygwin/autotools build to compile and
execute, but it seriously sucks (slow, and
only runs in a Xfree86 subwindow).

Regards,
Chris


Return to “Coding Blender”

Who is online

Users browsing this forum: No registered users and 1 guest