[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

C ext to ruby : hom to manage dirs ?

pere.noel

9/18/2006 8:40:00 AM

i'm writting c ext to ruby specifically for the Mac OS X platform.

i've seen in the ruby files that, for example, RubyCocoa is under a
folder /path/to/osx

i think it's a good idae then i wonder on how to have my ext reflect
that.

is it sufficient to organize my ext dir like that :

ext/
osx/
[all the files for this ext]

???

--
une bévue
2 Answers

Ryan Davis

9/18/2006 9:21:00 AM

0


On Sep 18, 2006, at 1:46 AM, Une bévue wrote:

> i'm writting c ext to ruby specifically for the Mac OS X platform.

If it is specifically and only for one platform, don't bother making
the directory structure (or code structure) more complicated. If it
is mostly platform agnostic separate that out and have the platform
specific stuff either split out if it is big, or if not, separated
with ifdefs (I say that only because even with platform specific
files, a good portion of those files will be duplicate anyways (think
includes, declarations, definition skeletons--everything but the meat)).

In other words, do the simplest thing that works, right now, for what
you actually need... If you need to extend for a second platform
someday, deal with it then.


pere.noel

9/18/2006 11:24:00 AM

0

Ryan Davis <ryand-ruby@zenspider.com> wrote:

>
> If it is specifically and only for one platform, don't bother making
> the directory structure (or code structure) more complicated.

true, it is only for mac os x.
then i'll leave it as it is, thanxs !

> If it
> is mostly platform agnostic separate that out and have the platform
> specific stuff either split out if it is big, or if not, separated
> with ifdefs (I say that only because even with platform specific
> files, a good portion of those files will be duplicate anyways (think
> includes, declarations, definition skeletons--everything but the meat)).
>
> In other words, do the simplest thing that works, right now, for what
> you actually need... If you need to extend for a second platform
> someday, deal with it then.

that's working actually, in fact, in my "extconf.rb" i do have a test :

case RUBY_PLATFORM
when /.*darwin.*/ # are you over running Mac OS X 10.+ ?
<snip/>
else
puts "This Ruby extension needs MacOS X 10.+"
end

to alert the user wanting inadvertedly to compile over a box not running
Mac OS X.

--
une bévue