زنجیره ابزار اصلی پشتیبانی شده برای ساخت OpenWeave، ابزار خودکار گنو است.
سیستم مورد نیاز
همه پلتفرم های اصلی سیستم عامل از ساخت و کامپایل متقابل OpenWeave پشتیبانی می کنند. زنجیره های ابزار فهرست شده توسط Nest به طور رسمی آزمایش شده اند.
لینوکس | ||||||
---|---|---|---|---|---|---|
مورد نیاز: Ubuntu 14.04 (Trusty) رسما پشتیبانی می شود، اما هر سیستم مشابه مبتنی بر لینوکس باید کار کند. | ||||||
پیوندهای C/C++، جاوا، پایتون |
| |||||
C/C++، اتصالات جاوا |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
مورد نیاز: XQuartz برای شبیه سازی یک زیردرخت دایرکتوری به دیگری با پیوندهای نمادین. | ||||||
C/C++، اتصالات کاکائویی |
| |||||
C/C++، اتصالات پایتون |
|
پنجره ها | ||||||
---|---|---|---|---|---|---|
مورد نیاز: Cygwin برای پشتیبانی از خط فرمان لینوکس. | ||||||
اتصالات C/C++ |
|
تعبیه شده است | ||||||
---|---|---|---|---|---|---|
اتصالات C/C++ |
|
پیش نیازها
علاوه بر زنجیره ابزار پشتیبانی شده، توصیه می کنیم بسته ها و ابزارهای زیر را قبل از ساخت OpenWeave نصب کنید.
بسته ها
لینوکس:
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
ابزارهای خودکار گنو
OpenWeave برای سیستم ساخت خود به ابزارهای خودکار گنو وابسته است. برای ساخت موفقیت آمیز OpenWeave باید نسخه ای از ابزار خودکار گنو در دسترس باشد. برای استفاده از نسخه ارائه شده توسط سیستم Autotools در لینوکس:
sudo apt-get install libtool autoconf automake
برای سیستمهایی که ابزارهای خودکار گنو بهراحتی در دسترس یا قابل نصب نیستند (مثلاً سیستمعامل مک) یا در سیستمهایی که نسخه ارائهشده توسط سیستم، تولید کاملی از جعبه ارائه نمیکند، Nest Labs یک ساخت سفارشی و کلید در دست ایجاد کرده است. چارچوب سیستم، بر اساس ابزار خودکار گنو. سیستم مجموعه ای از برنامه های مورد استفاده در تولید ساخت را به یک نسخه خوب شناخته شده پین می کند. سنجاق کردن ابزارها به یک نسخه خاص، ریزش نسبتاً کم در خروجی ابزارهای خودکار را تضمین می کند، بنابراین منجر به تجربه توسعه دهنده و پشتیبانی قابل پیش بینی می شود. ساخت Nest Labs از ابزار خودکار گنو برای استفاده با OpenWeave توصیه می شود.
برای ساختن Nest Labs GNU Autotools:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
خوشحال
برای اجرای اسکریپتهای آزمایشی موجود در OpenWeave یا استفاده از Weave در توپولوژیهای شبیهسازیشده، Happy را بر روی دستگاه لینوکس خود نصب کنید. برای اطلاعات بیشتر به تنظیمات Happy مراجعه کنید.
برنامه مستقل
از برنامه پیش فرض OpenWeave Standalone برای میزبان توسعه دسکتاپ یا سرور استفاده کنید.
- مخزن OpenWeave را کلون کنید:
git clone https://github.com/openweave/openweave-core.git
- برنامه OpenWeave Standalone را بسازید:
cd openweave-core
make -f Makefile-Standalone
از پرچم help
با Makefile-Standalone
استفاده کنید تا بدانید که چه سوئیچهایی برای سفارشیسازی ساخت در دسترس هستند.
make -f Makefile-Standalone help
به عنوان مثال، برای فعال کردن کد اشکال زدایی Weave و ورود به سیستم:
make -f Makefile-Standalone DEBUG=1
پیوند پروژه
- مخزن OpenWeave را کلون کنید:
git clone https://github.com/openweave/openweave-core.git
- محیط ساخت را برای ابزارهای خودکار گنو پیکربندی کنید:
cd openweave-core
./bootstrap
./configure
- OpenWeave را بسازید:
make all
- خروجی را در یک مکان جداگانه برای پیوند پروژه قرار دهید:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
پس از مرحله بندی، از دایرکتوری های زیر <openweave-output>
برای پیوند پروژه استفاده کنید:
-
/usr/local/include
— هدرهای عمومی -
/usr/local/lib
— کتابخانه ها
اندروید و 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
،زنجیره ابزار اصلی پشتیبانی شده برای ساخت OpenWeave، ابزار خودکار گنو است.
سیستم مورد نیاز
همه پلتفرم های اصلی سیستم عامل از ساخت و کامپایل متقابل OpenWeave پشتیبانی می کنند. زنجیره های ابزار فهرست شده توسط Nest به طور رسمی آزمایش شده اند.
لینوکس | ||||||
---|---|---|---|---|---|---|
مورد نیاز: Ubuntu 14.04 (Trusty) رسما پشتیبانی می شود، اما هر سیستم مشابه مبتنی بر لینوکس باید کار کند. | ||||||
پیوندهای C/C++، جاوا، پایتون |
| |||||
C/C++، اتصالات جاوا |
|
Mac OS X | ||||||
---|---|---|---|---|---|---|
مورد نیاز: XQuartz برای شبیه سازی یک زیردرخت دایرکتوری به دیگری با پیوندهای نمادین. | ||||||
C/C++، اتصالات کاکائویی |
| |||||
C/C++، اتصالات پایتون |
|
پنجره ها | ||||||
---|---|---|---|---|---|---|
مورد نیاز: Cygwin برای پشتیبانی از خط فرمان لینوکس. | ||||||
اتصالات C/C++ |
|
تعبیه شده است | ||||||
---|---|---|---|---|---|---|
اتصالات C/C++ |
|
پیش نیازها
علاوه بر زنجیره ابزار پشتیبانی شده، توصیه می کنیم بسته ها و ابزارهای زیر را قبل از ساخت OpenWeave نصب کنید.
بسته ها
لینوکس:
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
ابزارهای خودکار گنو
OpenWeave برای سیستم ساخت خود به ابزارهای خودکار گنو وابسته است. برای ساخت موفقیت آمیز OpenWeave باید نسخه ای از ابزار خودکار گنو در دسترس باشد. برای استفاده از نسخه ارائه شده توسط سیستم Autotools در لینوکس:
sudo apt-get install libtool autoconf automake
برای سیستمهایی که ابزارهای خودکار گنو بهراحتی در دسترس یا قابل نصب نیستند (مثلاً سیستمعامل مک) یا در سیستمهایی که نسخه ارائهشده توسط سیستم، تولید کاملی از جعبه ارائه نمیکند، Nest Labs یک ساخت سفارشی و کلید در دست ایجاد کرده است. چارچوب سیستم، بر اساس ابزار خودکار گنو. سیستم مجموعه ای از برنامه های مورد استفاده در تولید ساخت را به یک نسخه خوب شناخته شده پین می کند. سنجاق کردن ابزارها به یک نسخه خاص، ریزش نسبتاً کم در خروجی ابزارهای خودکار را تضمین می کند، بنابراین منجر به تجربه توسعه دهنده و پشتیبانی قابل پیش بینی می شود. ساخت Nest Labs از ابزار خودکار گنو برای استفاده با OpenWeave توصیه می شود.
برای ساختن Nest Labs GNU Autotools:
git clone https://github.com/openweave/openweave-core.git
cd openweave-core
make -C third_party/nlbuild-autotools/repo/ tools
خوشحال
برای اجرای اسکریپتهای آزمایشی موجود در OpenWeave یا استفاده از Weave در توپولوژیهای شبیهسازیشده، Happy را بر روی دستگاه لینوکس خود نصب کنید. برای اطلاعات بیشتر به تنظیمات Happy مراجعه کنید.
اپلیکیشن مستقل
از برنامه پیش فرض OpenWeave Standalone برای میزبان توسعه دسکتاپ یا سرور استفاده کنید.
- مخزن OpenWeave را کلون کنید:
git clone https://github.com/openweave/openweave-core.git
- برنامه OpenWeave Standalone را بسازید:
cd openweave-core
make -f Makefile-Standalone
از پرچم help
با Makefile-Standalone
استفاده کنید تا بدانید که چه سوئیچهایی برای سفارشیسازی ساخت در دسترس هستند.
make -f Makefile-Standalone help
به عنوان مثال، برای فعال کردن کد اشکال زدایی Weave و ورود به سیستم:
make -f Makefile-Standalone DEBUG=1
پیوند پروژه
- مخزن OpenWeave را کلون کنید:
git clone https://github.com/openweave/openweave-core.git
- محیط ساخت را برای ابزارهای خودکار گنو پیکربندی کنید:
cd openweave-core
./bootstrap
./configure
- OpenWeave را بسازید:
make all
- خروجی را در یک مکان جداگانه برای پیوند پروژه قرار دهید:
mkdir <openweave-output>
make DESTDIR=<openweave-output> install
پس از مرحله بندی، از دایرکتوری های زیر <openweave-output>
برای پیوند پروژه استفاده کنید:
-
/usr/local/include
— هدرهای عمومی -
/usr/local/lib
— کتابخانه ها
اندروید و 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