OpenWeave را بسازید

ابزار اصلی پشتیبانی شده برای ساخت OpenWeave ابزارهای خودکار GNU است.

نیازهای سیستم

تمام سیستم عامل های اصلی سیستم عامل از ساخت و تلفیق OpenWeave پشتیبانی می کنند. ابزارهای ذکر شده توسط Nest به طور رسمی آزمایش شده اند.

لینوکس

مورد نیاز: اوبونتو 14.04 (قابل اعتماد) به طور رسمی پشتیبانی، اما هر سیستم مشابه مبتنی بر لینوکس باید کار کند.
اتصالات C / C ++ ، Java ، Python
ابزارهای دستی gcc 4.6.3
اهداف i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++ ، اتصالات جاوا
ابزارهای دستی gcc 4.6
اهداف بازوی ناشناخته-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

مورد نیاز: XQuartz برای شبیه سازی یک پوشه زیر درخت به دیگری با لینک های نمادین.
C / C ++ ، اتصال کاکائو
اهداف armv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
اتصالات C / C ++ ، پایتون
ابزارهای دستی LLVM / clang 3.5 (6.0)
اهداف i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

پنجره ها

مورد نیاز: از Cygwin برای لینوکس پشتیبانی از خط فرمان.
اتصالات C / C ++
ابزارهای دستی gcc 4.8.3
اهداف i686-pc-cygwin

جاسازی شده

اتصالات C / C ++
ابزارهای دستی gcc 4.4.1
LLVM / clang 3.1
LLVM / clang 3.3
اهداف بازو * - ناشناخته-لینوکس *
بازو * - ناشناخته-فریتروس-لویپ

پیش نیازها

علاوه بر یک ابزار ابزار پشتیبانی شده ، توصیه می کنیم بسته ها و ابزارهای زیر را قبل از ساخت OpenWeave نصب کنید.

بسته ها

لینوکس:

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

Linux و Mac OS X:

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

ابزارهای خودکار GNU

OpenWeave برای سیستم ساخت خود به GNU Autotools بستگی دارد. برای ساختن OpenWeave باید نسخه ای از ابزارهای خودکار GNU در دسترس باشد. برای استفاده از نسخه خودکار ابزارهای موجود در سیستم در Linux:

sudo apt-get install libtool autoconf automake

برای سیستم هایی که ابزارهای خودکار GNU به راحتی در دسترس نیستند یا قابل نصب نیستند (به عنوان مثال Mac OS) یا در سیستم هایی که نسخه ارائه شده سیستم ارائه نمی دهد یک تولید کامل خارج از جعبه ایجاد می کند ، Nest Labs ساخت سفارشی و کلید در دست ایجاد کرده است چارچوب سیستم ، مبتنی بر ابزارهای خودکار GNU. این سیستم مجموعه ای از برنامه های مورد استفاده در تولید را به یک نسخه خوب شناخته شده پیوند می دهد. پین کردن ابزارها به یک نسخه خاص همچنین تضمین کننده نسبتاً کم خروجی موتورهای خودکار است بنابراین منجر به تجربه قابل پیش بینی توسعه دهنده و پشتیبانی می شود. ساخت آزمایشگاه های Nest GNU برای استفاده با OpenWeave توصیه می شود.

برای ساخت ابزارهای خودکار Nest Labs GNU:

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

خوشحال

برای اجرای اسکریپت های آزمایشی موجود در OpenWeave یا استفاده از Weave در توپولوژی های شبیه سازی شده ، Happy را روی دستگاه Linux خود نصب کنید. مشاهده راه اندازی مبارک برای اطلاعات بیشتر.

برنامه مستقل

از برنامه پیش فرض OpenWeave Standalone برای میزبان توسعه میز کار یا سرور استفاده کنید.

  1. کلون مخزن OpenWeave است:
    git clone https://github.com/openweave/openweave-core.git
  2. ساخت برنامه OpenWeave های رایج:
    cd openweave-core
    make -f Makefile-Standalone

با استفاده از help پرچم با Makefile-Standalone را به یاد چه سوئیچ ساخت برای سفارشی سازی ساخت در دسترس هستند.

make -f Makefile-Standalone help

به عنوان مثال ، برای فعال کردن کد رفع اشکال و ورود به سیستم:

make -f Makefile-Standalone DEBUG=1

پیوند پروژه

  1. کلون مخزن OpenWeave است:
    git clone https://github.com/openweave/openweave-core.git
  2. پیکربندی محیط ساخت برای گنو Autotools:
    cd openweave-core
    ./bootstrap
    ./configure
  3. OpenWeave ساخت:
    make all
  4. مرحله خروجی را به یک محل جداگانه برای لینک کردن پروژه:
    mkdir <openweave-output>
    make DESTDIR=<openweave-output> install

پس از برگزاری، با استفاده از دایرکتوری تحت <openweave-output> برای پروژه ارتباط:

  • /usr/local/include - هدر عمومی
  • /usr/local/lib - کتابخانه

Android و iOS

به کتابخانه ساخت برای اندروید و iOS ارتباط پروژه، استفاده از پلت فرم خاص Makefiles :

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

با استفاده از help پرچم با Makefile- <platform> به یاد چه سوئیچ ساخت برای سفارشی سازی ساخت در دسترس هستند. مثلا:

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

پیکربندی

قبل از پیکربندی OpenWeave با اسکریپت ها و هدرهای مختلف ، از ابزارهای خودکار برای راه اندازی مجدد پرونده های ساخت مربوط استفاده کنید:

./bootstrap

این مرحله نیاز به یک بار انجام می شود، پس از یک پرداخت درخت، و پس از آن در هر گونه تغییر به configure.ac یا Makefile.am . در هنگام تغییر تنظیمات یا اهداف ساخت ، نیازی به تکرار نیست.

اسکریپت ها

استفاده از --help پرچم با اسکریپت پیکربندی شامل برای کسب اطلاعات بیشتر در مورد گزینه های قابل تنظیم.

./configure --help

به عنوان مثال ، برای پیکربندی OpenWeave بدون پشتیبانی BlueZ:

./configure --without-bluez

سرصفحه ها

شامل Makefiles با استفاده از دو فایل های هدر که ثابت در زمان کامپایل تعریف:

سرفصل های پیکربندی خاص پروژه نیز ممکن است ارائه شود. این پرونده ها را در فهرست پروژه خود قرار دهید - آنها را در مخزن OpenWeave قرار ندهید. از گزینه پیکربندی مناسب برای تعیین مکان هر پرونده در حین پیکربندی استفاده کنید:

پرونده سربرگ گزینه پیکربندی
InetProjectConfig.h --with-weave-inet-project-includes= <directory>
WeaveProjectConfig.h --with-weave-project-includes= <directory>

برای مثال، برای OpenWeave پیکربندی به استفاده از یک پروژه خاص WeaveProjectConfig.h فایل واقع در ~/my-project/headers :

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