#!/bin/sh case $ZSH_VERSION in '') :;; *) alias -g '${1+"$@"}="$@"';; esac && CDPATH= && unset CDPATH (exit "$?") && prj_echo() { case $* in -*|*\\*) # Avoid echo's nonportable behavior for switches and escapes. cat <&2 exit 100 } (exit "$?") && prj_needfile() { : < "$1" } (exit "$?") && prj_not() { if test "$#" = 0 || "$@" then return 100 else return 0 fi } (exit "$?") && prj_anyeq_tmp_= && unset prj_anyeq_tmp_ && prj_anyeq() { prj_anyeq_tmp_=$1 && shift && while :; do if test "$#" = 0; then return 100 else case $1 in "$prj_anyeq_tmp_") return 0;; *) shift;; esac fi || return "$?" done } (exit "$?") && prj_anymatch() { eval " shift && while :; do case \${1+x}:\$1 in :) return 100;; x:$1) return 0;; *) shift;; esac || return \"\$?\" done" } (exit "$?") && prj_is_set() { eval "test \"\${$1+x}\" = x" } (exit "$?") && prj_unset() { while test "$#" != 0; do { eval "$1=" && unset "$1" && shift } || return "$?" done } (exit "$?") && prj_set() { eval "$1=\$2" } (exit "$?") && prj_set_default() { eval " if test \"\${$1+x}\" = x; then :; else $1=\$2 fi" } (exit "$?") && prj_append_tmp0_= && prj_append_tmp1_= && unset prj_append_tmp0_ prj_append_tmp1_ && prj_append() { set x "$1" "$2" "${3-:}" && shift && prj_append_tmp0_=$3$2$3 && prj_append_tmp1_=$3$3 && eval ' case $3$'"$1"'$3 in *"$prj_append_tmp0_"*) :;; "$prj_append_tmp1_") '"$1"'=$2;; *) '"$1"'=$'"$1"'$3$2;; esac' } (exit "$?") && prj_capture() { eval " shift && $1"'=`${1+"$@"}`' } (exit "$?") && prj_x2() { "$@" && export "$2" } (exit "$?") && prj_u2() { "$@" && eval " set x \"\$$2\" && $2= && unset $2 && $2=\$2" } (exit "$?") && prj_which_elt_= && prj_which_rest_= && unset prj_which_elt_ prj_which_rest_ && prj_which_get_elt() { sed ' 1h 1!H $!d g s%:.*$%% /./s%$%/% ' <&2 return 100 } } (exit "$?") && if { test -e .; } > /dev/null 2>&1; then prj_exists() { test -e "$1"; } else prj_exists() { test -f "$1" || test -d "$1" || test -h "$1" || test -b "$1" || test -c "$1" || test -p "$1" } fi (exit "$?") && if (prj_which readlink_path readlink) 2> /dev/null; then : elif (exec perl -e '') > /dev/null 2>&1; then readlink() { perl -le 'print(readlink($ARGV[0]) or die($!."\n"))' "$1"; } elif (exec python -c '') > /dev/null 2>&1; then readlink() { python -c 'import sys, os; print os.readlink(sys.argv[1])' "$1" } elif (exec guile -c '') > /dev/null 2>&1; then readlink() { guile -c '(format #t "~A\n" (readlink (cadr (program-arguments))))' "$1" } else echo 'unable to find readlink' >&2 (exit 100) fi # -*- sh -*- # (exit "$?") && prj_u2 prj_set prj_program gcc-wrapper && safe_symlink_() { if prj_u2 prj_capture safe_symlink_target_ readlink "$1/$2" 2> /dev/null && test "$safe_symlink_target_" = "$3"; then if test -d "$1/$2{new}"; then rmdir "$1/$2{new}" || :; else :; fi else { test -d "$1"/. || mkdir "$1"; } && { test -d "$1/$2{new}"/. || mkdir "$1/$2{new}"; } && ln -s "$3" "$1/$2{new}/$2" && mv -f "$1/$2{new}/$2" "$1"/ && { rmdir "$1/$2{new}" || :; } fi } && case ${SPF_CONF-/x} in */|*/.|*/..) prj_die '$SPF_CONF must not end with "/", "/." or "/.."';; /*) :;; *) prj_die '$SPF_CONF must be absolute';; esac && prj_x2 prj_set_default SPF_PREFIX "$SP_ROOT/package/misc/spf" && case $SPF_PREFIX in /*) :;; *) prj_die '$SPF_PREFIX must be absolute';; esac && prj_x2 prj_set_default SPF_LIBC glibc && case $SPF_LIBC in gnu) SPF_LIBC=glibc;; diet) SPF_LIBC=dietlibc;; *) :;; esac && if prj_is_set SPF_CONF && test -d "$SPF_CONF"/gcc/.; then prj_x2 prj_set SPF_GCC "$SPF_CONF"/gcc else prj_x2 prj_set_default SPF_GCC gcc && case $SPF_GCC in /*) :;; */*) prj_die '$SPF_GCC must be absolute or plain';; *) case $SPF_GCC in [0123456789]*) SPF_GCC=gcc-$SPF_GCC;; *) :;; esac && SPF_GCC=$SPF_PREFIX/$SPF_GCC;; esac fi && prj_u2 prj_capture arg0_ basename "$0" && if test "$arg0_" = cc; then arg0_=gcc; else :; fi && prj_u2 prj_set do_cpp_ 1 && prj_u2 prj_set do_cc_ 1 && prj_u2 prj_set do_ld_ 1 && if test "$arg0_" = cpp then unset do_cc_ do_ld_ elif test "$#:$1" = '1:-v' || test "$#:$1" = '1:-V' || test "$#:$1" = '1:--verbose' || prj_anyeq --help ${1+"$@"} || prj_anyeq --version ${1+"$@"} || prj_anyeq -print-search-dirs ${1+"$@"} || prj_anyeq -print-libgcc-file-name ${1+"$@"} || prj_anyeq -dumpversion ${1+"$@"} || prj_anyeq -dumpmachine ${1+"$@"} || prj_anyeq -dumpspecs ${1+"$@"} || prj_anyeq -multi-lib ${1+"$@"} || prj_anyeq -multi-directory ${1+"$@"} || prj_anyeq -multi-os-directory ${1+"$@"} || prj_anymatch -print-prog-name=\* ${1+"$@"} then unset do_cpp_ do_cc_ do_ld_ elif test "$arg0_" = cpp || prj_anyeq -E ${1+"$@"} || prj_anyeq -M ${1+"$@"} || prj_anyeq -MM ${1+"$@"} then unset do_cc_ do_ld_ elif prj_anyeq -S ${1+"$@"} || prj_anyeq -c ${1+"$@"} then unset do_ld_ else : fi && case $arg0_ in g77|gcj) prj_x2 prj_set SPF_GCC_GCCLIB '';; *) :;; esac && if prj_is_set SPF_GCC_GCCLIB; then if prj_not test -f "$SPF_GCC"/lib/libg2c.so && \ prj_not test -f "$SPF_GCC"/lib/libgcc_s.so && \ prj_not test -f "$SPF_GCC"/lib/libgcj.so && \ prj_not test -f "$SPF_GCC"/lib/libstdc++.so; then unset SPF_GCC_GCCLIB elif prj_is_set SPF_CONF && test "$SPF_GCC" != "$SPF_CONF"/gcc; then safe_symlink_ "$SPF_CONF" gcc "$SPF_GCC" else : fi else : fi && prj_unset x_ libc_ && if prj_is_set SPF_CONF; then x_=`dirname "$SPF_CONF"` && prj_needfile "$x_" && if test -d "$SPF_CONF/$SPF_LIBC"/. || test -d "$SPF_PREFIX/$SPF_LIBC"/. then libc_=$SPF_CONF/$SPF_LIBC else : fi else : fi && setlibc_() { prj_is_set libc_ && if test -d "$libc_"/.; then return 0; else :; fi && safe_symlink_ "$SPF_CONF" "$SPF_LIBC" "$SPF_PREFIX/$SPF_LIBC" } && if prj_is_set do_ld_; then prj_unset found_rpath_arg_ && find_rpath_arg_() { while :; do { if test "$#" = 0; then return 0; else :; fi && if test "$1" = -Xlinker; then shift && if test "$#" = 0; then return 0; else :; fi && case $1 in -rpath|--rpath|-R|-R/*) found_rpath_arg_=1 && return 0;; *) :;; esac else case $1 in -Wl,-rpath|-Wl,-rpath,*| \ -Wl,--rpath|-Wl,--rpath,*| \ -Wl,-rpath-link|-Wl,-rpath-link,*| \ -Wl,--rpath-link|-Wl,--rpath-link,*| \ -Wl,-R|-Wl,-R,*|-Wl,-R/*) found_rpath_arg_=1 && return 0;; *) :;; esac fi && shift } || return "$?" done } && find_rpath_arg_ ${1+"$@"} else : fi && if prj_is_set do_cc_ then set x ${1+"$@"} $SPF_GCC_CFLAGS && shift else : fi && if prj_is_set SPF_CONF; then if test "$SPF_LIBC" = glibc; then if prj_is_set do_cpp_ && prj_not prj_anyeq -nostdinc ${1+"$@"} && setlibc_; then for x_ in C_INCLUDE_PATH CPLUS_INCLUDE_PATH OBJC_INCLUDE_PATH; do prj_x2 prj_append "$x_" "$libc_"/include || exit "$?" done else : fi && if prj_is_set do_ld_ && setlibc_; then x_="$libc_"/lib && prj_x2 prj_append LIBRARY_PATH "$x_" && prj_u2 prj_set dyn_ "$x_"/ld.so.1 && { prj_exists "$dyn_" || dyn_=$x_/ld-linux.so.2; } && prj_u2 prj_set dyn_ -Wl,--dynamic-linker,"$dyn_" && { prj_anyeq "$dyn_" ${1+"$@"} || { set x "$dyn_" ${1+"$@"} && shift; }; } && if prj_is_set found_rpath_arg_; then x_=-Wl,-R,"$x_" && { prj_anyeq "$x_" ${1+"$@"} || { set x ${1+"$@"} "$x_" && shift; }; } else prj_x2 prj_append LD_RUN_PATH "$x_" fi else : fi else : fi && if prj_is_set do_ld_ && prj_is_set SPF_GCC_GCCLIB; then if prj_is_set found_rpath_arg_; then x_=-Wl,-R,"$SPF_CONF"/gcc/lib && { prj_anyeq "$x_" ${1+"$@"} || { set x ${1+"$@"} "$x_" && shift; }; } else prj_x2 prj_append LD_RUN_PATH "$SPF_CONF"/gcc/lib fi else : fi else : fi && prj_u2 prj_set gccbin_ "$SPF_GCC"/bin && set "$gccbin_/$arg0_" ${1+"$@"} && PATH="$gccbin_${PATH:+:$PATH}" && export PATH && if prj_is_set do_ld_; then if prj_is_set SPF_GCC_WRAP_LD then set x "$SPF_GCC_WRAP_LD" ${1+"$@"} && shift else : fi elif prj_is_set do_cc_; then if prj_is_set SPF_GCC_WRAP_CC then set x "$SPF_GCC_WRAP_CC" ${1+"$@"} && shift else : fi elif prj_is_set do_cpp_; then if prj_is_set SPF_GCC_WRAP_CPP then set x "$SPF_GCC_WRAP_CPP" ${1+"$@"} && shift else : fi else : fi && if prj_is_set SPF_GCC_WRAP then set x "$SPF_GCC_WRAP" ${1+"$@"} && shift else : fi && if prj_is_set SPF_CONF && test "$SPF_LIBC" = dietlibc && setlibc_ then set "$libc_"/bin/diet ${1+"$@"} else : fi && if prj_is_set SPF_GCC_DEBUG; then { echo args: && for x_ in ${1+"$@"}; do prj_echo " $x_" || exit "$?" done && prj_echo "env: PATH=$PATH C_INCLUDE_PATH=$C_INCLUDE_PATH LIBRARY_PATH=$LIBRARY_PATH LD_RUN_PATH=$LD_RUN_PATH " } >&3 else : fi && if prj_is_set SPF_GCC_NOOP then : else exec ${1+"$@"} fi