Google is committed to advancing racial equity for Black communities. See how.

בנה OpenWeave

שרשרת הכלים הנתמכת העיקרית לבניית OpenWeave היא GNU Autotools.

דרישות מערכת

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

לינוקס

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

sudo apt-get install libtool autoconf automake

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

לבניית אוטומטיות של GN Labs:

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. Clone למאגר 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. Clone למאגר OpenWeave:
    git clone https://github.com/openweave/openweave-core.git
  2. הגדר את הסביבה לבנות עבור Autotools GNU:
    cd openweave-core
    ./bootstrap
    ./configure
  3. Build 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