| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
Currently this is only used during make test, and allows setting
the environment of the target before running tests.
|
|
|
|
|
|
| |
This only required some minor changes to the Solaris hints, and
adding a few lines for Solaris in the part of Configure that handles
setting osname and osvers when cross-compiling.
|
|
|
|
|
| |
Now, like with Android and plain Linux, cross-compiling to QNX (which
includes newer Blackberry devices) will load hints/qnx.sh.
|
|
|
|
|
|
| |
Second attempt at this. This is less portable than the previous
version, since it assumes that the target system will have a cat, but unlike
the previous version this now actually works.
|
|
|
|
|
|
| |
Something like arm-linux-gnueabihf -- which is what the raspberry pi
gets as its targetarch -- is really just plain Linux, so set osname
to that and load up the hints file.
|
|
|
|
|
|
|
|
|
|
|
| |
When cross-compiling, for android, anything matching *linux-android*
gets osname=linux-androideabi. This is to allow compiling to
all three android variants (x86, arm, mips).
For QNX Neutrino, anything matching nto*|*-nto-* gets osname=nto. In
the future, that might change to 'qnx', but right now we don't want
it to pick up the hints file.
For anything else, keep the current behavior, which is to set osname
to the output of `echo $targetarch|sed 's,^[^-]*-,,'`
|
| |
|
| |
|
|
|
|
|
|
|
| |
This is because, for example, on the host system, sh might be /bin/sh,
but on the target system, it's /system/bin/sh.
The new variable is "targetsh" and defaults to "sh" unless changed by the hints file/Configure params.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a bit of a step backwards, but we want to run this in
the target platform when cross-compiling to some unusual setups,
like ASCII -> EBCDIC.
What this branch introduces is a third "path" for generate_uudmap:
* If we are doing a native build, just build it as usual and run it.
* If we're cross-compiling, and either -Dhostgenerate was specified OR
if it was left empty, which is the default case, then create
a host generate_uudmap and run it locally
* Finally, if are cross-compiling and were built with -Uhostgenerate,
then build generate_uudmap for the target and run it there, bringing
back the resulting headers.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previous, if run-ssh was passed ./TEST, it would've ended up running
././TEST in the target system. Similarly, if you passed 'uname',
it would've tried running ./uname, which would've failed
spectacularly.
This commit changes run-ssh so that it won't add the extra './';
this means that shell builtins can be run in the target system.
While this is not generally portable, it's useful in specific
situations, such as in the hints files.
|
| |
|
| |
|
|
|
|
| |
local use
|
| |
|
|
|
|
|
| |
See http://www.nntp.perl.org/group/perl.perl5.porters/2012/12/msg196443.html
"Cross-building and Makefile.SH", which explains the reasoning for this.
|
|
|
|
| |
Do this regardless of whether we are cross compiling
|
|
|
|
|
|
|
| |
Beyond organization, this also makes sure that usecrosscompile is
always set to undef if we're not cross-compiling, which enables
code to realibly use $Config{usecrosscompile} to check for a
cross-compiling perl.
|
|
|
|
|
| |
I am sure there are items that could have been processed even cleaner,
but with the current state, the content is functional equal.
|
| |
|
|
|
|
|
| |
Such as when using user networking on qemu and redirecting a local port
to the emulator ssh
|
| |
|
|
|
|
| |
This doesn't seem to be of much use.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
If the user specified -Dsysroot but we don't use it, then the results can
be entirely off.
This also introduces an internal variable for Configure, _sysroot,
which is just "--sysroot=$sysroot", for use in places like checkccflags that
need --sysroot but don't need the other flags.
|
|
|
|
|
| |
This skip was added in 2001, but under the current model there's no
real reason to skip it.
|
| |
|
|
|
|
|
|
| |
Ditto with g++. This allows us to use, for example, ntox86-gcc or
x86_64-w64-mingw32-g++.exe to cross-compile, and have Configure detect
most things automatically.
|
|
|
|
|
| |
This means that osnames that look like *linux*, like linux-androideabi
or linux-gnueabihf are treated like linux systems.
|
|
|
|
|
|
|
|
|
|
| |
A previous commit made findhdr use incpth instead of just usrinc;
however, at the moment, incpth is not being filled for non-gcc
compatible compilers, and so broke the build for those.
This commit makes incpth default to usrinc, which means that
if for whatever reason incpth is not filled, findhdr will still
function as it did before.
|
|
|
|
|
|
|
|
|
| |
Previously, if we failed to guess usrinc, incpth, or libpth and were
cross-compiling, Configure would've bailed out immediately. This commit
makes it more lenient if using -Dsysroot; in case of failure it will now
warn, but Configure will continue as usual; this is because the defaults
for those variables will now use sysroot, so they have a higher chance
of being accurate.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is borrowed from gcc and allows us to indicate the logical root
directory for headers and libraries, under which all -I and -L are
searched for. This patch adjusts Configure to search under $sysroot
(if supplied) for headers and libraries, instead of /.
--sysroot is added to ccflags and friends so that make in
ExtUtils::MakeMaker, and other extensions, will use it.
Currently this is only done if compiling with some variant of gcc
or g++.
|
|
|
|
|
|
| |
incpth is all the paths that will eventually be used by the compiler to
search for headers; usrinc is the first of those paths to have all three
of errno.h, stdio.h, and time.h inside.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
It turns out that we had some much more accurate way of getting
usrinc, libpth and incpth -- we can just ask the compiler. This
was stashed away and only used when cross-compiling; what this
commit does is move things around so that it's also used in the
more common case.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Most of these are actually generated, so the maintenance complexity reduction
is not as impressive as the diffstat suggests.
(Incorporating a fix from Merijn)
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the previous commit worked on win32; this commit makes it work under UNIX
too.
Basically Configure determines a list of "logical" extension names
such as "IPC/SysV", based on physical dirs under cpan/ etc such as
"IPC-SysV".
In this case, keep the original logical names "Cwd" and "List/Util",
even though the physical paths have been changed to "PathTools" and
"Scalar/List/Utils".
|
|
|
|
| |
[perl #89502]: Add support for Atari FreeMiNT platform
|