إنشاء محتوى OpenWeave

وسلسلة الأدوات الأساسية الأساسية لإنشاء OpenOpenave هي GNU Autotools.

متطلبات النظام

تدعم جميع الأنظمة الأساسية الرئيسية لنظام التشغيل إنشاء مجموعة من OpenWeave وتجميعها. تم اختبار سلاسل الأدوات المُدرجة بشكل رسمي من قِبل Nest.

Linux

المتطلبات: نظام التشغيل Ubuntu 14.04 (Trusty) متوافق رسميًا، ولكن من المفترض أن يعمل أي نظام مماثل مستند إلى Linux.
C/C++ وJava وPython
سلاسل الأدوات GCC 4.6.3
الأهداف i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C/C++، روابط Java
سلاسل الأدوات GCC 4.6
الأهداف ar-unknown-linux-android
armv7-unknown-linux-android
i386-unknown-linux-android

Mac OS X

المتطلبات: XQuartz لاستنساخ شجرة دليل واحدة إلى أخرى بروابط رمزية.
C/C++ وربط الكاكاو
الأهداف موظفينv7-apple-darwin-ios
armv7s-apple-darwin-ios
i386-apple-darwin-ios
ربط C/C++ بلغة Python
سلاسل الأدوات LLVM/clang 3.5 (6.0)
الأهداف i386-apple-darwin-macosx
x86_64-apple-darwin-macosx

نظام التشغيل Windows

المتطلبات: Cygwin لدعم سطر الأوامر في نظام التشغيل Linux.
عمليات الربط بلغة C/C++
سلاسل الأدوات GCC 4.8.3
الأهداف i686-pc-cygwin

المُتضمَّنة

عمليات الربط بلغة C/C++
سلاسل الأدوات gcc 4.4.1
LLVM/clang 3.1
LLVM/clang 3.3
الأهداف ذراع*-غير معروف-linux*
arm*-unknown-freertos-lwip

المتطلّبات الأساسية

وبالإضافة إلى سلسلة أدوات معتمَدة، نقترح تثبيت الحزم والأدوات التالية قبل إنشاء OpenWeave.

الحِزم

أنظمة التشغيل Linux:

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 لنظام الإنشاء. يجب أن يتوفر إصدار من GNU Autotools بنجاح لإنشاء OpenWeave. لاستخدام الإصدار الذي يوفّره النظام من الأدوات التلقائية على نظام التشغيل Linux:

sudo apt-get install libtool autoconf automake

بالنسبة إلى الأنظمة التي لا تتوفر بها أدوات GNU Autotools بسهولة أو قابلة للتثبيت (مثل نظام التشغيل Mac OS) أو الأنظمة التي لا يوفر فيها الإصدار الذي يوفره النظام إنشاءًا ثابتًا للإصدار الجاهزة، أنشأت Nest Labs إطار عمل نظامًا مخصصًا للإصدار يستند إلى GNU Autotools. مثبّت النظام مجموعة البرامج المستخدمة في إنشاء الإصدار على إصدار جيد معروف. ويضمن أيضًا تثبيت الأدوات بإصدار معيّن الاستخدام المنخفض نسبيًا في مخرجات الأدوات التلقائية، ما يؤدي إلى تجربة مطوّرة يمكن توقّعها والحصول على الدعم. ويُوصى باستخدام إصدار Nest Labs من أدوات GNU Autotools للاستخدام مع 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 Standalone:
    cd openweave-core
    make -f Makefile-Standalone

استخدِم العلامة help مع Makefile-Standalone لمعرفة مفاتيح التحكّم التي يمكن تخصيصها لتخصيص الإصدار.

make -f Makefile-Standalone help

على سبيل المثال، لتفعيل رمز تصحيح أخطاء Weave وتسجيله:

make -f Makefile-Standalone DEBUG=1

ربط المشروع

  1. استنساخ مستودع OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. اضبط بيئة الإصدار لـ GNU 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

لإنشاء مكتبات لربط مشاريع Android و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