# $NetBSD: transform-mipspro-cc,v 1.13 2018/11/20 09:21:23 maya Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. # # This code is derived from software contributed to The NetBSD Foundation # by Johnny C. Lam. # # Redistribution and use in source and binary forms, with or without # modification, are permitted provided that the following conditions # are met: # 1. Redistributions of source code must retain the above copyright # notice, this list of conditions and the following disclaimer. # 2. Redistributions in binary form must reproduce the above copyright # notice, this list of conditions and the following disclaimer in the # documentation and/or other materials provided with the distribution. # # THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS # ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED # TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. transform_setname "transform-mipspro-cc" # usage: mipspro_check_abi "abi" mipspro_check_abi() { if [ "$wrapper_abi" = "$1" ]; then transform_pass else transform_fail "Wrong ABI argument $arg for ABI $wrapper_abi." fi } case $arg in # Standard options. -[cEgOos] |\ -[DILlU]?* |\ -O[01] ) transform_pass ;; # MIPSpro can handle -O[23] and -Ofast[=platform], so just pass them # on through. -O[23] |\ -Ofast |\ -Ofast=* |\ -OPT:* ) transform_pass ;; # Ignore all other -O* options. -O* ) transform_discard_with_warning ;; # Directories for the runtime library search path are passed via # "-Wl,-rpath,", not "-Wl,-R". -R* ) transform_to "-Wl,-rpath,${arg#-R}" ;; -Wl,-R* ) transform_to "-Wl,-rpath,${arg#-Wl,-R}" ;; -Wp,-MD,* ) transform_to "-Wp,-MDupdate,${arg#-Wp,-MD,}" ;; # The MIPSpro compiler accepts these -W* directives, so just pass them # on through. -W[ablfpR]*,* ) transform_pass ;; -diag_error |\ -diag_remark |\ -diag_suppress |\ -diag_warning |\ -woff ) transform_pass ;; -32 |\ -o32 ) mipspro_check_abi "" ;; -n32 ) mipspro_check_abi "32" ;; -64 ) mipspro_check_abi "64" ;; -c99 |\ -M |\ -MDupdate ) transform_pass ;; -W |\ -Wall ) transform_to "-fullwarn" ;; # Ignore all of the other -W* directives, which are likely to be # GCCisms. -W* ) transform_discard_with_warning ;; -[fKk]PIC ) transform_to "-KPIC" ;; -g3 ) transform_to "-g" ;; # Unknown options. -* ) transform_pass_with_warning ;; esac