As discussed in
http://lists.apple.com/archives/Unix-porting/2005/Mar/msg00019.html
the Mac OS X C standard library is always thread safe and always includes the pthread library. So explicitly using -pthread causes an 'unrecognized option' compiler warning.
This patch clears PTHREAD_LIBS by default. However, if FORCE_DARWIN_PTHREAD_LIBS is defined, then PTHREAD_LIBS will be set as before.
Signed-off-by: Ted Pavlic <ted@tedpavlic.com> --- Makefile | 12 ++++++++++++ 1 files changed, 12 insertions(+), 0 deletions(-)
Show changes to Makefile +12 −0
diff --git a/Makefile b/Makefile index b4d9cb4..30764af 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,15 @@ all:: # specify your own (or DarwinPort's) include directories and # library directories by defining CFLAGS and LDFLAGS appropriately. # +# +# Define FORCE_DARWIN_PTHREAD_LIBS if you are building on Darwin/Mac OS +# X and want PTHREAD_LIBS to be set. On Mac OS X, all components of the +# C standard library that are defined to be thread safe by the POSIX +# standard already include the pthread library. Hence, the -pthread +# option is redundant and will generate an 'unrecognized option' +# warning. So PTHREAD_LIBS will be cleared unless +# FORCE_DARWIN_PTHREAD_LIBS is set. +# # Define PPC_SHA1 environment variable when running make to make use of # a bundled SHA1 routine optimized for PowerPC. # @@ -817,6 +826,9 @@ ifeq ($(uname_S),Darwin) BASIC_LDFLAGS += -L/opt/local/lib endif endif + ifndef FORCE_DARWIN_PTHREAD_LIBS + PTHREAD_LIBS = + endif endif ifndef CC_LD_DYNPATH
-- 1.6.1.213.g28da8