diff options
Diffstat (limited to 'classes/autotools.bbclass')
-rw-r--r-- | classes/autotools.bbclass | 59 |
1 files changed, 21 insertions, 38 deletions
diff --git a/classes/autotools.bbclass b/classes/autotools.bbclass index a535b046e3..1f03825b92 100644 --- a/classes/autotools.bbclass +++ b/classes/autotools.bbclass @@ -165,6 +165,17 @@ autotools_stage_includes() { fi } +autotools_stage_dir() { + from="$1" + to="$2" + # This will remove empty directories so we can ignore them + rmdir "$from" 2> /dev/null || true + if [ -d "$from" ]; then + mkdir -p "$to" + cp -fpPR -t "$to" "$from"/* + fi +} + autotools_stage_all() { if [ "${INHIBIT_AUTO_STAGE}" = "1" ] then @@ -173,9 +184,13 @@ autotools_stage_all() { rm -rf ${STAGE_TEMP} mkdir -p ${STAGE_TEMP} oe_runmake DESTDIR="${STAGE_TEMP}" install - if [ -d ${STAGE_TEMP}/${includedir} ]; then - mkdir -p ${STAGING_INCDIR} - cp -fpPR -t ${STAGING_INCDIR} ${STAGE_TEMP}/${includedir}/* + autotools_stage_dir ${STAGE_TEMP}/${includedir} ${STAGING_INCDIR} + if [ "${BUILD_SYS}" = "${HOST_SYS}" ]; then + autotools_stage_dir ${STAGE_TEMP}/${bindir} ${STAGING_DIR_HOST}${layout_bindir} + autotools_stage_dir ${STAGE_TEMP}/${sbindir} ${STAGING_DIR_HOST}${layout_sbindir} + autotools_stage_dir ${STAGE_TEMP}/${base_bindir} ${STAGING_DIR_HOST}${layout_base_bindir} + autotools_stage_dir ${STAGE_TEMP}/${base_sbindir} ${STAGING_DIR_HOST}${layout_base_sbindir} + autotools_stage_dir ${STAGE_TEMP}/${libexecdir} ${STAGING_DIR_HOST}${layout_libexecdir} fi if [ -d ${STAGE_TEMP}/${libdir} ] then @@ -200,41 +215,9 @@ autotools_stage_all() { cp -fpPR ${STAGE_TEMP}/${libdir}/* ${STAGING_LIBDIR} fi fi - - #This will remove an empty directory so we can ignore it - rmdir ${STAGE_TEMP}/${datadir} || true - if [ -d ${STAGE_TEMP}/${datadir} ]; then - install -d ${STAGING_DATADIR}/ - cp -fpPR ${STAGE_TEMP}/${datadir}/* ${STAGING_DATADIR}/ - fi - - if [ "${AUTOTOOLS_NATIVE_STAGE_BINARIES}" = "1" ] ; then - #This will remove an empty directory so we can ignore it - rmdir ${STAGE_TEMP}/${bindir} || true - if [ -d ${STAGE_TEMP}/${bindir} ]; then - mkdir -p ${STAGING_DIR_HOST}${layout_bindir} - cp -fpPR -t ${STAGING_DIR_HOST}/${layout_bindir} ${STAGE_TEMP}/${bindir}/* - fi - #This will remove an empty directory so we can ignore it - rmdir ${STAGE_TEMP}/${sbindir} || true - if [ -d ${STAGE_TEMP}/${sbindir} ]; then - mkdir -p ${STAGING_DIR_HOST}${layout_sbindir} - cp -fpPR -t ${STAGING_DIR_HOST}/${layout_sbindir} ${STAGE_TEMP}/${sbindir}/* - fi - #This will remove an empty directory so we can ignore it - rmdir ${STAGE_TEMP}/${base_bindir} || true - if [ -d ${STAGE_TEMP}/${base_bindir} ]; then - mkdir -p ${STAGING_DIR_HOST}${layout_base_bindir} - cp -fpPR -t ${STAGING_DIR_HOST}/${layout_base_bindir} ${STAGE_TEMP}/${base_bindir}/* - fi - #This will remove an empty directory so we can ignore it - rmdir ${STAGE_TEMP}/${base_sbindir} || true - if [ -d ${STAGE_TEMP}/${base_sbindir} ]; then - mkdir -p ${STAGING_DIR_HOST}${layout_base_sbindir} - cp -fpPR -t ${STAGING_DIR_HOST}/${layout_nase_sbindir} ${STAGE_TEMP}/${base_sbindir}/* - fi - - fi + rm -rf ${STAGE_TEMP}/${mandir} || true + rm -rf ${STAGE_TEMP}/${infodir} || true + autotools_stage_dir ${STAGE_TEMP}/${datadir} ${STAGING_DATADIR} rm -rf ${STAGE_TEMP} } |