35d85c0109
Seen in lang/mono6.
165 lines
3.3 KiB
Text
165 lines
3.3 KiB
Text
# $NetBSD: transform-gcc,v 1.35 2020/05/02 19:32:59 rillig Exp $
|
|
#
|
|
# This file handles the transformations needed for gcc that can be done
|
|
# looking at only one argument at a time.
|
|
#
|
|
|
|
transform_setname "transform-gcc"
|
|
|
|
case $arg in
|
|
|
|
# Standard options.
|
|
-[EcgOos] |\
|
|
-[DILlU]?* |\
|
|
-O[01] ) transform_pass ;;
|
|
|
|
# Needed for the GNU configure scripts:
|
|
-V |\
|
|
-v |\
|
|
--version ) transform_pass ;;
|
|
|
|
# We occasionally override specs to force particular options.
|
|
-specs=* |\
|
|
-specs ) transform_pass ;;
|
|
|
|
# GCC extensions.
|
|
- |\
|
|
-dynamic |\
|
|
-export-dynamic |\
|
|
-falign-functions=* |\
|
|
-falign-loops=* |\
|
|
-falign-jumps=* |\
|
|
-fexpensive-optimizations |\
|
|
-ffast-math |\
|
|
-ffloat-store |\
|
|
-fhonour-copts |\
|
|
-finline-functions |\
|
|
-fno-align-* |\
|
|
-fno-builtin* |\
|
|
-fno-common |\
|
|
-fno-implicit-templates |\
|
|
-fno-inline-functions |\
|
|
-fno-strict-aliasing |\
|
|
-fomit-frame-pointer |\
|
|
-fPIC |\
|
|
-fpic |\
|
|
-fPIE |\
|
|
-fpie |\
|
|
-fpcc-struct-return |\
|
|
-freg-struct-return |\
|
|
-frename-registers |\
|
|
-fsigned-char |\
|
|
-fstack-protector |\
|
|
-fstack-protector-all |\
|
|
-funroll-loops |\
|
|
-funsigned-char |\
|
|
-fweb |\
|
|
-fwrapv |\
|
|
-ggdb |\
|
|
-isystem,* |\
|
|
-M |\
|
|
-M[DFMPT] |\
|
|
-MMD |\
|
|
-m32 |\
|
|
-m64 |\
|
|
-mabi=* |\
|
|
-march=* |\
|
|
-mcpu=* |\
|
|
-momit-leaf-frame-pointer |\
|
|
-mpreferred-stack-boundary=* |\
|
|
-mpush-args |\
|
|
-mschedule=* |\
|
|
-mieee-fp |\
|
|
-O[23s] |\
|
|
-pedantic |\
|
|
-pedantic-errors |\
|
|
-pie |\
|
|
-pipe |\
|
|
-pthread |\
|
|
-print-prog-name=* |\
|
|
-print-search-dirs |\
|
|
-S |\
|
|
-shared |\
|
|
-shared-gcc |\
|
|
-shared-libgcc |\
|
|
-static |\
|
|
-std=c99 |\
|
|
-std=gnu89 |\
|
|
-std=gnu99 |\
|
|
-W |\
|
|
-W[cLlS],* |\
|
|
-Wall |\
|
|
-Wbounded |\
|
|
-Wcast-align |\
|
|
-Wcast-qual |\
|
|
-Wchar-subscripts |\
|
|
-Wconversion |\
|
|
-Wextra |\
|
|
-Werror |\
|
|
-Werror-implicit-function-declaration |\
|
|
-Werror=* |\
|
|
-Wformat* |\
|
|
-Winline |\
|
|
-Wmissing-declarations |\
|
|
-Wmissing-format-attribute |\
|
|
-Wmissing-prototypes |\
|
|
-Wnested-externs |\
|
|
-Wno-* |\
|
|
-Wparentheses |\
|
|
-Wpointer-arith |\
|
|
-Wredundant-decls |\
|
|
-Wreturn-type |\
|
|
-Wshadow |\
|
|
-Wsign-compare |\
|
|
-Wstrict-aliasing |\
|
|
-Wstrict-prototypes |\
|
|
-Wswitch |\
|
|
-Wtrigraphs |\
|
|
-Wunused |\
|
|
-Wundef |\
|
|
-Wwrite-strings ) transform_pass ;;
|
|
|
|
# There are some packages suppressing all warnings. We don't want that.
|
|
-w ) transform_discard ;;
|
|
|
|
# Options specific to g++.
|
|
-fexceptions |\
|
|
-fmessage-length=* |\
|
|
-fno-check-new |\
|
|
-fno-exceptions |\
|
|
-fno-rtti |\
|
|
-Wno-non-virtual-dtor |\
|
|
-ftemplate-depth=* ) transform_pass ;;
|
|
|
|
# Options specific to Objective C
|
|
-fgnu-runtime |\
|
|
-fconstant-string-class=* ) transform_pass ;;
|
|
|
|
# Old-style rpath specifier, may come from autoconf's AC_PATH_XTRA.
|
|
# Our gcc re-orders -R args relative to -Wl,-R specifiers (puts -R
|
|
# args at the front of the "ld" invocation), which messes up the relative
|
|
# search order. Fix this by rewriting -R to -Wl,-R.
|
|
-R* ) transform_to "-Wl,$arg" ;;
|
|
|
|
# Other compiler's options that have corresponding GCC options.
|
|
-Kpic |\
|
|
-kpic |\
|
|
-KPIC |\
|
|
-kPIC ) transform_to "-fPIC" ;;
|
|
-mt ) transform_discard ;;
|
|
-64 ) transform_to "-m64" ;;
|
|
|
|
# Ignore SunPRO flags to prevent it from being recognized as a entry point
|
|
# option for `ld'.
|
|
-errwarn=* |\
|
|
-errwarn ) transform_discard_with_warning ;;
|
|
|
|
# Disable the flags for PKGSRC_MKPIE.
|
|
-fno-pie |\
|
|
-fno-PIE |\
|
|
-nopie ) MKPIE_CFLAGS=; MKPIE_LDFLAGS=; transform_pass ;;
|
|
|
|
# Unknown options.
|
|
-* ) transform_pass_with_warning ;;
|
|
|
|
esac
|