From 25a89d045fc97f375610f3567af4207baf96a87c Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 13 Jun 2009 08:38:27 +0000 Subject: * driver/utils.c (openaxiom_execute_core): Workaround GCL oddity. --- configure | 18 +++++++++--------- configure.ac | 2 +- configure.ac.pamphlet | 2 +- src/ChangeLog | 4 ++++ src/driver/utils.c | 16 ++++++++++++++-- 5 files changed, 29 insertions(+), 13 deletions(-) diff --git a/configure b/configure index 2c130bf7..36c8d4b8 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.63 for OpenAxiom 1.3.0-2009-06-12. +# Generated by GNU Autoconf 2.63 for OpenAxiom 1.3.0-2009-06-13. # # Report bugs to . # @@ -745,8 +745,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.3.0-2009-06-12' -PACKAGE_STRING='OpenAxiom 1.3.0-2009-06-12' +PACKAGE_VERSION='1.3.0-2009-06-13' +PACKAGE_STRING='OpenAxiom 1.3.0-2009-06-13' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' ac_unique_file="src/Makefile.pamphlet" @@ -1500,7 +1500,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.3.0-2009-06-12 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.3.0-2009-06-13 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1570,7 +1570,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-06-12:";; + short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2009-06-13:";; esac cat <<\_ACEOF @@ -1672,7 +1672,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.3.0-2009-06-12 +OpenAxiom configure 1.3.0-2009-06-13 generated by GNU Autoconf 2.63 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1686,7 +1686,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.3.0-2009-06-12, which was +It was created by OpenAxiom $as_me 1.3.0-2009-06-13, which was generated by GNU Autoconf 2.63. Invocation command line was $ $0 $@ @@ -17686,7 +17686,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.3.0-2009-06-12, which was +This file was extended by OpenAxiom $as_me 1.3.0-2009-06-13, which was generated by GNU Autoconf 2.63. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17749,7 +17749,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_version="\\ -OpenAxiom config.status 1.3.0-2009-06-12 +OpenAxiom config.status 1.3.0-2009-06-13 configured by $0, generated by GNU Autoconf 2.63, with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 317b72e8..639acd36 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2009-06-12], +AC_INIT([OpenAxiom], [1.3.0-2009-06-13], [open-axiom-bugs@lists.sf.net]) AC_CONFIG_AUX_DIR(config) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index e6c7ddf1..03192074 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -1131,7 +1131,7 @@ information: <>= sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2009-06-12], +AC_INIT([OpenAxiom], [1.3.0-2009-06-13], [open-axiom-bugs@lists.sf.net]) @ diff --git a/src/ChangeLog b/src/ChangeLog index 65ea5213..2607f13f 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2009-06-13 Gabriel Dos Reis + + * driver/utils.c (openaxiom_execute_core): Workaround GCL oddity. + 2009-06-12 Gabriel Dos Reis * interp/i-coerce.boot: Revert previous patch. diff --git a/src/driver/utils.c b/src/driver/utils.c index e817dcd4..1bf2eccc 100644 --- a/src/driver/utils.c +++ b/src/driver/utils.c @@ -373,12 +373,24 @@ openaxiom_execute_core(const openaxiom_command* command, int i; char** args = (char**) malloc(sizeof (char*) * (command->rt_argc + command->core_argc + 2)); - args[0] = command->core_argv[0]; + /* GCL has this oddity that it wants to believe that argv[0] has + something to tell about what GCL's own runtime is. Silly. */ + if (OPENAXIOM_BASE_RTS == openaxiom_gcl_runtime) + args[0] = ""; + else + args[0] = command->core_argv[0]; + /* Now, make sure we copy whatever arguments are required by the + runtime system. */ for (i = 0; i < command->rt_argc; ++i) args[i + 1] = command->rt_argv[i]; + if (command->core_argc > 1) { - /* Insert a doubledash to indicate beginning of arguments. */ + /* We do have arguments from the command line. We want to + differentiate this from the base runtime system arguments. + We do this by inserting a doubledash to indicate beginning + of arguments. */ args[command->rt_argc + 1] = "--"; + /* Then, copy over the arguments received from the command line. */ for (i = 1; i < command->core_argc; ++i) args[command->rt_argc + i + 1] = command->core_argv[i]; args[command->rt_argc + command->core_argc + 1] = NULL; -- cgit v1.2.3