..:: PCSX2 Forums ::..
Register | Help | Log In |
Register PCSX2 Site Forums Member List Donate View Today's Posts Search

Current time: 03-21-2010, 08:17 AM Hello There, Guest! (Login — Register)

..:: PCSX2 Forums ::.. / PCSX2 Discussion and Support / Developer Discussion / Help needed: Linux/Win32 commandline buildsystem?

1 user browsing this thread: (0 members, and 1 guest).

Pages (2): 1 2 Next »
Post Reply 
 
Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Threaded Mode | Linear Mode
Help needed: Linux/Win32 commandline buildsystem?
Author Message
Air Offline
PCSX2 Programmer
******

Posts: 1.144
Joined: Nov 2008
Location: Meshoppen, PA
Post: #1
Help needed: Linux/Win32 commandline buildsystem?
This topic is open to everyone, although primarily geared toward experienced Linux developers. I'd like two positives to come from this topic if possible. Listed, in order:

1. Pick a suitable command line buildsystem to use.

I'd like to avoid Configure scripts since those are unix-specific hell meant primarily for allowing base tools and libraries the ability to compile on systems ranging from 1987 DG-UX to modern day. We have no such concerns here. Wink There are quite a few alternatives out there these days, like Scons. There's others too, I know, but I can't think the names off the top of my head. We need a rundown of pros and cons of a few and then decide on one.

2. Appoint a dedicated maintainer of said build system.

Mostly responsible for making sure the build system compiles without error, and issuing patches or filing issues when it doesn't. Most times the buildsystem just needs a couple files added to it, that may have gone overlooked by another dev. On occasion there may be more complicated issues like header file include paths or conflicts.

Let the feedback begin! Smile

Jake Stine (Air) - Programmer - Pcsx2 Development Team
10-12-2009 02:15 PM
Find all posts by this user Quote this message in a reply
Zeydlitz Offline
Plugin Author
*****

Posts: 961
Joined: Dec 2008
Location:
Post: #2
RE: Help needed: Linux/Win32 commandline buildsystem?
Maybe cmake? I don't like Python -- I using it in one big project and now hate it. But what's more important, it's another dependacy for pcsx2 -- and python is not small (And in Windows it does not installed). For cmake C compiler is already with us.

p.S. And don't forget about Macs.
(This post was last modified: 10-12-2009 03:10 PM by Zeydlitz. Edit Reason: )
10-12-2009 03:10 PM
Find all posts by this user Quote this message in a reply
Air Offline
PCSX2 Programmer
******

Posts: 1.144
Joined: Nov 2008
Location: Meshoppen, PA
Post: #3
RE: Help needed: Linux/Win32 commandline buildsystem?
(10-12-2009 03:10 PM)Zeydlitz Wrote:  Maybe cmake? I don't like Python -- I using it in one big project and now hate it. But what's more important, it's another dependacy for pcsx2 -- and python is not small (And in Windows it does not installed). For cmake C compiler is already with us.

Yeah, agreed that Scons would be my personal "last choice" because of bloated dependencies and general suckiness of Python (and honestly it's not much better on linux than win32 -- win32 installs fail 80% of the time but in my experience linux installs/upgrades of python fail about 33% of the time due to whatever mysterious "DLL Hell" type of mixed version chaos Sad -- and I don't think we want to add "Python spews lots of mysterious errors regarding missing core packages?!" to our usual compilation reports).

So cmake seems like the #1 candidate. Furthermore there's apparently a good amount of support for it online, such as:

http://wiki.wxwidgets.org/CMake

... which would be a good starting point, I guess.

Jake Stine (Air) - Programmer - Pcsx2 Development Team
(This post was last modified: 10-12-2009 03:46 PM by Air. Edit Reason: )
10-12-2009 03:42 PM
Find all posts by this user Quote this message in a reply
arcum42 Offline
PCSX2 coder
******

Posts: 348
Joined: Dec 2008
Location: Las Vegas, NV
Post: #4
RE: Help needed: Linux/Win32 commandline buildsystem?
Despite the fact that the version of Linux I run has Python as a dependency, I'd agree that I'd like to avoid Python as much as I can.

CMake is what they use on Kde 4. Don't know if that's really a positive or negative.

I recall looking at Rake and Rant for a while, but requiring Ruby for a build system probably isn't a good idea either.

I've also heard of people using ant for building C++ projects, though it was written for Java projects.

Not sure of most of the positives and negatives of the above, though, since I'm used to dealing with autotools (ie: what we used to use in pcsx2).
10-13-2009 12:04 PM
Find all posts by this user Quote this message in a reply
Air Offline
PCSX2 Programmer
******

