Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into...
[vuplus_openembedded] / classes / canadian-sdk.bbclass
1 # Canadian SDK packages are built either explicitly by the user,
2 # or indirectly via dependency.  No need to be in 'world'.
3 EXCLUDE_FROM_WORLD = "1"
4
5 inherit canadian
6
7 PACKAGE_ARCH = "${SDK_SYS}-sdk-${OLD_PACKAGE_ARCH}"
8 BASE_PACKAGE_ARCH = "${OLD_BASE_PACKAGE_ARCH}"
9
10 HOST_ARCH = "${SDK_ARCH}"
11 HOST_VENDOR = "${SDK_VENDOR}"
12 HOST_OS = "${SDK_OS}"
13 HOST_PREFIX = "${SDK_PREFIX}"
14 HOST_CC_ARCH = "${SDK_CC_ARCH}"
15 HOST_EXEEXT = "${SDK_EXEEXT}"
16
17 CPPFLAGS = "${SDK_CPPFLAGS}"
18 CFLAGS = "${SDK_CFLAGS}"
19 CXXFLAGS = "${SDK_CFLAGS}"
20 LDFLAGS = "${SDK_LDFLAGS}"
21
22 # TODO: add logic to add the following unless PN ~= gcc*
23 #DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils virtual/${HOST_PREFIX}gcc "
24 # and otherwise just
25 DEPENDS_prepend = "virtual/${HOST_PREFIX}binutils "
26
27 SDK_PATH_sdk-mingw32 = "/OpenEmbedded/${SDK_NAME}"
28 SDK_REALPATH = "${SDK_PATH}"
29 SDK_REALPATH_sdk-mingw32 = "C:/OpenEmbedded/${SDK_NAME}"
30
31 # Path prefixes
32 prefix = "${SDK_PATH}"
33 exec_prefix = "${prefix}"
34 base_prefix = "${prefix}"
35
36 # Base paths
37 export base_bindir = "${prefix}/bin"
38 export base_sbindir = "${prefix}/bin"
39 export base_libdir = "${prefix}/lib"
40
41 # Architecture independent paths
42 export datadir = "${prefix}/share"
43 export sysconfdir = "${prefix}/etc"
44 export sharedstatedir = "${datadir}/com"
45 export localstatedir = "${prefix}/var"
46 export infodir = "${datadir}/info"
47 export mandir = "${datadir}/man"
48 export docdir = "${datadir}/doc"
49 export servicedir = "${prefix}/srv"
50
51 # Architecture dependent paths
52 export bindir = "${prefix}/bin"
53 export sbindir = "${prefix}/bin"
54 export libexecdir = "${prefix}/libexec"
55 export libdir = "${prefix}/lib"
56 export includedir = "${prefix}/include"
57 export oldincludedir = "${prefix}/include"
58
59 export dollar = "$"
60
61 canadian_sdk_runconf() {
62         # modified oe_runconf()
63         # 1. Override prefix with SDK_REALPATH
64         # 2. Pass '${prefix}' to configure, to allow for prefix override
65         # 3. But don't do that for infodir and mandir, as they will
66         #    break gcc makefiles for windows/dos SDK_REALPATH
67         if [ -x ${S}/configure ] ; then
68                 cfgcmd="${S}/configure \
69                     --build=${BUILD_SYS} \
70                     --host=${HOST_SYS} \
71                     --target=${TARGET_SYS} \
72                     --prefix=${SDK_REALPATH} \
73                     --exec-prefix=$dollar{prefix} \
74                     --bindir=$dollar{prefix}/bin \
75                     --sbindir=$dollar{prefix}/bin \
76                     --libexecdir=$dollar{prefix}/libexec \
77                     --datadir=$dollar{prefix}/share \
78                     --sysconfdir=$dollar{prefix}/etc \
79                     --sharedstatedir=$dollar{prefix}/com \
80                     --localstatedir=$dollar{prefix}/var \
81                     --libdir=$dollar{prefix}/lib \
82                     --includedir=$dollar{prefix}/include \
83                     --oldincludedir=$dollar{prefix}/include \
84                     --infodir=${prefix}/share/info \
85                     --mandir=${prefix}/share/man \
86                     --enable-mainainer-mode \
87                     ${EXTRA_OECONF} \
88                     $@"
89                 oenote "Running $cfgcmd..."
90                 $cfgcmd || oefatal "oe_runconf failed"
91         else
92                 oefatal "no configure script found"
93         fi
94 }
95
96 FILES_${PN} = "${prefix}"
97 FILES_${PN}-dbg += "${prefix}/.debug \
98                     ${prefix}/bin/.debug \
99                    "