Google is committed to advancing racial equity for Black communities. See how.
इस पेज का अनुवाद Cloud Translation API से किया गया है.
Switch to English

OpenWeave बनाएँ

OpenWeave के निर्माण के लिए प्राथमिक समर्थित टूलचेन GNU ऑटोटूलस है।

सिस्टम आवश्यकताएं

सभी प्रमुख OS प्लेटफ़ॉर्म ओपनवेव के निर्माण और क्रॉस-संकलन का समर्थन करते हैं। सूचीबद्ध टूलकिन्स को आधिकारिक रूप से नेस्ट द्वारा परीक्षण किया गया है।

लिनक्स

आवश्यकताएँ: Ubuntu 14.04 (भरोसेमंद) आधिकारिक तौर पर समर्थित है, लेकिन किसी भी समान लिनक्स-आधारित प्रणाली को काम करना चाहिए।
सी / सी ++, जावा, पायथन बाइंडिंग
toolchains gcc 4.6.3
लक्ष्य i386-अज्ञात-linux-gnu
x86_64-अज्ञात-linux-gnu
सी / सी ++, जावा बाइंडिंग
toolchains gcc 4.6
लक्ष्य हाथ-अज्ञात-linux-एंड्रॉयड
ARMv7-अज्ञात-linux-एंड्रॉयड
i386-अज्ञात-linux-एंड्रॉयड

मैक ओएस एक्स

आवश्यकताएँ: प्रतीकात्मक लिंक के साथ एक निर्देशिका सबट्री को क्लोन करने के लिए XQuartz
सी / सी ++, कोको बाइंडिंग
लक्ष्य ARMv7-सेब के डार्विन-ios
armv7s-सेब के डार्विन-ios
i386-सेब के डार्विन-ios
सी / सी ++, पायथन बाइंडिंग
toolchains LLVM / क्लैंग 3.5 (6.0)
लक्ष्य i386-सेब के डार्विन-macosx
x86_64-सेब के डार्विन-macosx

खिड़कियाँ

आवश्यकताएँ: लिनक्स कमांड लाइन समर्थन के लिए Cygwin
C / C ++ बाइंडिंग
toolchains जीसीसी 4.8.3
लक्ष्य i686-पीसी-cygwin

एंबेडेड

C / C ++ बाइंडिंग
toolchains जीसी 4.4.1
एलएलवीएम / क्लेंग 3.1
एलएलवीएम / क्लेंग 3.3
लक्ष्य हाथ * -unknown-linux *
हाथ * -unknown-freertos-lwip

आवश्यक शर्तें

एक समर्थित टूलकिन के अलावा, हम ओपनवेज़ बनाने से पहले निम्नलिखित पैकेज और टूल स्थापित करने की सलाह देते हैं।

संकुल

लिनक्स:

sudo apt-get install python-pip python-setuptools bridge-utils /
               libglib2.0-dev libdbus-1-dev libudev-dev /
               libical-dev libreadline-dev

लिनक्स और मैक ओएस एक्स:

pip install --user google-cloud googleapis-common-protos grpc protobuf pycryptodomex
sudo cpan -i Text::Template

GNU ऑटोटूलस

OpenWeave अपने निर्माण प्रणाली के लिए GNU ऑटोटूलस पर निर्भर करता है। OpenWeave को सफलतापूर्वक बनाने के लिए GNU ऑटोटूल का एक संस्करण उपलब्ध होना चाहिए। लिनक्स पर ऑटोटूल के सिस्टम-प्रदान किए गए संस्करण का उपयोग करने के लिए:

sudo apt-get install libtool autoconf automake

उन प्रणालियों के लिए जहां GNU ऑटोटूलस आसानी से उपलब्ध या इंस्टॉल करने योग्य नहीं हैं (उदाहरण के लिए, मैक ओएस) या उन प्रणालियों पर जहां सिस्टम द्वारा प्रदान किया गया संस्करण एक ठोस आउट-ऑफ-बॉक्स निर्माण पीढ़ी प्रदान नहीं करता है, नेस्ट लैब्स ने एक अनुकूलित, टर्नकी बिल्ड बनाया है सिस्टम फ्रेमवर्क, जीएनयू ऑटोटूलस पर आधारित है। सिस्टम निर्माण पीढ़ी में उपयोग किए जाने वाले कार्यक्रमों के सेट को एक ज्ञात अच्छे संस्करण में पिन करता है। एक विशेष संस्करण के लिए उपकरणों को पिन करना भी ऑटोटूल के आउटपुट में अपेक्षाकृत कम मंथन सुनिश्चित करता है, जिससे कि पूर्वानुमान योग्य डेवलपर और समर्थन का अनुभव होता है। ओपनव्यू के साथ उपयोग के लिए जीएनयू ऑटोटूलस के नेस्ट लैब्स के निर्माण की सिफारिश की गई है।

