Check-in [36ec37fe61]
Overview
Comment:Moved "fake-uname" hack into regular patch against Tcl
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:36ec37fe614c34abd1079b5d50da6530788e8cbb
User & Date: rkeene on 2014-05-19 03:41:16
Other Links: manifest | tags
Context
2014-05-19
03:53
Corrected path check-in: a292122a04 user: rkeene tags: trunk
03:41
Moved "fake-uname" hack into regular patch against Tcl check-in: 36ec37fe61 user: rkeene tags: trunk
2014-05-17
05:02
Updated to latest tcc4tcl check-in: 5006c26763 user: rkeene tags: trunk
Changes

Deleted build/fake-bin/uname version [482a7c7be3].

     1         -#! /usr/bin/env bash
     2         -
     3         -if [ "$1" == "--fake" ]; then
     4         -	echo "true"
     5         -
     6         -	exit 0
     7         -fi
     8         -
     9         -# Some systems do not compile well with this fake uname in place
    10         -# provide the real uname for them.
    11         -case "${CROSS}" in
    12         -	mipsel-unknown-linux-uclibc)
    13         -		unset CROSS
    14         -		;;
    15         -esac
    16         -
    17         -if [ -z "${CROSS}" ]; then
    18         -	# If not cross compiling, revert to system uname
    19         -	while [ "$(uname --fake 2>/dev/null)" == "true" -a -n "${PATH}" ]; do
    20         -		PATH="$(echo "${PATH}" | /usr/bin/sed 's@^[^:]*$@@;s@^[^:]*:@@')"
    21         -
    22         -		export PATH
    23         -	done
    24         -
    25         -	if [ -z "${PATH}" ]; then
    26         -		exit 1
    27         -	fi
    28         -
    29         -	exec uname "$@"
    30         -fi
    31         -
    32         -CROSS="$(echo "${CROSS}" | sed 's@-*$@@')"
    33         -
    34         -# Determine release information
    35         -case "${CROSS}" in
    36         -	*-hpux11*)
    37         -		sysname="HP-UX"
    38         -		sysrelease="$(echo "${CROSS}" | sed 's@^.*-hpux@@')"
    39         -		;;
    40         -	*-solaris2*)
    41         -		sysname="SunOS"
    42         -		sysrelease="$(echo "${CROSS}" | sed 's@^.*-solaris@@;s@^2@5@')"
    43         -		;;
    44         -	*-linux*)
    45         -		sysname="Linux"
    46         -		sysrelease="2.6.5"
    47         -		;;
    48         -	*-netbsd*)
    49         -		sysname="NetBSD"
    50         -		sysrelease="$(echo "${CROSS}" | sed 's@^.*-netbsd@@;s@$@.0@')"
    51         -		;;
    52         -	*-freebsd*)
    53         -		sysname="FreeBSD"
    54         -		sysrelease="$(echo "${CROSS}" | sed 's@^.*-freebsd@@;s@$@.0-RELEASE@')"
    55         -		;;
    56         -esac
    57         -
    58         -# Determine machine information
    59         -case "${CROSS}" in
    60         -	hppa64-*-hpux*)
    61         -		sysmachine="9000/859"
    62         -		;;
    63         -	i386-*-solaris*)
    64         -		sysmachine="i86pc"
    65         -		;;
    66         -	sparc-*-solaris*)
    67         -		sysmachine="sun4u"
    68         -		;;
    69         -	x86_64-*)
    70         -		sysmachine="x86_64"
    71         -		;;
    72         -	i?86-*)
    73         -		sysmachine="i686"
    74         -		;;
    75         -	ia64-*)
    76         -		sysmachine="ia64"
    77         -		;;
    78         -	arm-*|armel-*|armeb-*)
    79         -		sysmachine="armv7l"
    80         -		;;
    81         -	mipsel-*|mipseb-*)
    82         -		sysmachine="mips"
    83         -		;;
    84         -esac
    85         -
    86         -for arg in $(echo "$@" | sed 's@.@ & @g'); do
    87         -	case "${arg}" in
    88         -		-)
    89         -			continue
    90         -			;;
    91         -		r)
    92         -			retval="${retval} ${sysrelease}"
    93         -			;;
    94         -		s)
    95         -			retval="${retval} ${sysname}"
    96         -			;;
    97         -		m)
    98         -			retval="${retval} ${sysmachine}"
    99         -			;;
   100         -		p)
   101         -			# XXX
   102         -			retval="${retval} ${syscpu}"
   103         -			;;
   104         -		n)
   105         -			retval="${retval} $(hostname)"
   106         -			;;
   107         -		a)
   108         -			retval="${sysname} $(hostname) ${sysrelease} ${sysversion} ${sysmachine} ${syscpu}"
   109         -			;;
   110         -	esac
   111         -done
   112         -
   113         -echo "${retval}" | sed 's@^  *@@;s@  *$@@'

Modified build/make-kit-crosscompile from [bf7d466ffa] to [b5df8646bf].

     5      5   
     6      6   	exit 1
     7      7   fi
     8      8   
     9      9   CCROOT="${HOME}/root/cross-compilers/${CROSS}"
    10     10   CCROOTBIN="${CCROOT}/bin"
    11     11   
    12         -PATH="$(pwd)/build/fake-bin:${PATH}:${CCROOTBIN}"
           12  +PATH="${PATH}:${CCROOTBIN}"
    13     13   AR="${CCROOTBIN}/${CROSS}-ar"
    14     14   CC="${CCROOTBIN}/${CROSS}-gcc ${CC_ADD}"
    15     15   CXX="${CCROOTBIN}/${CROSS}-g++ ${CC_ADD}"
    16     16   RANLIB="${CCROOTBIN}/${CROSS}-ranlib"
    17     17   if [ -z "${STRIP}" ]; then
    18     18   	STRIP="${CCROOTBIN}/${CROSS}-strip"
    19     19   fi
    20     20   export PATH AR CC CXX RANLIB STRIP
    21     21   
    22     22   ./kitcreator "$@" --host="${CROSS}"

