freebsd-ports/x11/kde4/Makefile.kde
Will Andrews a725cb5ec5 Switch to a more scalable and better method of hacking the pthread stuff
in for -CURRENT (essentially, reinplace).  This method was originally
believed not to work, but it was simply missing the ltmain.sh fix.  This
should allow third-party apps to be fixed without needing to put the same
snippet everywhere.  Not to mention getting rid of the patches.
2003-11-02 15:56:12 +00:00

130 lines
3.5 KiB
Makefile

# This is a simple set of Makefile macros which allow the core kde ports to
# bring these in automatically since it's tiring to modify all of them to
# add more of these. These don't belong in bsd.kde.mk because they aren't
# very likely to apply outside of KDE core modules. Nonetheless, also
# provide variables to remove one or more of these.
#
# $FreeBSD$
CONFIGURE_ARGS?=
# Stop the docs from regenerating.
COPY= -c -p
# For ports that have I18N components only.
.if defined(KDE_I18N)
_NO_KDE_FINAL= yes
_NO_KDE_NDEBUG= yes
DISTNAME= ${PORTNAME}-${PKGNAMEPREFIX:S/-$//}-${PORTVERSION}
# Since KDE 3.1.3, the kde-i18n tarballs have the ${KDE_VERSION}
# as part of the name of their toplevel directory, while the
# koffice-i18n ones have not, so we need to take care of that.
.if ${PORTNAME}==koffice-i18n
WRKSRC= ${WRKDIR}/${PORTNAME}-${PKGNAMEPREFIX:S/-$//}
.endif
DIST_SUBDIR= KDE/kde-i18n
# nasty hack to force newer timestamps on cache
# required to enable correct building
.if !target(post-extract)
post-extract:
@${FIND} ${WRKDIR} -type f -name index.cache.bz2 \
| ${XARGS} -n 10 -x ${TOUCH}
@${TOUCH} ${WRKSRC}/config.h.in
.endif # !target(post-extract)
.endif # defined(KDE_I18N)
# Unfortunately, this feature doesn't work right now due to binary files.
_NO_KDE_PATCHUP=yes
CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
# Start options here.
.if !defined(_NO_KDE_PATCHUP)
.if !defined(KDE_PATCHFROM_VER)
PATCHFROM_VER= ${KDE_ORIGVER}
.else
PATCHFROM_VER= ${KDE_PATCHFROM_VER}
.endif
.if !defined(KDE_PATCHTO_VER)
PATCHTO_VER= ${KDE_VERSION}
.else
PATCHTO_VER= ${KDE_PATCHTO_VER}
.endif
.if !defined(KDE_DISTNAME)
DISTNAME= ${PORTNAME}-${PATCHFROM_VER}
.else
DISTNAME= ${KDE_DISTNAME}
.endif
PATCH_SITES= ${MASTER_SITE_LOCAL}
PATCH_SITE_SUBDIR= will/kde-diffs/${KDE_VERSION}
PATCHFILES= ${PORTNAME}-${PATCHFROM_VER}-${PATCHTO_VER}.diff.bz2
PATCH_DIST_STRIP=-p1
.endif
.if !defined(_NO_KDE_CONFTARGET_HACK)
CONFIGURE_TARGET=
CONFIGURE_ARGS+=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL}
.endif
.if !defined(_NO_KDE_FINAL) && defined(WANT_KDE_FINAL)
CONFIGURE_ARGS+=--enable-final
.endif
.if !defined(_NO_KDE_NDEBUG)
.if defined(PARALLEL_PACKAGE_BUILD) || !defined(WANT_KDE_DEBUG)
CONFIGURE_ARGS+=--disable-debug
.else
CONFIGURE_ARGS+=--enable-debug=full
STRIP=''
.endif # defined(PARALLEL_PACKAGE_BUILD) || !defined(WANT_KDE_DEBUG)
.endif # !defined(_NO_KDE_NDEBUG)
.if !defined(_NO_KDE_NON_I386_OPTS)
.if ${MACHINE_ARCH} == "alpha"
CFLAGS= -O0 ${KDE_CFLAGS}
.endif # ${MACHINE_ARCH} == "alpha"
.endif # !defined(_NO_KDE_NON_I386_OPTS)
.if !defined(_NO_KDE_XINERAMA)
.if !defined(WITHOUT_XINERAMA)
CONFIGURE_ARGS+= --with-xinerama
.endif
.endif # !defined(_NO_KDE_XINERAMA)
.if defined(KDE_I18N)
_NO_KDE_FIXPTHREAD= yes
.endif
.if !defined(_NO_KDE_FIXPTHREAD)
USE_REINPLACE= yes
pre-configure: kde-fix-configure kde-fix-ltmain.sh
kde-fix-configure:
${REINPLACE_CMD} "s,-pedantic,,g; \
s,-pthread,${PTHREAD_LIBS},g" ${WRKSRC}/configure
kde-fix-ltmain.sh:
${REINPLACE_CMD} "s, | .*freebsd\*)$$,*),g" ${WRKSRC}/admin/ltmain.sh
.endif
kde-version-check:
.if exists(${LOCALBASE}/include/kfm.h)
@${ECHO}
@${ECHO} " NOTICE"
@${ECHO}
@${ECHO} "You have KDE1 headers installed! Installing this port"
@${ECHO} "will result in conflicts between KDE3 and KDE1!"
@${ECHO}
@${FALSE}
.endif
.if exists(${LOCALBASE}/include/defaultprogress.h)
@${ECHO}
@${ECHO} " NOTICE"
@${ECHO}
@${ECHO} "You have KDE2 headers installed! Installing this port"
@${ECHO} "will result in conflicts between KDE3 and KDE2!"
@${ECHO}
@${FALSE}
.endif