Re: Parallel building of uni*/ dirs

2018-05-13 Thread Tim Rühsen
After looking closer, I must amend my first statement. It seems not to be the subdirs, but the first gcc commands after 'make clean && make': Here I have only 1 core utilization: gcc -DHAVE_CONFIG_H -DNO_XMALLOC -I. -I..  -I. -I. -I.. -I.. -DIN_LIBUNISTRING -DDEPENDS_ON_LIBICONV=1   -g -c amemxfrm

nl_langinfo: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
Another compilation error of a testdir for Android 4.3 is: nl_langinfo.c:194:10: error: 'GROUPING' undeclared (first use in this function) case GROUPING: ^ nl_langinfo.c:194:10: note: each undeclared identifier is reported only once for each function it appears in nl_langinfo.c:323

truncate: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
Compiling a testdir for Android 4.3, I'm seeing this error: In file included from test-truncate.c:21:0: test-truncate.c:22:18: error: 'truncate' undeclared here (not in a function) SIGNATURE_CHECK (truncate, int, (const char *, off_t)); ^ The reason is that AC_SYS_LARGEFILE is

[PATCH] fts: avoid a memory leak edge case

2018-05-13 Thread Pádraig Brady
On 12/05/18 18:50, ISE Development wrote: > Hi, > > I may be wrong but I suspect there is a corner case where fts_close() > will not free the FTSENT structures correctly if called immediately > after fts_open(). > > After fts_open(), the current entry is a dummy entry created as > follows: > > i

pthread: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
This error In file included from ./signal.h:67:0, from /ANDROID_SDK/ndk-bundle/sysroot/usr/include/sys/select.h:36, from ./sys/select.h:100, from /ANDROID_SDK/ndk-bundle/sysroot/usr/include/sys/time.h:37, from ./sys/time.h:39,

imaxdiv: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
When compiling to Android 4.3, the Android headers define the imaxdiv_t type but the 'imaxdiv' function is not available. Gnulib so far assumed that this situation does not occur, leading to compilation errors such as In file included from test-imaxabs.c:19:0: ../gllib/inttypes.h:1524:49: error: c

Re: Parallel building of uni*/ dirs

2018-05-13 Thread Bruno Haible
Tim, > What do you mean with 'is so loaded' ? I mean that "top" shows a high load. 'make' looks at these numbers. It has also a '-l' option. $ nm --dynamic /usr/bin/make | grep load 006320f8 D default_load_average U getloadavg 00425c10 T hash_load 00415f

Re: Compilation errors using Gnulib's time.h on MinGW

2018-05-13 Thread Bruno Haible
Eli Zaretskii wrote: > Attached below. Thanks. The following patch should fix this scenario (or at least, make it easier to solve). 2018-05-13 Bruno Haible Support selective inclusion mechanism of recent mingw.org header files. Reported by Eli Zaretskii . * lib/sys_ty

Re: Parallel building of uni*/ dirs

2018-05-13 Thread Tim Rühsen
On 13.05.2018 20:54, Bruno Haible wrote: > Tim Rühsen wrote: >> when building with 'make -jN', the gnulib subidrs uni*/ are built like >> with -j1. > Maybe your Makefile contains the line > GNUMAKEFLAGS = -j1 > in order to intentionally turn off parallel make? > > Or maybe your machine is so load

Avoid compilation error due to 'mmap' on Android

2018-05-13 Thread Bruno Haible
Compiling for Android 4.3, I see a couple of compilation errors, such as zerosize-ptr.h:59:13: error: call to 'mmap' declared with attribute error: mmap is not available with _FILE_OFFSET_BITS=64 when using GCC until android-21. Either raise your minSdkVersion, disable _FILE_OFFSET_BITS=64, or s

posix_spawn: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
When compiling for Android 4.3, the Android headers define the types posix_spawnattr_t and posix_spawn_file_actions_t. But the corresponding functions are not declared and not available at link time. Therefore gnulib attempts to build its replacements, which fails because the types don't contain th

tsearch: Fix compilation error on Android

2018-05-13 Thread Bruno Haible
Android 4.1 to 4.4 has the function tsearch() but not twalk(). Whereas gnulib assumes that tsearch() and twalk() are implemented at the same time. This leads to a compilation error: In file included from test-tsearch.c:22:0: test-tsearch.c:29:18: error: 'twalk' undeclared here (not in a function)

cross-compilation guesses for Android

2018-05-13 Thread Bruno Haible
In a testdir build for Android 4.3, REPLACE_MKFIFO gets set to 1. Later there is a declaration conflict regarding rpl_mkfifo. Better avoid this trouble by adjusting the cross-compilation guesses for POSIX functions that are usually implemented as system calls on Linux. 2018-05-13 Bruno Haible

static inlines in headers on Android

2018-05-13 Thread Bruno Haible
Compiling a testdir for Android 4.3, I get errors like these: In file included from /ANDROID_SDK/ndk-bundle/sysroot/usr/include/stdlib.h:263:0, from ../gllib/stdlib.h:36, from macros.h:22, from test-hypotl.c:29: /ANDROID_SDK/ndk-bundle/sysroot/us

Re: Parallel building of uni*/ dirs

2018-05-13 Thread Bruno Haible
Tim Rühsen wrote: > when building with 'make -jN', the gnulib subidrs uni*/ are built like > with -j1. Maybe your Makefile contains the line GNUMAKEFLAGS = -j1 in order to intentionally turn off parallel make? Or maybe your machine is so loaded that 'make' refrains from using multiple parallel

Parallel building of uni*/ dirs

2018-05-13 Thread Tim Rühsen
Hi, when building with 'make -jN', the gnulib subidrs uni*/ are built like with -j1. Is there a way how to build with -jN, or is there a reason why that wouldn't work ? I often have to build libunistring a (static) dependency for fuzzing and cross-building and -jN in gnulib subdirs could speed

stdioext: Fix compilation errors with newer Android headers

2018-05-13 Thread Bruno Haible
Compiling for Android 4.3 (with recent Android 9.0 header files), I'm seeing compilation failures in the stdioext modules. Such as: In file included from fseterr.c:24:0: stdio-impl.h:72:22: error: field '_ub' has incomplete type struct __sbuf _ub; /* ungetc buffer */

Re: [PATCH] pthread: document Android limits

2018-05-13 Thread Bruno Haible
The Android headers contain information, for each function, when this function was added in Bionic. For example, contains #if __ANDROID_API__ >= 23 ... int mkostemp(char* __template, int __flags) __INTRODUCED_IN(23); ... #endif /* __ANDROID_API__ >= 23 */ which means that the function 'mkostemp