diff options
Diffstat (limited to 'mk')
-rw-r--r-- | mk/buildlink3/cmd-sink-libtool | 15 | ||||
-rw-r--r-- | mk/wrapper/arg-pp-main | 15 |
2 files changed, 28 insertions, 2 deletions
diff --git a/mk/buildlink3/cmd-sink-libtool b/mk/buildlink3/cmd-sink-libtool index 44311d935d0..75599527020 100644 --- a/mk/buildlink3/cmd-sink-libtool +++ b/mk/buildlink3/cmd-sink-libtool @@ -1,4 +1,4 @@ -# $NetBSD: cmd-sink-libtool,v 1.1 2004/09/21 15:01:40 jlam Exp $ +# $NetBSD: cmd-sink-libtool,v 1.2 2005/08/05 19:46:41 jlam Exp $ # # Copyright (c) 2004 The NetBSD Foundation, Inc. # All rights reserved. @@ -40,6 +40,19 @@ while ! queue_is_empty cmdbuf; do $debug_log $wrapperlog " (cmd-sink-libtool) pop: $arg" 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. Munge the name 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. + ############################################################## + */DynaLoader.a) + arg="${arg%/DynaLoader.a}/libDynaLoader_pic.a" + $debug_log $wrapperlog " (cmd-sink-libtool) to: $arg" + . $buildcmd + ;; + ############################################################## # If we're in "compile" mode, then don't add any linker options # to the command line. ############################################################## 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. ###################################################################### |