summaryrefslogtreecommitdiff
path: root/x11/kdebase4-runtime
diff options
context:
space:
mode:
authorWill Andrews <will@FreeBSD.org>2001-03-13 09:48:11 +0000
committerWill Andrews <will@FreeBSD.org>2001-03-13 09:48:11 +0000
commit3c4896e2d7107a450e841ccad3e69ed3104606fb (patch)
tree3bd08e3a131f5cf2295dd3ff0b8bffaaca24bb0f /x11/kdebase4-runtime
parentUpdate to v1.4.0 and relinquish maintainership. (diff)
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...
Notes
Notes: svn path=/head/; revision=39727
Diffstat (limited to 'x11/kdebase4-runtime')
-rw-r--r--x11/kdebase4-runtime/Makefile38
1 files changed, 34 insertions, 4 deletions
diff --git a/x11/kdebase4-runtime/Makefile b/x11/kdebase4-runtime/Makefile
index 16190dd22f0b..8ce6abfc9403 100644
--- a/x11/kdebase4-runtime/Makefile
+++ b/x11/kdebase4-runtime/Makefile
@@ -25,6 +25,30 @@ USE_BZIP2= yes
USE_NEWGCC= yes
INSTALLS_SHLIB= yes
USE_AUTOCONF= 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-xdmdir=${X11BASE}/lib/X11/xdm \
--with-qt-dir=${X11BASE} \
--with-qt-includes=${X11BASE}/include/qt2 \
@@ -32,9 +56,10 @@ CONFIGURE_ARGS+=--with-xdmdir=${X11BASE}/lib/X11/xdm \
--with-extra-libs=${LOCALBASE}/lib \
--without-ldap \
--disable-closure
-CONFIGURE_ENV+= MOC="${MOC}" LIBQT="-lqt2" LIBQTFILE="libqt2" \
- CPPFLAGS="-I${LOCALBASE}/include -D_GETOPT_H" \
- LIBS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lstdc++ -lgcc"
+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 -lstdc++ -lgcc ${PTHREAD_LIBS}" \
+ LDFLAGS="-Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg -lstdc++ -lgcc ${PTHREAD_LIBS}"
USE_GMAKE= yes
pre-configure:
@@ -43,4 +68,9 @@ pre-configure:
${PERL} -pi -e "s@version-info 1:1:0@version-info ${SOMAJOR}:${SOMINOR}@g" ${WRKSRC}/nsplugins/Makefile.in
${PERL} -pi -e "s@TIME_WITH_SYS_TIME@INVALID_FOO@g" ${WRKSRC}/kioslave/ldap/kldap.h
-.include <bsd.port.mk>
+post-configure:
+ @${CP} ${WRKSRC}/libtool ${WRKSRC}/libtool.orig
+ ${SED} -e 's@\\\$$compiler_flags@\\\$$compiler_flags ${PTHREAD_LIBS}@g' ${WRKSRC}/libtool.orig \
+ > ${WRKSRC}/libtool
+
+.include <bsd.port.post.mk>