2009-02-01 14 views
5

के लिए एक बड़े कार्यक्रम को पुन: कॉन्फ़िगर कैसे करें मेरे पास सी में लिखा गया एक बड़ा कार्यक्रम है। यह कई फाइलों को फैलाता है, और प्लेटफ़ॉर्म समस्याओं की क्षतिपूर्ति करने के प्रयास में थोड़ा सा रीटोलिंग होता है। विशेष रूप से, मेरे पास विभिन्न ओएस, आर्किटेक्चर और कंपाइलर्स के लिए हेडर फाइलें हैं जो मैक्रोज़ को परिभाषित करती हैं जो चीजों को संभालने के लिए उपयोग करती हैं। उदाहरण के तौर पर, -v फ़्लैग प्रिंट संस्करण संस्करण, जिसमें इसे बनाया गया कंपाइलर का नाम शामिल है, और ऑपरेटिंग सिस्टम और आर्किटेक्चर जिस पर बनाया गया था। एक उदाहरण के रूप में यह महत्वपूर्ण क्यों है, प्रोग्राम एक सी कोड फ़ाइल बना सकता है और, यदि आप इसे पसंद करते हैं, तो इसे संकलित करें - एक ऐसा कार्य जिसके लिए यह किसी भी कंपाइलर को सिस्टम कॉल करता है यह बनाया गया था।जीएनयू ऑटोोटूल

यह जीएनयू रीडलाइन लाइब्रेरी (या बीएसडी एडिटलाइन लाइब्रेरी - एक ही चीज़) के लिए भी है, यदि यह आपके सिस्टम पर पाया जाता है, साथ ही साथ सभी अच्छी रीडलाइन सुविधाओं के बराबर समकक्ष है जो शुद्ध एएनएसआई है यदि आप ' यह नहीं है।

नीचे की रेखा है, मैं प्लेटफ़ॉर्म-निर्भर बिट्स में से कोई भी नहीं ले सकता, क्योंकि कई फ़ंक्शन आपके पास ओएस/आर्किटेक्चर/कंपाइलर पर निर्भर करते हैं। मैं उन लोगों को अच्छी कार्यक्षमता भी प्रदान करना चाहता हूं जिनके पास यह है। और मैं चाहता हूं कि लोग इसे मानक ./configure, make और make install इंटरफ़ेस के साथ डाउनलोड और इंस्टॉल करें।

वर्तमान में मैं configure के लिए खेदजनक हस्तनिर्मित खोल स्क्रिप्ट का उपयोग कर रहा हूं जो मेकफ़ाइल को स्क्रैच से बनाता है, और यह निर्धारित करता है कि आपके ओएस/आर्किटेक्चर/कंपाइलर के आधार पर कौन सी शीर्षलेख फ़ाइलें शामिल हैं। मुझे एक और अधिक कुशल दृष्टिकोण चाहिए, और मैं जीएनयू ऑटोटूल का उपयोग करके एक और मानक निर्माण प्रणाली का उपयोग करना चाहता हूं। इस तरह से मुझे पता है कि मैं जो कुछ करता हूं वह किसी और के कंप्यूटर पर काम करेगा, बिना अपने कंप्यूटर पर परीक्षण करने के लिए।

मेरा प्रश्न, उन सभी लोगों के लिए जो आपने उन सभी के माध्यम से छेड़छाड़ की है (धन्यवाद!) है: 1) मैं होमब्रू बिल्ड सिस्टम से जीएनयू ऑटोोटूल में स्विच करने के बारे में कैसे जा सकता हूं? 2) जीएनयू ऑटोटूल के साथ शुरू करने के लिए क्या अच्छे ट्यूटोरियल हैं? 3) मैं इसे अपेक्षाकृत दर्द रहित प्रक्रिया कैसे बना सकता हूं?

उत्तर

8

पहली बात, आप परियोजना की रूट निर्देशिका में ऑटोस्कैन चला सकते हैं। यह गैर-पोर्टेबल सुविधाओं का पता लगाने की कोशिश करते समय प्रोजेक्ट ट्री को स्कैन करेगा और config.scan उत्पन्न करेगा। फिर आप इसे config.ac पर पुनर्नामित करें, तदनुसार इसे संपादित करें और Makefile.am फ़ाइलों को लिखें।

मेरा सुझाव है कि आप विवरण के लिए जीएनयू ऑटोोटूल मैनुअल में इस प्रक्रिया को देखें (विशेष रूप से ऑटोस्कैन)। यह आपके प्रयास को कम करेगा, लेकिन कम से कम आप उन फ़ाइलों को बनाने के साथ खरोंच से शुरू नहीं करेंगे।

1

यह लिंक मैं इस पोस्ट को पढ़ने के बाद गुगल रहा हूं। इसने ./configure फ़ाइल को बनाने के तरीके के बारे में मेरे सवालों के जवाब दिए।

The GNU Build System

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