mirror of
https://git.yoctoproject.org/poky
synced 2026-09-16 00:49:32 +02:00
Remove layout_* variables
Remove layout_* variables and replace them with variables specific to the different classes. The layout variables were only useful for the native/cross classes and caused more confusion than they solved. They didn't scale to the sdk class. It now clear a small set of native/cross variables fulfil the needs. This patch also changes native.bbclass to use "/" as the STAGING_DIR which makes sense since we're installing binaries into the locations we're compiling them for. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
This commit is contained in:
@@ -1,65 +1,51 @@
|
||||
##################################################################
|
||||
# Standard target filesystem layout.
|
||||
##################################################################
|
||||
|
||||
# Path prefixes
|
||||
layout_prefix = "/usr"
|
||||
layout_exec_prefix = "/usr"
|
||||
layout_base_prefix = ""
|
||||
|
||||
# Base paths
|
||||
layout_base_bindir = "${layout_base_prefix}/bin"
|
||||
layout_base_sbindir = "${layout_base_prefix}/sbin"
|
||||
layout_base_libdir = "${layout_base_prefix}/lib"
|
||||
|
||||
# Architecture independent paths
|
||||
layout_sysconfdir = "${layout_base_prefix}/etc"
|
||||
layout_localstatedir = "${layout_base_prefix}/var"
|
||||
layout_servicedir = "${layout_base_prefix}/srv"
|
||||
layout_sharedstatedir = "${layout_prefix}/com"
|
||||
layout_datadir = "${layout_prefix}/share"
|
||||
layout_infodir = "${layout_datadir}/info"
|
||||
layout_mandir = "${layout_datadir}/man"
|
||||
layout_docdir = "${layout_datadir}/doc"
|
||||
|
||||
# Architecture dependent paths
|
||||
layout_bindir = "${layout_exec_prefix}/bin"
|
||||
layout_sbindir = "${layout_exec_prefix}/sbin"
|
||||
layout_libdir = "${layout_exec_prefix}/lib"
|
||||
layout_includedir = "${layout_exec_prefix}/include"
|
||||
layout_libexecdir = "${layout_exec_prefix}/libexec"
|
||||
|
||||
##################################################################
|
||||
# Standard target filesystem paths.
|
||||
##################################################################
|
||||
|
||||
# Path prefixes
|
||||
export base_prefix = ""
|
||||
export prefix = "${layout_prefix}"
|
||||
export exec_prefix = "${layout_exec_prefix}"
|
||||
export prefix = "/usr"
|
||||
export exec_prefix = "/usr"
|
||||
|
||||
# Base paths
|
||||
export base_bindir = "${layout_base_bindir}"
|
||||
export base_sbindir = "${layout_base_sbindir}"
|
||||
export base_libdir = "${layout_base_libdir}"
|
||||
export base_bindir = "${base_prefix}/bin"
|
||||
export base_sbindir = "${base_prefix}/sbin"
|
||||
export base_libdir = "${base_prefix}/lib"
|
||||
|
||||
# Architecture independent paths
|
||||
export datadir = "${layout_datadir}"
|
||||
export sysconfdir = "${layout_sysconfdir}"
|
||||
export sharedstatedir = "${layout_sharedstatedir}"
|
||||
export localstatedir = "${layout_localstatedir}"
|
||||
export infodir = "${layout_infodir}"
|
||||
export mandir = "${layout_mandir}"
|
||||
export docdir = "${layout_docdir}"
|
||||
export servicedir = "${layout_servicedir}"
|
||||
export datadir = "${prefix}/share"
|
||||
export sysconfdir = "${base_prefix}/etc"
|
||||
export servicedir = "${base_prefix}/srv"
|
||||
export sharedstatedir = "${base_prefix}/com"
|
||||
export localstatedir = "${base_prefix}/var"
|
||||
export infodir = "${datadir}/info"
|
||||
export mandir = "${datadir}/man"
|
||||
export docdir = "${datadir}/doc"
|
||||
|
||||
# Architecture dependent paths
|
||||
export bindir = "${layout_bindir}"
|
||||
export sbindir = "${layout_sbindir}"
|
||||
export libexecdir = "${layout_libexecdir}"
|
||||
export libdir = "${layout_libdir}"
|
||||
export includedir = "${layout_includedir}"
|
||||
export oldincludedir = "${layout_includedir}"
|
||||
export bindir = "${exec_prefix}/bin"
|
||||
export sbindir = "${exec_prefix}/sbin"
|
||||
export libexecdir = "${exec_prefix}/libexec"
|
||||
export libdir = "${exec_prefix}/lib"
|
||||
export includedir = "${exec_prefix}/include"
|
||||
export oldincludedir = "${exec_prefix}/include"
|
||||
|
||||
base_bindir_native = "/bin"
|
||||
base_sbindir_native = "/sbin"
|
||||
sysconfdir_native = "/etc"
|
||||
prefix_native = "/usr"
|
||||
bindir_native = "${prefix_native}/bin"
|
||||
sbindir_native = "${prefix_native}/sbin"
|
||||
includedir_native = "${prefix_native}/include"
|
||||
libdir_native = "${prefix_native}/lib"
|
||||
datadir_native = "${prefix_native}/share"
|
||||
bindir_cross = "/bin"
|
||||
|
||||
#
|
||||
# Cross recipes need to know about the target layout
|
||||
# := is used carefully here
|
||||
#
|
||||
target_datadir := "${datadir}"
|
||||
|
||||
##################################################################
|
||||
# Architecture-dependent build variables.
|
||||
@@ -263,21 +249,21 @@ B = "${S}"
|
||||
STAGING_DIR = "${TMPDIR}/staging"
|
||||
|
||||
STAGING_DIR_NATIVE = "${STAGING_DIR}/${BUILD_SYS}"
|
||||
STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_bindir}"
|
||||
STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${layout_bindir}/${MULTIMACH_HOST_SYS}"
|
||||
STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_libdir}"
|
||||
STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_includedir}"
|
||||
STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_sysconfdir}"
|
||||
STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${layout_datadir}"
|
||||
STAGING_BINDIR_NATIVE = "${STAGING_DIR_NATIVE}${bindir_native}"
|
||||
STAGING_BINDIR_CROSS = "${STAGING_DIR_NATIVE}${bindir_cross}/${MULTIMACH_HOST_SYS}"
|
||||
STAGING_LIBDIR_NATIVE = "${STAGING_DIR_NATIVE}${libdir_native}"
|
||||
STAGING_INCDIR_NATIVE = "${STAGING_DIR_NATIVE}${includedir_native}"
|
||||
STAGING_ETCDIR_NATIVE = "${STAGING_DIR_NATIVE}${sysconfdir_native}"
|
||||
STAGING_DATADIR_NATIVE = "${STAGING_DIR_NATIVE}${datadir_native}"
|
||||
|
||||
# This should really be MULTIMACH_HOST_SYS but that breaks "all" and machine
|
||||
# specific packages - hack around it for now.
|
||||
STAGING_DIR_HOST = "${STAGING_DIR}/${BASEPKG_HOST_SYS}"
|
||||
STAGING_BINDIR = "${STAGING_DIR_HOST}${layout_bindir}"
|
||||
STAGING_LIBDIR = "${STAGING_DIR_HOST}${layout_libdir}"
|
||||
STAGING_INCDIR = "${STAGING_DIR_HOST}${layout_includedir}"
|
||||
STAGING_DATADIR = "${STAGING_DIR_HOST}${layout_datadir}"
|
||||
STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${layout_exec_prefix}"
|
||||
STAGING_BINDIR = "${STAGING_DIR_HOST}${bindir}"
|
||||
STAGING_LIBDIR = "${STAGING_DIR_HOST}${libdir}"
|
||||
STAGING_INCDIR = "${STAGING_DIR_HOST}${includedir}"
|
||||
STAGING_DATADIR = "${STAGING_DIR_HOST}${datadir}"
|
||||
STAGING_EXECPREFIXDIR = "${STAGING_DIR_HOST}${exec_prefix}"
|
||||
STAGING_LOADER_DIR = "${STAGING_DIR_HOST}/loader"
|
||||
STAGING_FIRMWARE_DIR = "${STAGING_DIR_HOST}/firmware"
|
||||
STAGING_PYDIR = "${STAGING_DIR}/lib/python2.4"
|
||||
@@ -367,7 +353,7 @@ EXTRA_IMAGEDEPENDS = ""
|
||||
|
||||
CROSS_DIR = "${TMPDIR}/cross/${BASE_PACKAGE_ARCH}"
|
||||
CROSS_DATADIR = "${CROSS_DIR}/share"
|
||||
PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${layout_sbindir}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/bin:${STAGING_DIR_NATIVE}${layout_base_sbindir}:${STAGING_DIR_NATIVE}${layout_base_bindir}:"
|
||||
PATH_prepend = "${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${CROSS_DIR}/${bindir_cross}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}/${base_bindir_native}:"
|
||||
export PATH
|
||||
|
||||
##################################################################
|
||||
@@ -418,7 +404,7 @@ export BUILD_CPPFLAGS = "-isystem${STAGING_INCDIR_NATIVE}"
|
||||
BUILDSDK_CPPFLAGS = "-isystem${STAGING_INCDIR}"
|
||||
export CPPFLAGS = "${TARGET_CPPFLAGS}"
|
||||
export TARGET_CPPFLAGS = ""
|
||||
#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${layout_includedir}"
|
||||
#export TARGET_CPPFLAGS = "-isystem${STAGING_DIR_TARGET}${includedir}"
|
||||
|
||||
export BUILD_CFLAGS = "${BUILD_CPPFLAGS} ${BUILD_OPTIMIZATION}"
|
||||
BUILDSDK_CFLAGS = "${BUILDSDK_CPPFLAGS} ${BUILD_OPTIMIZATION}"
|
||||
@@ -439,8 +425,8 @@ BUILDSDK_LDFLAGS = "-L${STAGING_LIBDIR} \
|
||||
|
||||
export LDFLAGS = "${TARGET_LDFLAGS}"
|
||||
export TARGET_LDFLAGS = "-Wl,-O1"
|
||||
#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${layout_libdir} \
|
||||
# -Wl,-rpath-link,${STAGING_DIR_TARGET}${layout_libdir} \
|
||||
#export TARGET_LDFLAGS = "-L${STAGING_DIR_TARGET}${libdir} \
|
||||
# -Wl,-rpath-link,${STAGING_DIR_TARGET}${libdir} \
|
||||
# -Wl,-O1"
|
||||
|
||||
# Which flags to leave by strip-flags() in bin/build/oebuild.sh ?
|
||||
@@ -575,7 +561,7 @@ SLOT = "0"
|
||||
|
||||
# Other
|
||||
|
||||
export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${layout_libdir}/pkgconfig"
|
||||
export PKG_CONFIG_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}${libdir}/pkgconfig"
|
||||
export PKG_CONFIG_PATH = "${PKG_CONFIG_DIR}:${STAGING_DATADIR}/pkgconfig"
|
||||
export PKG_CONFIG_SYSROOT_DIR = "${STAGING_DIR}/${BASE_PACKAGE_ARCH}${TARGET_VENDOR}-${TARGET_OS}"
|
||||
export PKG_CONFIG_DISABLE_UNINSTALLED = "yes"
|
||||
|
||||
Reference in New Issue
Block a user