summaryrefslogtreecommitdiff
path: root/mk/wrapper/arg-pp-main
diff options
context:
space:
mode:
Diffstat (limited to 'mk/wrapper/arg-pp-main')
-rw-r--r--mk/wrapper/arg-pp-main157
1 files changed, 0 insertions, 157 deletions
diff --git a/mk/wrapper/arg-pp-main b/mk/wrapper/arg-pp-main
deleted file mode 100644
index abebcdde1b9..00000000000
--- a/mk/wrapper/arg-pp-main
+++ /dev/null
@@ -1,157 +0,0 @@
-# $NetBSD: arg-pp-main,v 1.1.2.4 2005/02/15 16:25:23 tv Exp $
-#
-# Copyright (c) 2005 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.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by the NetBSD
-# Foundation, Inc. and its contributors.
-# 4. Neither the name of The NetBSD Foundation nor the names of its
-# contributors may be used to endorse or promote products derived
-# from this software without specific prior written permission.
-#
-# 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.
-
-case $arg in
-######################################################################
-# Split direct paths to shared libraries into the "-Ldir -llib"
-# equivalent.
-######################################################################
-/*/lib*.so|/*/lib*.so.[0-9]*)
- dir="${arg%/lib*}"
- lib="${arg#$dir/lib}"
- case $lib in
- */*) argok=yes; argmatch=yes ;;
- *.so) lib="${lib%.so}" ;;
- *.so.[0-9]*) lib="${lib%.so.[0-9]*}" ;;
- esac
- case $argmatch in
- yes) ;;
- *) prepend_queue argbuf "-l$lib"
- $debug_log $wrapperlog " (arg-pp-main) pre: -l$lib"
- prepend_queue argbuf "-L$dir"
- $debug_log $wrapperlog " (arg-pp-main) pre: -L$dir"
- argmatch=yes
- ;;
- esac
- ;;
-/*/lib*.sl|/*/lib*.sl.[0-9]*) # HP-UX
- dir="${arg%/lib*}"
- lib="${arg#$dir/lib}"
- case $lib in
- */*) argok=yes; argmatch=yes ;;
- *.sl) lib="${lib%.sl}" ;;
- *.sl.[0-9]*) lib="${lib%.sl.[0-9]*}" ;;
- esac
- case $argmatch in
- yes) ;;
- *) prepend_queue argbuf "-l$lib"
- $debug_log $wrapperlog " (arg-pp-main) pre: -l$lib"
- prepend_queue argbuf "-L$dir"
- $debug_log $wrapperlog " (arg-pp-main) pre: -L$dir"
- argmatch=yes
- ;;
- esac
- ;;
-######################################################################
-# Remove extraneous comma in "-Wl,-R,/dir" and in "-Wl,-L,/dir".
-######################################################################
--Wl,-L,*)
- arg="-Wl,-L${arg#-Wl,-L,}"
- $debug_log $wrapperlog " (arg-pp-main) pre: $arg"
- prepend_queue argbuf "$arg"
- argmatch=yes
- ;;
--Wl,-R,*)
- arg="-Wl,-R${arg#-Wl,-R,}"
- $debug_log $wrapperlog " (arg-pp-main) pre: $arg"
- prepend_queue argbuf "$arg"
- argmatch=yes
- ;;
-######################################################################
-# Merge "-Wl,-R -Wl,/dir" into a single "-Wl,-R/dir". Same for -Wl,-L,
-# -Wl,-rpath and -Wl,-rpath-link.
-######################################################################
--Wl,-[LR])
- pop_queue argbuf nextarg
- $debug_log $wrapperlog " (arg-pp-main) pop: $nextarg"
- shquote "${nextarg#-Wl,}"; nextarg="$shquoted"
- $debug_log $wrapperlog " (arg-pp-main) pre: $arg$nextarg"
- prepend_queue argbuf "$arg$nextarg"
- argmatch=yes
- ;;
--Wl,-rpath|-Wl,-rpath-link|-Wl,--rpath)
- pop_queue argbuf nextarg
- $debug_log $wrapperlog " (arg-pp-main) pop: $nextarg"
- shquote "${nextarg#-Wl,}"; nextarg="$shquoted"
- $debug_log $wrapperlog " (arg-pp-main) pre: $arg,$nextarg"
- prepend_queue argbuf "$arg,$nextarg"
- argmatch=yes
- ;;
-######################################################################
-# Remove rpath options that try to add relative paths to the runtime
-# library search path. This basically cleans up after lazy programmers
-# who can't write Makefiles.
-######################################################################
--R[!/]*|-Wl,-R[!/]*|\
--Wl,-rpath,[!/]*|-Wl,-rpath-link,[!/]*|-Wl,--rpath,[!/]*)
- $debug_log $wrapperlog " (arg-pp-main) drop: $arg"
- argmatch=yes
- ;;
-######################################################################
-# Remove consecutive, repeated library options.
-######################################################################
--l*)
- head_queue argbuf nextarg
- while $test "$nextarg" = "$arg"; do
- pop_queue argbuf nextarg
- $debug_log $wrapperlog " (arg-pp-main) drop: $nextarg"
- if queue_is_empty argbuf; then
- break
- else
- head_queue argbuf nextarg
- fi
- done
- argok=yes
- argmatch=yes
- ;;
-#######################################################################
-# The -o option takes an extra argument that should be passed unmodified.
-#######################################################################
--o)
- skipargs=1
- argok=yes
- argmatch=yes
- ;;
-#######################################################################
-# GNU ld uses "--dynamic-linker /path/to/shared/object" to set the
-# dynamic linker code for ELF executables.
-#######################################################################
---dynamic-linker)
- skipargs=1
- argok=yes
- argmatch=yes
- ;;
-esac