diff options
author | Richard Henderson <rth@cygnus.com> | 2000-10-08 16:20:18 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2000-10-08 16:20:18 -0700 |
commit | aefa45d35ddc22d8ab2a720874854d2c07882027 (patch) | |
tree | d14e895aa0f643740cf9f9a9fc9ac99f2e746d48 /gcc/mklibgcc.in | |
parent | b15ad712574a975b0ba2a333bff74db3f19c17d4 (diff) | |
download | gcc-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.in | 31 |
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 |