bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Problem when passing the --no-builtin-rules


From: Kristopher Kycia
Subject: Problem when passing the --no-builtin-rules
Date: Mon, 02 Apr 2001 19:57:04 -0400

Hello,

I have found and fixed a bug relating to parameters (switches) begin passed to the command line.  There is a modification in the 3.77 version which causes errors that was not present in the 3.74 version.

I have include the necessary scripts to reproduce the problem...  You will however need to change the paths...  Try the 3 version and you will notice the difference in output when it comes to passing arguments.  Look at the '-r' parameter in version 3.74 which gets lost in 3.77 (or at least the '-').  You do not need to create 'subdir' to reproduce the problem.

Currently I am running on Compaq Tru64, version 4.0f.  But you probably have this problem on any Unix flavour.

Version 3.74:

CSH> mymake
set makeCmd = /utl/users/KKycia/tmp/make.3.74 --no-builtin-rules
/utl/users/KKycia/tmp/make.3.74 --no-builtin-rules MYMAKE=mymake
Compiling subdirectory...
/bin/sh -ce "cd subdir; mymake -r -- MYMAKE=mymake"
subdir: No such file or directory
make.3.74: *** [dummy] Error 1


Version 3.77 (With bug):

CSH> mymake
set makeCmd = /utl/users/KKycia/tmp/make.3.77.bug --no-builtin-rules
/utl/users/KKycia/tmp/make.3.77.bug --no-builtin-rules MYMAKE=mymake
Compiling subdirectory...
/bin/sh -ce "cd subdir; mymake r -- MYMAKE=mymake"
subdir: No such file or directory
make.3.77.bug: *** [dummy] Error 1
Version 3.77 (Fixed bug):
CSH> mymake
set makeCmd = /utl/users/KKycia/tmp/make.3.77.fix --no-builtin-rules
/utl/users/KKycia/tmp/make.3.77.fix --no-builtin-rules MYMAKE=mymake
Compiling subdirectory...
/bin/sh -ce "cd subdir; mymake -r -- MYMAKE=mymake"
subdir: No such file or directory
make.3.77.fix: *** [dummy] Error 1


Here is the code fix.  Reuse the code in version 3.74 in version 3.77+.  I do not know why this code was modified... in any case it is still buggy.

Version 3.74 (Works great!), line 1826:
  v = define_variable ("MAKEFLAGS", 9,
                       /* If there is just a single word of switches,
                          omit the leading dash unless it is a single
                          long option with two leading dashes.  */
                       &flagstring[(words == 1 && command_variables == 0
                                    && flagstring[1] != '-')
                                   ? 1 : 0],
                       /* This used to use o_env, but that lost when a
                          makefile defined MAKEFLAGS.  Makefiles set
                          MAKEFLAGS to add switches, but we still want
                          to redefine its value with the full set of
                          switches.  Of course, an override or command
                          definition will still take precedence.  */
                       o_file, 1);

Version 3.77 (Bugged), line 2304:
  v = define_variable ("MAKEFLAGS", 9,
                       /* If there are switches, omit the leading dash
                          unless it is a single long option with two
                          leading dashes.  */
                       &flagstring[(flagstring[0] == '-'
                                    && flagstring[1] != '-')
                                   ? 1 : 0],
                       /* This used to use o_env, but that lost when a
                          makefile defined MAKEFLAGS.  Makefiles set
                          MAKEFLAGS to add switches, but we still want
                          to redefine its value with the full set of
                          switches.  Of course, an override or command
                          definition will still take precedence.  */
                       o_file, 1);

I hope the information I have provide can assist you in correcting this bug.  You may contact me should you have any questions related to this bug report.

Sincerely,
 

Kristopher Kycia

Software Developer - Real Time
Hydro Québec Software Integration Specialist

Acres Productive Technologies International Inc.
Une filiale / A subsidiary of
Hydro-Québec CapiTech inc. / Acres Productive Technologies

Tel: (514) 844-8900, poste 2040
Fax: (514) 844-6948
E-mail: address@hidden
 

Attachment: make_bug.tar.Z
Description: application/unknown-content-type-winzip


reply via email to

[Prev in Thread] Current Thread [Next in Thread]