summaryrefslogtreecommitdiff
path: root/mk/wrapper/transform-ido-cc
diff options
context:
space:
mode:
Diffstat (limited to 'mk/wrapper/transform-ido-cc')
-rw-r--r--mk/wrapper/transform-ido-cc105
1 files changed, 105 insertions, 0 deletions
diff --git a/mk/wrapper/transform-ido-cc b/mk/wrapper/transform-ido-cc
new file mode 100644
index 00000000000..e71d39ab7f2
--- /dev/null
+++ b/mk/wrapper/transform-ido-cc
@@ -0,0 +1,105 @@
+case $arg in
+######################################################################
+# IDO 5.3 handles these -O statements, so just pass them through
+# preserve -Olimit settings
+######################################################################
+-O0|-O|-O1|-O2|-Olimit)
+ addtocache=yes
+ ;;
+######################################################################
+# IDO 5.3 seems to have problems with -O3, so downgrade it
+######################################################################
+-O3)
+ arg=-O2
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+######################################################################
+# Directories for the runtime library search path are passed via
+# "-Wl,-rpath,<dir>", not "-Wl,-R<dir>".
+# Path elements are separated by ":".
+######################################################################
+-Wl,-R*)
+ arg=`$echo "X$arg" | $Xsed -e "s|,|:|g" -e "s|^-Wl:-R|-Wl,-rpath,|"`
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+-Wl,-rpath,*)
+ arg=`$echo "X$arg" | $Xsed -e "s|,|:|g" -e "s|^-Wl:-rpath:|-Wl,-rpath,|"`
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+-rpath*)
+ arg=`$echo "X$arg" | $Xsed -e "s|,|:|g" -e "s|^-rpath.|-Wl,-rpath,|"`
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+-R*)
+ arg=`$echo "X$arg" | $Xsed -e "s|,|:|g" -e "s|^-R|-Wl,-rpath,|"`
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+######################################################################
+# different syntax
+######################################################################
+-fsigned-char|-fno-unsigned-char)
+ arg=-signed
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+;;
+######################################################################
+# use -g3 in order to prevent disabling optimization
+######################################################################
+-g)
+ arg=-g3
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+;;
+######################################################################
+# The IDO 5.3 compiler accepts these -W* directives, so just pass them
+# on through.
+######################################################################
+-W[pKMfjusmocabyz]*,*)
+ addtocache=yes
+ ;;
+######################################################################
+# Ignore all of the other -W*, -O*, -f*, -m* directives, which are
+# likely to be GCCisms.
+# Ignore -pipe
+# Kill all -nostd* directives, since the standard libs and headers
+# will not be considered by buildlink3 even if a respective
+# -L or -I option is issued.
+# ignore options that should prevent the use of shared libraries.
+# ignore -n32, which is a MIPSpro-specific option.
+######################################################################
+-[WOfm]*|-pipe|-MM|-nostd*|--disable-shared|-non_shared|-n32)
+ arg=
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+######################################################################
+# different syntax for profiling
+######################################################################
+-pg)
+ arg=-p
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+######################################################################
+# different syntax
+######################################################################
+-static)
+ arg="-B static"
+ split_arg=yes
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+######################################################################
+# different syntax
+######################################################################
+-notall)
+ arg=-none
+ msg_log $wrapperlog " (transform-ido-cc) to: $arg"
+ addtocache=yes
+ ;;
+esac