mirror of
https://github.com/novatiq/packages.git
synced 2026-04-30 07:28:39 +01:00
perl: Switch to split configuration files
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>
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
-- Perl configuration --
|
||||
|
||||
Perl uses a huge configuration file, normally generated via the Configure script
|
||||
at build-time. This fails when cross-compiling though, so we need to supply our
|
||||
own.
|
||||
|
||||
We're using perlconfig.pl to piece together the final configuration from a bunch
|
||||
of configuration files(all ending in .config). Please refer to perlconfig.pl's
|
||||
POD for information on usage and syntax.
|
||||
|
||||
Throughout the files, you will see a bunch of references to private symbols with
|
||||
the prefix "owrt". These are used to control output in an effort to both
|
||||
simplify writing configuration files, as well as to provide switchable options
|
||||
to select the feature set of the resulting perl installation.
|
||||
|
||||
The following will be a summary/quick reference of all private symbols we're
|
||||
currently using:
|
||||
|
||||
Passed via architecture configuration file(mipsel.config, i486.config, ...)
|
||||
---------------------------------------------------------------------------
|
||||
Symbol Values Description
|
||||
owrt:bits 32/64 Target's native word length.
|
||||
owrt:endian little/big Target's endianness.
|
||||
owrt:arch mipsel, i486, ... Target's architecture name.
|
||||
owrt:sig_count 64/128 Number of signals the target
|
||||
provides(NSIG - 1).
|
||||
owrt:sigs * Symbolic names of the first 32 signals
|
||||
this architecture provides, in numeric
|
||||
order. Seperated by whitespaces.
|
||||
owrt:sig_name_extra * Symbolic names of any additional signals
|
||||
this architecture provides after
|
||||
owrt:sig_count. Seperated by
|
||||
whitespaces.
|
||||
owrt:sig_num_extra * Numeric values associated with the
|
||||
signal names provided in
|
||||
owrt:sig_name_extra. Seperated by
|
||||
whitespaces.
|
||||
|
||||
Passed via command line
|
||||
-----------------------
|
||||
Symbol Values Description
|
||||
owrt:libc glibc/uclibc/musl Which C library implementation is in
|
||||
use.
|
||||
owrt:threads yes/no Whether to enable threading support.
|
||||
owrt:ipv6 define/undef Whether to enable IPv6 support.
|
||||
owrt:target_cross * Target architecture's host triplet.
|
||||
owrt:target_cc * C compiler to use.
|
||||
owrt:cflags * Additional C compiler flags.
|
||||
owrt:ldflags * Additional linker flags.
|
||||
owrt:staging_dir * Same as OpenWRT buildroot's
|
||||
$(STAGING_DIR).
|
||||
owrt:host_perl_prefix * host-perl installation prefix.
|
||||
|
||||
Passed via version.config
|
||||
-------------------------
|
||||
Symbol Values Description
|
||||
owrt:perllibpath * Path to perl library files, from the
|
||||
target's point of view.
|
||||
Reference in New Issue
Block a user