Add libpe for elfcopy(1) PE/COFF support

Sponsored by:	The FreeBSD Foundation
This commit is contained in:
Ed Maste 2016-02-12 21:12:47 +00:00
parent a4a7c8254c
commit c1da297433
4 changed files with 42 additions and 0 deletions

View File

@ -1638,6 +1638,7 @@ _binutils= gnu/usr.bin/binutils
.endif
.if ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no"
_elftctools= lib/libelftc \
lib/libpe \
usr.bin/elfcopy \
usr.bin/nm \
usr.bin/size \
@ -1650,6 +1651,7 @@ _elftctools+= usr.bin/addr2line
# If cross-building with an external binutils we still need to build strip for
# the target (for at least crunchide).
_elftctools= lib/libelftc \
lib/libpe \
usr.bin/elfcopy
.endif

View File

@ -80,6 +80,7 @@ SUBDIR= ${SUBDIR_ORDERED} \
libopie \
libpam \
libpcap \
${_libpe} \
libpjdlog \
${_libpmc} \
${_libproc} \
@ -184,6 +185,7 @@ _cuse= libcuse
.if ${MK_TOOLCHAIN} != "no"
_libelftc= libelftc
_libpe= libpe
.endif
.if ${MK_FILE} != "no"

34
lib/libpe/Makefile Normal file
View File

@ -0,0 +1,34 @@
# $FreeBSD$
.include <bsd.own.mk>
INTERNALLIB=
ELFTCDIR= ${.CURDIR}/../../contrib/elftoolchain
.PATH: ${ELFTCDIR}/libpe
LIB= pe
SRCS= libpe_buffer.c \
libpe_coff.c \
libpe_dos.c \
libpe_init.c \
libpe_rich.c \
libpe_section.c \
libpe_utils.c \
pe_buffer.c \
pe_cntl.c \
pe_coff.c \
pe_dos.c \
pe_flag.c \
pe_init.c \
pe_rich.c \
pe_section.c \
pe_symtab.c \
pe_update.c
CFLAGS+=-I${ELFTCDIR}/libpe -I${ELFTCDIR}/common
MAN=
.include <bsd.lib.mk>

View File

@ -39,6 +39,7 @@ _INTERNALLIBS= \
openbsd \
opts \
parse \
pe \
readline \
sl \
sm \
@ -367,6 +368,9 @@ LDADD+= ${LDADD_${_l}}
LIBELFTCDIR= ${OBJTOP}/lib/libelftc
LIBELFTC?= ${LIBELFTCDIR}/libelftc.a
LIBPEDIR= ${OBJTOP}/lib/libpe
LIBPE?= ${LIBPEDIR}/libpe.a
LIBREADLINEDIR= ${OBJTOP}/gnu/lib/libreadline/readline
LIBREADLINE?= ${LIBREADLINEDIR}/libreadline.a