aboutsummaryrefslogtreecommitdiffstats
path: root/x11/XFree86-4/files/patch-xthreads
blob: 08307456518ef92a2e64103490cb11965b22e091 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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)