Tuesday, June 24, 2008

Dev diary: development environment setup

First of all, some bits of history. VmwAROS betas 0.5 and 0.6 were available as VMware machines only, so applications path were different and someway random. Then, with versions 0.7, the LIVE! edition came in and it needed some rework to place everything in extras:, except things that I was forced to place either on a SFS, or a FFS partition. For example, Murks!IDe 0.5.9 and prior versions had an issue with SFS partitions, forcing me to find a way to make the user install it on SYS: only. I resolved this issue placing a script that checked if necessary files were on the proper volume, and then copied files if necessary. Now, this problem is over.

For version 0.8 I used a far more elegant solution: I placed SimpleMail in one of the system drawers, as like as it was part of the operating system. Someone may argue this would generate confusion, but dividing third part applications from system files (for any reason) is something which worries AROS developers, not VmwAROS users. My problem, this time, was the way Murks! IDE 0.6.0 is supposed to start.

Practically, at launch it creates some ASSIGNs necessary for GCC to run. There is a big issue about this: the script declares the path of GCC environment using a fixed volume name, normally ASSIGN GCC: Work:Development. But a VmwAROS user isn't forced to install Murks! and other development things on Work: he might, for any reason he only knows, decide to install everything on sys:, so an assign like that would not run at all. Don't forget, then, that a user can always decide NOT TO install development files on the hard drive, and this would kill any hope to use Murks!IDE even if it's installed.

Well, the solution I found has been a little tricky, but it works. In first place, I decided that the development chain must be activated from users. This would lead to adding the necessary assigns to user-startup only if really needed. Second, user must decide what drive to use, and finally everything will work as expected. VmwAROS will now check for necessary files and assigns when Murks! IDE is activated the first time. If something is wrong, another "Development Setup" script will be activated. The scripts checks also if Murks!IDE is run straight from the Live-CD. In version 0.8 this is allowed (on former version it would be blocked).