# $FreeBSD: head/Mk/Uses/pathfix.mk 463881 2018-03-08 09:08:48Z gahr $
#
# Lookup common paths in Makefile.in, configure and similar files, and replace
# their values to respect FreeBSD hier(7) for file installation.
#
# Feature:	pathfix
# Usage:	USES=pathfix
# Valid ARGS:	does not require args
#
# MAINTAINER: portmgr@FreeBSD.org

.if !defined(_INCLUDE_USES_PATHFIX_MK)
_INCLUDE_USES_PATHFIX_MK=	yes

.if !empty(pathfix_ARGS)
IGNORE=	USES=pathfix does not require args
.endif

PATHFIX_CMAKELISTSTXT?=	CMakeLists.txt
.if ${USES:Mautoreconf*}
PATHFIX_MAKEFILEIN?=	Makefile.am Makefile.in
.else
PATHFIX_MAKEFILEIN?=	Makefile.in
.endif
PATHFIX_WRKSRC?=	${WRKSRC}

_USES_patch+=	190:pathfix
pathfix:
.if ${USES:Mcmake*}
.for file in ${PATHFIX_CMAKELISTSTXT}
	@${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
		's|[{]CMAKE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]CMAKE_INSTALL_DATAROOTDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]INSTALL_LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]LIB_DESTINATION[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]LIB_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]LIB_INSTALL_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]KDE_INSTALL_LIBDIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]LIBRARY_INSTALL_DIR[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|[{]libdir[}]/pkgconfig|{CMAKE_INSTALL_PREFIX}/lib/pkgconfig|g ; \
		s|lib/pkgconfig|lib/pkgconfig|g'
.endfor
.else
.for file in ${PATHFIX_MAKEFILEIN}
	@${FIND} ${PATHFIX_WRKSRC} -name "${file}" -type f | ${XARGS} ${REINPLACE_CMD} -e \
		's|[(]libdir[)]/locale|(prefix)/share/locale|g ; \
		s|[(]libdir[)]/pkgconfig|(prefix)/lib/pkgconfig|g ; \
		s|[(]LIBDIR[)]/pkgconfig|(PREFIX)/lib/pkgconfig|g ; \
		s|@libdir@/locale|@prefix@/share/locale|g ; \
		s|@libdir@/pkgconfig|@prefix@/lib/pkgconfig|g ; \
		s|[{]libdir[}]/pkgconfig|(prefix)/lib/pkgconfig|g ; \
		s|[{]LIBDIR[}]/pkgconfig|(PREFIX)/lib/pkgconfig|g ; \
		s|[(]datadir[)]/pkgconfig|(prefix)/lib/pkgconfig|g ; \
		s|[{]datadir[}]/pkgconfig|(prefix)/lib/pkgconfig|g ; \
		s|[(]prefix[)]/lib/pkgconfig|(prefix)/lib/pkgconfig|g ; \
		s|[[:<:]]lib/pkgconfig|lib/pkgconfig|g; \
		s|[$$][(]localstatedir[)]/scrollkeeper|${SCROLLKEEPER_DIR}|g ; \
		s|[(]libdir[)]/bonobo/servers|(prefix)/libdata/bonobo/servers|g'
.endfor
.endif

.endif
