2013-06-26 14 views
5

मेरे पास एक लाइब्रेरी है जो कुछ अन्य पुस्तकालयों और निश्चित रूप से हैकेल रनटाइम पर निर्भर करती है। यह सी एपीआई निर्यात करता है। मैं इसे इस तरह से बनाना चाहता हूं कि यह पूरी तरह आत्मनिर्भर है और उपयोगकर्ता को हैकेल, कैबल और सभी निर्भरताओं को स्थापित करने से परेशान नहीं किया जाएगा।कैबल के साथ एक स्वयं निहित पुस्तकालय कैसे बनाया जाए?

+0

लाइब्रेरी उपयोगकर्ताओं को लाइब्रेरी के साथ संवाद करने की कल्पना कैसे करें? एक विकल्प पैकेज (आरपीएम, डीबी, डीएमजी, इत्यादि) बनाना होगा, जबकि दूसरा विकल्प आपके लाइब्रेरी के स्रोत वितरण में सैकड़ों मेगाबाइट बिल्ड इंफ्रास्ट्रक्चर को जोड़ना होगा। –

+0

@ थॉमसएम। डूबुइसन मुझे लगता है कि वह एक बहु-परियोजना समाधान के समान कुछ चाहता है। –

+0

@ थॉमसएम.ड्यूबुइसन वे जीसीसी का उपयोग करके लाइब्रेरी के साथ अपने कोड को लिंक करेंगे, जैसे ही मैं इसे इस तरह से आह्वान करता हूं: 'ghc -no-hs-main -static test.c libMylibrary.a ' – user1887615

उत्तर

1

यह था पूरी तरह से आत्म निहित और उपयोगकर्ता Haskell, कबाल स्थापित करने की चिंता नहीं रहती हैं और सभी निर्भरता

तो फिर तुम अपने सभी निर्भरता के साथ अपने पुस्तकालय वितरित करना होगा - हास्केल संकलक, रनटाइम, सी पुस्तकालय, Cabal, निर्भर पुस्तकालयों। यह एक गैर-तुच्छ कार्य है - आप अपना खुद का Haskell Platform.

रोलिंग कर रहे हैं आप एचपी स्रोत को संशोधित कर सकते हैं और इंस्टॉलर जेनरेट कर सकते हैं। वे आपकी लाइब्रेरी के लिए प्रभावशाली इंस्टॉलर होंगे।

+0

मुझे समझ में नहीं आता कि ऐसा क्यों है। मैं सभी निर्भरताओं 'ए फाइलों को स्पष्ट रूप से सूचीबद्ध करके अपनी लाइब्रेरी को कॉल करने वाली एक परीक्षण सी फ़ाइल बना सकता हूं। क्या सभी निर्भरताओं को सिर्फ एक बड़े में पैक करना संभव नहीं होगा और इसे मेरी लाइब्रेरी के रूप में वितरित करना संभव नहीं होगा? मुझे केवल सी पुस्तकालय से कॉल करने के लिए मेरी लाइब्रेरी की आवश्यकता है, हैक कोड नहीं। – user1887615

+0

हां, आप अपना खुद का इंस्टॉलर/बंडलर लिख सकते हैं जो आपकी सभी निर्भरताओं को लेता है और उन्हें लिंक करता है। –

संबंधित मुद्दे