Use the newly minted Makefile.libcompat to implement libsoft libraries

for the armv6 ABI switch. This also make WITH_LIBSOFT functional on
the arm platform. As a transition thing, this seems to work even
without switching the ABI (we basically build the same libraries
twice when MK_LIBSOFT=yes until the ABI cut over next
month). MK_LIBSOFT remains default no.
This commit is contained in:
Warner Losh 2016-03-12 23:25:05 +00:00
parent 2c4f4af7a8
commit bb52d711d0
4 changed files with 16 additions and 3 deletions

View File

@ -125,7 +125,8 @@ TGTS= all all-man buildenv buildenvvars buildkernel buildworld \
obj objlink rerelease showconfig tags toolchain update \ obj objlink rerelease showconfig tags toolchain update \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \ _worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_build-tools _cross-tools _includes _libraries _depend \ _build-tools _cross-tools _includes _libraries _depend \
build32 builddtb distribute32 install32 xdev xdev-build xdev-install \ build32 distribute32 install32 build32 distribute32 install32 \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools installconfig \ xdev-links native-xtools installconfig \
TGTS+= ${SUBDIR_TARGETS} TGTS+= ${SUBDIR_TARGETS}

View File

@ -458,6 +458,9 @@ XCXXFLAGS+= ${BFLAGS}
${TARGET_ARCH} == "powerpc64") ${TARGET_ARCH} == "powerpc64")
LIBCOMPAT= 32 LIBCOMPAT= 32
.include "Makefile.libcompat" .include "Makefile.libcompat"
.elif ${MK_LIBSOFT} != "no" && ${TARGET_ARCH} == "armv6"
LIBCOMPAT= SOFT
.include "Makefile.libcompat"
.endif .endif
WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP} WMAKE= ${WMAKEENV} ${MAKE} ${WORLD_FLAGS} -f Makefile.inc1 DESTDIR=${WORLDTMP}

View File

@ -39,11 +39,20 @@ LIB32CFLAGS= -m32 -DCOMPAT_32BIT
LIB32DTRACE= ${DTRACE} -32 LIB32DTRACE= ${DTRACE} -32
LIB32WMAKEFLAGS+= -DCOMPAT_32BIT LIB32WMAKEFLAGS+= -DCOMPAT_32BIT
# -------------------------------------------------------------------
# soft-fp world
.if ${TARGET_ARCH} == "armv6"
LIBSOFTCFLAGS= -DCOMPAT_SOFTFP
LIBSOFTCPUFLAGS= -mfloat-abi=softfp
LIBSOFTWMAKEENV= CPUTYPE=soft MACHINE=arm MACHINE_ARCH=armv6
LIBSOFTWMAKEFLAGS= -DCOMPAT_SOFTFP
.endif
# ------------------------------------------------------------------- # -------------------------------------------------------------------
# Generic code for each type. # Generic code for each type.
# Set defaults based on type. # Set defaults based on type.
libcompat= ${LIBCOMPAT:tl} libcompat= ${LIBCOMPAT:tl}
_LIBCOMPAT_MAKEVARS= _OBJTREE TMP CFLAGS WMAKEENV WMAKEFLAGS WMAKE _LIBCOMPAT_MAKEVARS= _OBJTREE TMP CPUFLAGS CFLAGS WMAKEENV WMAKEFLAGS WMAKE
.for _var in ${_LIBCOMPAT_MAKEVARS} .for _var in ${_LIBCOMPAT_MAKEVARS}
.if !empty(LIB${LIBCOMPAT}${_var}) .if !empty(LIB${LIBCOMPAT}${_var})
LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}} LIBCOMPAT${_var}?= ${LIB${LIBCOMPAT}${_var}}

View File

@ -172,7 +172,7 @@ _libbsnmp= libbsnmp
_libcasper= libcasper _libcasper= libcasper
.endif .endif
.if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) .if ${MK_CLANG} != "no" && !defined(COMPAT_32BIT) && !defined(COMPAT_SOFTFP)
_clang= clang _clang= clang
.endif .endif