नेस्ट लैब्स GNU ऑटोटूल के निर्माण के लिए:

git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools

प्रसन्न

OpenWeave में शामिल परीक्षण स्क्रिप्ट को चलाने के लिए, या नकली टोपोलॉजी में बुनाई का उपयोग करने के लिए, अपने लिनक्स मशीन पर हैप्पी को स्थापित करें। अधिक जानकारी के लिए हैप्पी सेटअप देखें।

स्टैंडअलोन आवेदन

डेस्कटॉप या सर्वर डेवलपमेंट होस्ट के लिए डिफ़ॉल्ट OpenWeave स्टैंडअलोन एप्लिकेशन का उपयोग करें।

  1. ओपनवेव रिपोजिटरी को क्लोन करें:
    git clone https://github.com/openweave/openweave-core.git
  2. OpenWeave स्टैंडअलोन एप्लिकेशन का निर्माण करें:
    cd openweave-core
    make -f Makefile-Standalone

बिल्ड कस्टमाइज़ेशन के लिए क्या स्विच उपलब्ध हैं, यह जानने के लिए Makefile-Standalone साथ help फ्लैग का उपयोग करें।

make -f Makefile-Standalone help

उदाहरण के लिए, वीव डिबग कोड और लॉगिंग को सक्षम करने के लिए:

make -f Makefile-Standalone DEBUG=1

प्रोजेक्ट लिंकिंग

  1. ओपनवेव रिपोजिटरी को क्लोन करें:
    git clone https://github.com/openweave/openweave-core.git
  2. GNU ऑटोटूल के लिए बिल्ड वातावरण कॉन्फ़िगर करें:
    cd openweave-core
    ./bootstrap
    ./configure
  3. बिल्ड ओपनव्यू:
    make all
  4. प्रोजेक्ट लिंकिंग के लिए एक अलग स्थान पर आउटपुट को स्टेज करें:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

मंचन के बाद, प्रोजेक्ट लिंकिंग के लिए <openweave-output> तहत निर्देशिकाओं का उपयोग करें:

  • /usr/local/include - सार्वजनिक हेडर
  • /usr/local/lib - पुस्तकालय

Android और iOS

Android और iOS प्रोजेक्ट लिंकिंग के लिए लाइब्रेरी बनाने के लिए, प्लेटफ़ॉर्म-विशिष्ट Makefiles उपयोग करें:

make -f Makefile-Android
make -f Makefile-iOS

Makefile- <platform> साथ help फ़्लैग का उपयोग करके जानें कि बिल्ड कस्टमाइज़ेशन के लिए बिल्ड स्विच क्या उपलब्ध हैं। उदाहरण के लिए:

make -f Makefile-Android help
make -f Makefile-iOS help

विन्यास

विभिन्न स्क्रिप्ट और हेडर के साथ ओपनवेव को कॉन्फ़िगर करने से पहले, संबंधित बिल्ड फ़ाइलों को बूटस्ट्रैप करने के लिए ऑटोटूल का उपयोग करें:

./bootstrap

इस कदम को एक बार, एक पेड़ की जांच के बाद, और बाद में configure.ac करने के लिए किसी भी परिवर्तन पर या Makefile.am । जब केवल निर्माण कॉन्फ़िगरेशन या लक्ष्य बदलते हैं तो इसे दोहराने की आवश्यकता नहीं होती है।

स्क्रिप्ट

विन्यास विकल्प के बारे में अधिक जानने के लिए शामिल कॉन्फ़िगरेशन स्क्रिप्ट के साथ --help ध्वज का उपयोग करें।

./configure --help

उदाहरण के लिए, BlueZ समर्थन के बिना OpenWeave को कॉन्फ़िगर करने के लिए:

./configure --without-bluez

हेडर

शामिल Makefiles दो हेडर फ़ाइलों का उपयोग करते हैं जो संकलन-समय पर स्थिरांक को परिभाषित करते हैं:

प्रोजेक्ट-विशिष्ट कॉन्फ़िगरेशन हेडर भी प्रदान किए जा सकते हैं। इन फाइलों को अपनी प्रोजेक्ट डायरेक्टरी में रखें — उन्हें ओपनवेव रिपॉजिटरी के भीतर न रखें। कॉन्फ़िगरेशन के दौरान प्रत्येक फ़ाइल के स्थान को निर्दिष्ट करने के लिए उपयुक्त कॉन्फ़िगरेशन विकल्प का उपयोग करें:

शीर्ष लेख फ़ाइल कॉन्फ़िगरेशन विकल्प
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

उदाहरण के लिए, ~/my-project/headers में स्थित प्रोजेक्ट-विशिष्ट WeaveProjectConfig.h फ़ाइल का उपयोग करने के लिए OpenWeave को कॉन्फ़िगर करने के लिए:

./configure --with-weave-project-includes=~/my-project/headers