> 2) We have edited the SWIG source code to take care of this problem.
> If you want I can send the changed code to you.
Sounds like we just need to specify -I on the command-line to gcc to tell
it where the files are. I have this hard-coded in my Makefiles at work,
but this is not a good solution.
Gtk and SDL and other libraries have a -config script that can print out
the correct command-line parameters to use. For example, in a makefile
for a program that uses Gtk, I usually use:
CFLAGS+=`gtk-config --cflags`
LDFLAGS+=`gtk-config --ldflags`
Would it be possible to modify ruby in such a way that I could do:
CFLAGS+=`ruby --cflags`
LDFLAGS+=`ruby --ldflags`
This would greatly increase portability of modules that don't use Ruby's
mkmf facility (which is nice, but doesn't integrate well with the makefile
system we already have in place).
Note that I can use:
RUBYARCHDIR=\
$(shell ruby -e "require 'rbconfig'; print \
Config::CONFIG['libdir'], \
\"/ruby/\", \
Config::CONFIG['MAJOR'], \
\".\", \
Config::CONFIG['MINOR'], \
\"/\", \
Config::CONFIG['arch']")
RUBYINCDIR=\
$(shell ruby -e "require 'rbconfig'; puts Config::CONFIG['includedir']")
RUBYLIBS=\
$(shell ruby -e "require 'rbconfig'; puts Config::CONFIG['LIBS']")
RUBYLIBDIR=\
$(shell ruby -e "require 'rbconfig'; puts Config::CONFIG['libdir']")
CFLAGS+=-I$(RUBYARCHDIR) -I$(RUBYINCDIR)
LDFLAGS+=-L$(RUBYARCHDIR) -L$(RUBYLIBDIR) $(RUBYLIBS) -lruby
but this is not nearly as clean. BTW, does anyone know why I can't just
get Config::CONFIG['archdir'] instead of that messy first line? It's
available from irb, but from inside a Makefile, I just get nil.
Paul