Help us understand the problem. What is going on with this article?

h2o_mrubyでオレオレmrubyを使うには

2015/9/18 追記

以下の方法はh2oがmrubyをバンドルするようになって使えません。

代わりにpure ruby(mruby)のみのmrbgemsならdeps配下に置くだけでOkです。

libmruby.pcファイルを作る

例えば、mruby-mrmagick組み込んだmrubyを使いたい場合。

予め、mruby-mrmagickを組み込んだmrubyを用意しておきます。
その後、以下の作業でh2oにそのmrubyを組み込めます。

以下の.pcファイルを用意する

prefix=/Users/kjunichi/local/src/mruby
exec_prefix=${prefix}
libdir=${exec_prefix}/build/host/lib/
includedir=${prefix}/include

Name: MRUBY-libmruby
Description: Mruby libraries
Version: 1.1.0
Libs: -L/usr/local/Cellar/imagemagick/6.9.1-1/lib -L${libdir} -lmruby -lMagick++-6.Q16 -lMagickWand-6.Q16 -lMagickCore-6.Q16 -lc++
Libs.private:
Cflags: -I${includedir}

prefixのパスや、Libsのライブラリの指定は各自で読み替えてください
(Libsの指定がすこし難しいかも。。。)

h2oをビルドする前におまじない(古)

export PKG_CONFIG_PATH=.:$PKG_CONFIG_PATH

以降は、通常の手順でOK。

もし、ビルドしていた場合は、make cleanなりで、全てのオブジェクトファイルを
消してから作業しないと、リンクでエラーが出る。

CMakeで学んだこと

PKG_CHECK_MODULES(MRUBY hoge)

って書いておくと、pkg-configで参照しているパス配下のhode.pcファイルの
存在チェックをして、見つかれば、それをビルド時に使ってくれるっぽい。

Link

関連記事

kjunichi
WebRubyがきっかけで、mrubyで実装されたhttp2サーバーのtrusterdに絡んだ事をやってみたり、ElectronのIssue眺めたり、手元で動かしたり、node.js関連。WASMも少々。投稿する記事の内容は個人の意見であり、所属する企業の見解を代表するものではありません。
https://abrakatabura.hatenablog.com/
japan-systems
「2019年に50周年を迎えたIT企業です。最先端の技術により全国の企業、官公庁、自治体に多くの実績があります。」
https://www.japan-systems.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした