Hello Junio, sorry that was my fault, I was building it wrong way (defined NO_PTHREADS in CFLAGS variable, not as separate make variable). Sorry for the false alarm.
-- Best Regards, Victor ________________________________________ From: Junio C Hamano [[email protected]] On Behalf Of Junio C Hamano [[email protected]] Sent: Monday, October 12, 2015 10:55 AM To: Victor Leschuk Cc: [email protected]; [email protected] Subject: Re: thread-utils: build with NO_PTHREADS fails Junio C Hamano <[email protected]> writes: > Victor Leschuk <[email protected]> writes: > >> I think that no one tried it for a long time but I needed a >> single-threaded git version for debug purpose. I tried to build >> with -DNO_PTHREADS and thread-utils.c failed to compile. >> >> In brief the situation is the following: >> >> in header file we have something like that: >> >> >> #ifndef NO_PTHREAD >> extern int online_cpus(void); >> >> #else >> #define online_cpus() 1 >> #endif // NO_PTHREAD >> >> and in *.c file: >> >> >> int online_cpus(void) >> { >> // ... >> } > > Yeah, that is obviously incorrect. > ... Well, no, I spoke too early. I do not see there is much wrong here. There is this bit in the Makefile: ifdef NO_PTHREADS BASIC_CFLAGS += -DNO_PTHREADS else BASIC_CFLAGS += $(PTHREAD_CFLAGS) EXTLIBS += $(PTHREAD_LIBS) LIB_OBJS += thread-utils.o endif The source file thread-utils.c is not compiled to thread-utils.o if you say NO_PTHREADS, and the resulting libgit.a does not of course have it. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

