From af85ce4b4e675feb5796f87137c86d70c2f15b9a Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Wed, 16 Sep 2009 23:09:44 +0100 Subject: 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 --- meta/conf/bitbake.conf | 118 ++++++++++++++++++++++--------------------------- 1 file changed, 52 insertions(+), 66 deletions(-) (limited to 'meta/conf') diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf index a0e62578ec..f5031f0b01 100644 --- a/meta/conf/bitbake.conf +++ b/meta/conf/bitbake.conf @@ -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" -- cgit v1.2.3-54-g00ecf