summaryrefslogtreecommitdiff
path: root/mk/wrapper/arg-pp-main
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2005-08-05 19:46:41 +0000
committerjlam <jlam@pkgsrc.org>2005-08-05 19:46:41 +0000
commitca47ca0ada4c5948e60115d6e63cd48ed7902654 (patch)
treee842f8c3d1bac6ec9e9562b51fc56ff7e2a3f493 /mk/wrapper/arg-pp-main
parentc27abb4a8785cf89fd3289f873d59c595986351e (diff)
downloadpkgsrc-ca47ca0ada4c5948e60115d6e63cd48ed7902654.tar.gz
Hardcode a workaround for perl's DynaLoader.a which is definitely a
PIC code archive, but libtool isn't smart enough to realize it. Munge the name within cmd-sink-libtool into something that will make libtool recognize it as a PIC code archive. We unmunge it in arg-pp-main so non-libtool wrappers see the right thing. This let's us use libtool to link applications with an embedded Perl interpreter. I feel so dirty...
Diffstat (limited to 'mk/wrapper/arg-pp-main')
-rw-r--r--mk/wrapper/arg-pp-main15
1 files changed, 14 insertions, 1 deletions
diff --git a/mk/wrapper/arg-pp-main b/mk/wrapper/arg-pp-main
index 45766a56de9..537c812c456 100644
--- a/mk/wrapper/arg-pp-main
+++ b/mk/wrapper/arg-pp-main
@@ -1,4 +1,4 @@
-# $NetBSD: arg-pp-main,v 1.4 2005/02/14 21:33:36 jlam Exp $
+# $NetBSD: arg-pp-main,v 1.5 2005/08/05 19:46:41 jlam Exp $
#
# Copyright (c) 2005 The NetBSD Foundation, Inc.
# All rights reserved.
@@ -36,6 +36,19 @@
case $arg in
######################################################################
+# Hardcode a workaround for perl's DynaLoader.a which is definitely
+# a PIC code archive, but libtool isn't smart enough to realize it.
+# cmd-sink-libtool munged it into something libtool recognizes, but
+# now we need to unmunge it so that the compiler/linker are called
+# with the right name for the archive.
+######################################################################
+*/libDynaLoader_pic.a)
+ arg="${arg%/libDynaLoader_pic.a}/DynaLoader.a"
+ prepend_queue argbuf "$arg"
+ $debug_log $wrapperlog " (arg-pp-main) pre: $arg"
+ argmatch=yes
+ ;;
+######################################################################
# Split direct paths to shared libraries into the "-Ldir -llib"
# equivalent.
######################################################################