C ext to ruby : hom to manage dirs ?

U

Une bévue

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]

???
 
R

Ryan Davis

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 =20
the directory structure (or code structure) more complicated. If it =20
is mostly platform agnostic separate that out and have the platform =20
specific stuff either split out if it is big, or if not, separated =20
with ifdefs (I say that only because even with platform specific =20
files, a good portion of those files will be duplicate anyways (think =20=

includes, declarations, definition skeletons--everything but the meat)).

In other words, do the simplest thing that works, right now, for what =20=

you actually need... If you need to extend for a second platform =20
someday, deal with it then.
 
U

Une bévue

Ryan Davis said:
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.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,262
Messages
2,571,044
Members
48,769
Latest member
Clifft

Latest Threads

Top