summaryrefslogtreecommitdiff
path: root/mk
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2003-11-25 14:44:39 +0000
committerjlam <jlam@pkgsrc.org>2003-11-25 14:44:39 +0000
commit087d9e1669bfe686a8162c1dfc7479cb6044ac54 (patch)
treeac902c95f49164a6fe5f0faa05c1328463cb5648 /mk
parent35657e5e7f497b9069bdcd2544443ca039f67d18 (diff)
downloadpkgsrc-087d9e1669bfe686a8162c1dfc7479cb6044ac54.tar.gz
If we're linking a shared library by "cc -shared -o /srcdir/shlib", we
need to protect the full path after "-o" from being transformed from "/srcdir/shlib" to "-L/srcdir -lshlib". This fixes building graphics/freetype2, which uses lots of full paths to sources and objects.
Diffstat (limited to 'mk')
-rw-r--r--mk/buildlink3/marshall10
1 files changed, 9 insertions, 1 deletions
diff --git a/mk/buildlink3/marshall b/mk/buildlink3/marshall
index 36c2c1edfd1..6c6e2512fb5 100644
--- a/mk/buildlink3/marshall
+++ b/mk/buildlink3/marshall
@@ -1,4 +1,4 @@
-# $NetBSD: marshall,v 1.5 2003/10/09 08:19:47 jlam Exp $
+# $NetBSD: marshall,v 1.6 2003/11/25 14:44:39 jlam Exp $
#
# Handle cases where multiple consecutive arguments must be processed
# together, either by merging the arguments or "skipping" the extra
@@ -16,6 +16,14 @@ case $arg in
shift
;;
#
+# If we're linking a shared library by "cc -shared -o /srcdir/shlib",
+# we need to protect the full path after "-o" from being transformed
+# from "/srcdir/shlib" to "-L/srcdir -lshlib"
+#
+-o)
+ skipargs=1
+ ;;
+#
# Darwin's special GCC uses "-install_name /path/shlib" to indicate
# the final installed location for the named shared library, and we
# need to protect the full path from "/path/shlib" -> "-L/path -lshlib"