1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-17 10:26:15 +00:00
freebsd/share/mk/bsd.symver.mk
John Baldwin 371f3da616 Remove the SYMVER build option.
This option was added as a transition aide when symbol versioning was
first added.  It was enabled by default in 2007 and is supported even
by the old GPLv2 binutils.  Trying to disable it currently fails to
build in libc and at this point it isn't worth fixing the build.

Reported by:	Michael Dexter
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D24637
2020-04-30 22:08:40 +00:00

48 lines
1.1 KiB
Makefile

# $FreeBSD$
.if !target(__<bsd.symver.mk>__)
__<bsd.symver.mk>__:
.include <bsd.init.mk>
# Generate the version map given the version definitions
# and symbol maps.
.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS)
# Find the awk script that generates the version map.
VERSION_GEN?= version_gen.awk
VERSION_MAP?= Version.map
CLEANFILES+= ${VERSION_MAP}
# Compute the make's -m path.
_mpath=
_oarg=
.for _arg in ${.MAKEFLAGS}
.if ${_oarg} == "-m"
_mpath+= ${_arg}
.endif
_oarg= ${_arg}
.endfor
_mpath+= /usr/share/mk
# Look up ${VERSION_GEN} in ${_mpath}.
_vgen=
.for path in ${_mpath}
.if empty(_vgen)
.if exists(${path}/${VERSION_GEN})
_vgen= ${path}/${VERSION_GEN}
.endif
.endif
.endfor
.if empty(_vgen)
.error ${VERSION_GEN} not found in the search path.
.endif
# Run the symbol maps through the C preprocessor before passing
# them to the symbol version generator.
${VERSION_MAP}: ${VERSION_DEF} ${_vgen} ${SYMBOL_MAPS}
cat ${SYMBOL_MAPS} | ${CPP} - - \
| awk -v vfile=${VERSION_DEF} -f ${_vgen} > ${.TARGET}
.endif # !empty(VERSION_DEF) && !empty(SYMBOL_MAPS)
.endif # !target(__<bsd.symver.mk>__)