Added tcl/patchscripts/fix-crosscompile.sh version [ee28047116].

            1  +#! /bin/bash
            2  +
            3  +case "${CC}" in
            4  +	*-*-*)
            5  +		;;
            6  +	*)
            7  +		exit 0
            8  +		;;
            9  +esac
           10  +
           11  +mkdir fake-bin
           12  +
           13  +cat << \_EOF_ > fake-bin/fake-uname
           14  +#! /bin/bash
           15  +
           16  +if [ "$1" == "--fake" ]; then
           17  +	echo "true"
           18  +
           19  +	exit 0
           20  +fi
           21  +
           22  +case "${CC}" in
           23  +	*-*-*)
           24  +		;;
           25  +	*)
           26  +		CC=''
           27  +		;;
           28  +esac
           29  +
           30  +if [ -z "${CC}" ]; then
           31  +	# If not cross compiling, revert to system uname
           32  +	while [ "$(uname --fake 2>/dev/null)" == "true" -a -n "${PATH}" ]; do
           33  +		PATH="$(echo "${PATH}" | sed 's@^[^:]*$@@;s@^[^:]*:@@')"
           34  +
           35  +		export PATH
           36  +	done
           37  +
           38  +	if [ -z "${PATH}" ]; then
           39  +		exit 1
           40  +	fi
           41  +
           42  +	exec uname "$@"
           43  +fi
           44  +
           45  +CROSS="$(echo "${CC}" | sed -r 's@-[^-]*($| .*$)@@')"
           46  +
           47  +# Determine release information
           48  +case "${CROSS}" in
           49  +	*-hpux11*)
           50  +		sysname="HP-UX"
           51  +		sysrelease="$(echo "${CROSS}" | sed 's@^.*-hpux@@')"
           52  +		;;
           53  +	*-solaris2*)
           54  +		sysname="SunOS"
           55  +		sysrelease="$(echo "${CROSS}" | sed 's@^.*-solaris@@;s@^2@5@')"
           56  +		;;
           57  +	*-linux*)
           58  +		sysname="Linux"
           59  +		sysrelease="2.6.5"
           60  +		;;
           61  +	*-netbsd*)
           62  +		sysname="NetBSD"
           63  +		sysrelease="$(echo "${CROSS}" | sed 's@^.*-netbsd@@;s@$@.0@')"
           64  +		;;
           65  +	*-freebsd*)
           66  +		sysname="FreeBSD"
           67  +		sysrelease="$(echo "${CROSS}" | sed 's@^.*-freebsd@@;s@$@.0-RELEASE@')"
           68  +		;;
           69  +	*-aix[0-9].*)
           70  +		sysname="AIX"
           71  +		sysrelease="$(echo "${CROSS}" | sed 's@.*-aix\([0-9]\..*\)@\1@')"
           72  +		;;
           73  +esac
           74  +
           75  +# Determine machine information
           76  +case "${CROSS}" in
           77  +	hppa64-*-hpux*)
           78  +		sysmachine="9000/859"
           79  +		;;
           80  +	i386-*-solaris*)
           81  +		sysmachine="i86pc"
           82  +		;;
           83  +	sparc-*-solaris*)
           84  +		sysmachine="sun4u"
           85  +		;;
           86  +	x86_64-*)
           87  +		sysmachine="x86_64"
           88  +		;;
           89  +	i?86-*)
           90  +		sysmachine="i686"
           91  +		;;
           92  +	ia64-*)
           93  +		sysmachine="ia64"
           94  +		;;
           95  +	arm-*|armel-*|armeb-*)
           96  +		sysmachine="armv7l"
           97  +		;;
           98  +	mipsel-*|mipseb-*)
           99  +		sysmachine="mips"
          100  +		;;
          101  +	powerpc-*)
          102  +		sysmachine="ppc"
          103  +		;;
          104  +esac
          105  +
          106  +for arg in $(echo "$@" | sed 's@.@ & @g'); do
          107  +	case "${arg}" in
          108  +		-)
          109  +			continue
          110  +			;;
          111  +		v)
          112  +			retval="${retval} unknown"
          113  +			;;
          114  +		r)
          115  +			retval="${retval} ${sysrelease}"
          116  +			;;
          117  +		s)
          118  +			retval="${retval} ${sysname}"
          119  +			;;
          120  +		m)
          121  +			retval="${retval} ${sysmachine}"
          122  +			;;
          123  +		p)
          124  +			# XXX
          125  +			retval="${retval} ${syscpu}"
          126  +			;;
          127  +		n)
          128  +			retval="${retval} $(hostname)"
          129  +			;;
          130  +		a)
          131  +			retval="${sysname} $(hostname) ${sysrelease} ${sysversion} ${sysmachine} ${syscpu}"
          132  +			;;
          133  +	esac
          134  +done
          135  +
          136  +echo "${retval}" | sed 's@^  *@@;s@  *$@@'
          137  +_EOF_
          138  +
          139  +chmod +x fake-bin/fake-uname
          140  +
          141  +sed 's|`uname |`'"$(pwd)"'/fake-bin/fake-uname |g' "${TCLPRIVATE}/unix/configure" > "${TCLPRIVATE}/unix/configure.new"
          142  +cat "${TCLPRIVATE}/unix/configure.new" > "${TCLPRIVATE}/unix/configure"
          143  +rm -f "${TCLPRIVATE}/unix/configure.new"
          144  +
          145  +exit 0