home *** CD-ROM | disk | FTP | other *** search
/ PC World 2000 February / PCWorld_2000-02_cd.bin / live / usr / X11R6 / lib / X11 / config / Threads.tmpl < prev    next >
Text File  |  1999-09-03  |  3KB  |  99 lines

  1. XCOMM $XConsortium: Threads.tmpl /main/11 1996/09/28 16:07:06 rws $
  2. XCOMM $XFree86: xc/config/cf/Threads.tmpl,v 3.2 1996/12/23 05:50:12 dawes Exp $
  3.  
  4. /*
  5.  * For a multi-threaded application or library,
  6.  * Define LocalThreadsDefines in your Imakefile (unless you like the
  7.  * project default), then include this file.
  8.  * Everything else should be automatic. 
  9.  */
  10.  
  11. #ifndef LocalThreadsDefines
  12. #ifdef ProjectThreadsDefines
  13. #define LocalThreadsDefines ProjectThreadsDefines
  14. #else
  15. #define LocalThreadsDefines /**/
  16. #endif
  17. #endif
  18.  
  19. #ifndef LocalThreads
  20. #ifdef ThreadedProject
  21. #define LocalThreads ThreadedProject
  22. #else
  23. #define LocalThreads YES
  24. #endif
  25. #endif
  26.  
  27. #ifndef ThreadTypeDefines
  28. #if HasCThreads
  29. #define ThreadTypeDefines -DCTHREADS
  30. #else
  31. #define ThreadTypeDefines /**/
  32. #endif
  33. #endif
  34. #ifndef SystemMTDefines
  35. #define SystemMTDefines /**/
  36. #endif
  37. #ifndef LibraryMTDefines
  38. #define LibraryMTDefines /**/
  39. #endif
  40. #ifndef HasThreadSafeAPI        /* does it have getpwnam_r, etc. */
  41. #define HasThreadSafeAPI YES
  42. #endif
  43. #ifndef MTSafeAPIDefines
  44. #if HasThreadSafeAPI
  45. #define MTSafeAPIDefines -DXUSE_MTSAFE_API
  46. #else
  47. #define MTSafeAPIDefines /**/
  48. #endif
  49. #endif
  50. #ifndef ThreadPreStdAPIDefines
  51. #define ThreadPreStdAPIDefines /* nominally for POSIX P1003.4a (Draft 4) API */
  52. #endif
  53. #ifndef CplusplusSystemMTDefines
  54. # ifdef SystemMTDefines
  55. #  define CplusplusSystemMTDefines SystemMTDefines
  56. # else
  57. #  define CplusplusSystemMTDefines /**/
  58. # endif
  59. #endif
  60. #ifndef ThreadsCompileFlags
  61. #define ThreadsCompileFlags /**/
  62. #endif
  63. #ifndef ThreadsCplusplusCompileFlags
  64. # ifdef ThreadsCompileFlags
  65. #  define ThreadsCplusplusCompileFlags ThreadsCompileFlags
  66. # else
  67. #  define ThreadsCplusplusCompileFlags /**/
  68. # endif
  69. #endif
  70.  
  71. #ifndef ThreadsLibraries
  72. #define ThreadsLibraries /**/
  73. #endif
  74. #ifndef ThreadsCplusplusLibraries
  75. # ifdef ThreadsLibraries
  76. #  define ThreadsCplusplusLibraries ThreadsLibraries
  77. # else
  78. #  define ThreadsCplusplusLibraries /**/
  79. # endif
  80. #endif
  81. #ifndef ThreadsLoadFlags
  82. #define ThreadsLoadFlags ThreadsCompileFlags
  83. #endif
  84. #ifndef ThreadsCplusplusLoadFlags
  85. #define ThreadsCplusplusLoadFlags ThreadsCplusplusCompileFlags
  86. #endif
  87.  
  88. #if LocalThreads
  89.     THREADS_CFLAGS = ThreadsCompileFlags
  90.    THREADS_DEFINES = LocalThreadsDefines ThreadTypeDefines SystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
  91.    THREADS_LDFLAGS = ThreadsLoadFlags
  92.       THREADS_LIBS = ThreadsLibraries
  93.  
  94.   THREADS_CXXFLAGS = ThreadsCplusplusCompileFlags
  95. THREADS_CXXDEFINES = LocalThreadsDefines ThreadTypeDefines CplusplusSystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES)
  96. THREADS_CXXLDFLAGS = ThreadsCplusplusLoadFlags
  97.    THREADS_CXXLIBS = ThreadsCplusplusLibraries
  98. #endif
  99.