summaryrefslogtreecommitdiff
path: root/Configure
Commit message (Collapse)AuthorAgeFilesLines
* Configure: use $undef, not plain undefBrian Fraser2014-01-301-2/+2
|
* Configure: Added a targetenv variableBrian Fraser2014-01-301-0/+2
| | | | | Currently this is only used during make test, and allows setting the environment of the target before running tests.
* Configure, Solaris hints: Allow cross-compiling to Solaris.Brian Fraser2014-01-301-1/+17
| | | | | | 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.
* Configure, qnx hints: Improve the cross-compilation support for QNXBrian Fraser2014-01-301-1/+2
| | | | | Now, like with Android and plain Linux, cross-compiling to QNX (which includes newer Blackberry devices) will load hints/qnx.sh.
* Configure: Fix the fflush(NULL) test in cross buildsBrian Fraser2014-01-261-2/+4
| | | | | | 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.
* Configure: If cross-compiling to linux, pick the proper hints fileBrian Fraser2014-01-261-0/+5
| | | | | | 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.
* Configure: added special osname checks for nto and androidBrian Fraser2014-01-261-1/+13
| | | | | | | | | | | 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,^[^-]*-,,'`
* Configure, Android hints: Changes to allow native buildsBrian Fraser2014-01-261-0/+1
|
* Make compiling with adb work againBrian Fraser2014-01-261-0/+3
|
* Separate SH used to run Configure from SH used on target systemJess Robinson2014-01-231-0/+6
| | | | | | | 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.
* Configure: add missing ; to checkccflagsBrian Fraser2014-01-231-1/+1
|
* Configure, Makefile.SH: Allow running generate_uudmap in the targetBrian Fraser2014-01-221-3/+8
| | | | | | | | | | | | | | | | 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.
* Configure: Minor improvements to the building on the host miniperlBrian Fraser2014-01-221-7/+9
|
* Configure: When cross-compiling, save the $^O of the hostBrian Fraser2014-01-221-0/+3
|
* Configure: Silence $to warnings when cross-compilingBrian Fraser2014-01-221-1/+1
|
* Configure, run-ssh: No need to use ./\$exeBrian Fraser2014-01-221-1/+1
| | | | | | | | | | | | 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.
* Configure: Teach run-ssh to handle -envBrian Fraser2014-01-221-1/+9
|
* Configure: Pass the -r flag to scp when cross-compilingBrian Fraser2014-01-221-2/+2
|
* Build host miniperl and generate_uudmap binaries when cross compiling, for ↵Jess Robinson2014-01-221-0/+18
| | | | local use
* fix the ability to use targethost when defined.Neil Williams2014-01-221-3/+3
|
* add an escape for when targethost is not defined but usecrosscompile is.Neil Williams2014-01-221-1/+14
| | | | | 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.
* Configure: Set to/from/run scripts if targethost is passedJess Robinson2014-01-221-2/+7
| | | | Do this regardless of whether we are cross compiling
* Configure: Split the usecrosscompile section from the to/from/run sectionJess Robinson2014-01-221-0/+9
| | | | | | | 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.
* Regenerate from meta after backporting crosscompile changesH.Merijn Brand2014-01-221-495/+500
| | | | | I am sure there are items that could have been processed even cleaner, but with the current state, the content is functional equal.
* Add missing $run prefix to some Configure testsJess Robinson2014-01-171-1/+1
|
* Introduce $targetport to allow running on a non-standard ssh portJess Robinson2014-01-171-5/+13
| | | | | Such as when using user networking on qemu and redirecting a local port to the emulator ssh
* Store the targetdir, targethost from Configure in config.sh for later.Jess Robinson2014-01-171-0/+4
|
* Configure: Remove "was file copied" check using run-sshJess Robinson2014-01-171-4/+0
| | | | This doesn't seem to be of much use.
* Configure: If using targetarch, the computed binaries should stickBrian Fraser2014-01-171-1/+12
|
* Configure: Don't skip the alignbytes test when crosscompilingBrian Fraser2014-01-171-42/+29
|
* Configure: Add $run to two testsBrian Fraser2014-01-171-2/+2
|
* Configure: use $sysroot, if available, in checkccflagsBrian Fraser2014-01-171-4/+7
| | | | | | | | | 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.
* Configure: No need to skip the byteorder test when cross-compiling.Brian Fraser2014-01-171-2/+2
| | | | | This skip was added in 2001, but under the current model there's no real reason to skip it.
* Fix two Configure tests when targethost is setJess Robinson2014-01-171-2/+13
|
* Configure: When cross-compiling, look for *-gcc* instead of *-*-gccBrian Fraser2014-01-171-6/+8
| | | | | | 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.
* Set appropriate flags for linux or linux-like systems.Jess Robinson2014-01-171-4/+4
| | | | | This means that osnames that look like *linux*, like linux-androideabi or linux-gnueabihf are treated like linux systems.
* Configure: default incpth to usrincBrian Fraser2014-01-151-0/+5
| | | | | | | | | | 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.
* Configure, sysroot: failing to guess usrinc needn't be fatalBrian Fraser2014-01-131-1/+7
| | | | | | | | | 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.
* Configure, sysroot: Update defaults to use $sysrootBrian Fraser2014-01-131-0/+10
|
* Configure, sysroot: add --sysroot to cppflagsBrian Fraser2014-01-131-0/+5
|
* Introduce sysroot variable to ConfigureJess Robinson2014-01-131-13/+80
| | | | | | | | | | | | | 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++.
* Configure: use incpth, not usrinc, to search for headers.Brian Fraser2014-01-131-1/+1
| | | | | | 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.
* Configure: Change a use of cc to $ccBrian Fraser2014-01-131-1/+1
|
* Configure: Add $cppflags to cppstdinBrian Fraser2014-01-131-7/+7
|
* Configure: Better guesses for usrinc and friends on some compilersBrian Fraser2014-01-131-90/+112
| | | | | | | | 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.
* Configure: Introduce d_libname_uniqueBrian Fraser2014-01-031-0/+22
|
* Regenerated Configure after backportsH.Merijn Brand2014-01-011-7/+5
|
* Purge sfio support from configure.com, Configure and related files.Nicholas Clark2013-12-271-84/+2
| | | | | | | Most of these are actually generated, so the maintenance complexity reduction is not as impressive as the diffstat suggests. (Incorporating a fix from Merijn)
* Move Cwd and List-Util: UNIX followupDavid Mitchell2013-11-291-0/+4
| | | | | | | | | | | | | 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".
* Atari FreeMiNT: MiNT does not have .exe for _exeH.Merijn Brand2013-09-171-1/+4
| | | | [perl #89502]: Add support for Atari FreeMiNT platform