Google is committed to advancing racial equity for Black communities. See how.
דף זה תורגם על ידי Cloud Translation API.
Switch to English

בנה את OpenWeave

מחזיק הכלים הנתמך העיקרי לבניית OpenWeave הוא GNU Autotools.

דרישות מערכת

כל הפלטפורמות הגדולות של מערכת ההפעלה תומכות בבנייה והרכבה צולבת של OpenWeave. רשתות כלים רשומות נבדקו רשמית על ידי Nest.

לינוקס

דרישות: Ubuntu 14.04 (Trusty) נתמכת רשמית, אך כל מערכת דומה מבוססת לינוקס צריכה לעבוד.
כריכות C / C ++, Java, Python
מחזיקי כלים gcc 4.6.3
יעדים i386-unknown-linux-gnu
x86_64-unknown-linux-gnu
C / C ++, כריכות ג'אווה
מחזיקי כלים gcc 4.6
יעדים זרוע לא ידועה-לינוקס אנדרואיד
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
יעדים זרוע * -לא ידוע-לינוקס *
זרוע * -לא ידוע- freertos-lwip

תנאים מוקדמים

בנוסף למחזיק כלים נתמך, אנו ממליצים להתקין את החבילות והכלים הבאים לפני בניית OpenWeave.

חבילות

לינוקס:

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

לינוקס ו- Mac OS X:

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

מכוניות אוטומטיות של GNU

OpenWeave תלוי ב- GNU Autotools עבור מערכת ה- build שלה. גרסה של GNU Autotools חייבת להיות זמינה כדי לבנות בהצלחה את OpenWeave. כדי להשתמש בגרסה המסופקת על ידי המערכת של כלי רכב אוטומטיים ב- Linux:

sudo apt-get install libtool autoconf automake

עבור מערכות בהן מכשירי האוטומטי GNU אינם זמינים או ניתנים להתקנה בקלות (לדוגמה, Mac OS) או במערכות בהן הגירסה המסופקת על ידי המערכת אינה מספקת דור בנייה מוצק מחוץ לקופסה, Nest Labs יצרה בנייה מותאמת אישית ומפתחת. מסגרת מערכת, המבוססת על GNU Autotools. המערכת מצמידה את קבוצת התוכניות המשמשות בבניית דור לגירסה טובה ידועה. הצמדת הכלים לגירסה מסוימת גם מבטיחה נטישה נמוכה יחסית בפלט של כלי רכב אוטומטיים ובכך מובילה לחווית פיתוח ותמיכה צפויים מראש. מעבדות Nest לבנות של GNU Autotools מומלצות לשימוש עם OpenWeave.

כדי לבנות מעבדות Nest מעבדות GNU אוטומטיות:

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

שַׂמֵחַ

כדי להריץ את סקריפטי הבדיקה הכלולים ב- OpenWeave, או להשתמש ב- Weave בטופולוגיות מדומות, התקן את Happy במחשב הלינוקס שלך. עיין בהגדרה שמחה למידע נוסף.

יישום עצמאי

השתמש ביישום ברירת המחדל של OpenWeave עצמאי עבור מארח פיתוח שולחני או שרת.

  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

לדוגמה, כדי לאפשר קוד ניפוי ורישום 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 - ספריות

אנדרואיד ו- 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 עם סקריפטים וכותרות שונות, השתמשו במכוניות האוטומטיות כדי לאתחל את קבצי ה- build הרלוונטיים:

./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