{"thread":{"id":"16156","subject":"[PATCH] Add autoconf tests for pthreads","startedAt":"2008-11-03T18:14:28Z","lastAt":"2008-11-03T22:07:14Z","messageCount":2,"participants":["david.syzdek@acsalaska.net","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"94784","messageId":"1225736068-97988-1-git-send-email-david.syzdek@acsalaska.net","threadId":"16156","inReplyTo":null,"subject":"[PATCH] Add autoconf tests for pthreads","fromName":"","fromEmail":"david.syzdek@acsalaska.net","sentAt":"2008-11-03T18:14:28Z","receivedAt":"2008-11-03T18:14:28Z","isPatch":true,"sender":{"key":"david.syzdek@acsalaska.net","avatar":"https://gravatar.com/avatar/e95b1d3f9cd971d72dc364b7d942090876dd515c89a3252bd2baa8702a437f38?d=mp&s=160"},"body":"From: David M. Syzdek <david.syzdek@acsalaska.net>\n\nSets the value of PTHREAD_LIBS to the correct flags for linking pthreads on\nthe current environment.  If the correct flags can be determined then\nTHREADED_DELTA_SEARCH is set.  If the correct flags cannot be determined,\nthen THREADED_DELTA_SEARCH is unset.\n\nSigned-off-by: David M. Syzdek <david.syzdek@acsalaska.net>\n---\n config.mak.in |    2 ++\n configure.ac  |   20 ++++++++++++++++++++\n 2 files changed, 22 insertions(+), 0 deletions(-)\n\ndiff --git a/config.mak.in b/config.mak.in\nindex 7170729..3d3fbcd 100644\n--- a/config.mak.in\n+++ b/config.mak.in\n@@ -51,3 +51,5 @@ OLD_ICONV=@OLD_ICONV@\n NO_DEFLATE_BOUND=@NO_DEFLATE_BOUND@\n FREAD_READS_DIRECTORIES=@FREAD_READS_DIRECTORIES@\n SNPRINTF_RETURNS_BOGUS=@SNPRINTF_RETURNS_BOGUS@\n+THREADED_DELTA_SEARCH=@THREADED_DELTA_SEARCH@\n+PTHREAD_LIBS=@PTHREAD_LIBS@\ndiff --git a/configure.ac b/configure.ac\nindex 9dfc0d3..3bf5d15 100644\n--- a/configure.ac\n+++ b/configure.ac\n@@ -489,6 +489,26 @@ AC_SUBST(NO_MKDTEMP)\n #\n # Define NO_SYMLINK_HEAD if you never want .git/HEAD to be a symbolic link.\n # Enable it on Windows.  By default, symrefs are still used.\n+#\n+# Define PTHREAD_LIBS to the linker flag used for Pthread support and define\n+# THREADED_DELTA_SEARCH if Pthreads are available.\n+AC_LANG_CONFTEST([AC_LANG_PROGRAM(\n+  [[#include <pthread.h>]],\n+  [[pthread_mutex_t test_mutex;]]\n+)])\n+${CC} -pthread conftest.c -o conftest.o > /dev/null 2>&1\n+if test $? -eq 0;then\n+ PTHREAD_LIBS=\"-pthread\"\n+ THREADED_DELTA_SEARCH=YesPlease\n+else\n+ ${CC} -lpthread conftest.c -o conftest.o > /dev/null 2>&1\n+ if test $? -eq 0;then\n+  PTHREAD_LIBS=\"-lpthread\"\n+  THREADED_DELTA_SEARCH=YesPlease\n+ fi\n+fi\n+AC_SUBST(PTHREAD_LIBS)\n+AC_SUBST(THREADED_DELTA_SEARCH)\n \n ## Site configuration (override autodetection)\n ## --with-PACKAGE[=ARG] and --without-PACKAGE\n-- \n1.6.0.2.GIT\n"},{"id":"94818","messageId":"7vd4hcv4z1.fsf@gitster.siamese.dyndns.org","threadId":"16156","inReplyTo":"1225736068-97988-1-git-send-email-david.syzdek@acsalaska.net","subject":"Re: [PATCH] Add autoconf tests for pthreads","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2008-11-03T22:07:14Z","receivedAt":"2008-11-03T22:07:14Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"david.syzdek@acsalaska.net writes:\n\n> +# Define PTHREAD_LIBS to the linker flag used for Pthread support and define\n> +# THREADED_DELTA_SEARCH if Pthreads are available.\n\nThis may affect platforms that do have pthread library but choose not to\nuse threaded delta search for whatever reason by suddenly turning it on.\n\nWhich arguably may be a good thing to do, but it is a change unrelated to\nporting to FreeBSD.\n\n> +AC_LANG_CONFTEST([AC_LANG_PROGRAM(\n> +  [[#include <pthread.h>]],\n> +  [[pthread_mutex_t test_mutex;]]\n> +)])\n> +${CC} -pthread conftest.c -o conftest.o > /dev/null 2>&1\n> +if test $? -eq 0;then\n> + PTHREAD_LIBS=\"-pthread\"\n> + THREADED_DELTA_SEARCH=YesPlease\n> +else\n> + ${CC} -lpthread conftest.c -o conftest.o > /dev/null 2>&1\n\nMaybe I am old fashioned, but having \"-library\" very near the beginning of\nthe command line and naming the final link product (i.e. not with -c) *.o\nmakes me go \"Huh?\"  If it were written like this,\n\n\t$CC -o conftest$ac_exeext conftest.c -lpthread\n\nit might have been easier to swallow.  I dunno.\n"}]}