Introduce STAGING_BINDIR_CROSS and STAGING_BINDIR_NATIVE as discussed on the mailing...
[vuplus_openembedded] / classes / native.bbclass
1 inherit base
2
3 # Native packages are built indirectly via dependency,
4 # no need for them to be a direct target of 'world'
5 EXCLUDE_FROM_WORLD = "1"
6
7 PACKAGES = ""
8 PACKAGE_ARCH = "${BUILD_ARCH}"
9
10 # When this class has packaging enabled, setting 
11 # RPROVIDES becomes unnecessary.
12 RPROVIDES = "${PN}"
13
14 # Need to resolve package RDEPENDS as well as DEPENDS
15 BUILD_ALL_DEPS = "1"
16
17 # Break the circular dependency as a result of DEPENDS
18 # in package.bbclass
19 PACKAGE_DEPENDS = ""
20
21 TARGET_ARCH = "${BUILD_ARCH}"
22 TARGET_OS = "${BUILD_OS}"
23 TARGET_VENDOR = "${BUILD_VENDOR}"
24 TARGET_PREFIX = "${BUILD_PREFIX}"
25 TARGET_CC_ARCH = "${BUILD_CC_ARCH}"
26
27 HOST_ARCH = "${BUILD_ARCH}"
28 HOST_OS = "${BUILD_OS}"
29 HOST_VENDOR = "${BUILD_VENDOR}"
30 HOST_PREFIX = "${BUILD_PREFIX}"
31 HOST_CC_ARCH = "${BUILD_CC_ARCH}"
32
33 CPPFLAGS = "${BUILD_CPPFLAGS}"
34 CFLAGS = "${BUILD_CFLAGS}"
35 CXXFLAGS = "${BUILD_CFLAGS}"
36 LDFLAGS = "${BUILD_LDFLAGS}"
37 LDFLAGS_build-darwin = "-L${STAGING_DIR}/${BUILD_SYS}/lib "
38
39 STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}"
40 STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}"
41
42 # set the compiler as well. It could have been set to something else
43 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
44 export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
45 export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
46 export CPP = "${HOST_PREFIX}gcc -E"
47 export LD = "${HOST_PREFIX}ld"
48 export CCLD = "${CC}"
49 export AR = "${HOST_PREFIX}ar"
50 export AS = "${HOST_PREFIX}as"
51 export RANLIB = "${HOST_PREFIX}ranlib"
52 export STRIP = "${HOST_PREFIX}strip"
53
54
55 # Path prefixes
56 base_prefix = "${exec_prefix}"
57 prefix = "${STAGING_DIR}"
58 exec_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}"
59
60 # Base paths
61 base_bindir = "${base_prefix}/bin"
62 base_sbindir = "${base_prefix}/bin"
63 base_libdir = "${base_prefix}/lib"
64
65 # Architecture independent paths
66 sysconfdir = "${prefix}/etc"
67 sharedstatedir = "${prefix}/com"
68 localstatedir = "${prefix}/var"
69 infodir = "${datadir}/info"
70 mandir = "${datadir}/man"
71 docdir = "${datadir}/doc"
72 servicedir = "${prefix}/srv"
73
74 # Architecture dependent paths
75 bindir = "${exec_prefix}/bin"
76 sbindir = "${exec_prefix}/bin"
77 libexecdir = "${exec_prefix}/libexec"
78 libdir = "${exec_prefix}/lib"
79 includedir = "${exec_prefix}/include"
80 oldincludedir = "${exec_prefix}/include"
81
82 # Datadir is made arch dependent here, primarily
83 # for autoconf macros, and other things that
84 # may be manipulated to handle crosscompilation
85 # issues.
86 datadir = "${exec_prefix}/share"
87
88 do_stage () {
89         if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
90         then
91                 oe_runmake install
92         fi
93 }
94
95 do_install () {
96         true
97 }