3 #@DESCRIPTION: Release independent distribution configuration for Angstrom
5 # Preserve original DISTRO value
6 USERDISTRO := "${DISTRO}"
8 DISTRO_NAME = "Angstrom"
10 TARGET_VENDOR = "-angstrom"
12 # Add FEED_ARCH to overrides
13 OVERRIDES .= ":${FEED_ARCH}"
15 # Put links to sources in deploy/sources to make it easier for people to be GPL compliant
16 INHERIT += "src_distribute_local"
17 SRC_DIST_LOCAL ?= "symlink"
19 # Can be "glibc", "eglibc" or "uclibc"
20 ANGSTROMLIBC ?= "glibc"
21 PSTAGE_EXTRAPATH = "${ANGSTROMLIBC}"
23 CACHE = "${TMPDIR}/cache/${ANGSTROMLIBC}/${MACHINE}"
24 DEPLOY_DIR = "${TMPDIR}/deploy/${ANGSTROMLIBC}"
25 require conf/distro/include/angstrom-${ANGSTROMLIBC}.inc
27 # ARM920T and up can use thumb mode to decrease binary size at the expense of speed
28 # (the complete story is a bit more nuanced due to cache starvation)
29 # Angstrom turns on thumb for armv4t machine according to this RFC:
30 # http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2008-October/002714.html
32 # We can't do ARM_INSTRUCTION_SET_armv4t since that will un-overridable in recipes like gcc
33 ANGSTROM_ARM_INSTRUCTION_SET ?= "arm"
34 ANGSTROM_ARM_INSTRUCTION_SET_armv4t = "thumb"
35 ANGSTROM_ARM_INSTRUCTION_SET_armv5te = "thumb"
36 ANGSTROM_ARM_INSTRUCTION_SET_armv5teb = "thumb"
39 ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
41 # The instruction set the compiler should use when generating application
42 # code. The kernel is always compiled with arm code at present. arm code
43 # is the original 32 bit ARM instruction set, thumb code is the 16 bit
44 # encoded RISC sub-set. Thumb code is smaller (maybe 70% of the ARM size)
45 # but requires more instructions (140% for 70% smaller code) so may be
48 THUMB_INTERWORK = "yes"
50 # Whether to compile with code to allow interworking between the two
51 # instruction sets. This allows thumb code to be executed on a primarily
52 # arm system and vice versa. It is strongly recommended that DISTROs not
53 # turn this off - the actual cost is very small.
56 #Use this variable in feeds and other parts that need a URI
57 ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
59 #Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/*, /etc/apt/sources.list)
60 # usefull for derivative distros and local testing
61 # As this is runtime we can't and won't use virtual/feed-configs
62 ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
64 #Set the default maintainer to angstrom-dev
65 MAINTAINER = "Angstrom Developers <angstrom-distro-devel@linuxtogo.org>"
67 #use debian style naming
70 #activate config checker
73 #make devshell available as task
76 #use angstrom source mirrors to combat 404s
77 INHERIT += "angstrom-mirrors"
79 #run QA tests on builds and packages and log them
83 #save statistical info on images
86 ANGSTROM_PKG_FORMAT ?= "ipk"
87 require conf/distro/include/angstrom-package-${ANGSTROM_PKG_FORMAT}.inc
90 # We don't want to keep OABI compat
92 # Do keep OABI compat for om-gta01 to keep the gllin binary working
93 ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01 = "1"
94 ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01 = "1"
97 #Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
98 PREFERRED_PROVIDER_qemu-native = "qemu-native"
99 ENABLE_BINARY_LOCALE_GENERATION ?= "1"
101 # We only want to build UTF8 locales
102 LOCALE_UTF8_ONLY = "1"
104 #qemu doesn't like armv6/eabi/vfp
105 ENABLE_BINARY_LOCALE_GENERATION_armv6 = "0"
106 ENABLE_BINARY_LOCALE_GENERATION_armv6-novfp = "0"
107 ENABLE_BINARY_LOCALE_GENERATION_armv7a = "0"
109 #qemu has taken a dislike to armeb as well
110 ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
112 #ARM EABI is softfloat by default, but let's make sure :)
113 #make it overridable for platforms with FPU, like ep93xx or i.mx31
114 TARGET_FPU_arm ?= "soft"
115 TARGET_FPU_armeb ?= "soft"
116 TARGET_FPU_ixp4xx ?= "soft"
117 TARGET_FPU_ppc405 ?= "soft"
119 TARGET_FPU_armv6 ?= "hard"
120 TARGET_FPU_armv6-novfp ?= "soft"
121 TARGET_FPU_armv7a ?= "hard"
122 TARGET_FPU_ppc603e ?= "hard"
124 # webkit-gtk and cairo have alignment issues with double instructions on armv5 so
126 TARGET_CC_ARCH_pn-webkit-gtk_armv5te = "-march=armv4t"
127 TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
129 #Set the right arch for the feeds
130 #Alphabetically sorted
132 FEED_ARCH ?= "${TARGET_ARCH}"
135 FEED_ARCH_bfin = "blackfin"
139 FEED_ARCH_acern30 = "armv4t"
140 FEED_ARCH_amsdelta = "armv4t"
141 FEED_ARCH_ep93xx = "armv4t"
142 FEED_ARCH_eteng500 = "armv4t"
143 FEED_ARCH_om-gta01 = "armv4t"
144 FEED_ARCH_om-gta02 = "armv4t"
145 FEED_ARCH_h1940 = "armv4t"
146 FEED_ARCH_h6300 = "armv4t"
147 FEED_ARCH_kb9202 = "armv4t"
148 FEED_ARCH_ks8695 = "armv4t"
149 FEED_ARCH_rx1950 = "armv4t"
150 FEED_ARCH_rx3000 = "armv4t"
151 FEED_ARCH_sarge-at91 = "armv4t"
152 FEED_ARCH_smdk2440 = "armv4t"
153 FEED_ARCH_smdk2443 = "armv4t"
157 FEED_ARCH_a1200 = "armv5te"
158 FEED_ARCH_a780 = "armv5te"
159 FEED_ARCH_akita = "armv5te"
160 FEED_ARCH_asus620 = "armv5te"
161 FEED_ARCH_asus730 = "armv5te"
162 FEED_ARCH_at91sam9263ek = "armv5te"
163 FEED_ARCH_aximx50 = "armv5te"
164 FEED_ARCH_aximx50v = "armv5te"
165 FEED_ARCH_c7x0 = "armv5te"
166 FEED_ARCH_compulab-pxa270 = "armv5te"
167 FEED_ARCH_davinci-dvevm = "armv5te"
168 FEED_ARCH_devkitidp-pxa255 = "armv5te"
169 FEED_ARCH_e680 = "armv5te"
170 FEED_ARCH_er0100 = "armv5te"
171 FEED_ARCH_gumstix = "armv5te"
172 FEED_ARCH_gumstix-verdex = "armv5te"
173 FEED_ARCH_gumstix-connex = "armv5te"
174 FEED_ARCH_h1910 = "armv5te"
175 FEED_ARCH_h2200 = "armv5te"
176 FEED_ARCH_h3900 = "armv5te"
177 FEED_ARCH_h4000 = "armv5te"
178 FEED_ARCH_h5000 = "armv5te"
179 FEED_ARCH_htcalpine = "armv5te"
180 FEED_ARCH_htcapache = "armv5te"
181 FEED_ARCH_htcblueangel = "armv5te"
182 FEED_ARCH_htchimalaya = "armv5te"
183 FEED_ARCH_htcsable = "armv5te"
184 FEED_ARCH_htctornado = "armv5te"
185 FEED_ARCH_htcuniversal = "armv5te"
186 FEED_ARCH_hx2000 = "armv5te"
187 FEED_ARCH_hx4700 = "armv5te"
188 FEED_ARCH_ixp4xxle = "armv5te"
189 FEED_ARCH_logicpd-pxa270 = "armv5te"
190 FEED_ARCH_looxc550 = "armv5te"
191 FEED_ARCH_lsarm = "armv5te"
192 FEED_ARCH_magician = "armv5te"
193 FEED_ARCH_mainstone = "armv5te"
194 FEED_ARCH_mnci = "armv5te"
195 FEED_ARCH_mtx-3 = "armv5te"
196 FEED_ARCH_mx21ads = "armv5te"
197 FEED_ARCH_n2100 = "armv5te"
198 FEED_ARCH_navman-icn330 = "armv5te"
199 FEED_ARCH_netbook-pro = "armv5te"
200 FEED_ARCH_nokia770 = "armv5te"
201 FEED_ARCH_rokre2 = "armv5te"
202 FEED_ARCH_nslu2le = "armv5te"
203 FEED_ARCH_omap1510inn = "armv5te"
204 FEED_ARCH_omap1610h2 = "armv5te"
205 FEED_ARCH_omap1710h3 = "armv5te"
206 FEED_ARCH_omap5912osk = "armv5te"
207 FEED_ARCH_palmld = "armv5te"
208 FEED_ARCH_palmt650 = "armv5te"
209 FEED_ARCH_palmt680 = "armv5te"
210 FEED_ARCH_palmtc = "armv5te"
211 FEED_ARCH_palmtt = "armv5te"
212 FEED_ARCH_palmtt3 = "armv5te"
213 FEED_ARCH_palmtt5 = "armv5te"
214 FEED_ARCH_palmtx = "armv5te"
215 FEED_ARCH_palmz31 = "armv5te"
216 FEED_ARCH_palmz71 = "armv5te"
217 FEED_ARCH_palmz72 = "armv5te"
218 FEED_ARCH_poodle = "armv5te"
219 FEED_ARCH_qemuarm = "armv5te"
220 FEED_ARCH_spitz = "armv5te"
221 FEED_ARCH_tosa = "armv5te"
222 FEED_ARCH_triton = "armv5te"
224 FEED_ARCH_ixp4xxbe = "armv5teb"
225 FEED_ARCH_nslu2be = "armv5teb"
229 FEED_ARCH_mx31ads = "armv6"
230 FEED_ARCH_mx31moboard = "armv6"
231 FEED_ARCH_nokia800 = "armv6"
232 FEED_ARCH_omap2420h4 = "armv6"
233 FEED_ARCH_omap2430sdp = "armv6"
236 FEED_ARCH_geodegx = "i486"
237 FEED_ARCH_geodelx = "i486"
238 FEED_ARCH_netvista = "i486"
239 FEED_ARCH_wrap = "i486"
240 FEED_ARCH_x86 = "i486"
243 FEED_ARCH_epia = "i586"
244 FEED_ARCH_i586-generic = "i586"
245 FEED_ARCH_qemux86 = "i586"
249 FEED_ARCH_alix = "i686"
250 FEED_ARCH_colinux = "i686"
251 FEED_ARCH_guinness = "i686"
252 FEED_ARCH_i686-generic = "i686"
253 FEED_ARCH_progear = "i686"
257 FEED_ARCH_dht-walnut = "ppc405"
258 FEED_ARCH_magicbox = "ppc405"
259 FEED_ARCH_xilinx-ml403 = "ppc405"
260 FEED_ARCH_xilinx-ml410 = "ppc405"
261 FEED_ARCH_sequoia = "ppc440e"
262 FEED_ARCH_efika = "ppc603e"
263 FEED_ARCH_lite5200 = "ppc603e"
264 FEED_ARCH_lsppchd = "ppc603e"
265 FEED_ARCH_lsppchg = "ppc603e"
266 FEED_ARCH_storcenter = "ppc603e"
267 FEED_ARCH_turbostation = "ppc603e"
268 FEED_ARCH_mpc8313e-rdb = "ppce300c3"
269 FEED_ARCH_mpc8323e-rdb = "ppce300c2"
272 #strongarm machines, no EABI
274 FEED_ARCH_collie = "arm-oabi"
275 FEED_ARCH_h3600 = "arm-oabi"
276 FEED_ARCH_h3800 = "arm-oabi"
277 FEED_ARCH_htcwallaby = "arm-oabi"
278 FEED_ARCH_jornada56x = "arm-oabi"
279 FEED_ARCH_jornada7xx = "arm-oabi"
280 FEED_ARCH_shark = "arm-oabi"
281 FEED_ARCH_simpad = "arm-oabi"
284 #Tweak packaging for strongarm machines since they can't use EABI
286 PACKAGE_EXTRA_ARCHS_collie = "arm-oabi"
287 PACKAGE_EXTRA_ARCHS_h3600 = "arm-oabi"
288 PACKAGE_EXTRA_ARCHS_h3800 = "arm-oabi"
289 PACKAGE_EXTRA_ARCHS_simpad = "arm-oabi"
290 PACKAGE_EXTRA_ARCHS_htcwallaby = "arm-oabi"
293 #Name the generated images in a sane way
294 IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${ANGSTROMLIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
295 DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
297 # Angstrom *always* has some form of release config, so error out if someone thinks he knows better
298 DISTRO_CHECK := "${@bb.data.getVar("DISTRO_VERSION",d,1) or bb.fatal('Remove this line or set a dummy DISTRO_VERSION if you really want to build an unversioned distro')}"
301 # Configuration for tinderbox, so people only need:
302 # INHERIT += "tinderclient"
303 # in their local.conf
306 TINDER_MACHINE = "${MACHINE}-${ANGSTROMLIBC}-build-image"
308 # Which lof file to write to, which tree to report to
309 TINDER_LOG = "${TMPDIR}/tinder.log"
310 TINDER_TREE = "Angstrom"
313 TINDER_HOST ?= "ewi546.ewi.utwente.nl"
314 TINDER_URL ?= "/tinderbox"
316 # Which branch do we build
317 TINDER_BRANCH = "org.openembedded.dev"
320 ## 0 for rebuilding everything from scratch
321 ## 1 for incremental builds
324 ## Do a report at all
327 # Configuration for seppuku autobuilder, people only need to put:
328 # INHERIT += "seppuku oestats-client"
329 # SEPPUKU_USER = "your_bugzilla@user.id"
330 # SEPPUKU_PASS = "your_bugzilla_password"
331 # OESTATS_BUILDER = "your_name"
332 # in their local.conf
335 SEPPUKU_LOGIN = "http://bugs.openembedded.net/query.cgi?"
336 SEPPUKU_QUERY = "http://bugs.openembedded.net/buglist.cgi?"
337 SEPPUKU_NEWREPORT = "http://bugs.openembedded.net/post_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom%20unstable&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&"
338 SEPPUKU_ADDCOMMENT = "http://bugs.openembedded.net/process_bug.cgi?bug_file_loc=http%3A%2F%2F&version=Angstrom&priority=P2&bug_severity=normal&op_sys=Linux&rep_platform=Other&"
339 SEPPUKU_ATTACHMENT = "http://bugs.openembedded.net/attachment.cgi?"
340 SEPPUKU_AUTOBUILD = "1"
342 SEPPUKU_PRODUCT = "Openembedded"
343 SEPPUKU_COMPONENT = "org.openembedded.dev"
345 OESTATS_SERVER ?= "tinderbox.openembedded.net"
349 # We want images supporting the following features (for task-base)
350 DISTRO_FEATURES = "nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci"