A
Arne De Herdt
Hello,
I'm currently busy compiling several gems from source on my Windows
platform. Yes, you've read that right, W-I-N-D-O-W-S platform
Most of the gems and ruby code is compiling without issues, but
sometimes I encounter gems that have native extensions that need to be
build. To give the example i'm currently working on : Thin
Thin is relying on rake to do the configuration and installation, and
here is the problem (also occurs with make tbh). Let me copy&paste a
small piece from the Makefile generated by thin:
#### Start of system configuration section. ####
srcdir = /C/Source/git/thin/ext/thin_parser
topdir = /C/Ruby/include/ruby-1.9.1
hdrdir = /C/Ruby/include/ruby-1.9.1
arch_hdrdir = C:/Ruby/include/ruby-1.9.1/$(arch)
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
The correct paths for Windows need to be like the arch_hdrdir. When I
change the above snippet into:
#### Start of system configuration section. ####
srcdir = C:/Source/git/thin/ext/thin_parser
topdir = C:/Ruby/include/ruby-1.9.1
hdrdir = C:/Ruby/include/ruby-1.9.1
arch_hdrdir = C:/Ruby/include/ruby-1.9.1/$(arch)
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
The make works without any problem. So as long as a GEM relies on Make
instead of rake, I'm able to manually compile and install these gems.
However with rake, i'm unable to make these changes, because the the
file is regenerated on every call and I cannot alter these paths.
I'd like to know if this behavior is intended, or is actually a bug
inside the code that generates the paths on a Windows machine?
I'm currently busy compiling several gems from source on my Windows
platform. Yes, you've read that right, W-I-N-D-O-W-S platform
Most of the gems and ruby code is compiling without issues, but
sometimes I encounter gems that have native extensions that need to be
build. To give the example i'm currently working on : Thin
Thin is relying on rake to do the configuration and installation, and
here is the problem (also occurs with make tbh). Let me copy&paste a
small piece from the Makefile generated by thin:
#### Start of system configuration section. ####
srcdir = /C/Source/git/thin/ext/thin_parser
topdir = /C/Ruby/include/ruby-1.9.1
hdrdir = /C/Ruby/include/ruby-1.9.1
arch_hdrdir = C:/Ruby/include/ruby-1.9.1/$(arch)
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
The correct paths for Windows need to be like the arch_hdrdir. When I
change the above snippet into:
#### Start of system configuration section. ####
srcdir = C:/Source/git/thin/ext/thin_parser
topdir = C:/Ruby/include/ruby-1.9.1
hdrdir = C:/Ruby/include/ruby-1.9.1
arch_hdrdir = C:/Ruby/include/ruby-1.9.1/$(arch)
VPATH = $(srcdir):$(arch_hdrdir)/ruby:$(hdrdir)/ruby
The make works without any problem. So as long as a GEM relies on Make
instead of rake, I'm able to manually compile and install these gems.
However with rake, i'm unable to make these changes, because the the
file is regenerated on every call and I cannot alter these paths.
I'd like to know if this behavior is intended, or is actually a bug
inside the code that generates the paths on a Windows machine?