summaryrefslogtreecommitdiffstats
path: root/classes/ruby.bbclass
diff options
context:
space:
mode:
Diffstat (limited to 'classes/ruby.bbclass')
-rw-r--r--classes/ruby.bbclass34
1 files changed, 21 insertions, 13 deletions
diff --git a/classes/ruby.bbclass b/classes/ruby.bbclass
index 15ac9f4..5fb8e6b 100644
--- a/classes/ruby.bbclass
+++ b/classes/ruby.bbclass
@@ -104,23 +104,31 @@ EOF
104 system("perl -p -i -e 's#^arch =.*#arch = ${ruby_arch}#' Makefile") 104 system("perl -p -i -e 's#^arch =.*#arch = ${ruby_arch}#' Makefile")
105 system("perl -p -i -e 's#^LIBPATH =.*#LIBPATH = -L.#' Makefile") 105 system("perl -p -i -e 's#^LIBPATH =.*#LIBPATH = -L.#' Makefile")
106 system("perl -p -i -e 's#^dldflags =.*#dldflags = ${LDFLAGS}#' Makefile") 106 system("perl -p -i -e 's#^dldflags =.*#dldflags = ${LDFLAGS}#' Makefile")
107 system("perl -p -i -e 's#^ldflags =.*#ldflags = -L${STAGING_LIBDIR}#' Makefile")
107EOF 108EOF
108} 109}
109 110
110ruby_do_compile() { 111ruby_do_compile() {
111 if [ -f extconf.rb -a ! -f extconf.rb.orig ] ; then 112 EXTCONF_FILES=$(find . -name extconf.rb -exec ls {} \;)
112 grep create_makefile extconf.rb > append2 || (exit 0) 113 for e in $EXTCONF_FILES
113 ruby_gen_extconf_fix 114 do
114 cp extconf.rb extconf.rb.orig 115 if [ -f $e -a ! -f $e.orig ] ; then
115 # Patch extconf.rb for cross compile 116 grep create_makefile $e > append2 || continue
116 cat append >> extconf.rb 117 ruby_gen_extconf_fix
117 fi 118 cp $e $e.orig
118 for gem in ${RUBY_BUILD_GEMS}; do 119 # Patch extconf.rb for cross compile
119 ${RUBY_COMPILE_FLAGS} gem build $gem 120 cat append >> $e
120 done 121 fi
121 if [ -f extconf.rb.orig ] ; then 122 done
122 mv extconf.rb.orig extconf.rb 123 for gem in ${RUBY_BUILD_GEMS}; do
123 fi 124 ${RUBY_COMPILE_FLAGS} gem build $gem
125 done
126 for e in $EXTCONF_FILES
127 do
128 if [ -f $e.orig ] ; then
129 mv $e.orig $e
130 fi
131 done
124} 132}
125 133
126 134