X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fcsharpexec.c;h=570b1545c36c4227f7c8fabb03ec2066f710e560;hb=5432287a033855c8c7a36f3aa055e0db60fb3383;hp=b94505f3c65eaabf7aa23d665b76a2bc3f233cc5;hpb=90988ede07abd2e58283d5e06b1b69f74b6967d2;p=gnulib.git diff --git a/lib/csharpexec.c b/lib/csharpexec.c index b94505f3c..570b1545c 100644 --- a/lib/csharpexec.c +++ b/lib/csharpexec.c @@ -1,11 +1,11 @@ /* Execute a C# program. - Copyright (C) 2003-2007 Free Software Foundation, Inc. + Copyright (C) 2003-2010 Free Software Foundation, Inc. Written by Bruno Haible , 2003. - This program is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -13,8 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software Foundation, - Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #include #include @@ -90,11 +89,11 @@ static int execute_csharp_using_pnet (const char *assembly_path, - const char * const *libdirs, - unsigned int libdirs_count, - const char * const *args, unsigned int nargs, - bool verbose, bool quiet, - execute_fn *executer, void *private_data) + const char * const *libdirs, + unsigned int libdirs_count, + const char * const *args, unsigned int nargs, + bool verbose, bool quiet, + execute_fn *executer, void *private_data) { static bool ilrun_tested; static bool ilrun_present; @@ -102,7 +101,7 @@ execute_csharp_using_pnet (const char *assembly_path, if (!ilrun_tested) { /* Test for presence of ilrun: - "ilrun --version >/dev/null 2>/dev/null" */ + "ilrun --version >/dev/null 2>/dev/null" */ char *argv[3]; int exitstatus; @@ -110,7 +109,7 @@ execute_csharp_using_pnet (const char *assembly_path, argv[1] = "--version"; argv[2] = NULL; exitstatus = execute ("ilrun", "ilrun", argv, false, false, true, true, - true, false); + true, false, NULL); ilrun_present = (exitstatus == 0); ilrun_tested = true; } @@ -129,24 +128,24 @@ execute_csharp_using_pnet (const char *assembly_path, argp = argv; *argp++ = "ilrun"; for (i = 0; i < libdirs_count; i++) - { - *argp++ = "-L"; - *argp++ = (char *) libdirs[i]; - } + { + *argp++ = "-L"; + *argp++ = (char *) libdirs[i]; + } *argp++ = (char *) assembly_path; for (i = 0; i < nargs; i++) - *argp++ = (char *) args[i]; + *argp++ = (char *) args[i]; *argp = NULL; /* Ensure argv length was correctly calculated. */ if (argp - argv != argc) - abort (); + abort (); if (verbose) - { - char *command = shell_quote_argv (argv); - printf ("%s\n", command); - free (command); - } + { + char *command = shell_quote_argv (argv); + printf ("%s\n", command); + free (command); + } err = executer ("ilrun", "ilrun", argv, private_data); @@ -160,11 +159,11 @@ execute_csharp_using_pnet (const char *assembly_path, static int execute_csharp_using_mono (const char *assembly_path, - const char * const *libdirs, - unsigned int libdirs_count, - const char * const *args, unsigned int nargs, - bool verbose, bool quiet, - execute_fn *executer, void *private_data) + const char * const *libdirs, + unsigned int libdirs_count, + const char * const *args, unsigned int nargs, + bool verbose, bool quiet, + execute_fn *executer, void *private_data) { static bool mono_tested; static bool mono_present; @@ -172,7 +171,7 @@ execute_csharp_using_mono (const char *assembly_path, if (!mono_tested) { /* Test for presence of mono: - "mono --version >/dev/null 2>/dev/null" */ + "mono --version >/dev/null 2>/dev/null" */ char *argv[3]; int exitstatus; @@ -180,7 +179,7 @@ execute_csharp_using_mono (const char *assembly_path, argv[1] = "--version"; argv[2] = NULL; exitstatus = execute ("mono", "mono", argv, false, false, true, true, - true, false); + true, false, NULL); mono_present = (exitstatus == 0); mono_tested = true; } @@ -198,14 +197,14 @@ execute_csharp_using_mono (const char *assembly_path, argv[0] = "mono"; argv[1] = (char *) assembly_path; for (i = 0; i <= nargs; i++) - argv[2 + i] = (char *) args[i]; + argv[2 + i] = (char *) args[i]; if (verbose) - { - char *command = shell_quote_argv (argv); - printf ("%s\n", command); - free (command); - } + { + char *command = shell_quote_argv (argv); + printf ("%s\n", command); + free (command); + } err = executer ("mono", "mono", argv, private_data); @@ -222,11 +221,11 @@ execute_csharp_using_mono (const char *assembly_path, static int execute_csharp_using_sscli (const char *assembly_path, - const char * const *libdirs, - unsigned int libdirs_count, - const char * const *args, unsigned int nargs, - bool verbose, bool quiet, - execute_fn *executer, void *private_data) + const char * const *libdirs, + unsigned int libdirs_count, + const char * const *args, unsigned int nargs, + bool verbose, bool quiet, + execute_fn *executer, void *private_data) { static bool clix_tested; static bool clix_present; @@ -234,14 +233,14 @@ execute_csharp_using_sscli (const char *assembly_path, if (!clix_tested) { /* Test for presence of clix: - "clix >/dev/null 2>/dev/null ; test $? = 1" */ + "clix >/dev/null 2>/dev/null ; test $? = 1" */ char *argv[2]; int exitstatus; argv[0] = "clix"; argv[1] = NULL; exitstatus = execute ("clix", "clix", argv, false, false, true, true, - true, false); + true, false, NULL); clix_present = (exitstatus == 0 || exitstatus == 1); clix_tested = true; } @@ -259,14 +258,14 @@ execute_csharp_using_sscli (const char *assembly_path, argv[0] = "clix"; argv[1] = (char *) assembly_path; for (i = 0; i <= nargs; i++) - argv[2 + i] = (char *) args[i]; + argv[2 + i] = (char *) args[i]; if (verbose) - { - char *command = shell_quote_argv (argv); - printf ("%s\n", command); - free (command); - } + { + char *command = shell_quote_argv (argv); + printf ("%s\n", command); + free (command); + } err = executer ("clix", "clix", argv, private_data); @@ -283,11 +282,11 @@ execute_csharp_using_sscli (const char *assembly_path, bool execute_csharp_program (const char *assembly_path, - const char * const *libdirs, - unsigned int libdirs_count, - const char * const *args, - bool verbose, bool quiet, - execute_fn *executer, void *private_data) + const char * const *libdirs, + unsigned int libdirs_count, + const char * const *args, + bool verbose, bool quiet, + execute_fn *executer, void *private_data) { unsigned int nargs; int result; @@ -303,16 +302,16 @@ execute_csharp_program (const char *assembly_path, /* First try the C# implementation specified through --enable-csharp. */ #if CSHARP_CHOICE_PNET result = execute_csharp_using_pnet (assembly_path, libdirs, libdirs_count, - args, nargs, verbose, quiet, - executer, private_data); + args, nargs, verbose, quiet, + executer, private_data); if (result >= 0) return (bool) result; #endif #if CSHARP_CHOICE_MONO result = execute_csharp_using_mono (assembly_path, libdirs, libdirs_count, - args, nargs, verbose, quiet, - executer, private_data); + args, nargs, verbose, quiet, + executer, private_data); if (result >= 0) return (bool) result; #endif @@ -320,23 +319,23 @@ execute_csharp_program (const char *assembly_path, /* Then try the remaining C# implementations in our standard order. */ #if !CSHARP_CHOICE_PNET result = execute_csharp_using_pnet (assembly_path, libdirs, libdirs_count, - args, nargs, verbose, quiet, - executer, private_data); + args, nargs, verbose, quiet, + executer, private_data); if (result >= 0) return (bool) result; #endif #if !CSHARP_CHOICE_MONO result = execute_csharp_using_mono (assembly_path, libdirs, libdirs_count, - args, nargs, verbose, quiet, - executer, private_data); + args, nargs, verbose, quiet, + executer, private_data); if (result >= 0) return (bool) result; #endif result = execute_csharp_using_sscli (assembly_path, libdirs, libdirs_count, - args, nargs, verbose, quiet, - executer, private_data); + args, nargs, verbose, quiet, + executer, private_data); if (result >= 0) return (bool) result;