Python用のC拡張モジュールがあり、Rubyistsが利用できるようにしたいと思います。
ソースには多数のCモジュールがあり、Pythonに依存しているのは1つだけです。残りは、相互に、そして標準ライブラリにのみ依存します。python setup.py build
私は通常の方法でそれを構築することができます。
私はを使用してRubyサポートを追加することを試みてきましたが、を使用しnewgem
て拡張機能のバージョンを構築できrake gem
ます。ただし、結合されたソースには醜いディレクトリレイアウト(GemスタイルとSetuptoolsスタイルの構造が混在)があり、ビルドプロセスは厄介です。
mkmf
Pythonに依存するモジュールを自動的に取得してビルドしようとするため、すべてのソースを同じディレクトリに保持することはできません。ユーザーは、使用されないモジュールをコンパイルするためにPythonをインストールする必要はありません。私の現在のハックはextconf.rb
、Pythonに依存しないソースファイルをRubyに依存する拡張モジュールと同じディレクトリにコピーすることです。
コードを両方の言語で利用できるようにするための賢明な方法はありますか?Pythonに依存しないコードを別のGemに複製する必要がありますか?autotoolsで構築された別のlibとして独立したコードをリリースする必要がありますか?mkmf
不要なモジュールをスキップできるバージョンはありますか?