While setlocale() is present, musl currently doesn't provide a suitable implementation.
It'll silently accept every locale, even if not present at all, defaulting them
to C.UTF-8. This will confuse applications as well as our testsuite(see lib/locale.t).
Even if a locale does exist, it's effects will not apply to an extent that will
satisfy many applications.
Avoid further mischief here and just disable setlocale() for now.
Signed-off-by: Marcel Denia <naoir@gmx.net>
This replaces the previously used collection of configuration files for every single
architecture in conjunction with hacky overrides, which became an increasing burden to maintain.
Fixes a number of outstanding bugs and oddities, with the most important one being the
previously wrong signal order(as shown by ext/POSIX/t/sigaction.t).
See files/perlconfig.pl's POD and files/README.config for details.
Signed-off-by: Marcel Denia <naoir@gmx.net>
- Add patch to inhibit the libm IEEE math switch on musl
- Add postprocessing for config.sh to the Makefile to fixup
defines for musl, idea taken
from http://patchwork.openembedded.org/patch/91707/
This is the least invasive approach I could come up to fix the build
failure asap. Another possibility is maintaining yet another set of
musl specific architecture config files, but I think that this introduces
a lot of maintenance overhead.
Signed-off-by: Jo-Philipp Wich <jow@openwrt.org>
While host-perl only exists to run build scripts(and thus, should have
no influence on built packages at all), most packages depend heavily on the
feature set of the perl installation that ran their configuration scripts.
This change makes them see that threading support is enabled(if it actually
is selected).
We can't use configuration symbol overrides for this one, as they are
visible to host-perl as well. Using overrides would make it act as if it
had threading support enabled without actually having it.
Signed-off-by: Marcel Denia <naoir@gmx.net>
This will not change any existing packages' functionality. All packages
that used this symbol before during build(with it's value being "cc -E") most
likely would've failed compilation.
Note that this change is only in effect during build.
Signed-off-by: Marcel Denia <naoir@gmx.net>
In case threading is enabled, perl is compiled with -D_REENTRANT
and -D_GNU_SOURCE, which, apart from other things, enables usage
of off64_t. As we override module CFLAGS manually, we'll have to
pass that flags as well.
Signed-off-by: Marcel Denia <naoir@gmx.net>
- Update copyright notice
- Make perlbase-experimental's TITLE show up in menuconfig again
- Formatting changes
Signed-off-by: Marcel Denia <naoir@gmx.net>
And also remove all other references to avoid confusion.
libnsl isn't really needed. Removing it allows glibc based
toolchains to build perl.
Signed-off-by: Marcel Denia <naoir@gmx.net>
Type signedness is undefined for char. char may actually be unsigned for
some CPUs.
This fixes various bugs on PPC, like negative array indices.
Signed-off-by: Marcel Denia <naoir@gmx.net>