Ideal setup for developing in linux, plugins, cross plat?


#1

I’m interested in seeing how people who develop on linux are set up. Do you keep the JUCE source in your home folder, or put it in some shared directory? I’m really the only user on this machine, so I guess that doesn’t matter as much, but are there any good step-by-steps for getting a good environment going? I’m wondering if eclipse is a good option. I’m just having trouble figuring out my organization.

thanks guys!

EDIT: let me clarify. I actually would end up doing a lot of my testing on windows. Do any of you compile windows vst plugins from linux, using something like mingw? (I’ve never done this before, is it worth it, or should I just compile them from windows?). Basically I’d just like to get my workflow smooth before I get knee deep in code.


#2

Eclipse is ‘OK’. It’s probably a good time to know it, since it’s becoming pretty standard with some systems. CodeBlocks is excellent - on a par with xcode and Visual Studio in many ways, I would recommend that.

As for going between the platforms, I suspect trying to share the actual source files is a bit of a nightmare. I have been using subversion for my project and for juce - then I can update each (or not) as needed. You always need internet access - that’s the main drawback.

If juce is moving to GIT (grumble grumble) then I may have to add another system.

Bruce


#3

Hi Bruce,

I write variants of our products (Mixtikl/Noatikl/Liptikl) for Win, Mac and various mobile platforms.

I’m also doing some Android consultancy at the moment - under Eclipse :slight_smile: - which I used to hate but must admit that actually the way that the Android system works under it is very good (with powerful Java refactoring features; don’ t know what it is like for C++). I’ve also been doing quite a bit of Linux work recently, through VMs on a Windows XP host.

Anyways: the key for me has been to I use a separate file server machine on my network running a SVN server; this happens to be an old Mac mini with a cheap Western Digital 2TB hardware RAID (mainly: because I already had the machine, and it was easy to configure).

Also: I recommend using a VM approach.
If you’re interested in Mac, then use a Mac, and put Win and Linux under VMs.
If you’re not interested in Mac, then use a Windows XP machine, and put your Linux under a VM.

When I’m in Mac land, or Windows land (via bootcamp or the VM) or even Linux using a VM, I get the files I need using SVN from my file server on the LAN. Android currently is done on Windows, using Cygwin tools; but that is historical accident; I keep meaning to make it Mac centric as Windows scripting etc. is so much slower when running Windows! I can also copy files easy between machines and/or VMs and/or bootcamp, via the file server.

All scripting is done in combination of bash and python; easy if you’re using cygwin on Windows. That keeps most tools portable across your platforms. Though everything is a lot faster when run from Mac OS than compared to bootcamped Windows XP; so for the past 6 months, I do as much as possible of the core work under MacOS; this has made me a lot more efficient.

HTH!

Pete