./configure: एक पागल बिल्ड पर्यावरण क्या है?


55

./configure हमेशा जाँच करता है whether the build environment is sane...

मैं मदद नहीं कर सकता लेकिन आश्चर्य है कि वास्तव में एक पागल निर्माण पर्यावरण क्या है। यह जाँच किन त्रुटियों को बढ़ा सकती है?



आप जाँच सकते हैं config.logकि वास्तविक कमांड वहाँ कैसे चलाए जाते हैं या प्रोग्राम संकलित किए जाते हैं।
myaut

जवाबों:


51

इस से आता है automake विशेष रूप से इसकी से, AM_SANITY_CHECK मैक्रो , जिसमें से कहा जाता है AM_INIT_AUTOMAKE, जो आम तौर पर की शुरुआत में ही कहा जाता है configure.ac। इस मैक्रो का सार है:

  • जाँच करें कि स्रोत निर्देशिका के पथ में कुछ "असुरक्षित" वर्ण नहीं हैं, जो शेल स्क्रिप्ट मेकफाइल्स में ठीक से शामिल होना कठिन हो सकता है।
  • lsकाम करने के लिए प्रकट होता है की जाँच करें ।
  • जांचें कि बिल्ड डायरेक्टरी में बनाई गई एक नई फाइल फाइल की तुलना में नई है configure। यदि यह नहीं है (आमतौर पर क्योंकि बिल्ड सिस्टम पर घड़ी को सही तरीके से सेट नहीं किया गया है), तो बिल्ड प्रक्रिया विफल होने की संभावना है क्योंकि बिल्ड प्रक्रिया आमतौर पर उत्पन्न फ़ाइलों पर निर्भर करती है जिनके पास उत्पन्न होने वाली स्रोत फ़ाइलों की तुलना में अधिक हाल ही में टाइमस्टैम्प है।

lsविशेष रूप से क्यों ? क्या यह केवल यह परीक्षण करना है कि बुनियादी निष्पादक उपलब्ध हैं और कार्यात्मक हैं या lsस्वयं किसी तरह से इसका उपयोग प्रक्रिया में किया जाता है?
terdon

2
@terdon कुछ स्वचालित टेम्पलेट का उपयोग करते हैं lsAM_SANITY_CHECKमैक्रो खुद का उपयोग करता है lsके रिश्तेदार बार जांच करने के लिए configureऔर एक अस्थायी फ़ाइल (इसका इस्तेमाल नहीं कर रहा है test -nt, क्योंकि सभी के गोले यह है)।
गाइल्स का SO- बुराई पर रोक '14
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.