merge of 8efb6d518237c849bc9f83f3b790e512ede468b5
[openembedded.git] / 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
40 # set the compiler as well. It could have been set to something else
41 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
42 export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
43 export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
44 export CPP = "${HOST_PREFIX}gcc -E"
45 export LD = "${HOST_PREFIX}ld"
46 export CCLD = "${CC}"
47 export AR = "${HOST_PREFIX}ar"
48 export AS = "${HOST_PREFIX}as"
49 export RANLIB = "${HOST_PREFIX}ranlib"
50 export STRIP = "${HOST_PREFIX}strip"
51
52
53 # Path prefixes
54 base_prefix = "${exec_prefix}"
55 prefix = "${STAGING_DIR}"
56 exec_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}"
57
58 # Base paths
59 base_bindir = "${base_prefix}/bin"
60 base_sbindir = "${base_prefix}/bin"
61 base_libdir = "${base_prefix}/lib"
62
63 # Architecture independent paths
64 sysconfdir = "${prefix}/etc"
65 sharedstatedir = "${prefix}/com"
66 localstatedir = "${prefix}/var"
67 infodir = "${datadir}/info"
68 mandir = "${datadir}/man"
69 docdir = "${datadir}/doc"
70 servicedir = "${prefix}/srv"
71
72 # Architecture dependent paths
73 bindir = "${exec_prefix}/bin"
74 sbindir = "${exec_prefix}/bin"
75 libexecdir = "${exec_prefix}/libexec"
76 libdir = "${exec_prefix}/lib"
77 includedir = "${exec_prefix}/include"
78 oldincludedir = "${exec_prefix}/include"
79
80 # Datadir is made arch dependent here, primarily
81 # for autoconf macros, and other things that
82 # may be manipulated to handle crosscompilation
83 # issues.
84 datadir = "${exec_prefix}/share"
85
86 do_stage () {
87         if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
88         then
89                 oe_runmake install
90         fi
91 }
92
93 do_install () {
94         true
95 }