Dumper.pm, included in perlbase-data, uses module bytes, so add dependency
on openwrt package perlbase-bytes.
Signed-off-by: Robert Högberg <robert.hogberg@gmail.com>
Despite being just a packaging update, this update packs quite a few changes.
To start things off, we're finally passing perl's testsuite on at least
x86/musl. There are a lot of skipped tests left, as well as some oddities.
Nothing too heavy though. Making this happen was an ongoing effort since the
perl-5.20.1 release.
We still can't run module testsuites and I don't expect all target/libc
combinations to pass yet. So we'll leave test suite support marked as
experimental.
We've also switched from the old collection of target-specific configuration
files to a new, more flexible and easier-to-maintain system based on
perlconfig.pl. It'll generate a suitable configuration file using information
found in it's *.config files as well as command-line parameters passed.
See the POD and files/README.config for details.
Signed-off-by: Marcel Denia <naoir@gmx.net>
This test requires a ps which provides the -f option, as well as suitable output.
We can't provide either with busybox. Just skip it for now.
Signed-off-by: Marcel Denia <naoir@gmx.net>
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>
Before, external modules actually used host-perl headers.
Aside from obviously being the wrong thing to do, it made them misbehave if
host and target architectures differ too much.
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 ARM, for example negative array indices.
Signed-off-by: Marcel Denia <naoir@gmx.net>
This makes external perl modules compile their native code with the
correct CFLAGS, not with the one host-perl is using.
Signed-off-by: Marcel Denia <naoir@gmx.net>
-g3 will make the build fail in Compress-Raw-Zlib with
ld: final link failed: Memory exhausted
This bug is actually documented[1] and fixed by filtering that flag. Since
we're passing CFLAGS manually, we need to do the same to make things work.
I suspect that this is actually a linker or library bug, but for now let's
just replicate the official fix.
[1] https://rt.cpan.org/Public/Bug/Display.html?id=88936
Signed-off-by: Marcel Denia <naoir@gmx.net>
This is a kind of big commit. Summary:
- Integrate better into OpenWRT's infrastructure
- > Build host-perl using host-build.mk
- > Install host-perl to STAGING_DIR_HOST
- Remove microperl(for now)
Signed-off-by: Marcel Denia <naoir@gmx.net>
The target miniperl binary wasn't used at all. It is intended
for bootstrapping during build when not cross-compiling.
Signed-off-by: Marcel Denia <naoir@gmx.net>