Ping: remove duplication in mklibgcc.in
Ben Elliston
bje@au1.ibm.com
Mon Jun 6 04:51:00 GMT 2005
I posted this patch some weeks ago and received one response (from Andreas Shwab, I
believe). I incorporated his suggestion, but never received an approval. Posting
again. Okay for mainline?
Ben
2005-06-06 Ben Elliston <bje@au.ibm.com>
* mklibgcc.in: Parameterise building of the soft float functions
so that we iterate over each type, rather than perpetually cloning
the shell code for each type.
Index: mklibgcc.in
===================================================================
RCS file: /home/bje/gcc-cvs/gcc/gcc/mklibgcc.in,v
retrieving revision 1.87
diff -u -p -w -r1.87 mklibgcc.in
--- mklibgcc.in 19 Apr 2005 19:53:26 -0000 1.87
+++ mklibgcc.in 6 Jun 2005 04:49:55 -0000
@@ -313,49 +313,24 @@ 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
+ for bitvar in FPBIT DPBIT TPBIT ; do
+ bit_funcs_var="$bitvar_FUNCS"
+ bit=$(eval "echo \$$bitvar")
+ bit_funcs=$(eval "echo \$$bit_funcs_var")
- if [ "$DPBIT" ]; then
- for name in $DPBIT_FUNCS; do
+ if [ "$bit" ]; then
+ for name in $bit_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 $outS: $bit $fpbit_c_dep
echo " $gcc_s_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
- -c $DPBIT -o $outS
+ -c $bit -o $outS
- echo $out: $DPBIT $fpbit_c_dep
+ echo $out: $bit $fpbit_c_dep
echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
- '$(vis_hide)' -c $DPBIT -o $out
+ '$(vis_hide)' -c $bit -o $out
echo $libgcc_a: $out
echo $libgcc_s_so: $outS
@@ -364,44 +339,15 @@ for ml in $MULTILIBS; do
fi
else
out="libgcc/${dir}/${name}${objext}"
- echo $out: $DPBIT $fpbit_c_dep
+ echo $out: $bit $fpbit_c_dep
echo " $gcc_compile" -DFINE_GRAINED_LIBRARIES $flags -DL$name \
- -c $DPBIT -o $out
+ -c $bit -o $out
echo $libgcc_a: $out
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
for file in $LIB2ADD; do
name=`echo $file | sed -e 's/[.][cS]$//' -e 's/[.]asm$//'`
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 256 bytes
Desc: OpenPGP digital signature
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20050606/cf5910f3/attachment.sig>
More information about the Gcc-patches
mailing list