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