propagate from branch 'org.openembedded.dev' (head 3fed235384e32b1c9ba26c86ff39b2ffb9...
[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 TARGET_ARCH = "${BUILD_ARCH}"
15 TARGET_OS = "${BUILD_OS}"
16 TARGET_VENDOR = "${BUILD_VENDOR}"
17 TARGET_PREFIX = "${BUILD_PREFIX}"
18 TARGET_CC_ARCH = "${BUILD_CC_ARCH}"
19
20 HOST_ARCH = "${BUILD_ARCH}"
21 HOST_OS = "${BUILD_OS}"
22 HOST_VENDOR = "${BUILD_VENDOR}"
23 HOST_PREFIX = "${BUILD_PREFIX}"
24 HOST_CC_ARCH = "${BUILD_CC_ARCH}"
25
26 CPPFLAGS = "${BUILD_CPPFLAGS}"
27 CFLAGS = "${BUILD_CFLAGS}"
28 CXXFLAGS = "${BUILD_CFLAGS}"
29 LDFLAGS = "${BUILD_LDFLAGS}"
30 LDFLAGS_build-darwin = "-L${STAGING_DIR}/${BUILD_SYS}/lib "
31
32 STAGING_BINDIR = "${STAGING_BINDIR_NATIVE}"
33 STAGING_BINDIR_CROSS = "${STAGING_BINDIR_NATIVE}"
34
35 # Don't use site files for native builds
36 export CONFIG_SITE = ""
37
38 # set the compiler as well. It could have been set to something else
39 export CC = "${CCACHE}${HOST_PREFIX}gcc ${HOST_CC_ARCH}"
40 export CXX = "${CCACHE}${HOST_PREFIX}g++ ${HOST_CC_ARCH}"
41 export F77 = "${CCACHE}${HOST_PREFIX}g77 ${HOST_CC_ARCH}"
42 export CPP = "${HOST_PREFIX}gcc -E"
43 export LD = "${HOST_PREFIX}ld"
44 export CCLD = "${CC}"
45 export AR = "${HOST_PREFIX}ar"
46 export AS = "${HOST_PREFIX}as"
47 export RANLIB = "${HOST_PREFIX}ranlib"
48 export STRIP = "${HOST_PREFIX}strip"
49
50
51 # Path prefixes
52 base_prefix = "${exec_prefix}"
53 prefix = "${STAGING_DIR}"
54 exec_prefix = "${STAGING_DIR}/${BUILD_ARCH}-${BUILD_OS}"
55
56 # Base paths
57 base_bindir = "${base_prefix}/bin"
58 base_sbindir = "${base_prefix}/bin"
59 base_libdir = "${base_prefix}/lib"
60
61 # Architecture independent paths
62 sysconfdir = "${prefix}/etc"
63 sharedstatedir = "${prefix}/com"
64 localstatedir = "${prefix}/var"
65 infodir = "${datadir}/info"
66 mandir = "${datadir}/man"
67 docdir = "${datadir}/doc"
68 servicedir = "${prefix}/srv"
69
70 # Architecture dependent paths
71 bindir = "${exec_prefix}/bin"
72 sbindir = "${exec_prefix}/bin"
73 libexecdir = "${exec_prefix}/libexec"
74 libdir = "${exec_prefix}/lib"
75 includedir = "${exec_prefix}/include"
76 oldincludedir = "${exec_prefix}/include"
77
78 # Datadir is made arch dependent here, primarily
79 # for autoconf macros, and other things that
80 # may be manipulated to handle crosscompilation
81 # issues.
82 datadir = "${exec_prefix}/share"
83
84 do_stage () {
85         if [ "${INHIBIT_NATIVE_STAGE_INSTALL}" != "1" ]
86         then
87                 oe_runmake install
88         fi
89 }
90
91 do_install () {
92         true
93 }
94
95 PKG_CONFIG_PATH .= "${EXTRA_NATIVE_PKGCONFIG_PATH}"