--nextPart2750306.cXgpGYuoH4
Content-Type: text/plain;
  charsettf-8"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Quoth Konrad Meyer:
> Quoth Daniel Berger:
> > 
> > On Sep 21, 1:01 pm, Michael Neumann <mneum... / ntecs.de> wrote:
> > > Hi all,
> > >
> > > I am proud to announce my latest project called CplusRuby.
> > > Below I pasted it's README for further explanation.
> > > Alternatively read the following blog article:
> > >
> > > http://www.ntecs.de/blog/articles/2007/09/21/cplusruby-gluing-c-and-ruby
> > 
> > <snip>
> > 
> > First patch!
> > 
> > C:\Documents and Settings\djberge\My Documents\My Downloads\Ruby>diff -
> > u cplusruby.orig cplusruby.rb
> > --- cplusruby.orig      Fri Sep 21 15:50:38 2007
> > +++ cplusruby.rb        Fri Sep 21 15:49:04 2007
> > @@ -11,6 +11,10 @@
> >  #
> >  # Implements a simple ordered Hash
> >  #
> > +require 'rbconfig'
> > +require 'win32/process' if RUBY_PLATFORM.match('mswin')
> > +include Config
> > +
> >  class OHash < Hash
> >    def []=(k, v)
> >      @order ||= []
> > @@ -146,20 +150,28 @@
> >      dir = File.dirname(file)
> >      mod, ext = base.split(".")
> > 
> > +    make = RUBY_PLATFORM.match('mswin') ? 'nmake' : 'make'
> > +
> >      File.open(file, 'w+') {|f| f << self.generate_code(mod) }
> >      Dir.chdir(dir) do
> > -      system("make clean")
> > +      system("#{make} clean")
> > +
> >        pid = fork do
> >          require 'mkmf'
> >          $CFLAGS = cflags
> >          $LIBS << (" " + libs)
> >          create_makefile(mod)
> > -        exec "make"
> > +        exec "#{make}"
> >        end
> >        _, status = Process.waitpid2(pid)
> > -      raise if status.exitstatus != 0
> > +
> > +      if RUBY_PLATFORM.match('mswin')
> > +         raise if status != 0
> > +      else
> > +         raise if status.exitstatus != 0
> > +      end
> >      end
> > -    require "#{dir}/#{mod}.so"
> > +    require "#{dir}/#{mod}." + CONFIG['DLEXT']
> >    end
> > 
> >    def self.generate_code_for_class
> > 
> > Mostly fixes MS Windows issues, but the DLEXT bit also fixes platforms
> > that don't generate .so files (OS X, HP-UX).
> > 
> > Regards,
> > 
> > Dan
> 
> Does the C->ruby mapping map between char * and Strings?
> 
> Thanks,
> -- 
> Konrad Meyer <konrad / tylerc.org> http://konrad.sobertillnoon.com/

Also, is there a way to define C functions from ruby that return a C type?

-- 
Konrad Meyer <konrad / tylerc.org> http://konrad.sobertillnoon.com/

--nextPart2750306.cXgpGYuoH4
Content-Type: application/pgp-signature; name=signature.asc 
Content-Description: This is a digitally signed message part.

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBG9GMECHB0oCiR2cwRAp9GAJ9kJazwIyQ7vo6cIFXoffLdbeskqACfeqIX
WZeyve3R/k3nvJ5C7vrW2vURT
-----END PGP SIGNATURE-----

--nextPart2750306.cXgpGYuoH4--