1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-19 19:59:43 +00:00

Add X threads support.

Submitted by:	Carlos A M dos Santos <casantos@cpmet.ufpel.tche.br>
This commit is contained in:
Jean-Marc Zucconi 2000-12-22 23:07:36 +00:00
parent 9c74ce92c3
commit e7053e9782
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=36256
5 changed files with 120 additions and 1 deletions

View File

@ -7,7 +7,7 @@
PORTNAME= XFree86
PORTVERSION= 4.0.2
PORTREVISION= 1
PORTREVISION= 2
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XFREE}
MASTER_SITE_SUBDIR= ${PORTVERSION}

View File

@ -0,0 +1,113 @@
--- include/Xos_r.h.orig Mon Aug 28 20:45:38 2000
+++ include/Xos_r.h Wed Dec 20 02:54:24 2000
@@ -243,9 +243,12 @@
size_t len;
} _Xgetpwparams;
-/* NetBSD, at least, is missing several of the unixware passwd fields. */
+/*
+ * NetBSD and FreeBSD, at least, are missing several of the unixware passwd
+ * fields.
+ */
-#if defined(__NetBSD__)
+#if defined(__NetBSD__) || defined(__FreeBSD__)
__inline__ void _Xpw_copyPasswd(_Xgetpwparams p)
{
memcpy(&(p).pws, (p).pwp, sizeof(struct passwd));
@@ -412,7 +415,7 @@
/* UnixWare 2.0, or other systems with thread support but no _r API. */
/* WARNING: The h_addr_list and s_aliases values are *not* copied! */
-#if defined(__NetBSD__)
+#if defined(__NetBSD__) || defined(__FreeBSD__)
#include <sys/param.h>
#endif
--- config/cf/FreeBSD.cf.old Wed Dec 20 02:56:11 2000
+++ config/cf/FreeBSD.cf Wed Dec 20 02:56:24 2000
@@ -60,6 +60,38 @@
#define HasVarRun YES
#define HasVarDb YES
+/*
+ * Multi-thread safe libs
+ */
+/* 2.2.7 and later has libc_r (POSIX threads) */
+#if OSMajorVersion == 2 && OSMinorVersion == 2 && OSTeenyVersion >= 7 || \
+ OSMajorVersion >= 3
+# ifndef HasLibPthread
+# define HasLibPthread NO
+# endif
+# define HasPosixThreads YES
+# define ThreadedX YES
+/*
+ * math.h uses _REENTRANT and stdio.h uses _THREAD_SAFE, so define both.
+ */
+# define SystemMTDefines -D_REENTRANT -D_THREAD_SAFE
+/*
+ * FreeBSD has tread-safe api but no getpwnam_r yet.
+ */
+# define HasThreadSafeAPI YES
+# define MTSafeAPIDefines -DXUSE_MTSAFE_API -DXNO_MTSAFE_PWDAPI
+# if HasLibPthread
+# define ThreadsLibraries -lpthread
+# else
+# define BuildThreadStubLibrary YES
+# define NeedUIThrStubs YES
+# define ThreadsCompileFlags -pthread
+# define ThreadsLibraries -pthread
+# define SharedX11Reqs $(LDPRELIB) $(XTHRSTUBLIB)
+# define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB) $(XTHRSTUBLIB)
+# endif
+#endif
+
#define AvoidNullMakeCommand YES
#define StripInstalledPrograms YES
#define CompressAllFonts YES
@@ -82,7 +114,23 @@
#define HasFlex YES
#endif
-#define CcCmd cc
+/*
+ * Add an LD_LIBRARY_PATH environment variable, defined by $(CLIENTENVSETUP),
+ * when building X to avoid that for each client ld give the message
+ *
+ * ld: warning: libXThrStub.so.6, needed by libX11.so, not found
+ */
+#if BuildThreadStubLibrary && !UseInstalled
+# define CcCmd $(CLIENTENVSETUP) cc
+# define CplusplusCmd $(CLIENTENVSETUP) c++
+#else
+# define CcCmd cc
+# define CplusplusCmd c++
+#endif
+
+#define CppCmd /usr/bin/cpp
+#define PreProcessCmd CppCmd
+#define StandardCppOptions -traditional
#define CppCmd /usr/bin/cpp
#define PreProcessCmd CppCmd
#define StandardCppOptions -traditional
--- config/cf/bsdLib.tmpl~ Mon Aug 28 20:43:49 2000
+++ config/cf/bsdLib.tmpl Wed Dec 20 04:31:46 2000
@@ -47,7 +47,9 @@
#define SharedX11Reqs
#endif
#define SharedOldXReqs $(LDPRELIB) $(XLIBONLY)
+#ifndef SharedXtReqs
#define SharedXtReqs $(LDPRELIB) $(XLIBONLY) $(SMLIB) $(ICELIB)
+#endif
#define SharedXawReqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XPMLIB) $(XLIB)
#define SharedXaw6Reqs $(LDPRELIB) $(XMULIB) $(XTOOLLIB) $(XLIB)
#define SharedXmuReqs $(LDPRELIB) $(XTOOLLIB) $(XLIB)
--- programs/glxinfo/Imakefile.orig Fri Sep 22 13:35:46 2000
+++ programs/glxinfo/Imakefile Thu Dec 21 02:11:55 2000
@@ -1,5 +1,6 @@
XCOMM $XConsortium: Imakefile /main/7 1995/12/04 15:10:00 dpw $
XCOMM $XFree86: xc/programs/glxinfo/Imakefile,v 1.1 2000/09/22 11:35:46 alanh Exp $
+#include <Threads.tmpl>
DEPLIBS = $(DEPXTESTLIB) $(DEPXIELIB) $(DEPXLIB) $(DEPXKBFILELIB) $(DEPXF86LIBS) $(DEPXILIB)
#ifndef OS2Architecture
LOCAL_LIBRARIES = $(GLXLIB) $(XLIB)

View File

@ -3199,6 +3199,8 @@ lib/libX11.so.6
lib/libXIE.a
lib/libXIE.so
lib/libXIE.so.6
lib/libXThrStub.so
lib/libXThrStub.so.6
lib/libXau.a
lib/libXaw.a
lib/libXaw.so

View File

@ -3196,6 +3196,8 @@ lib/libX11.so.6
lib/libXIE.a
lib/libXIE.so
lib/libXIE.so.6
lib/libXThrStub.so
lib/libXThrStub.so.6
lib/libXau.a
lib/libXaw.a
lib/libXaw.so

View File

@ -3199,6 +3199,8 @@ lib/libX11.so.6
lib/libXIE.a
lib/libXIE.so
lib/libXIE.so.6
lib/libXThrStub.so
lib/libXThrStub.so.6
lib/libXau.a
lib/libXaw.a
lib/libXaw.so