# $NetBSD: transform-xlc-cc,v 1.10 2018/08/22 20:48:37 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-xlc-cc" case $arg in # Standard options. -[cEgOos] |\ -[DILlU]?* |\ -O[01] ) transform_pass ;; -Wl,* ) transform_pass ;; -W* ) transform_discard_with_warning ;; # xlc uses -qmkshrobj to create shared objects, and we also need to # tell the linker to use a flat namespace and allow undefined symbols. -dynamiclib ) transform_to_and_split "-qmkshrobj -Wl,-flat_namespace -Wl,-undefined -Wl,suppress" ;; # -qnocommon is the xlc argument to allocate uninitialized globals in # the data section for PIC. -fPIC |\ -fno-common ) transform_to "-qnocommon" ;; ###################################################################### # Ignore some flags that are unnecessary for XL C. ###################################################################### -ansi |\ -fno-gnu-keywords |\ -fstrict-prototypes |\ -no-cpp-precomp |\ -pedantic |\ -pipe ) transform_discard_with_warning ;; -* ) transform_pass_with_warning ;; esac