Threads.tmpl 2.2 KB

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