diff options
author | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-01 03:39:45 +0000 |
---|---|---|
committer | bje <bje@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-12-01 03:39:45 +0000 |
commit | 25cdd62ac87aedfba61b10b67f8ad23fd48d627a (patch) | |
tree | 34ac7483331c4aca7d9a1c1914805719cc239228 /gcc/mklibgcc.in | |
parent | c403edd469d2d4b67ae7a999e5a4a8ee8ae6c133 (diff) | |
download | gcc-25cdd62ac87aedfba61b10b67f8ad23fd48d627a.tar.gz |
* mklibgcc.in: Parameterise the script to build soft float
functions by iterating over each type, rather than cloning the
code for each type.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107800 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/mklibgcc.in')
-rw-r--r-- | gcc/mklibgcc.in | 122 |
1 files changed, 34 insertions, 88 deletions
diff --git a/gcc/mklibgcc.in b/gcc/mklibgcc.in index 816e301023b..ba853636ac7 100644 --- a/gcc/mklibgcc.in +++ b/gcc/mklibgcc.in @@ -313,95 +313,41 @@ for ml in $MULTILIBS; do # Build software floating point functions. # - if [ "$FPBIT" ]; then - for name in $FPBIT_FUNCS; do - if [ "$libgcc_s_so" ]; then - out="libgcc/${dir}/${name}${objext}" - outS="libgcc/${dir}/${name}_s${objext}" - - echo $outS: $FPBIT $fpbit_c_dep - echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $FPBIT -o $outS - - echo $out: $FPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - '$(vis_hide)' -c $FPBIT -o $out - - echo $libgcc_a: $out - echo $libgcc_s_so: $outS - if [ "$SHLIB_MKMAP" ]; then - echo libgcc/${dir}/libgcc.map: $outS - fi - else - out="libgcc/${dir}/${name}${objext}" - echo $out: $FPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $FPBIT -o $out - - echo $libgcc_a: $out - fi - done - fi - - if [ "$DPBIT" ]; then - for name in $DPBIT_FUNCS; do - if [ "$libgcc_s_so" ]; then - out="libgcc/${dir}/${name}${objext}" - outS="libgcc/${dir}/${name}_s${objext}" - - echo $outS: $DPBIT $fpbit_c_dep - echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $DPBIT -o $outS - - echo $out: $DPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - '$(vis_hide)' -c $DPBIT -o $out - - echo $libgcc_a: $out - echo $libgcc_s_so: $outS - if [ "$SHLIB_MKMAP" ]; then - echo libgcc/${dir}/libgcc.map: $outS - fi - else - out="libgcc/${dir}/${name}${objext}" - echo $out: $DPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $DPBIT -o $out - - echo $libgcc_a: $out + for fpbit_var in FPBIT DPBIT TPBIT ; do + fpfuncs_var="${fpbit_var}_FUNCS" + eval fpbit=\$$fpbit_var + eval fpfuncs=\$$fpfuncs_var + + if [ "$fpbit" ] ; then + for name in $fpfuncs; do + if [ "$libgcc_s_so" ]; then + out="libgcc/${dir}/${name}${objext}" + outS="libgcc/${dir}/${name}_s${objext}" + + echo $outS: $fpbit $fpbit_c_dep + echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + -c $fpbit -o $outS + + echo $out: $fpbit $fpbit_c_dep + echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + '$(vis_hide)' -c $fpbit -o $out + + echo $libgcc_a: $out + echo $libgcc_s_so: $outS + if [ "$SHLIB_MKMAP" ]; then + echo libgcc/${dir}/libgcc.map: $outS + fi + else + out="libgcc/${dir}/${name}${objext}" + echo $out: $fpbit $fpbit_c_dep + echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ + -c $fpbit -o $out + + echo $libgcc_a: $out + fi + done fi - done - fi - - if [ "$TPBIT" ]; then - for name in $TPBIT_FUNCS; do - if [ "$libgcc_s_so" ]; then - out="libgcc/${dir}/${name}${objext}" - outS="libgcc/${dir}/${name}_s${objext}" - - echo $outS: $TPBIT $fpbit_c_dep - echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $TPBIT -o $outS - - echo $out: $TPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - '$(vis_hide)' -c $TPBIT -o $out - - echo $libgcc_a: $out - echo $libgcc_s_so: $outS - if [ "$SHLIB_MKMAP" ]; then - echo libgcc/${dir}/libgcc.map: $outS - fi - else - out="libgcc/${dir}/${name}${objext}" - echo $out: $TPBIT $fpbit_c_dep - echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \ - -c $TPBIT -o $out - - echo $libgcc_a: $out - fi - done - fi + done for file in $LIB2ADD; do name=`echo $file | sed -e 's/[.][cS]$//' -e 's/[.]asm$//'` |