Update csharpcomp module from GNU gettext 0.15.
authorBruno Haible <bruno@clisp.org>
Sat, 22 Jul 2006 14:24:36 +0000 (14:24 +0000)
committerBruno Haible <bruno@clisp.org>
Sat, 22 Jul 2006 14:24:36 +0000 (14:24 +0000)
ChangeLog
build-aux/csharpcomp.sh.in
lib/ChangeLog
lib/csharpcomp.c
m4/ChangeLog
m4/csharpcomp.m4

index 9da9cb8..8426da8 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,21 @@
+2006-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Avoid warnings from recent versions of mcs.
+       * build-aux/csharpcomp.sh.in (options_mcs): Don't use options -o, -L,
+       -r any more. Use options documented since mcs-1.0 instead. Similarly
+       for -g.
+
+2005-12-04  Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/csharpcomp.sh.in: Suffix for resources is .resources, not
+       .resource.
+
+2005-07-09  Bruno Haible  <bruno@clisp.org>
+
+       * build-aux/csharpcomp.sh.in (options_csc): For -l option, add a .dll
+       suffix.
+       Reported by Mark Junker <mjscod@gmx.de>.
+
 2006-07-22  Bruno Haible  <bruno@clisp.org>
 
        * modules/gettext: Upgrade to gettext-0.15.
index 0295a1b..1e2ab54 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # Compile a C# program.
 
-# Copyright (C) 2003-2005 Free Software Foundation, Inc.
+# Copyright (C) 2003-2006 Free Software Foundation, Inc.
 # Written by Bruno Haible <bruno@clisp.org>, 2003.
 #
 # This program is free software; you can redistribute it and/or modify
@@ -47,7 +47,7 @@ func_tmpdir ()
   {
     # Use the mktemp program if available. If not available, hide the error
     # message.
-    tmp=`(umask 077 && mktemp -d "$TMPDIR/gtXXXXXX") 2>/dev/null` &&
+    tmp=`(umask 077 && mktemp -d -q "$TMPDIR/gtXXXXXX") 2>/dev/null` &&
     test -n "$tmp" && test -d "$tmp"
   } ||
   {
@@ -84,19 +84,19 @@ while test $# != 0; do
           ;;
       esac
       options_cscc="$options_cscc -o "`echo "$2" | sed -e "$sed_quote_subst"`
-      options_mcs="$options_mcs -o "`echo "$2" | sed -e "$sed_quote_subst"`
+      options_mcs="$options_mcs -out:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -out:"`echo "$2" | sed -e "$sed_quote_subst"`
       shift
       ;;
     -L)
       options_cscc="$options_cscc -L "`echo "$2" | sed -e "$sed_quote_subst"`
-      options_mcs="$options_mcs -"`echo "$2" | sed -e "$sed_quote_subst"`
+      options_mcs="$options_mcs -lib:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -lib:"`echo "$2" | sed -e "$sed_quote_subst"`
       shift
       ;;
     -l)
       options_cscc="$options_cscc -l "`echo "$2" | sed -e "$sed_quote_subst"`
