diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-18 22:17:05 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-06-18 22:17:05 +0000 |
commit | 93bc48faf83afc24e3501cff22973c0d6498c26e (patch) | |
tree | 056fe16152d9e17bd26318828e2ca6a5198c782b /Configure | |
parent | d53fedae18f2c5130f792a59a11b6dd17d5eceb3 (diff) | |
download | perl-93bc48faf83afc24e3501cff22973c0d6498c26e.tar.gz |
More cross-compilation defaults gleaned from -Dcc
if it is CPU-OS-gcc.
p4raw-id: //depot/perl@10690
Diffstat (limited to 'Configure')
-rwxr-xr-x | Configure | 97 |
1 files changed, 66 insertions, 31 deletions
@@ -20,7 +20,7 @@ # $Id: Head.U,v 3.0.1.9 1997/02/28 15:02:09 ram Exp $ # -# Generated on Sat Jun 16 19:06:04 EET DST 2001 [metaconfig 3.0 PL70] +# Generated on Tue Jun 19 02:14:42 EET DST 2001 [metaconfig 3.0 PL70] # (with additional metaconfig patches by perlbug@perl.org) cat >c1$$ <<EOF @@ -2313,45 +2313,75 @@ esac case "$usecrosscompile" in $define|true|[yY]*) + $echo "Cross-compiling..." croak='' case "$cc" in *-*-gcc) # A cross-compiling gcc, probably. - targetarch=`echo $cc|sed 's/-gcc$//'` + targetarch=`$echo $cc|$sed 's/-gcc$//'` ar=$targetarch-ar # leave out ld, choosing it is more complex nm=$targetarch-nm ranlib=$targetarch-ranlib + $echo 'extern int foo;' > try.c + set X `$cc -v -E perl.c 2>&1 | $awk '/^#include </,/^End of search /'|$grep '/include'` + shift + if $test $# -gt 0; then + incpth="$incpth $*" + incpth="$echo $incpth|$sed 's/^ //'" + echo "Guessing incpth $incpth" >&4 + for i in $*; do + j=`$echo $i|$sed 's,/include$,/lib,'` + if $test -d $j; then + libpth="$libpth $j" + fi + done + libpth="$echo $libpth|$sed 's/^ //'" + echo "Guessing libpth $libpth." >&4 + fi + $rm -f try.c ;; esac case "$targetarch" in - '') echo "Cross-compiling: you should define targetarch." >&4; croak=y ;; - esac - case "$usrinc" in - '') echo "Cross-compiling: you should define usrinc." >&4; croak=y ;; + '') echo "Targetarch not defined." >&4; croak=y ;; + *) echo "Using targetarch $targetarch." >&4 ;; esac case "$incpth" in - '') echo "Cross-compiling: you should define incpth." >&4; croak=y ;; + '') echo "Incpth not defined." >&4; croak=y ;; + *) echo "Using incpth $incpth." >&4 ;; esac case "$libpth" in - '') echo "Cross-compiling: you should define libpth." >&4; croak=y ;; + '') echo "Libpth not defined." >&4; croak=y ;; + *) echo "Using libpth $libpth." >&4 ;; esac - case "$targethost" in - '') echo "Cross-compiling: targethost not defined." >&4; croak=y ;; + case "$usrinc" in + '') for i in $incpth; do + if $test -f $i/errno.h -a -f $i/stdio.h -a -f $i/time.h; then + usrinc=$i + echo "Guessing usrinc $usrinc." >&4 + break + fi + done + case "$usrinc" in + '') echo "Usrinc not defined." >&4; croak=y ;; + esac + ;; + *) echo "Using usrinc $usrinc." >&4 ;; esac - case "$targetdir" in - '') echo "Cross compiling: targetdir not defined." >&4; croak=y ;; + case "$targethost" in + '') echo "Targethost not defined." >&4; croak=y ;; + *) echo "Using targethost $targethost." >&4 esac - locincpth='' - loclibpth='' + locincpth=' ' + loclibpth=' ' case "$croak" in - y) exit 1 ;; + y) echo "Cannot continue, aborting." >&4; exit 1 ;; esac case "$src" in /*) run=$src/Cross/run to=$src/Cross/to from=$src/Cross/from ;; - *) pwd=`test -f ../Configure & cd ..; pwd` + *) pwd=`$test -f ../Configure & cd ..; pwd` run=$pwd/Cross/run to=$pwd/Cross/to from=$pwd/Cross/from @@ -2369,8 +2399,15 @@ $define|true|[yY]*) run=$run-$targetrun to=$to-$targetto from=$from-$targetfrom + case "$targetdir" in + '') targetdir=/tmp + echo "Guessing targetdir $targetdir." >&4 + ;; + esac case "$targetuser" in - '') targetuser=root ;; + '') targetuser=root + echo "Guessing targetuser $targetuser." >&4 + ;; esac case "$targetfrom" in scp) q=-q ;; @@ -2386,7 +2423,7 @@ $to \$exe $targetrun -l $targetuser $targethost "cd $targetdir && ./\$exe \$@" EOF ;; - *) echo "Cross-compiling: unknown targetrun '$targetrun'" >&4 + *) echo "Unknown targetrun '$targetrun'" >&4 exit 1 ;; esac @@ -2406,7 +2443,7 @@ EOF cp \$@ $targetdir/. EOF ;; - *) echo "Cross-compiling: unknown targetto '$targetto'" >&4 + *) echo "Unknown targetto '$targetto'" >&4 exit 1 ;; esac @@ -2430,33 +2467,31 @@ done exit 0 EOF ;; - *) echo "Cross-compiling: unknown targetfrom '$targetfrom'" >&4 + *) echo "Unknown targetfrom '$targetfrom'" >&4 exit 1 ;; esac - if test ! -f $run; then - echo "Cross-compiling: target 'run' script '$run' not found." >&4 + if $test ! -f $run; then + echo "Target 'run' script '$run' not found." >&4 else chmod a+rx $run fi - if test ! -f $to; then - echo "Cross-compiling: target 'to' script '$to' not found." >&4 + if $test ! -f $to; then + echo "Target 'to' script '$to' not found." >&4 else chmod a+rx $to fi - if test ! -f $from; then - echo "Cross-compiling: target 'from' script '$from' not found." >&4 + if $test ! -f $from; then + echo "Target 'from' script '$from' not found." >&4 else chmod a+rx $from fi - if test ! -f $run -o ! -f $to -o ! -f $from; then + if $test ! -f $run -o ! -f $to -o ! -f $from; then exit 1 fi cat >&4 <<EOF -Cross-compiling: Using - $run-ssh - $to-ssh - $from-ssh +Using '$run' for remote execution, and '$from' and '$to' +for remote file transfer. EOF ;; *) run='' |