2014-09-23 48 views
11

Voglio scrivere una ricetta in yocto per creare il mio componente personalizzato. In questo vorrei abilitare alcune bandiere in base alla macchina.Come fornire le opzioni per "configurare" usando le ricette yocto?

esempio:

se la macchina è x86

mio comando configure dovrebbe essere come:

./configure --enable-x86 

se è x64

./configure --enable-x64 

sto utilizzando strumenti auto per edilizia . per favore aiutami nella scrittura di ricette e in "configure.ac" per raggiungere questo obiettivo.

ps: Sono molto nuovo di yocto.

risposta

13

È possibile fornire le opzioni di configurazione utilizzando EXTRA_OECONF. Qui, puoi anche aggiungere dei valori in base alla tua architettura.

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

È possibile farlo solo se la propria architettura (x86/x64) è definito come aprt del valore di override. Vediamo quali OVERRIDE valore è:

I valori di configurazione bitbake Yocto sono definiti in poky/meta/conf/bitbake.conf. In quel file, c'è una variabile chiamata OVERRIDE. Il valore di esempio per OVERRIDE in configurazione bitbake è la seguente:

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

Quando si esegue bitbake -e e raccogliere l'uscita, il valore di OVERRIDE si traduce in base alla configurazione.

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

nella configurazione, se si può vedere x86/x64 come parte del valore di override quindi è possibile definire le opzioni di configurazione come descritto in precedenza.