Thu, 13 Feb 2014 20:11:13 +0100
Fix the build again
#!/bin/bash # Script to silence win32 and perl build by displaying a neat one-line notice # instead of full command contents when executing compilers. # # Written by Tomek Wasilczyk <tomkiewicz@cpw.pidgin.im>, licensed under GNU GPL tag=$1 found=0 object="" file_1="" file_2="" is_final=0 for arg in "$@" do if [ "$found" == 1 ]; then object="$arg" break fi if [ "$arg" == "-o" ]; then found=1 fi if [ "$tag" == "auto" ] && [ "$arg" == "-shared" ]; then tag="CCLD" fi if [ "$tag" == "PERL" ] && [ "${arg%(*}" == "Mkbootstrap" ]; then object="${arg%;}" is_final=1 break fi if [ "$tag" == "PERL" ] && [ "${arg%(*}" == "ExtUtils::ParseXS::process_file" ]; then object="${arg#*output => \"}" object="${object%\", *}" is_final=1 break fi ext_1=${arg#${arg%??}} if [ "${ext_1}" == ".c" ]; then file_1="$arg" fi ext_2=${arg#${arg%???}} if [ "${ext_2}" == ".xs" ]; then file_2="$arg" fi ext_3=${arg#${arg%????}} if [ "${ext_3}" == ".3pm" ]; then file_2="$arg" fi done if [ "$tag" == "auto" ]; then tag="CC" fi if [ "$tag" == "PERL" ] && [ "$is_final" == 0 ]; then object=`echo "$object" | sed -n 's|.*output *=> *"\([^"]*\)".*|\1|p'` fi if [ "$object" == "" ] && [ "${file_1}" != "" ]; then object="${file_1}" fi if [ "$object" == "" ] && [ "${file_2}" != "" ]; then object="${file_2}" fi shift 1 if [ "$object" == "" ]; then echo "$@" >&2 else echo -e " $tag\t$object" >&2 fi "$@"