freebsd-ports/x11/kdelibs3/Makefile
Will Andrews 3c4896e2d7 Bring in my KDE 2.1 + X 4.0.2 + threads "fixes". WARNING: Doesn't quite
work right yet.  This needs other eyes to look at in order for me to figure
out what's going on here.  Help, please?

Basically, the current situation is this:  You can hack the startkde
script to make KDE2 start all the way through, which basically consists of
simply replacing the kdeinit line with "kcminit".  However, at certain
points after KDE is done setting things up, processes named "kdeinit" that
are in charge of certain apps go crazy and hit infinite loops somewhere.  I
haven't been able to determine where exactly, and if this is related to
threads at all, or if a critical app or similar somehow doesn't get compiled
with threads.  Or something like that.  *sigh*

Konqueror can startup and seems to work okay in a different window manager,
but it seems to randomly set off a kdeinit proc as above.

Anyhow, this is 2 weeks' worth of debugging on a 4-month-old problem.  If
you're using XFree86 4.0.2, I caution against trying this stuff out unless
you're going to help me out and are willing to help me figure out exactly
where the heck things are going awry.  Things should still compile and work
just fine for those on XFree86 3.3.6.  I decided to leave out these hacks
in nonessential stuff (like kdenetwork et al) because kde2 itself needs to
work with threads first.  =)

I guess I can thank my lucky stars JKH's decided to stick with 3.3.6 until
some point in the future when 4.0.x becomes more stable...
2001-03-13 09:48:11 +00:00

97 lines
2.7 KiB
Makefile

# New ports collection makefile for: KDE libraries 2
# Date created: Fri Apr 14 2000 15:05:00 EDT
# Whom: will
#
# $FreeBSD$
#
PORTNAME= kdelibs
PORTVERSION= 2.1
CATEGORIES= x11 kde
MASTER_SITES= ${MASTER_SITE_KDE}
MASTER_SITE_SUBDIR= stable/${PORTVERSION}/distribution/tar/generic/src
MAINTAINER= will@FreeBSD.org
LIB_DEPENDS= tiff.4:${PORTSDIR}/graphics/tiff \
audiofile.0:${PORTSDIR}/audio/libaudiofile \
mimelib.3:${PORTSDIR}/converters/kdesupport2
USE_OPENSSL= yes
USE_QT2= yes
MOC?= ${X11BASE}/bin/moc2
SOMAJOR= 4
SOMINOR= 0
USE_BZIP2= yes
USE_NEWGCC= yes
INSTALLS_SHLIB= yes
GNU_CONFIGURE= yes
.include <bsd.port.pre.mk>
# Hack to make pthread support work correctly.
.if exists(${X11BASE}/lib/libqt2-mt.so)
.if exists(${X11BASE}/lib/libXThrStub.so)
QTNAME= qt2-mt
.if ${OSVERSION} >= 500016
PTHREAD_CFLAGS=
PTHREAD_LIBS= -lc_r
.else
PTHREAD_CFLAGS= -D_THREAD_SAFE
PTHREAD_LIBS= -pthread
.endif
.else
QTNAME= qt2
PTHREAD_CFLAGS=
PTHREAD_LIBS=
.endif
.endif
CFLAGS+= ${PTHREAD_CFLAGS} ${PTHREAD_LIBS}
LDFLAGS+= ${PTHREAD_LIBS}
CONFIGURE_ARGS+=--with-qt-includes=${X11BASE}/include/qt2 \
--with-qt-libraries=${X11BASE}/lib \
--with-extra-libs=${LOCALBASE}/lib
CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include -I${PREFIX}/include -D_GETOPT_H ${PTHREAD_CFLAGS}" \
MOC="${MOC}" LIBQT="-l${QTNAME}" LIBQTFILE="lib${QTNAME}" \
LIBS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lgcc -lstdc++ ${PTHREAD_LIBS}" \
LDFLAGS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lgcc -lstdc++ ${PTHREAD_LIBS}"
USE_GMAKE= yes
MAKE_ENV= SOMAJOR="${SOMAJOR}" SOMINOR="${SOMINOR}"
PLIST_SUB+= LIBVER="${SOMAJOR}"
pre-fetch:
.if ${OSVERSION} <= 410002
@${ECHO}
@${ECHO} " NOTICE"
@${ECHO}
@${ECHO} "Your OpenSSL installation could be out of date. This is"
@${ECHO} "just a warning, but if your system's world was built on"
@${ECHO} "sources earlier than August 20 along RELENG_4 or older,"
@${ECHO} "then KDE2 will not build with SSL support."
@${ECHO}
.endif
pre-configure:
.for NUM in 1 3
(find ${WRKSRC} -name Makefile.in | xargs ${PERL} -pi -e \
"s@version-info ${NUM}:0@version-info ${SOMAJOR}:${SOMINOR}@g")
.endfor
post-configure:
@${CP} ${WRKSRC}/libtool ${WRKSRC}/libtool.orig
${SED} -e 's@\\\$$compiler_flags@\\\$$compiler_flags ${PTHREAD_LIBS}@g' ${WRKSRC}/libtool.orig \
> ${WRKSRC}/libtool
post-install:
.for LIB in DCOP kab kdecore kdesu kdeui kfile kformula kio kjs \
kparts kspell ksycoca kjava
@${LN} -sf ${PREFIX}/lib/lib${LIB}.so.${SOMAJOR} ${PREFIX}/lib/lib${LIB}.so
.endfor
.for LIB in artsc artsflow artsflow_idl kmid kmedia2_idl qtmcop soundserver_idl
@${LN} -sf ${PREFIX}/lib/lib${LIB}.so.0 ${PREFIX}/lib/lib${LIB}.so
.endfor
.include <bsd.port.post.mk>