Makefiles for 2.5

Compiling, libraries, modules, coding guidelines and porting

Moderators: jesterKing, stiv

Post Reply
Dani
Posts: 143
Joined: Fri Oct 18, 2002 8:35 pm

Makefiles for 2.5

Post by Dani » Fri Jan 11, 2008 12:12 am

Hello!

I'm interested in understanding how is implemented B2.5 as the redesign looks very promising! (from what I saw it's similar to MVC + Command Pattern).

But I need to compile it and I'm wondering what system the developers are using for 2.5 as the linking process fails with makefiles. Are the makefiles supposed to build Blender yet or should I look into CMake?

Tonight I started to look deeper into why it didn't link. (was telling me that the "main" symbol wasn't defined, funny no?) To get passed this i had to change, in source/Makefile, line 217 from:

Code: Select all

BLLIB = $(NAN_IKSOLVER)/lib/libiksolver.a
to

Code: Select all

BLLIB += $(NAN_IKSOLVER)/lib/libiksolver.a
or else BLLIB gets overwritten and the linker misses some libs, like libcreator.a.

Then, a whole lot more errors appear... I'll continue tomorrow! Hope this helped a bit those who were stuck at this point...

Dani

jesterKing
Site Admin
Posts: 207
Joined: Fri Oct 18, 2002 12:48 pm
Location: Finland

Post by jesterKing » Fri Jan 11, 2008 9:33 am

I use SCons to do my building.

You're right that the new code has the MVC pattern. Check out the meeting agenda of the 23rd of December (here), there's the first IRC presentation of the new architecture. See also http://wiki.blender.org/index.php/BlenderDev/Blender2.5

/Nathan

SirDude
Posts: 233
Joined: Sun Oct 13, 2002 7:37 pm
Location: University of Minnesota (USA)
Contact:

Post by SirDude » Fri Jan 11, 2008 3:16 pm

Thanks for the catch this should be fixed now.

Dani
Posts: 143
Joined: Fri Oct 18, 2002 8:35 pm

Post by Dani » Sat Jan 12, 2008 6:24 pm

Okay,

Scons builds Blender just fine! I would've tried to fix the Makefiles but I'm really unfamiliar with the way it works. I'll into some reading before I try anything :)

Dani

Dani
Posts: 143
Joined: Fri Oct 18, 2002 8:35 pm

Post by Dani » Wed Jan 16, 2008 10:48 am

BTW,

At work we're using CMake a lot and I see that there is a CMake build system in Blender. CMake can target Makefiles (for Mingw, for Linux etc...), XCode and VisualStudio, so I'm asking myself why are there so many build systems (noticeably VS, Makefiles and XCode) when maintaining CMake should theoritically maintain all the others (except Scons)?

Dani

jesterKing
Site Admin
Posts: 207
Joined: Fri Oct 18, 2002 12:48 pm
Location: Finland

Post by jesterKing » Wed Jan 16, 2008 11:36 am

CMake is the latest addition to the choice of buildsystems. SCons and Make are best maintained, so they are the most obvious choice.

/Nathan

Post Reply