XCOMM $Xorg: Threads.tmpl,v 1.3 2000/08/17 19:41:46 cpqbld Exp $ XCOMM $XFree86: xc/config/cf/Threads.tmpl,v 3.4 2002/11/14 21:01:14 tsi Exp $ /* * For a multi-threaded application or library, * Define LocalThreadsDefines in your Imakefile (unless you like the * project default), then include this file. * Everything else should be automatic. */ #ifndef LocalThreadsDefines #ifdef ProjectThreadsDefines #define LocalThreadsDefines ProjectThreadsDefines #else #define LocalThreadsDefines /**/ #endif #endif #ifndef LocalThreads #ifdef ThreadedProject #define LocalThreads ThreadedProject #else #define LocalThreads YES #endif #endif #ifndef HasCThreads #define HasCThreads NO #endif #ifndef ThreadTypeDefines #if HasCThreads #define ThreadTypeDefines -DCTHREADS #else #define ThreadTypeDefines /**/ #endif #endif #ifndef SystemMTDefines #define SystemMTDefines /**/ #endif #ifndef LibraryMTDefines #define LibraryMTDefines /**/ #endif #ifndef HasThreadSafeAPI /* does it have getpwnam_r, etc. */ #define HasThreadSafeAPI YES #endif #ifndef MTSafeAPIDefines #if HasThreadSafeAPI #define MTSafeAPIDefines -DXUSE_MTSAFE_API #else #define MTSafeAPIDefines /**/ #endif #endif #ifndef ThreadPreStdAPIDefines #define ThreadPreStdAPIDefines /* nominally for POSIX P1003.4a (Draft 4) API */ #endif #ifndef CplusplusSystemMTDefines # ifdef SystemMTDefines # define CplusplusSystemMTDefines SystemMTDefines # else # define CplusplusSystemMTDefines /**/ # endif #endif #ifndef ThreadsCompileFlags #define ThreadsCompileFlags /**/ #endif #ifndef ThreadsCplusplusCompileFlags # ifdef ThreadsCompileFlags # define ThreadsCplusplusCompileFlags ThreadsCompileFlags # else # define ThreadsCplusplusCompileFlags /**/ # endif #endif #ifndef ThreadsLibraries #define ThreadsLibraries /**/ #endif #ifndef ThreadsCplusplusLibraries # ifdef ThreadsLibraries # define ThreadsCplusplusLibraries ThreadsLibraries # else # define ThreadsCplusplusLibraries /**/ # endif #endif #ifndef ThreadsLoadFlags #define ThreadsLoadFlags ThreadsCompileFlags #endif #ifndef ThreadsCplusplusLoadFlags #define ThreadsCplusplusLoadFlags ThreadsCplusplusCompileFlags #endif #if LocalThreads THREADS_CFLAGS = ThreadsCompileFlags THREADS_DEFINES = LocalThreadsDefines ThreadTypeDefines SystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES) THREADS_LDFLAGS = ThreadsLoadFlags THREADS_LIBS = ThreadsLibraries THREADS_CXXFLAGS = ThreadsCplusplusCompileFlags THREADS_CXXDEFINES = LocalThreadsDefines ThreadTypeDefines CplusplusSystemMTDefines MTSafeAPIDefines ThreadPreStdAPIDefines $(LIB_MT_DEFINES) THREADS_CXXLDFLAGS = ThreadsCplusplusLoadFlags THREADS_CXXLIBS = ThreadsCplusplusLibraries #endif