RAliasFile is aimed to resolve alias file on Mac OS X using a C
extension to ruby.
see http://rubyforge.org/frs/?group_id=2129&release_id=6684
I’d be glad hearing comments upon it.
next plan :
do a RAliasRecord extension to Ruby
RAliasFile is aimed to resolve alias file on Mac OS X using a C
extension to ruby.
see http://rubyforge.org/frs/?group_id=2129&release_id=6684
I’d be glad hearing comments upon it.
next plan :
do a RAliasRecord extension to Ruby
On 30 août 06, at 13:05, Une bévue wrote:
I’d be glad hearing comments upon it.
Ok, here we go:
The RUBY_PLATFORM test in your extconf.rb file is broken. It will
only allow to build the extension for a ruby built under 10.4.7.
For example, it will fail for a ruby built on 10.4.6 but running
under 10.4.7. And the regexp you are using is incorrect to begin with
(’.’ does not match ‘.’, but any character).
You are adding include paths to CFLAGS which you don’t need. Only
Carbon and CoreFoundation are required, you can remove everything else.
Same for LDFLAGS, you only need to link against the Carbon and
CoreFoundation frameworks, forget about CoreServices and Foundation.
I have no idea how your extension can work, because it really
should not. You are defining methods for RAliasFile which is a global
variable set to Qnil, instead of defining them for cRAliasFile which
you correctly define first. This makes no sense. Remove RAliasFile,
you don’t need it.
Same story for the alias_path global variable, it’s totally
useless as far as I can tell.
Having “version” as an instance method is bogus, you should
probably make it a singleton method.
That’s after a quick 5mn look, there’s probably more to say…
Luc H. [email protected] wrote:
Ok, here we go:
- The RUBY_PLATFORM test in your extconf.rb file is broken. It will
only allow to build the extension for a ruby built under 10.4.7.
For example, it will fail for a ruby built on 10.4.6 but running
under 10.4.7. And the regexp you are using is incorrect to begin with
(‘.’ does not match ‘.’, but any character).
ok, i’ve corrected that to /powerpc-darwin8.\d.\d/
You are adding include paths to CFLAGS which you don’t need. Only
Carbon and CoreFoundation are required, you can remove everything else.Same for LDFLAGS, you only need to link against the Carbon and
CoreFoundation frameworks, forget about CoreServices and Foundation.
ok corrected
I have no idea how your extension can work, because it really
should not. You are defining methods for RAliasFile which is a global
variable set to Qnil, instead of defining them for cRAliasFile which
you correctly define first. This makes no sense. Remove RAliasFile,
you don’t need it.Same story for the alias_path global variable, it’s totally
useless as far as I can tell.
ok too…
- Having “version” as an instance method is bogus, you should
probably make it a singleton method.
fixed ))
thanks a lot for your help, i now have a 0.0.2 version …
On 8/30/06, Une bévue [email protected] wrote:
ok, i’ve corrected that to /powerpc-darwin8.\d.\d/
That won’t work on my Mac, will it? (Checking.) Nope. My platform is
i686-darwin8.7.1. So unless you’re only wanting this to work on
older Macs, you’ll need to have /.-darwin8./ (if darwin8 is the
right version; darwin may be the right choice).
I haven’t tried it, yet – too much work to do today – but just a
note.
-austin
Austin Z. [email protected] wrote:
That won’t work on my Mac, will it? (Checking.) Nope. My platform is
i686-darwin8.7.1. So unless you’re only wanting this to work on
older Macs, you’ll need to have /.-darwin8./ (if darwin8 is the
right version; darwin may be the right choice).I haven’t tried it, yet – too much work to do today – but just a note.
fine thanks for this point, i can change it quickly.
Le 30 août 06 à 22:18, Austin Z. a écrit :
That won’t work on my Mac, will it? (Checking.) Nope. My platform is
i686-darwin8.7.1. So unless you’re only wanting this to work on
older Macs, you’ll need to have /.-darwin8./ (if darwin8 is the
right version; darwin may be the right choice).
following a try-out of Lon B. on <1DE858BB-9002-48E0-AACC-
[email protected]> ([Rubycocoa-talk] mailing list ) changing
what u’ve suggested above is ok.
best,
Yvon
only one line to change in ext/extconf.rb :
change line 6 (just after “case RUBY_PLATFORM”) to :
when /.-darwin8./
that’s all to do ))
ext/extconf.rb becomes :
---- ext/extconf.rb ----------------------------------------------------
#!/usr/bin/env ruby
require ‘mkmf’
case RUBY_PLATFORM
when /.-darwin8./
$CFLAGS << " -I /System/Library/Frameworks/Carbon.framework/
Headers "
$CFLAGS << " -I /System/Library/Frameworks/
CoreFoundation.framework/Headers "
$CFLAGS << " -fnested-functions "
$LDFLAGS << " -framework CoreFoundation "
$LDFLAGS << " -framework Carbon "
# Give it a name
extension_name = 'raliasfile'
# The destination
dir_config(extension_name)
# Do the work
create_makefile(extension_name)
else
puts “This Ruby extension needs MacOS X 10.4+”
end
Luc H. [email protected] wrote:
Ok now let’s push this a bit further: why are you limiting the
compilation to Tiger ?
i just want a user of not Mac OS X to be advice this prog works only on
Mac OS X.
that’s the “8” preventing compilation over Leopard ?
On 1 sept. 06, at 07:43, Yvon T. wrote:
change line 6 (just after “case RUBY_PLATFORM”) to :
when /.-darwin8./
Ok now let’s push this a bit further: why are you limiting the
compilation to Tiger ? You don’t seem to use any Tiger specific call,
not to mention the fact that you are limiting compilation to Tiger
only so Leopard users won’t be able to compile it either. Just
remove the test, it’s useless
On 1 sept. 06, at 18:25, Une bévue wrote:
i just want a user of not Mac OS X to be advice this prog works
only on
Mac OS X.
Ah, good point.
that’s the “8” preventing compilation over Leopard ?
I would expect so, yes.
Le 1 sept. 06 à 20:59, Luc H. a écrit :
I would expect so, yes.
ok change done ))
i’ll upload asap.
Yvon
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.
Sponsor our Newsletter | Privacy Policy | Terms of Service | Remote Ruby Jobs