From a43aa761cdb3fd1051dad474fccf9e500a0d49ea Mon Sep 17 00:00:00 2001 From: Clint Adams Date: Thu, 19 Apr 2001 14:45:41 +0000 Subject: 14033: reduce unnecessary library linking for modules and main binary --- Src/mkmakemod.sh | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) (limited to 'Src/mkmakemod.sh') diff --git a/Src/mkmakemod.sh b/Src/mkmakemod.sh index e80e65819..bb1891e2f 100644 --- a/Src/mkmakemod.sh +++ b/Src/mkmakemod.sh @@ -27,6 +27,7 @@ # autoprefixconds like autoinfixconds, but for prefix condition codes # autoparams parameters defined by the module, for autoloading # automathfuncs math functions defined by the module, for autoloading +# extralibs libraries specific to this module (default none) # objects .o files making up this module (*must* be defined) # proto .syms files for this module (default generated from $objects) # headers extra headers for this module (default none) @@ -190,7 +191,8 @@ if $first_stage; then unset name moddeps nozshdep alwayslink hasexport unset autobins autoinfixconds autoprefixconds autoparams automathfuncs - unset objects proto headers hdrdeps otherincs + unset extralibs objects proto headers hdrdeps otherincs + unset EXTRALIBS . $top_srcdir/$the_subdir/${mddname}.mdd q_name=`echo $name | sed 's,Q,Qq,g;s,_,Qu,g;s,/,Qs,g'` test -n "${moddeps+set}" || moddeps= @@ -199,6 +201,24 @@ if $first_stage; then proto=`echo $objects '' | sed 's,\.o ,.syms ,g'` dobjects=`echo $objects '' | sed 's,\.o ,..o ,g'` + + for lib in $extralibs; do + case $lib in + m) EXTRALIBS="$EXTRALIBS \$(LIBS_M)" + ;; + cap) EXTRALIBS="$EXTRALIBS \$(LIBS_CAP)" + ;; + socket) EXTRALIBS="$EXTRALIBS \$(LIBS_SOCKET)" + ;; + termcap) EXTRALIBS="$EXTRALIBS \$(LIBS_TERMCAP)" + ;; + terminfo) EXTRALIBS="$EXTRALIBS \$(LIBS_TERMINFO)" + ;; + yp) EXTRALIBS="$EXTRALIBS \$(LIBS_YP)" + ;; + esac + done + modhdeps= mododeps= exportdeps= @@ -302,6 +322,7 @@ if $first_stage; then echo "NXPIMP_${mddname} =" echo "LINKMODS_${mddname} = $mododeps" echo "NOLINKMODS_${mddname} = " + echo "EXTRALIBS_${mddname} = $EXTRALIBS" echo echo "proto.${mddname}: \$(EPRO_${mddname})" echo "\$(SYMS_${mddname}): \$(PROTODEPS)" @@ -328,7 +349,7 @@ if $first_stage; then echo echo "${mddname}.\$(DL_EXT): \$(MODDOBJS_${mddname}) ${mddname}.export $exportdeps \$(@LINKMODS@_${mddname})" echo ' rm -f $@' - echo " \$(DLLINK) \$(@E@XPIMP_$mddname) \$(@E@NTRYOPT) \$(MODDOBJS_${mddname}) \$(@LINKMODS@_${mddname}) \$(LIBS) " + echo " \$(DLLINK) \$(@E@XPIMP_$mddname) \$(@E@NTRYOPT) \$(MODDOBJS_${mddname}) \$(@LINKMODS@_${mddname}) $EXTRALIBS \$(LIBS)" echo fi echo "${mddname}.mdhi: ${mddname}.mdhs \$(INCS_${mddname})" -- cgit 1.4.1