Forum: Ruby Gem install extension in sub-directory under lib?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Reid M. (Guest)
on 2007-01-19 02:55
I am in the process of setting up the Gem install packages for Ruby WMQ.

The challenge is that I need to put the extension library wmq.so into a
sub-directory under lib. E.g.
  lib/wmq/wmq.so

The Gem spec is complete and includes all the required .rb files. The
gem successfully builds and creates the necessary documentation. The
other Ruby files are all copied across correctly into the Gem cache.
E.g. lib/wmq/wmq_const.rb

After building the extension through extconf.rb, the Gem install process
moves the wmq.so file under the lib directory.

Is there some way to tell the Gem installer to put the file wmq.so into
lib/wmq rather than just under lib?

Thank you
Reid
Reid M. (Guest)
on 2007-01-19 06:16
Reid Morrison wrote:
> I am in the process of setting up the Gem install packages for Ruby WMQ.
>
> The challenge is that I need to put the extension library wmq.so into a
> sub-directory under lib. E.g.
>   lib/wmq/wmq.so
>
> The Gem spec is complete and includes all the required .rb files. The
> gem successfully builds and creates the necessary documentation. The
> other Ruby files are all copied across correctly into the Gem cache.
> E.g. lib/wmq/wmq_const.rb
>
> After building the extension through extconf.rb, the Gem install process
> moves the wmq.so file under the lib directory.
>
> Is there some way to tell the Gem installer to put the file wmq.so into
> lib/wmq rather than just under lib?
>
> Thank you
> Reid

Finally found the solution by digging through other projects on
RubyForge.

Turns out it was not Gem, but extconf.rb that needed to be modified.

I.e. The following line in extconf.rb:
   create_makefile('wmq')
Needed to be modified to:
   create_makefile('wmq/wmq')
This topic is locked and can not be replied to.