mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-23 11:16:33 +00:00
msun: LIBCSRCDIR is too fragile, use ${SRCTOP}/lib/libc instead
LIBCSRCDIR is defined in bsd.libnames.mk, which is read in later in the Makefile than the line: .if exists(${LIBCSRCDIR}/${MACHINE_ARCH}) so we test to see if /${MARCHIN_ARCH} exists which it usually doesn't (but did for me since I mounted 13.2R SD image there). Move to defining our own LIBC_SRCTOP in terms of SRCTOP to treat these uniformily. Sponsored by: Netflix Reviewed by: sjg Differential Revision: https://reviews.freebsd.org/D41661
This commit is contained in:
parent
815b7436a7
commit
b19d8afe4d
|
@ -7,12 +7,14 @@ SHLIBDIR?= /lib
|
|||
|
||||
LIBC_SRCTOP?= ${.CURDIR}
|
||||
|
||||
# Pick the current architecture directory for libc. In general, this is
|
||||
# named MACHINE_CPUARCH, but some ABIs are different enough to require
|
||||
# their own libc, so allow a directory named MACHINE_ARCH to override this.
|
||||
|
||||
.if exists(${LIBC_SRCTOP}/${MACHINE_ARCH:S/powerpc64le/powerpc64/})
|
||||
LIBC_ARCH=${MACHINE_ARCH:S/powerpc64le/powerpc64/}
|
||||
# Pick the current architecture directory for libc. In general, this is named
|
||||
# MACHINE_CPUARCH, but some ABIs are different enough to require their own libc,
|
||||
# so allow a directory named MACHINE_ARCH to override this (though treat
|
||||
# powerpc64le and powerpc64 the same).
|
||||
# Note: This is copeid to msun/Makefile
|
||||
M=${MACHINE_ARCH:S/powerpc64le/powerpc64/}
|
||||
.if exists(${LIBC_SRCTOP}/${M})
|
||||
LIBC_ARCH=${M}
|
||||
.else
|
||||
LIBC_ARCH=${MACHINE_CPUARCH}
|
||||
.endif
|
||||
|
|
|
@ -97,17 +97,27 @@ COMMON_SRCS+= s_cospi.c s_cospif.c \
|
|||
s_sinpi.c s_sinpif.c \
|
||||
s_tanpi.c s_tanpif.c
|
||||
|
||||
# LIBCSRCDIR is defined lazily, so can't be used for exists() below
|
||||
LIBC_SRCTOP=${SRCTOP}/lib/libc
|
||||
# Location of fpmath.h and _fpmath.h
|
||||
.if exists(${LIBCSRCDIR}/${MACHINE_ARCH})
|
||||
LIBC_ARCH=${MACHINE_ARCH}
|
||||
|
||||
# Pick the current architecture directory for libc. In general, this is named
|
||||
# MACHINE_CPUARCH, but some ABIs are different enough to require their own libc,
|
||||
# so allow a directory named MACHINE_ARCH to override this (though treat
|
||||
# powerpc64le and powerpc64 the same).
|
||||
# Note: This is copied from libc/Makefile
|
||||
M=${MACHINE_ARCH:S/powerpc64le/powerpc64/}
|
||||
.if exists(${LIBC_SRCTOP}/${M})
|
||||
LIBC_ARCH=${M}
|
||||
.else
|
||||
LIBC_ARCH=${MACHINE_CPUARCH}
|
||||
.endif
|
||||
CFLAGS+= -I${.CURDIR}/src -I${LIBCSRCDIR}/include \
|
||||
-I${LIBCSRCDIR}/${LIBC_ARCH}
|
||||
|
||||
CFLAGS+= -I${.CURDIR}/src -I${LIBC_SRCTOP}/include \
|
||||
-I${LIBC_SRCTOP}/${LIBC_ARCH}
|
||||
SYM_MAPS+= ${.CURDIR}/Symbol.map
|
||||
|
||||
VERSION_DEF= ${LIBCSRCDIR}/Versions.def
|
||||
VERSION_DEF= ${LIBC_SRCTOP}/Versions.def
|
||||
SYMBOL_MAPS= ${SYM_MAPS}
|
||||
|
||||
# C99 long double functions
|
||||
|
|
Loading…
Reference in a new issue