Merge nslu2-linux@nslu2-linux.bkbits.net:openembedded
[vuplus_openembedded] / conf / bitbake.conf
1 ##################################################################
2 # Standard target filesystem paths.
3 ##################################################################
4
5 # Path prefixes
6 export base_prefix = ""
7 export prefix = "/usr"
8 export exec_prefix = "${prefix}"
9
10 # Base paths
11 export base_bindir = "${base_prefix}/bin"
12 export base_sbindir = "${base_prefix}/sbin"
13 export base_libdir = "${base_prefix}/lib"
14
15 # Architecture independent paths
16 export datadir = "${prefix}/share"
17 export sysconfdir = "/etc"
18 export sharedstatedir = "${prefix}/com"
19 export localstatedir = "/var"
20 export infodir = "${datadir}/info"
21 export mandir = "${datadir}/man"
22 export docdir = "${datadir}/doc"
23 export servicedir = "/srv"
24
25 # Architecture dependent paths
26 export bindir = "${exec_prefix}/bin"
27 export sbindir = "${exec_prefix}/sbin"
28 export libexecdir = "${exec_prefix}/libexec"
29 export libdir = "${exec_prefix}/lib"
30 export includedir = "${exec_prefix}/include"
31 export oldincludedir = "${exec_prefix}/include"
32
33 ##################################################################
34 # Architecture-dependent build variables.
35 ##################################################################
36
37 BUILD_ARCH = "${@os.uname()[4]}"
38 BUILD_OS = "${@os.uname()[0].lower()}"
39 BUILD_VENDOR = ""
40 BUILD_SYS = "${BUILD_ARCH}${BUILD_VENDOR}-${BUILD_OS}"
41 BUILD_PREFIX = ""
42 BUILD_CC_ARCH = ""
43
44 HOST_ARCH = "${TARGET_ARCH}"
45 HOST_OS = "${TARGET_OS}"
46 HOST_VENDOR = "${TARGET_VENDOR}"
47 HOST_SYS = "${HOST_ARCH}${HOST_VENDOR}-${HOST_OS}"
48 HOST_PREFIX = "${TARGET_PREFIX}"
49 HOST_CC_ARCH = "${TARGET_CC_ARCH}"
50
51 TARGET_ARCH = "INVALID"
52 TARGET_OS = "INVALID"
53 TARGET_VENDOR = "${BUILD_VENDOR}"
54 TARGET_SYS = "${TARGET_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
55 TARGET_PREFIX = "${TARGET_SYS}-"
56 TARGET_CC_ARCH = ""
57
58 PACKAGE_ARCH = "${HOST_ARCH}"
59 MACHINE_ARCH = "${@[bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('MACHINE', d, 1)][bool(bb.data.getVar('MACHINE', d, 1))]}"
60
61 ##################################################################
62 # Date/time variables.
63 ##################################################################
64
65 DATE := "${@time.strftime('%Y%m%d',time.gmtime())}"
66 TIME := "${@time.strftime('%H%M%S',time.gmtime())}"
67 DATETIME = "${DATE}${TIME}"
68
69 ##################################################################
70 # Package default variables.
71 ##################################################################
72
73 PN = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[0] or 'defaultpkgname'}"
74 PV = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[1] or '1.0'}"
75 PR = "${@bb.parse.BBHandler.vars_from_file(bb.data.getVar('FILE',d),d)[2] or 'r0'}"
76 PF = "${PN}-${PV}-${PR}"
77 P = "${PN}-${PV}"
78
79 # Package info.
80
81 SECTION = "base"
82 PRIORITY = "optional"
83 DESCRIPTION = "Version ${PV}-${PR} of package ${PN}"
84 LICENSE = "unknown"
85 MAINTAINER = "OpenEmbedded Team <oe@handhelds.org>"
86 HOMEPAGE = "unknown"
87
88 # Package dependencies and provides.
89
90 DEPENDS = ""
91 RDEPENDS = ""
92 PROVIDES = ""
93 PROVIDES_prepend = "${P} ${PF} ${PN} "
94 RPROVIDES = ""
95
96 PACKAGES = "${PN} ${PN}-doc ${PN}-dev ${PN}-locale"
97 FILES = ""
98 FILES_${PN} = "${bindir} ${sbindir} ${libexecdir} ${libdir}/lib*.so.* \
99             ${sysconfdir} ${sharedstatedir} ${localstatedir} \
100             /bin /sbin /lib/*.so* ${datadir}/${PN} ${libdir}/${PN} \
101             ${datadir}/pixmaps ${datadir}/applications \
102             ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
103             ${libdir}/bonobo/servers"
104 SECTION_${PN}-doc = "doc"
105 FILES_${PN}-doc = "${docdir} ${mandir} ${infodir} ${datadir}/gtk-doc \
106             ${datadir}/gnome/help"
107 SECTION_${PN}-dev = "devel"
108 FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la \
109                 ${libdir}/*.a ${libdir}/*.o ${libdir}/pkgconfig \
110                 /lib/*.a /lib/*.o ${datadir}/aclocal"
111 FILES_${PN}-locale = "${datadir}/locale"
112
113 # File manifest
114
115 export MANIFEST = "${FILESDIR}/manifest"
116
117 FILE_DIRNAME = "${@os.path.dirname(bb.data.getVar('FILE', d))}"
118 FILESPATH = "${FILE_DIRNAME}/${PF}:${FILE_DIRNAME}/${P}:${FILE_DIRNAME}/${PN}:${FILE_DIRNAME}/files:${FILE_DIRNAME}"
119 FILESDIR = "${@bb.which(bb.data.getVar('FILESPATH', d, 1), '.')}"
120
121 ##################################################################
122 # General work and output directories for the build system.
123 ##################################################################
124
125 TMPDIR = "${TOPDIR}/tmp"
126 CACHE = "${TMPDIR}/cache"
127 DL_DIR = "${TMPDIR}/downloads"
128 CVSDIR = "${DL_DIR}/cvs"
129
130 STAMP = "${TMPDIR}/stamps/${PF}"
131 WORKDIR = "${TMPDIR}/work/${PF}"
132 T = "${WORKDIR}/temp"
133 D = "${WORKDIR}/image"
134 S = "${WORKDIR}/${P}"
135 B = "${S}"
136
137 STAGING_DIR = "${TMPDIR}/staging"
138 STAGING_BINDIR = "${STAGING_DIR}/${BUILD_SYS}/bin"
139 STAGING_LIBDIR = "${STAGING_DIR}/${HOST_SYS}/lib"
140 STAGING_INCDIR = "${STAGING_DIR}/${HOST_SYS}/include"
141 STAGING_DATADIR = "${STAGING_DIR}/${HOST_SYS}/share"
142
143 DEPLOY_DIR = "${TMPDIR}/deploy"
144 DEPLOY_DIR_TAR = "${DEPLOY_DIR}/tar"
145 DEPLOY_DIR_IPK = "${DEPLOY_DIR}/ipk"
146 DEPLOY_DIR_RPM = "${DEPLOY_DIR}/rpm"
147
148 ##################################################################
149 # Kernel info.
150 ##################################################################
151
152 OLDEST_KERNEL = "2.4.0"
153 STAGING_KERNEL_DIR = "${STAGING_DIR}/${HOST_SYS}/kernel"
154
155 ##################################################################
156 # Specific image creation and rootfs population info.
157 ##################################################################
158
159 DEPLOY_DIR_IMAGE = "${DEPLOY_DIR}/images"
160 IMAGE_ROOTFS = "${TMPDIR}/rootfs"
161 IMAGE_BASENAME = "rootfs"
162 IMAGE_NAME = "${IMAGE_BASENAME}-${MACHINE}-${DATETIME}"
163 IMAGE_CMD = ""
164 IMAGE_CMD_jffs2 = "mkfs.jffs2 --root=${IMAGE_ROOTFS} --faketime \
165                    --output=${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.jffs2 \
166                    ${EXTRA_IMAGECMD}"
167 IMAGE_CMD_cramfs = "mkcramfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.cramfs ${EXTRA_IMAGECMD}"
168 IMAGE_CMD_ext2 = "genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}"
169 IMAGE_CMD_ext2.gz = "mkdir ${DEPLOY_DIR_IMAGE}/tmp.gz; genext2fs -b ${IMAGE_ROOTFS_SIZE} -d ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2 ${EXTRA_IMAGECMD}; gzip -f -9 ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2; mv ${DEPLOY_DIR_IMAGE}/tmp.gz/${IMAGE_NAME}.rootfs.ext2.gz ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.ext2.gz; rmdir ${DEPLOY_DIR_IMAGE}/tmp.gz"
170 IMAGE_CMD_squashfs = "mksquashfs ${IMAGE_ROOTFS} ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.squashfs ${EXTRA_IMAGECMD} -noappend"
171 IMAGE_CMD_tar = "cd ${IMAGE_ROOTFS} && tar -jcvf ${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.tar.bz2 ."
172 EXTRA_IMAGECMD = ""
173 EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x40000"
174 EXTRA_IMAGECMD_squashfs = "-le -b 16384"
175 IMAGE_FSTYPE = "jffs2"
176 IMAGE_FSTYPES = "${IMAGE_FSTYPE}"
177 IMAGE_ROOTFS_SIZE_ext2 = "65536"
178 IMAGE_ROOTFS_SIZE_ext2.gz = "65536"
179
180 IMAGE_DEPENDS = ""
181 IMAGE_DEPENDS_jffs2 = "mtd-utils-native"
182 IMAGE_DEPENDS_cramfs = "cramfs-native"
183 IMAGE_DEPENDS_ext2 = "genext2fs-native"
184 IMAGE_DEPENDS_ext2.gz = "genext2fs-native"
185 IMAGE_DEPENDS_squashfs = "squashfs-tools-native"
186 EXTRA_IMAGEDEPENDS = ""
187
188 ##################################################################
189 # Toolchain info.
190 ##################################################################
191
192 CROSS_DIR = "${TMPDIR}/cross"
193 CROSS_DATADIR = "${CROSS_DIR}/share"
194 export PATH_prepend = "${STAGING_BINDIR}/${HOST_SYS}:${STAGING_BINDIR}:${CROSS_DIR}/bin:"
195
196 ##################################################################
197 # Build utility info.
198 ##################################################################
199
200 CCACHE = "${@bb.which(bb.data.getVar('PATH', d), 'ccache') and 'ccache '}"
201
202 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
203 export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
204 export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
205 export CPP = "${HOST_PREFIX}gcc -E"
206 export LD = "${HOST_PREFIX}ld"
207 export CCLD = "${CC}"
208 export AR = "${HOST_PREFIX}ar"
209 export AS = "${HOST_PREFIX}as"
210 export RANLIB = "${HOST_PREFIX}ranlib"
211 export STRIP = "${HOST_PREFIX}strip"
212
213 export BUILD_CC = "${CCACHE}${BUILD_PREFIX}gcc ${BUILD_CC_ARCH}"
214 export BUILD_CXX = "${CCACHE}${BUILD_PREFIX}g++ ${BUILD_CC_ARCH}"
215 export BUILD_F77 = "${CCACHE}${BUILD_PREFIX}g77 ${BUILD_CC_ARCH}"
216 export BUILD_CPP = "${BUILD_PREFIX}cpp"
217 export BUILD_LD = "${BUILD_PREFIX}ld"
218 export BUILD_CCLD = "${BUILD_PREFIX}gcc"
219 export BUILD_AR = "${BUILD_PREFIX}ar"
220 export BUILD_RANLIB = "${BUILD_PREFIX}ranlib"
221 export BUILD_STRIP = "${BUILD_PREFIX}strip"
222
223 export MAKE = "make"
224 EXTRA_OEMAKE = "-e MAKEFLAGS="
225
226 ##################################################################
227 # Build flags and options.
228 ##################################################################
229
230 export BUILD_CPPFLAGS = "-I${STAGING_DIR}/${BUILD_SYS}/include"
231 export CPPFLAGS = "${TARGET_CPPFLAGS}"
232 export TARGET_CPPFLAGS = "-I${STAGING_DIR}/${TARGET_SYS}/include"
233
234 export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
235 export CFLAGS = "${TARGET_CFLAGS}"
236 export TARGET_CFLAGS = "${TARGET_CPPFLAGS} ${SELECTED_OPTIMIZATION}"
237
238 export BUILD_CXXFLAGS = "${BUILD_CFLAGS} -fpermissive"
239 export CXXFLAGS = "${TARGET_CXXFLAGS}"
240 export TARGET_CXXFLAGS = "${TARGET_CFLAGS} -fpermissive"
241
242 export BUILD_LDFLAGS = "-L${STAGING_DIR}/${BUILD_SYS}/lib \
243                         -Wl,-rpath-link,${STAGING_DIR}/${BUILD_SYS}/lib \
244                         -Wl,-rpath,${STAGING_DIR}/${BUILD_SYS}/lib -Wl,-O1"
245 export LDFLAGS = "${TARGET_LDFLAGS}"
246 export TARGET_LDFLAGS = "-L${STAGING_DIR}/${TARGET_SYS}/lib \
247                          -Wl,-rpath-link,${STAGING_DIR}/${TARGET_SYS}/lib \
248                          -Wl,-O1"
249
250 # Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
251 ALLOWED_FLAGS = "-O -mcpu -march -pipe"
252
253 # Pass parallel make options to the compile task only
254 EXTRA_OEMAKE_prepend_task_do_compile = "${PARALLEL_MAKE} "
255
256 ##################################################################
257 # Optimization flags.
258 ##################################################################
259
260 FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
261 DEBUG_OPTIMIZATION = "-O -g"
262 SELECTED_OPTIMIZATION = "${@bb.data.getVar(['FULL_OPTIMIZATION', 'DEBUG_OPTIMIZATION'][bb.data.getVar('DEBUG_BUILD', d, 1) == '1'], d, 1)}"
263 BUILD_OPTIMIZATION = "-O2"
264
265 ##################################################################
266 # Bootstrap stuff.
267 ##################################################################
268
269 BOOTSTRAP_EXTRA_DEPENDS = ""
270 BOOTSTRAP_EXTRA_RDEPENDS = ""
271 BOOTSTRAP_EXTRA_RRECOMMENDS = ""
272
273 ##################################################################
274 # Palmtop stuff.
275 ##################################################################
276
277 export QTDIR = "${STAGING_DIR}/${HOST_SYS}/qt2"
278 export QPEDIR = "${STAGING_DIR}/${HOST_SYS}"
279 export OPIEDIR = "${STAGING_DIR}/${HOST_SYS}"
280 export palmtopdir = "/opt/QtPalmtop"
281 export palmqtdir = "/opt/QtPalmtop"
282
283 ##################################################################
284 # Download locations and utilities.
285 ##################################################################
286
287 GNU_MIRROR = "ftp://ftp.gnu.org/gnu"
288 DEBIAN_MIRROR = "ftp://ftp.debian.org/debian/pool"
289 SOURCEFORGE_MIRROR = "http://aleron.dl.sourceforge.net/sourceforge"
290 GPE_MIRROR = "http://ftp.handhelds.org/pub/projects/gpe/source"
291 XLIBS_MIRROR = "http://freedesktop.org/~xlibs/release"
292 GNOME_MIRROR = "http://ftp.gnome.org/pub/GNOME/sources"
293 HANDHELDS_CVS = "cvs://anoncvs:anoncvs@cvs.handhelds.org/cvs"
294
295 # You can use the mirror of your country to get faster downloads by putting
296 #  export DEBIAN_MIRROR = "ftp://ftp.de.debian.org/debian/pool"
297 #  export SOURCEFORGE_MIRROR = "http://belnet.dl.sourceforge.net/sourceforge"
298 #     into your local.conf
299
300 FETCHCOMMAND = ""
301 FETCHCOMMAND_wget = "/usr/bin/env wget -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
302 FETCHCOMMAND_cvs = "/usr/bin/env cvs -d${CVSROOT} co ${CVSCOOPTS} ${CVSMODULE}"
303 RESUMECOMMAND = ""
304 RESUMECOMMAND_wget = "/usr/bin/env wget -c -t 5 --passive-ftp -P ${DL_DIR} ${URI}"
305 UPDATECOMMAND = ""
306 UPDATECOMMAND_cvs = "/usr/bin/env cvs update -d -P ${CVSCOOPTS}"
307 CVSDATE = "${DATE}"
308
309 SRC_URI = "file://${FILE}"
310
311 ##################################################################
312 # Miscellaneous utilities.
313 ##################################################################
314
315 MKTEMPDIRCMD = "mktemp -d -q ${TMPBASE}"
316 MKTEMPCMD = "mktemp -q ${TMPBASE}"
317
318 # Program to be used to patch sources, use 'inherit patcher' to overwrite this:
319
320 PATCHCLEANCMD = 'if [ -n "`quilt applied`" ]; then quilt pop -a -R -f || exit 1; fi'
321 PATCHCMD = "pnum='%s'; name='%s'; patch='%s'; quilt upgrade >/dev/null 2>&1; quilt import -f -p $pnum -n $name $patch; chmod u+w patches/$name; quilt push"
322 PATCH_DEPENDS = "quilt-native"
323
324 # Program to be used to build ipkg packages
325
326 IPKGBUILDCMD = "ipkg-build -o 0 -g 0"
327
328 ##################################################################
329 # Not sure about the rest of this yet.
330 ##################################################################
331
332 # slot - currently unused by OE. portage remnants
333 SLOT = "0"
334
335 # Other
336
337 export PKG_CONFIG_PATH = "${STAGING_DATADIR}/pkgconfig"
338 export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
339
340 export QMAKE_MKSPEC_PATH = "${STAGING_DIR}/${BUILD_SYS}/share/qmake"
341 export STAGING_SIPDIR = "${STAGING_DIR}/${BUILD_SYS}/share/sip"
342 export STAGING_IDLDIR = "${STAGING_DATADIR}/idl"
343
344 # default test results for autoconf
345 #       possible candidate for moving into autotools.oeclass -CL
346 export CONFIG_SITE = "${@bb.which(bb.data.getVar('BBPATH', d, 1), 'site/%s-%s' % (bb.data.getVar('HOST_ARCH', d, 1), bb.data.getVar('HOST_OS', d, 1)))}"
347
348 # library package naming
349 AUTO_LIBNAME_PKGS = "${PACKAGES}"
350
351 ###
352 ### Config file processing
353 ###
354
355 # This means that an envionment variable named '<foo>_arm' overrides an
356 # environment variable '<foo>' (when ${TARGET_ARCH} is arm). And the same: an
357 # environment variable '<foo>_ramses' overrides both '<foo>' and '<foo>_arm
358 # when ${MACHINE} is 'ramses'. And finally '<foo>_local' overrides anything.
359 #
360 # This works for  functions as well, they are really just environment variables.
361 OVERRIDES = "local:${MACHINE}:${DISTRO}:${TARGET_OS}:${TARGET_ARCH}"
362
363 ##################################################################
364 # Include the rest of the config files.
365 ##################################################################
366
367 include conf/site.conf
368 include conf/auto.conf
369 include conf/local.conf
370 include conf/build/${BUILD_SYS}.conf
371 include conf/target/${TARGET_SYS}.conf
372 include conf/machine/${MACHINE}.conf
373 include conf/distro/${DISTRO}.conf