2011-01-11 10 views
10

मैं डीबीआई और डीबीडी :: SQLite का उपयोग कर रहा हूं, और अब मैं SQLite की आर * ट्री सुविधा का उपयोग करना चाहता हूं। चूंकि यह सुविधा डिफ़ॉल्ट रूप से डीबीडी :: SQLite द्वारा संकलित नहीं की गई है, इसलिए मुझे को @CC_DEFINE में डीबीडी :: SQLite's Makefile.PL में चर जोड़ना होगा। अगर मैं एक 'perl Makefile.PL & & & & इंस्टॉल करें', सब कुछ मेरी मशीन पर स्थानीय रूप से ठीक काम करता है, लेकिन अंततः उपयोगकर्ताओं को अंतिम रूप से तैनाती/वितरित करने की आवश्यकता है।सीपीएएन से थोड़ा संशोधित मॉड्यूल का उपयोग करने के लिए सबसे अच्छा अभ्यास?

मुझे इस तरह के मामले में क्या करना चाहिए? क्या मुझे स्रोत की प्रतिलिपि बनाना चाहिए, स्रोत को grep करना चाहिए, और एक डीबीडी :: SQLite :: WithRTree बनाना चाहिए? डीबीडी :: SQLite 1.31.1 का एक निजी संस्करण बनाएं (जहां 1.31 डीबीडी :: SQLite का वर्तमान संस्करण है)? शायद एक बेहतर तरीका पूरी तरह से?

परियोजना में अन्य सभी वितरण गैर-सार्वजनिक सीपीएएन :: मिनी मिरर + सीपीएएन :: मिनी :: इंजेक्ट के माध्यम से तैनात/वितरित किए जाते हैं।

उत्तर

11

मैं DBD :: SQLite के Makefile.PL में

आप इस गलत, perl Makefile.PL DEFINE='-DSQLITE_ENABLE_RTREE=1' काम करता है क्या कर रहे हैं @CC_DEFINE चर के लिए एक '-DSQLITE_ENABLE_RTREE = 1' जोड़ने के लिए। यह ExtUtils::MakeMaker में प्रलेखित है। अब जब आप जानते हैं कि Distroprefs से जुड़ा एक साधारण समाधान संभवतः जगह में गिर जाएगा।

3

इसी तरह की समस्याओं के लिए, मैंने संशोधित वितरण को एक अलग निर्देशिका में (बिना किसी मॉड्यूल नाम बदलने के) स्थापित किया है, और use lib qw(the/special/directory) का उपयोग करके या $PERL5LIB को स्क्रिप्ट के लिए सेट किया है जो उन्नत मॉड्यूल का उपयोग करने की आवश्यकता है।

मॉड्यूल का नाम ट्वीक करना भी काम करेगा, लेकिन यह ध्वनि बनाने और परीक्षण करने के लिए बहुत अधिक काम की तरह लगता है।

+1

और तुम क्या बदल से सावधान रिकॉर्ड रखने – justintime

0

आप ऐसा कर सकते हैं:

cpan 
o conf makepl_arg "DEFINE='-DSQLITE_ENABLE_RTREE=1'" 
o conf commit 

CPAN तो स्थायी रूप से है कि सभी अपने Makefile.PL कॉल के सामने से परिभाषा जोड़ देगा।

इसलिए, यह सिर्फ

cpan DBD::SQLite 

होना चाहिए और अपने makefile विकल्प आपके संकलन लाइनों पर भरवां जाना चाहिए

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

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