Posts: 1.144
Joined: Nov 2008
Location: Meshoppen, PA
Post: #5
RE: Help needed: Linux/Win32 commandline buildsystem?
Yeah I think we can dismiss Ant and its variants. It tries to use XML as a scripting engine, and that's a concept destined for failure, over-complication, and difficult-to-manage svn-diffs.
10-13-2009 08:17 PM
Find all posts by this user Quote this message in a reply
Air Offline
PCSX2 Programmer
******

Posts: 1.144
Joined: Nov 2008
Location: Meshoppen, PA
Post: #6
RE: Help needed: Linux/Win32 commandline buildsystem?
Ok, I revisited the CMake docs and samples, and I'm going to declare it as the best way to go. It has a good design where simple stuff is simple, but more complex things can still be done (with such complexity optionally added later); and it's fairly free of external dependencies other than itself.

So it's an ideal open source design. It'll be easy to get up and running, and then we can improve upon it as needed over time.

So now the #2 question remains: Who wants to volunteer to put something together with CMake, such that PCSX2 and (optionally) its plugins, are compilable from outside the IDE? Smile

Jake Stine (Air) - Programmer - Pcsx2 Development Team
10-14-2009 01:07 PM
Find all posts by this user Quote this message in a reply
zedr0n Offline
PCSX2/Mac hacker
*****

Posts: 89
Joined: Dec 2008
Location:
Post: #7
RE: Help needed: Linux/Win32 commandline buildsystem?
(10-14-2009 01:07 PM)Air Wrote:  Ok, I revisited the CMake docs and samples, and I'm going to declare it as the best way to go. It has a good design where simple stuff is simple, but more complex things can still be done (with such complexity optionally added later); and it's fairly free of external dependencies other than itself.

So it's an ideal open source design. It'll be easy to get up and running, and then we can improve upon it as needed over time.

So now the #2 question remains: Who wants to volunteer to put something together with CMake, such that PCSX2 and (optionally) its plugins, are compilable from outside the IDE? Smile

Yeah, i also vote for cmake, i mostly use it for my other projects i built from ground up Smile

If the convergence of mac port to official is gonna happen i'll have to change the build system anyway, not even talking about wx here, so i'll start working on it anyway.

PCSX2/MAC official blog - http://pcsx2-mac.quant0r.com
Forums - http://forums.pcsx2.net/forum-61.html
More forums - http://forum.quant0r.com
10-17-2009 05:46 PM
Find all posts by this user Quote this message in a reply
zedr0n Offline
PCSX2/Mac hacker
*****

Posts: 89
Joined: Dec 2008
Location:
Post: #8
RE: Help needed: Linux/Win32 commandline buildsystem?
so i finally started working on cmake conversion. It turned out to be simpler than i previously thought. I finished converting the build system for zerogs/zzogl which in terms of complexity is similar to pcsx2(e.g. it has all those standard library dependencies and asm files, pcsx2 is just larger in scale mostly), and it works like a charm Smile I still need to try it in linux though as i've only done it for mac Smile But that's next step, i need to merge with zzogl anyway, there's no point in having a completely separate mac version as the differences aren't that drastic.

Anyway, the build system consists of
CMakeLists.txt
Linux/CMakeLists.txt
cmake/FindCG.cmake
cmake/FindGLEW.cmake
cmake/CMakeASM_NASMInformation.cmake
cmake/CMakeDetermineASM_NASMCompiler.cmake
cmake/CMakeTestASM_NASMCompiler.cmake

You can look at them here: http://quant0r.com/cgi-bin/gitweb.cgi?p=...git;a=tree

Comments welcome Smile

PCSX2/MAC official blog - http://pcsx2-mac.quant0r.com
Forums - http://forums.pcsx2.net/forum-61.html
More forums - http://forum.quant0r.com
11-01-2009 06:07 AM
Find all posts by this user Quote this message in a reply
zedr0n Offline
PCSX2/Mac hacker
*****

Posts: 89
Joined: Dec 2008
Location:
Post: #9
RE: Help needed: Linux/Win32 commandline buildsystem?
yeah, also builds on linux fine

PCSX2/MAC official blog - http://pcsx2-mac.quant0r.com
Forums - http://forums.pcsx2.net/forum-61.html
More forums - http://forum.quant0r.com
11-01-2009 07:15 AM
Find all posts by this user Quote this message in a reply
Montblanc Offline
PCSX2 lover

Posts: 23
Joined: Oct 2009
Location: Aversa, IT
Post: #10
RE: Help needed: Linux/Win32 commandline buildsystem?
More and more GNU/Linux software is converting its build system to cmake because it has many advantages. Nice choice! Smile
11-04-2009 02:58 AM
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Pages (2): 1 2 Next »
Post Reply 


  • View a Printable Version
  • Send this Thread to a Friend
  • Subscribe to this thread
Forum Jump:


Current time: 03-21-2010, 08:17 AM

Contact Us | PCSX2 | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication

Powered By MyBB, © 2002-2010 MyBB Group.
Theme created by IncadudeF and modified by bositman