| Age | Commit message (Collapse) | Author |
|
We've had support for using unnamed POSIX semaphores instead of System V
semaphores for quite some time, but it was not used by default on any
platform. Since many systems have rather small limits on the number of
SysV semaphores allowed, it seems desirable to switch to POSIX semaphores
where they're available and don't create performance or kernel resource
problems. Experimentation by me shows that unnamed POSIX semaphores
are at least as good as SysV semaphores on Linux, and we previously had
a report from Maksym Sobolyev that FreeBSD is significantly worse with
SysV semaphores than POSIX ones. So adjust those two platforms to use
unnamed POSIX semaphores, if configure can find the necessary library
functions. If this goes well, we may switch other platforms as well,
but it would be advisable to test them individually first.
It's not currently contemplated that we'd encourage users to select
a semaphore API for themselves, but anyone who wants to experiment
can add PREFERRED_SEMAPHORES=UNNAMED_POSIX (or NAMED_POSIX, or SYSV)
to their configure command line to do so.
I also tweaked configure to report which API it's selected, mainly
so that we can tell that from buildfarm reports.
I did not touch the user documentation's discussion about semaphores;
that will need some adjustment once the dust settles.
Discussion: <8536.1475704230@sss.pgh.pa.us>
|
|
Apparently, on some glibc versions this causes warnings when
optimization is not enabled.
Altogether, there appear to be too many incompatibilities surrounding
this.
|
|
There are apparently some incompatibilities, per buildfarm.
|
|
Many distributors use this, so we might as well see the warnings as
well.
|
|
|
|
This basically takes some build system code that was previously labeled
"Solaris" and ties it to the compiler rather than the operating system.
Author: Julius Stroffek <Julius.Stroffek@Sun.COM>
|
|
it ought to know that you need -DLINUX_PROFILE on Linux.
|
|
works, but some platform templates overwrote it without asking.
|
|
|
|
handles that, and make solaris debug use no optimization.
|
|
|
|
-D_REENTRANT -D_THREAD_SAFE -D_POSIX_PTHREAD_SEMANTICS
for all ports. It can't hurt if they are not supported, but it makes
our job easier for porting.
Should fix Darwin compile and other platforms without mucking with the
thread detection code.
|
|
Allow additional thread flags to be added via port templates.
Change thread flag names to PTHREAD_CFLAGS and PTHREAD_LIBS to match new
configure script.
|
|
|
|
variable.
Remove thread locking for non-thread-safe functions, instead throw a
compile error.
Platforms will have to re-run tools/thread to record their thread
safety.
|
|
|
|
|
|
than having CFLAGS= in the template files.
It uses -O2 for gcc (generated by autoconf), and -O for non-gcc, unless
the template overrides it.
|
|
|
|
|
|
and improve tests.
|
|
configure's tests see the same compilation environment as the code.
Per discussion with Stephan Szabo.
|
|
* use non-*_r function names if they are all thread-safe
* (NEED_REENTRANT_FUNCS=no)
* use *_r functions if they exist (configure test)
* do our own locking and copying of non-threadsafe functions
New to this patch is the last option.
|
|
|
|
configure to report if they are not found.
|
|
|
|
Report from Ryan Murray via Debian
|
|
Makefile.port, since they are of no use to configure and much of the
library magic happens in Makefile.port anyway.
Use __alpha, not __alpha__, since the former is universally available.
Remove -DNOFIXADE from the compile command line and put it in the port
include file.
|
|
add "check" and "installcheck" targets, straighten out make variable naming
of host_os, host_cpu, etc.
|
|
Read templates after compiler is detected. Convert all templates to real
shell scripts. Rename bsd->openbsd, alpha->osf.
|
|
|
|
|
|
|
|
Clean up the .sample files...comment out all sample entries except for
the localhost one
|
|
|
|
Further extended Makefile.global/build/configure so that we can
have a 'template' file for each OS (and each version of OS, as in BSDi)
which is used as much as possible to generate Makefile.global
Any future ports should look at using the template file as a basis,
before moving over to Makefile.global.
This will most probably break alot of the ports, atho I've tried to
be very neat about it...
|