diff options
author | will <will@FreeBSD.org> | 2001-03-13 09:48:11 +0000 |
---|---|---|
committer | will <will@FreeBSD.org> | 2001-03-13 09:48:11 +0000 |
commit | 5878547031a9347b01ade1786d60b83fa4449db5 (patch) | |
tree | 1056f8693231934a13cf9efc97aaa9d668cd2e3c /x11/kdebase4-runtime | |
parent | 0245b3a2fdc9eeb528707aff01ab30e01a66db47 (diff) | |
download | FreeBSD-ports-5878547031a9347b01ade1786d60b83fa4449db5.zip FreeBSD-ports-5878547031a9347b01ade1786d60b83fa4449db5.tar.gz |
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...
Diffstat (limited to 'x11/kdebase4-runtime')
-rw-r--r-- | x11/kdebase4-runtime/Makefile | 38 |
1 files changed, 34 insertions, 4 deletions
diff --git a/x11/kdebase4-runtime/Makefile b/x11/kdebase4-runtime/Makefile index 16190dd2..8ce6abf 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> |