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