मेरे पास पाइथन के लिए सी एक्सटेंशन मॉड्यूल है और मैं इसे रूबीस्ट्स को उपलब्ध करना चाहता हूं।संयुक्त पायथन और रूबी एक्सटेंशन मॉड्यूल
स्रोत में कई सी मॉड्यूल हैं, जिनमें से केवल एक पायथन-निर्भर है। बाकी केवल एक दूसरे और मानक पुस्तकालय पर निर्भर करते हैं। मैं इसे सामान्य तरीके से python setup.py build
के साथ बना सकता हूं।
मैं newgem
का उपयोग कर रूबी समर्थन जोड़ने के साथ प्रयोग कर रहा हूं और मैं rake gem
के साथ एक्सटेंशन का एक संस्करण बना सकता हूं। हालांकि, संयुक्त स्रोत में एक बदसूरत निर्देशिका लेआउट है (जेम-स्टाइल और सेटअपअप-स्टाइल स्ट्रक्चर मिश्रण) और बिल्ड प्रक्रिया एक क्लज है।
मैं केवल उसी स्रोत में सभी स्रोतों को नहीं रख सकता क्योंकि mkmf
स्वचालित रूप से पाइथन-निर्भर मॉड्यूल को चुनता है और इसे बनाने का प्रयास करता है, और उपयोगकर्ताओं को ऐसे मॉड्यूल को संकलित करने के लिए पायथन स्थापित करने की आवश्यकता नहीं है जो नहीं इस्तेमाल किया गया। मेरा वर्तमान हैक extconf.rb
के लिए है जो पाइथन-स्वतंत्र स्रोत-फ़ाइलों को रूबी-निर्भर एक्सटेंशन मॉड्यूल के समान निर्देशिका में कॉपी करने के लिए है।
क्या कोड दोनों भाषाओं में उपलब्ध कराने के लिए एक सुरक्षित तरीका है? क्या मुझे सिर्फ एक अलग जेम में पाइथन-स्वतंत्र कोड डुप्लिकेट करना चाहिए? क्या मुझे स्वतंत्र कोड को ऑटोोटूल के साथ निर्मित एक अलग lib के रूप में जारी करना चाहिए? क्या mkmf
का कोई संस्करण है जो अवांछित मॉड्यूल को छोड़ सकता है? अजगर & माणिक
शायद इसलिए है कि
- पुस्तकालय ही है,: इसे हल करने