-      options_mcs="$options_mcs -r "`echo "$2" | sed -e "$sed_quote_subst"`
+      options_mcs="$options_mcs -reference:"`echo "$2" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -reference:"`echo "$2" | sed -e "$sed_quote_subst"`".dll"
       shift
       ;;
@@ -106,14 +106,14 @@ while test $# != 0; do
       ;;
     -g)
       options_cscc="$options_cscc -g"
-      options_mcs="$options_mcs -g"
+      options_mcs="$options_mcs -debug"
       options_csc="$options_csc -debug+"
       ;;
     -*)
       echo "csharpcomp: unknown option '$1'" 1>&2
       exit 1
       ;;
-    *.resource)
+    *.resources)
       options_cscc="$options_cscc -fresources="`echo "$1" | sed -e "$sed_quote_subst"`
       options_mcs="$options_mcs -resource:"`echo "$1" | sed -e "$sed_quote_subst"`
       options_csc="$options_csc -resource:"`echo "$1" | sed -e "$sed_quote_subst"`
index 810daab..c327a44 100644 (file)
@@ -1,3 +1,15 @@
+2006-06-21  Bruno Haible  <bruno@clisp.org>
+
+       Avoid warnings from recent versions of mcs.
+       * csharpcomp.c (compile_csharp_using_mono): Don't use options -o, -L,
+       -r any more. Use options documented since mcs-1.0 instead. Similarly
+       for -g.
+
+2005-07-09  Bruno Haible  <bruno@clisp.org>
+
+       * csharpcomp.c (compile_csharp_using_sscli): For -l option, add a .dll suffix.
+       Reported by Mark Junker <mjscod@gmx.de>.
+
 2006-06-17  Bruno Haible  <bruno@clisp.org>
 
        * config.charset: Update for NetBSD 3.0.
index 2344a99..cbc6520 100644 (file)
@@ -1,5 +1,5 @@
 /* Compile a C# program.
-   Copyright (C) 2003-2005 Free Software Foundation, Inc.
+   Copyright (C) 2003-2006 Free Software Foundation, Inc.
    Written by Bruno Haible <bruno@clisp.org>, 2003.
 
    This program is free software; you can redistribute it and/or modify
@@ -129,9 +129,9 @@ compile_csharp_using_pnet (const char * const *sources,
       for (i = 0; i < sources_count; i++)
        {
          const char *source_file = sources[i];
-         if (strlen (source_file) >= 9
-             && memcmp (source_file + strlen (source_file) - 9, ".resource",
-                        9) == 0)
+         if (strlen (source_file) >= 10
+             && memcmp (source_file + strlen (source_file) - 10, ".resources",
+                        10) == 0)
            {
              char *option = (char *) xallocsa (12 + strlen (source_file) + 1);
 
@@ -214,34 +214,43 @@ compile_csharp_using_mono (const char * const *sources,
       unsigned int i;
 
       argc =
-       1 + (output_is_library ? 1 : 0) + 2 + 2 * libdirs_count
-       + 2 * libraries_count + (debug ? 1 : 0) + sources_count;
+       1 + (output_is_library ? 1 : 0) + 1 + libdirs_count + libraries_count
+       + (debug ? 1 : 0) + sources_count;
       argv = (char **) xallocsa ((argc + 1) * sizeof (char *));
 
       argp = argv;
       *argp++ = "mcs";
       if (output_is_library)
        *argp++ = "-target:library";
-      *argp++ = "-o";
-      *argp++ = (char *) output_file;
+      {
+       char *option = (char *) xallocsa (5 + strlen (output_file) + 1);
+       memcpy (option, "-out:", 5);
+       strcpy (option + 5, output_file);
+       *argp++ = option;
+      }
       for (i = 0; i < libdirs_count; i++)
        {
-         *argp++ = "-L";
-         *argp++ = (char *) libdirs[i];
+         char *option = (char *) xallocsa (5 + strlen (libdirs[i]) + 1);
+         memcpy (option, "-lib:", 5);
+         strcpy (option + 5, libdirs[i]);
+         *argp++ = option;
        }
       for (i = 0; i < libraries_count; i++)
        {
-         *argp++ = "-r";
-         *argp++ = (char *) libraries[i];
+         char *option = (char *) xallocsa (11 + strlen (libraries[i]) + 4 + 1);
+         memcpy (option, "-reference:", 11);
+         memcpy (option + 11, libraries[i], strlen (libraries[i]));
+         strcpy (option + 11 + strlen (libraries[i]), ".dll");
+         *argp++ = option;
        }
       if (debug)
-       *argp++ = "-g";
+       *argp++ = "-debug";
       for (i = 0; i < sources_count; i++)
        {
          const char *source_file = sources[i];
-         if (strlen (source_file) >= 9
-             && memcmp (source_file + strlen (source_file) - 9, ".resource",
-                        9) == 0)
+         if (strlen (source_file) >= 10
+             && memcmp (source_file + strlen (source_file) - 10, ".resources",
+                        10) == 0)
            {
              char *option = (char *) xallocsa (10 + strlen (source_file) + 1);
 
@@ -297,6 +306,11 @@ compile_csharp_using_mono (const char * const *sources,
       /* Remove zombie process from process list, and retrieve exit status.  */
       exitstatus = wait_subprocess (child, "mcs", false, false, true, true);
 
+      for (i = 1 + (output_is_library ? 1 : 0);
+          i < 1 + (output_is_library ? 1 : 0)
+              + 1 + libdirs_count + libraries_count;
+          i++)
+       freesa (argv[i]);
       for (i = 0; i < sources_count; i++)
        if (argv[argc - sources_count + i] != sources[i])
          freesa (argv[argc - sources_count + i]);
@@ -417,9 +431,9 @@ compile_csharp_using_sscli (const char * const *sources,
       for (i = 0; i < sources_count; i++)
        {
          const char *source_file = sources[i];
-         if (strlen (source_file) >= 9
-             && memcmp (source_file + strlen (source_file) - 9, ".resource",
-                        9) == 0)
+         if (strlen (source_file) >= 10
+             && memcmp (source_file + strlen (source_file) - 10, ".resources",
+                        10) == 0)
            {
              char *option = (char *) xallocsa (10 + strlen (source_file) + 1);
 
index e431231..69c7813 100644 (file)
@@ -1,3 +1,7 @@
+2005-12-04  Bruno Haible  <bruno@clisp.org>
+
+       * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
+
 2006-07-22  Bruno Haible  <bruno@clisp.org>
 
        * gettext.m4: Update from GNU gettext-0.15.
index b107f9f..dab35a7 100644 (file)
@@ -1,12 +1,14 @@
-# csharpcomp.m4 serial 5 (gettext-0.15)
+# csharpcomp.m4 serial 6 (gettext-0.15)
 dnl Copyright (C) 2003-2005 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
 dnl with or without modifications, as long as this notice is preserved.
 
 # Prerequisites of csharpcomp.sh.
+# Checks for a C# compiler.
+# Sets at most one of HAVE_CSCC, HAVE_MCS, HAVE_CSC.
 # Sets HAVE_CSHARPCOMP to nonempty if csharpcomp.sh will work.
-
+# Also sets CSHARPCOMPFLAGS.
 AC_DEFUN([gt_CSHARPCOMP],
 [
   AC_REQUIRE([gt_CSHARP_CHOICE])
@@ -67,4 +69,9 @@ AC_DEFUN([gt_CSHARPCOMP],
   AC_SUBST(HAVE_CSCC)
   AC_SUBST(HAVE_MCS)
   AC_SUBST(HAVE_CSC)
+  dnl Provide a default for CSHARPCOMPFLAGS.
+  if test -z "${CSHARPCOMPFLAGS+set}"; then
+    CSHARPCOMPFLAGS="-O -g"
+  fi
+  AC_SUBST(CSHARPCOMPFLAGS)
 ])