diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 891c74ec9ddc6c166185f78295df932ce29dad56..c467b8c99594d58b73a61efce5311e413f4a707b 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,8 @@
+2004-09-01  Eric Botcazou  <ebotcazou@libertysurf.fr>
+
+	* mk-sik-inc.sh: Use a temporary string instead of 'echo -n'.
+	* mk-srk-inc.sh: Likewise.
+
 2004-09-01  Paul Brook  <paul@codesourcery.com>
 
 	* runtime/error.c (generate_error): Set both iostat and
diff --git a/libgfortran/mk-sik-inc.sh b/libgfortran/mk-sik-inc.sh
index 536eda70c8895c4c4a685f3159d9a6704a92a85c..a2f29e1e30a406c560fde8fbfde13fbaa738351a 100755
--- a/libgfortran/mk-sik-inc.sh
+++ b/libgfortran/mk-sik-inc.sh
@@ -20,12 +20,13 @@ echo "  type (int_info), parameter :: int_infos(c) = (/ &"
 
 i=0
 for k in $kinds; do
-  echo -n "    int_info ($k, range(0_$k))"
+  # echo -n is not portable
+  str="    int_info ($k, range(0_$k))"
   i=`expr $i + 1`
   if [ $i -lt $c ]; then
-    echo ", &"
+    echo "$str, &"
   else
-    echo " /)"
+    echo "$str /)"
   fi
 done
 
diff --git a/libgfortran/mk-srk-inc.sh b/libgfortran/mk-srk-inc.sh
index 47046985b009bc1236c8a5e6531d1ac4ca2e4ebd..d036d682679606f2a6b9ff1c98090e4c2c8f59e1 100755
--- a/libgfortran/mk-srk-inc.sh
+++ b/libgfortran/mk-srk-inc.sh
@@ -20,12 +20,13 @@ echo "  type (real_info), parameter :: real_infos(c) = (/ &"
 
 i=0
 for k in $kinds; do
-  echo -n "    real_info ($k, precision(0.0_$k), range(0.0_$k))"
+  # echo -n is not portable
+  str="    real_info ($k, precision(0.0_$k), range(0.0_$k))"
   i=`expr $i + 1`
   if [ $i -lt $c ]; then
-    echo ", &"
+    echo "$str, &"
   else
-    echo " /)"
+    echo "$str /)"
   fi
 done