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@xxxxxxxxxxxxx> --- This update adds the documentation comment in the Makefile to configure.ac as well. Makefile | 11 +++++++++++ configure.ac | 8 ++++++++ 2 files changed, 19 insertions(+), 0 deletions(-) diff --git a/Makefile b/Makefile index b4d9cb4..86f0a66 100644 --- a/Makefile +++ b/Makefile @@ -70,6 +70,14 @@ 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 +825,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 diff --git a/configure.ac b/configure.ac index 082a03d..a53d97c 100644 --- a/configure.ac +++ b/configure.ac @@ -578,6 +578,14 @@ GIT_PARSE_WITH(expat)) # 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 NO_MMAP if you want to avoid mmap. # # Define NO_ICONV if your libc does not properly support iconv. -- 1.6.1.213.g28da8 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html