I'm building an extension gem for http://libharu.sourceforge.net/ My
intent is to help the spread of the library by uploading it to rubyforge
(it is already uploaded and working for the windows version, check: gem
install hpdf on win)

In LINUX, this library and the ruby extension is very easy to setup in
the traditional way. Just untar and run:

./configure --cflags=-fPIC
make

This makes libharu.so, wich will be needed by the ruby extension. Then

ruby extconf.rb
make
cp hpdf.so /var/lib/gems/hpdf/lib # << Path must be correct on your
system

That's all. The problem comes when i try to package the gem with
rubygems. I have no problems with the gem specification, but for the
extconf.rb i made a horrible hack that, tough works, is very, very ugly,
and dependes on "sh" and "sudo" to work properly, wich i don't know if
will always be available:

--------------------------------------------------------------------------
# First build the library. Horrible hack!
source_dir= File.join(File.dirname(__FILE__), './libharu')
system("cd #{source_dir}; sudo sh ./configure --cflags=-fPIC; make")

# From now on is ok
require 'mkmf'
$CPPFLAGS = $CPPFLAGS + " -I./libharu/include"
$LDFLAGS = $LDFLAGS + " -L./libharu"
$LIBS = $LIBS + " -lhpdf -lpng -lz"
create_makefile 'hpdf'
--------------------------------------------------------------------------

How can i change the gem spec or the extconf.rb file to avoid the use of
sh and sudo? I tought of moving all the .c and .h files to the same dir,
but i don't know if i will need special flags to compile the whole thing
!
-- 
Posted via http://www.ruby-forum.com/.