8bbd28ee93cf8de21da607e15d870f0513c70f08
[openembedded.git] / conf / distro / include / angstrom.inc
1 #@TYPE: Distribution
2 #@NAME: Angstrom 
3 #@DESCRIPTION: Release independent distribution configuration for Angstrom
4
5 # Preserve original DISTRO value
6 USERDISTRO := "${DISTRO}"
7 DISTRO = "angstrom"
8 DISTRO_NAME = "Angstrom"
9
10 BUILDNAME = "Angstrom ${DISTRO_VERSION}"
11
12 TARGET_VENDOR = "-angstrom"
13
14 SOC_FAMILY ?= "Unknown"
15
16 # Add FEED_ARCH and SOC_FAMILY to overrides
17 OVERRIDES .= ":${FEED_ARCH}:${SOC_FAMILY}"
18
19 # Put links to sources in deploy/sources to make it easier for people to be GPL compliant
20 INHERIT += "src_distribute_local"
21 SRC_DIST_LOCAL ?= "symlink"
22
23 # Can be "glibc", "eglibc" or "uclibc"
24 ANGSTROMLIBC ?= "glibc"
25 LIBC ?= "${ANGSTROMLIBC}"
26 PSTAGE_EXTRAPATH = "${LIBC}"
27
28 CACHE = "${TMPDIR}/cache/${LIBC}/${MACHINE}"
29 DEPLOY_DIR = "${TMPDIR}/deploy/${LIBC}"
30 require conf/distro/include/angstrom-${LIBC}.inc
31
32 # ARM920T and up can use thumb mode to decrease binary size at the expense of speed
33 # (the complete story is a bit more nuanced due to cache starvation)
34 # Angstrom turns on thumb for armv4t machine according to this RFC:
35 # http://lists.linuxtogo.org/pipermail/angstrom-distro-devel/2008-October/002714.html
36
37 # We can't do ARM_INSTRUCTION_SET_armv4t since that will un-overridable in recipes like gcc
38 ANGSTROM_ARM_INSTRUCTION_SET ?= "arm"
39
40
41 ARM_INSTRUCTION_SET = "${ANGSTROM_ARM_INSTRUCTION_SET}"
42 # "arm" "thumb"
43 #    The instruction set the compiler should use when generating application
44 #    code.  The kernel is always compiled with arm code at present.  arm code
45 #    is the original 32 bit ARM instruction set, thumb code is the 16 bit
46 #    encoded RISC sub-set.  Thumb code is smaller (maybe 70% of the ARM size)
47 #    but requires more instructions (140% for 70% smaller code) so may be
48 #    slower.
49
50 THUMB_INTERWORK = "yes"
51 # "yes" "no"
52 #    Whether to compile with code to allow interworking between the two
53 #    instruction sets.  This allows thumb code to be executed on a primarily
54 #    arm system and vice versa.  It is strongly recommended that DISTROs not
55 #    turn this off - the actual cost is very small.
56
57
58 #Use this variable in feeds and other parts that need a URI
59 ANGSTROM_URI ?= "http://www.angstrom-distribution.org"
60
61 #Use this variable to select which recipe you want to use to get feed configs (/etc/ipkg/, /etc/apt/sources.list)
62 # usefull for derivative distros and local testing
63 # As this is runtime we can't and won't use virtual/feed-configs
64 ANGSTROM_FEED_CONFIGS ?= "angstrom-feed-configs"
65
66 #Set the default maintainer to angstrom-dev
67 MAINTAINER = "Angstrom Developers <angstrom-distro-devel@linuxtogo.org>"
68
69 #use debian style naming
70 INHERIT += "debian"
71
72 #activate config checker
73 INHERIT += "sanity" 
74
75 #activate the blacklister
76 INHERIT += "angstrom"
77
78 #make devshell available as task
79 INHERIT += "devshell" 
80
81 #use angstrom source mirrors to combat 404s
82 INHERIT += "angstrom-mirrors" 
83
84 #run QA tests on builds and packages and log them  
85 INHERIT += "insane"
86 # INHERIT += "packagehistory"
87 QA_LOG = "1"
88
89 #run QA tests on recipes
90 INHERIT += "recipe_sanity"
91
92 #save statistical info on images
93 INHERIT += "testlab"
94
95 ANGSTROM_PKG_FORMAT ?= "ipk"
96 require conf/distro/include/angstrom-package-${ANGSTROM_PKG_FORMAT}.inc
97
98
99 # We don't want to keep OABI compat
100 ARM_KEEP_OABI = "0"
101 # Do keep OABI compat for om-gta01 to keep the gllin binary working
102 ARM_KEEP_OABI_pn-linux-openmoko-2.6.24_om-gta01 = "1"
103 ARM_KEEP_OABI_pn-linux-openmoko-2.6.28_om-gta01 = "1"
104
105
106 #Generate locales on the buildsystem instead of on the target. Speeds up first boot, set to "1" to enable
107 PREFERRED_PROVIDER_qemu-native = "qemu-native"
108 ENABLE_BINARY_LOCALE_GENERATION ?= "1"
109
110 # We only want to build UTF8 locales
111 LOCALE_UTF8_ONLY = "1"
112
113 #qemu doesn't like this fp
114 ENABLE_BINARY_LOCALE_GENERATION_ep9312 = "0"
115
116 #qemu has taken a dislike to armeb as well
117 ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
118
119 #ARM EABI is softfloat by default, but let's make sure :)
120 #make it overridable for platforms with FPU, like ep93xx or i.mx31
121 TARGET_FPU_arm ?= "soft"
122 TARGET_FPU_armeb ?= "soft"
123 TARGET_FPU_ixp4xx ?= "soft"
124 TARGET_FPU_ppc405 ?= "soft"
125
126 TARGET_FPU_armv6 ?= "hard"
127 TARGET_FPU_armv6-novfp ?= "soft"
128 TARGET_FPU_armv7a ?= "hard"
129 TARGET_FPU_ppc603e ?= "hard"
130
131 # webkit-gtk and cairo have alignment issues with double instructions on armv5 so
132 # disable them here
133 TARGET_CC_ARCH_pn-webkit-gtk_armv5te = "-march=armv4t"
134 TARGET_CC_ARCH_pn-cairo_armv5te = "-march=armv4t"
135
136 #Set the right arch for the feeds
137 #Alphabetically sorted
138
139 FEED_ARCH ?= "${BASE_PACKAGE_ARCH}"
140
141 #blackfin machines
142 FEED_ARCH_bfin          = "blackfin"
143
144 #Name the generated images in a sane way
145 IMAGE_NAME = "${DISTRO_NAME}-${IMAGE_BASENAME}-${LIBC}-${ANGSTROM_PKG_FORMAT}-${DISTRO_VERSION}-${MACHINE}"
146 DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images/${MACHINE}"
147
148 # Angstrom *always* has some form of release config, so error out if someone thinks he knows better 
149 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')}"
150
151
152 # Configuration for tinderbox, so people only need:
153 # INHERIT          += "tinderclient"
154 # in their local.conf 
155
156 #Name of the client
157 TINDER_MACHINE  = "${MACHINE}-${LIBC}-build-image"
158
159 # Which lof file to write to, which tree to report to
160 TINDER_LOG        = "${TMPDIR}/tinder.log"
161 TINDER_TREE       = "Angstrom"
162
163 # HTTP posting    
164 TINDER_HOST       ?= "ewi546.ewi.utwente.nl"
165 TINDER_URL        ?= "/tinderbox"
166
167 # Which branch do we build
168 TINDER_BRANCH     = "org.openembedded.dev"
169    
170 ## Clobbing
171 ## 0 for rebuilding everything from scratch
172 ## 1 for incremental builds
173 TINDER_CLOBBER    = "1"
174
175 ## Do a report at all
176 TINDER_REPORT     = "1"
177
178 # Configuration for seppuku autobuilder, people only need to put:
179 # INHERIT += "seppuku oestats-client"
180 # SEPPUKU_USER         = "your_bugzilla@user.id"
181 # SEPPUKU_PASS         = "your_bugzilla_password"
182 # OESTATS_BUILDER      = "your_name" 
183 # in their local.conf
184
185 # seppuku bbclass
186 SEPPUKU_LOGIN        = "http://bugs.openembedded.net/query.cgi?"
187 SEPPUKU_QUERY        = "http://bugs.openembedded.net/buglist.cgi?"
188 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&"
189 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&"
190 SEPPUKU_ATTACHMENT   = "http://bugs.openembedded.net/attachment.cgi?"
191 SEPPUKU_AUTOBUILD    = "1"
192
193 SEPPUKU_PRODUCT      = "Openembedded"
194 SEPPUKU_COMPONENT    = "org.openembedded.dev"
195
196 OESTATS_SERVER      ?= "tinderbox.openembedded.org"
197
198 # We want images supporting the following features (for task-base)
199 DISTRO_FEATURES = "nfs smbfs wifi ppp alsa bluetooth ext2 vfat irda pcmcia usbgadget usbhost pci pam"
200
201 # Use-like features
202 DISTRO_FEATURES += "tk"