diff options
-rw-r--r-- | Makefile | 11 | ||||
-rw-r--r-- | config.mak.in | 2 | ||||
-rw-r--r-- | configure.ac | 24 |
3 files changed, 36 insertions, 1 deletions
@@ -229,6 +229,7 @@ INSTALL = install RPMBUILD = rpmbuild TCL_PATH = tclsh TCLTK_PATH = wish +PTHREAD_LIBS = -lpthread export TCL_PATH TCLTK_PATH @@ -690,6 +691,11 @@ ifeq ($(uname_S),FreeBSD) BASIC_LDFLAGS += -L/usr/local/lib DIR_HAS_BSD_GROUP_SEMANTICS = YesPlease THREADED_DELTA_SEARCH = YesPlease + ifeq ($(shell expr "$(uname_R)" : '4\.'),2) + PTHREAD_LIBS = -pthread + NO_UINTMAX_T = YesPlease + NO_STRTOUMAX = YesPlease + endif endif ifeq ($(uname_S),OpenBSD) NO_STRCASESTR = YesPlease @@ -949,6 +955,9 @@ endif ifdef NO_IPV6 BASIC_CFLAGS += -DNO_IPV6 endif +ifdef NO_UINTMAX_T + BASIC_CFLAGS += -Duintmax_t=uint32_t +endif ifdef NO_SOCKADDR_STORAGE ifdef NO_IPV6 BASIC_CFLAGS += -Dsockaddr_storage=sockaddr_in @@ -1010,7 +1019,7 @@ endif ifdef THREADED_DELTA_SEARCH BASIC_CFLAGS += -DTHREADED_DELTA_SEARCH - EXTLIBS += -lpthread + EXTLIBS += $(PTHREAD_LIBS) LIB_OBJS += thread-utils.o endif ifdef DIR_HAS_BSD_GROUP_SEMANTICS diff --git a/config.mak.in b/config.mak.in index 17e9861c06..ea7705c1ed 100644 --- a/config.mak.in +++ b/config.mak.in @@ -41,6 +41,7 @@ NO_C99_FORMAT=@NO_C99_FORMAT@ NO_STRCASESTR=@NO_STRCASESTR@ NO_MEMMEM=@NO_MEMMEM@ NO_STRLCPY=@NO_STRLCPY@ +NO_UINTMAX_T=@NO_UINTMAX_T@ NO_STRTOUMAX=@NO_STRTOUMAX@ NO_SETENV=@NO_SETENV@ NO_UNSETENV=@NO_UNSETENV@ @@ -50,3 +51,4 @@ OLD_ICONV=@OLD_ICONV@ NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@ FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@ SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@ +PTHREAD_LIBS=@PTHREAD_LIBS@ diff --git a/configure.ac b/configure.ac index ef544e8778..42567420e0 100644 --- a/configure.ac +++ b/configure.ac @@ -446,6 +446,14 @@ GIT_CHECK_FUNC(strlcpy, [NO_STRLCPY=YesPlease]) AC_SUBST(NO_STRLCPY) # +# Define NO_UINTMAX_T if your platform does not have uintmax_t +AC_CHECK_TYPE(uintmax_t, +[NO_UINTMAX_T=], +[NO_UINTMAX_T=YesPlease],[ +#include <inttypes.h> +]) +AC_SUBST(NO_UINTMAX_T) +# # Define NO_STRTOUMAX if you don't have strtoumax in the C library. GIT_CHECK_FUNC(strtoumax, [NO_STRTOUMAX=], @@ -481,6 +489,22 @@ AC_SUBST(NO_MKDTEMP) # # Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link. # Enable it on Windows. By default, symrefs are still used. +# +# Define PTHREAD_LIBS to the linker flag used for Pthread support. +AC_LANG_CONFTEST([AC_LANG_PROGRAM( + [[#include <pthread.h>]], + [[pthread_mutex_t test_mutex;]] +)]) +${CC} -pthread conftest.c -o conftest.o > /dev/null 2>&1 +if test $? -eq 0;then + PTHREAD_LIBS="-pthread" +else + ${CC} -lpthread conftest.c -o conftest.o > /dev/null 2>&1 + if test $? -eq 0;then + PTHREAD_LIBS="-lpthread" + fi +fi +AC_SUBST(PTHREAD_LIBS) ## Site configuration (override autodetection) ## --with-PACKAGE[=ARG] and --without-PACKAGE |