2014-09-23 24 views
11

Tôi muốn viết một công thức trong yocto để xây dựng thành phần tùy chỉnh của tôi. Trong đó tôi muốn kích hoạt một số cờ theo máy.Làm thế nào để cung cấp các tùy chọn cho "cấu hình" bằng cách sử dụng công thức nấu ăn yocto?

ví dụ:

nếu máy là x86

lệnh configure của tôi nên như thế:

./configure --enable-x86 

nếu nó là x64

./configure --enable-x64 

tôi đang sử dụng công cụ tự động cho tòa nhà . hãy giúp tôi bằng cách viết công thức cũng như "configure.ac" để đạt được điều này.

ps: Tôi rất mới với yocto.

Trả lời

13

Bạn có thể cung cấp tùy chọn định cấu hình bằng cách sử dụng EXTRA_OECONF. Tại đây, bạn cũng có thể nối thêm các giá trị vào nó dựa trên kiến ​​trúc của bạn.

EXTRA_OECONF_append_x86="--enable-x86" 
EXTRA_OECONF_append_x64="--enable-x64" 

Bạn chỉ có thể thực hiện điều này nếu kiến ​​trúc của bạn (x86/x64) được định nghĩa là giá trị OVERRIDE. Chúng ta hãy xem những gì ghi đè lên giá trị là:

Các giá trị cấu hình bitbake Yocto được định nghĩa trong nhỏ mọn/meta/conf/bitbake.conf. Trong tệp đó, có một biến được gọi là OVERRIDE. Giá trị mẫu cho ghi đè lên trong cấu hình bitbake được hiển thị dưới đây:

OVERRIDES = "${TARGET_OS}:${TRANSLATED_TARGET_ARCH}:build-${BUILD_OS}:pn-${PN}:${MACHINEOVERRIDES}:${DISTROOVERRIDES}:${CLASSOVERRIDE}:forcevariable" 

Khi bạn chạy bitbake -e và thu thập sản lượng, giá trị cho ghi đè lên chuyển thành dựa trên cấu hình của bạn.

OVERRIDES="linux:i586:build-linux:pn-defaultpkgname:x86:qemuall:qemux86:poky:class-target:forcevariable:libc-glibc" 

Trong thiết lập của bạn, nếu bạn có thể nhìn thấy x86/x64 như một phần của giá trị ghi đè lên sau đó bạn có thể xác định tùy chọn cấu hình như mô tả ở trên.

Các vấn đề liên quan