aboutsummaryrefslogtreecommitdiff
path: root/gcc/mklibgcc.in
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-10-08 16:20:18 -0700
committerRichard Henderson <rth@gcc.gnu.org>2000-10-08 16:20:18 -0700
commitaefa45d35ddc22d8ab2a720874854d2c07882027 (patch)
treed14e895aa0f643740cf9f9a9fc9ac99f2e746d48 /gcc/mklibgcc.in
parentb15ad712574a975b0ba2a333bff74db3f19c17d4 (diff)
downloadgcc-aefa45d35ddc22d8ab2a720874854d2c07882027.zip
gcc-aefa45d35ddc22d8ab2a720874854d2c07882027.tar.gz
gcc-aefa45d35ddc22d8ab2a720874854d2c07882027.tar.bz2
Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS.
* Makefile.in (libgcc.mk): Pass SHLIB_EXT, not SHLIB_LIBS. * configure.in (sparc*-*-solaris*): Use t-slibgcc{,-sld}. * mklibgcc.in: Consider SHLIB_LINK the entire shlib build command. Use SHLIB_EXT. * config/t-linux (SHLIB_EXT): New. (SHLIB_LINK): Use the entire build command, with substitutions. (SHLIB_LIBS): Remove. * config/alpha/t-osf4: Likewise. * config/mips/t-iris6: Likewise. * config/sparc/t-sol2: Likewise, but move shlib stuff... * config/sparc/t-slibgcc-sld: ...here. * config/sparc/t-slibgcc: New file. From-SVN: r36792
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r--gcc/mklibgcc.in31
1 files changed, 18 insertions, 13 deletions
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in
index 43dac4f..6e7b061 100644
--- a/gcc/mklibgcc.in
+++ b/gcc/mklibgcc.in
@@ -23,8 +23,8 @@
# LIBGCC
# MULTILIBS
# EXTRA_MULTILIB_PARTS
+# SHLIB_EXT
# SHLIB_LINK
-# SHLIB_LIBS
# SHLIB_MULTILIB
# SHLIB_MKMAP
# SHLIB_MAPFILES
@@ -286,12 +286,12 @@ for ml in $MULTILIBS; do
if [ "$SHLIB_LINK" -a "$SHLIB_MKMAP" -a -z "$mapfile" ]; then
mapfile="libgcc.map"
- shlib_deps="$shlib_deps $mapfile"
echo ""
echo "${mapfile}: $SHLIB_MKMAP $SHLIB_MAPFILES $libgcc_objs"
echo ' { $(NM_FOR_TARGET) -pg'" $libgcc_objs; echo %%; cat $SHLIB_MAPFILES; } | "'$(AWK)'" -f $SHLIB_MKMAP > "'tmp-$@'
echo ' mv tmp-$@ $@'
fi
+ shlib_deps="$shlib_deps $mapfile"
# Depend on EXTRA_MULTILIB_PARTS, since that's where crtbegin/end
# usually are put in a true multilib situation.
@@ -315,13 +315,23 @@ for ml in $MULTILIBS; do
shlib_base_name=libgcc_s_`echo $dir | sed s,/,_,g`
fi
echo ""
- echo "${dir}/${shlib_base_name}.so: $shlib_deps"
- echo " $SHLIB_LINK $flags -o ${shlib_base_name}.so $libgcc_objs $SHLIB_LIBS" | sed "s/@shlib_base_name@/$shlib_base_name/g"
+ echo "${dir}/${shlib_base_name}${SHLIB_EXT}: $shlib_deps"
+ echo " $SHLIB_LINK" \
+ | sed -e "s%@multilib_flags@%$flags%g" \
+ -e "s%@multilib_dir@%$dir%g" \
+ -e "s%@shlib_objs@%$libgcc_objs%g" \
+ -e "s%@shlib_base_name@%$shlib_base_name%g" \
+ -e "s%@shlib_map_file@%$mapfile%g"
elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
shlib_base_name="libgcc_s";
echo ""
- echo "${shlib_base_name}.so: $shlib_deps"
- echo " $SHLIB_LINK $flags -o ${shlib_base_name}.so $libgcc_objs $SHLIB_LIBS" | sed "s/@shlib_base_name@/$shlib_base_name/g"
+ echo "${shlib_base_name}${SHLIB_EXT}: $shlib_deps"
+ echo " $SHLIB_LINK" \
+ | sed -e "s%@multilib_flags@%$flags%g" \
+ -e "s%@multilib_dir@%$dir%g" \
+ -e "s%@shlib_objs@%$libgcc_objs%g" \
+ -e "s%@shlib_base_name@%$shlib_base_name%g" \
+ -e "s%@shlib_map_file@%$mapfile%g"
fi
fi
done
@@ -359,15 +369,10 @@ for ml in $MULTILIBS; do
else
suff=_`echo $dir | sed s,/,_,g`
fi
- all="$all ${dir}/libgcc_s${suff}.so"
+ all="$all ${dir}/libgcc_s${suff}${SHLIB_EXT}"
elif [ "$SHLIB_MULTILIB" = "$dir" ]; then
- all="$all libgcc_s.so"
+ all="$all libgcc_s${SHLIB_EXT}"
fi
- if [ "$dir" = "." ]; then
- suff="";
- else
- suff=_`echo $dir | sed s,/,_,g`
- fi
fi
done