[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]

Re: [XaraXtreme-dev] Re: Success



On 04/06/06, Alex Bligh <alex@xxxxxxxxxxx> wrote:
--On 04 June 2006 12:44 +0100 Ben Fowler <ben.the.mole@xxxxxxxxx> wrote:

> Calender time (wall time for shorter intervals) ...
I should have been more specific in my question. It wasn't really
a "calendar time vs wall time" issue. What I meant was you've obviously
put in a lot of hard work to make it compile (and hence a long time).

I am saying that calendar time and wall time are the same, both
representing 'elapsed time'; but clearly this is not time spent 100%
in front of the machine working on the problem, I suppose that that
would be 'User time', and most certainly would be an indicator of effort
required.

I've wanted to be a bit niggardly in what I post - mainly to avoid putting
people off. I certainly haven't been keeping a tally of what problems I
have faced, far less firing off some sort of e-mail to the list the moment
any one arises. You would be right if you assumed that whatever I do post
is the tip of an iceberg. If you feel that you, as Gaddesden Place, do need
to see the whole iceberg then we either need to use Bugzilla for, well
recording bugs, other defects and the steps taken to resolve them or
use this list for discussing issues.

I wouldn't state that it was "hard work" - I chose to do it - and I would
assert that it is a reasonable and quite viable proposition for anyone else
to do the same. It is the case that time I did spend on Xara could have
spent on Inkscape or Firefox, or a couple of projects that I keep meaning
to start but haven't yet, without any detriment to me.

If the lessons of what you have learnt are made available, it should
(hopefully) be easier for others to do the same, ideally to the level
where they download the sources, install the other prerequisites,
load up the XCode project, hit build, and it all works.

"Build in one step" http://www.joelonsoftware.com/articles/fog0000000043.html
is a very necessary goal (at least for the people making shipping builds),
but I have been working on the basis that making a build at all was
a goal worth achieving.

In terms of what was necessary, I am fairly sure that all that one has
to do follow the steps in one of my earlier replies, which mirror
what you wrote.

I will go back to that message and give another reply to it.

I think that I had to link with the fink libxml and the command-line
build wxWidgets library (a dynamic library), and that was all.

Assuming that the next milestone/stepping stone after 'proof of
concept' is a viable, or idiot-proo,f Project file, then I would
suggest that Xara create two versions, a XaraLx-official which uses your
ideas about libraries and build configurations and a XaraLX-personal
which uses those found on the user's machine. The most important
setting in Xara-personal could well be 'Architecture' which needs to be
blank (Xara-offical has i386, and you cannot readily change this
at present) or the SDK which again should be 'Current Mac OS' in Xara-personal
and 'Mac OS 10.4u SDK' in Xara-offical. I appreciate that this creates
a chore of altering both Projects when adding files, and may not be
possible for that reason, but against that, you eliminate the need
to flip those settings back and forth, the need to explain to people
what 'Architecture' and 'Cross Develop Using Taget SDK' mean.

I would also suggest that you create a (possibly UB) wxWidgets Framework
which builders could download as with a .deb as a dependency, if necessary
as a vendor branch with Xara patches. This would save time in actually
buiding wxWidgets and put to put one of the greater sources of false starts.

> On a medium performance machine Xara does take a long time to compile
> - many hours - but this is not a deal-breaking problem unless one is
> faced with false starts et cetera.
>
> [ snip ]

If ... it sits there churning away for a few hours, fine (though hardly
a credit to the Mac given it's just running gcc AFAIK), but at least
it doesn't require intervention. I suppose I am asking whether there
are any lessons from what you've done we can take on board to make
it easier for others.

To put your comment about gcc in context, it is not fast to start with,
and Apple have been largely responsible for maintaining the PPC back-end
and the Objective C driver, and I suspect that they didn't realise
for sometime that if they didn't do it, nobody else would! Having said
that we have a core GCC man at our local LUG and he is scathing when he
sees my little Mac take a long time to compile, so on a simple factual
basis you are 100% correct.

My proposal, other things being equal, would be for the Mac community
to pick up what you done and run with it. Actual bugs can be filed
in Bugzilla, development discussions can come here and other questions
can be answered in the forum http://www.talkgraphics.com/forumdisplay.php?f=41 .

You might want to

* Create a MacOS directory for Mac stuff
* Otherwise create a pbx or xarabpx directory for the Project stuff
* Divide some of sources into libraries/frameworks (wxXtra is a candidate)
* Check whether you are are including the icons, libraries et cetera in the .app

On Linux now (without any special knowledge) building from source
(if you have 2.6.3 Unicode wxWidgets build and installed) should
take no more than actual build time plus ten minutes. No doubt
if you use the gentoo emerge stuff, or a debian source package,
it would get even smaller.

See above about frameworks. There is a pay off for an individual dev
in getting an XCode project working in that it does become a one
step operation after all the set up is done.

Hope this helps.

Ben