OK, I updated the CVS tree with these fixes.
--
---
Paul D. Smith <[EMAIL PROTECTED]> Find some GNU make tips at:
http://www.gnu.org http://make.paulandlesley.org
"Please remain calm...I m
Hi all,
I have put together a few suggestions for files ...
ChangeLog
README.W32.template
README.cvs
config.h.W32.template
job.c
w32/subproc/sub_proc.c
Changelog - I cant remember to submit changes for make_msvc_net2003.vcproj,
but IIRC J.Grant recently added pre-build
"Paul D. Smith" <[EMAIL PROTECTED]> wrote ...
>
> Hi all;
>
> I've applied Eli's two patches, as described here:
>
> http://www.mail-archive.com/make-w32%40gnu.org/msg00634.html
>
> and here:
>
> http://www.mail-archive.com/make-w32%40gnu.org/msg00697.html
>
> I also applied (most of) the two pat
%% "Markus Mauhart" <[EMAIL PROTECTED]> writes:
mm> So my latest suggestion from Jan 21st actually was correct :-)
>> To stay on the safe side IMHO we better map the old "+=" into
>> logical "||=":
>> + g->changed = g->changed || (commands_started > ocommands_started);
Yes that wou
> Date: Wed, 1 Feb 2006 08:34:24 -0500
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
>
> Hi all;
>
> I've applied Eli's two patches, as described here:
>
> http://www.mail-archive.com/make-w32%40gnu.org/msg00634.html
>
> and here:
>
> http://www.mail-archive.com/make-w32%40gnu.org/msg00697.h
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
>> The fix we had for g->changed was actually broken and caused many of the
>> regression tests to fail, so I fixed it.
ez> Can you please elaborate? how was it broken?
ez> All I see when I compare my patched remake.c and the one that's in
e
Hi all;
I've applied Eli's two patches, as described here:
http://www.mail-archive.com/make-w32%40gnu.org/msg00634.html
and here:
http://www.mail-archive.com/make-w32%40gnu.org/msg00697.html
I also applied (most of) the two patches from Markus on Savannah for the
README.W32 and README.cvs
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Mon, 23 Jan 2006 00:38:29 +0100
>
> Eli, you did not include my addition of the IMHO missing "goto error"
> in function start_job_command(..) once process_easy(..) failes.
> In my case, whithout this patch, make entered an infinite loop.
I didn
"Markus Mauhart" <[EMAIL PROTECTED]> wrote ...
>
> Download
> http://members.chello.at/ejg8dk49/upp-511-uppsrc-upp.mk.zip
Now included in the other download, see below.
>
> Download my gmake-based TheIDE-build-replacement including build-cfg files for
> mingw, vc and cygwin (linux would use an ad
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> Another question: you said you see many batch files created--does that
> mean that your commands in the Makefile use shell features?
Yes, 95-99% of all commands I'd say, cmd.exe- or sh.exe- features, depending
on DOS-paths or not DOS-paths.
> Also
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> 2006-01-21 Eli Zaretskii <[EMAIL PROTECTED]>
>
> * job.c (load_too_high, start_waiting_jobs) [WINDOWS32]: If there
> are already more children than sub_proc.c can handle, behave as if
> the load were too high.
> (start_job_command): Fix a typo in
"Markus Mauhart" <[EMAIL PROTECTED]> wrote ...
>
> I will post the necessary URLs to reproduce my tests today.
If any "gnumake -j" - related problems occur, please take a look at my sources:
http://members.chello.at/ejg8dk49/make.cvs.20060114.j_patch.zip
Download the archive containing the sourc
> Date: Sat, 21 Jan 2006 21:05:22 +0200
> From: Eli Zaretskii <[EMAIL PROTECTED]>
> Cc: make-w32@gnu.org
>
> Sorry, my patch had a typo. Please use this instead:
I must be smoking something today. Please disregard the previous two
patches and use what's below; with it, I was able to repeatedly
Okay, here're the patches for the Windows port, to prevent infinite
loops and other bugs due to limits on the number of processes that the
Windows API allows to watch in a single system call. For now, I
simply limit the Windows port to 64 concurrent child processes; if
more than that are required,
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> --- remake.c~2 2005-12-07 15:33:38.0 +0200
> +++ remake.c 2006-01-21 18:56:32.734375000 +0200
> @@ -159,7 +159,7 @@ update_goal_chain (struct dep *goals)
>/* Set the goal's `changed' flag if any commands were started
> by calling up
Sorry, my patch had a typo. Please use this instead:
2006-01-21 Eli Zaretskii <[EMAIL PROTECTED]>
* remake.c (update_goal_chain): Set g->changed instead of
incrementing it, as it is only 8-bit wide, and could overflow if
many commands got started in update_file.
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> Date: Fri, 20 Jan 2006 23:29:12 +0100
>>
>> >> Btw, such successfull "-j 64"-build then sometimes uses ~50 compilers
>> >> in parallel - with my 1GB this is no problem with msvc71, while yet "-j
>> >>
> Date: Sat, 21 Jan 2006 13:27:19 +0200
> From: Eli Zaretskii <[EMAIL PROTECTED]>
> Cc: make-w32@gnu.org
>
> I tried "make -j" with MinGW building a program that needed 18 C
> source files to be compiled and then linked into a single executable.
> I don't see the problems you describe. All I see
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Fri, 20 Jan 2006 23:29:12 +0100
>
> >> Btw, such successfull "-j 64"-build then sometimes uses ~50 compilers
> >> in parallel - with my 1GB this is no problem with msvc71, while yet "-j 3"
> >> is
> >> a big problem with mingw-gcc344 (both -O2)
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> Date: Fri, 20 Jan 2006 00:49:27 +0100
>>
>> "Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>> >
>> >> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> >> Date: Thu, 19 Jan 2006 00:55:46 +0100
>> >>
>> >> No
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
ez> It is used either as a boolean YES/NO flag, or as a bitmap of
ez> several flags (see the RM_* flags in dep.h).
Yeah; that dual-use is gross.
>> Not sure what you mean by "close to the current limit"... how would make
>> know that?
ez> I
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
ez> It doesn't die; vfork returns -1 with errno set to EAGAIN, and the
ez> rule's commands are not run.
But, is the rule marked as failed?
If not, that's obviously a bug. If so, that might be good enough for
this unusual case.
--
--
> Date: Fri, 20 Jan 2006 14:36:15 -0500
> Cc: [EMAIL PROTECTED], make-w32@gnu.org
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
>
> %% Eli Zaretskii <[EMAIL PROTECTED]> writes:
>
> ez> It doesn't die; vfork returns -1 with errno set to EAGAIN, and the
> ez> rule's commands are not run.
>
> But
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
ez> make[1]: vfork: Resource temporarily unavailable
ez> --no-print-directory -j -- INC=yes
ez> ONE
ez> TWO
ez> As you see, after limiting the number of jobs, the commands for 2.inc
ez> are not run because vfork fails, but M
> Date: Fri, 20 Jan 2006 12:40:50 -0500
> Cc: "Markus Mauhart" <[EMAIL PROTECTED]>, make-w32@gnu.org
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
>
> %% Eli Zaretskii <[EMAIL PROTECTED]> writes:
>
> ez> update_file should launch at most 1 command. Am I missing something?
>
> I'd have to check
> Date: Fri, 20 Jan 2006 13:46:12 -0500
> Cc: [EMAIL PROTECTED], make-w32@gnu.org
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
>
> ez> Unless you agree that we should modify this:
>
> ez> g->changed += commands_started - ocommands_started;
>
> ez> into this:
>
> ez> g->changed = commands
> Date: Fri, 20 Jan 2006 09:45:20 -0500
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
> Cc: make-w32@gnu.org
>
> mm> 2) "-j noNumber"
>
> The documented and expected behavior with "-j" (no argument) is that it
> will create as many items in parallel as possible--where "possible" is
> defined by d
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
ez> If this is so, then relying on that number to fit into a 8-bit field
ez> of (struct dep *)->changed is playing with fire, IMHO.
Definitely.
ez> Unless you agree that we should modify this:
ez> g->changed += commands_started - ocommands_st
%% Eli Zaretskii <[EMAIL PROTECTED]> writes:
ez> update_file should launch at most 1 command. Am I missing something?
I'd have to check to be sure, but IIRC update_file() does everything
necessary to update that particular target. It works recursively, so
that could mean updating lots of prer
%% "Markus Mauhart" <[EMAIL PROTECTED]> writes:
>> Anyway, it looks like g->changed is just a boolean flag, its value is
>> tested in remake.c to be either zero or non-zero. So, unless I'm
>> missing something, the offending line can be modified to say:
>> g-> changed = commands_started
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Fri, 20 Jan 2006 00:49:27 +0100
>
> "Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
> >
> >> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> >> Date: Thu, 19 Jan 2006 00:55:46 +0100
> >>
> >> Now I continued with your suggestion "-j 64" -- it run AFA
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> Date: Thu, 19 Jan 2006 00:55:46 +0100
>>
>> Now I continued with your suggestion "-j 64" -- it run AFAICS allmost
>> 1m without errors until I got ...
>> Assertion failed: a == g->changed, file .\re
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Thu, 19 Jan 2006 00:55:46 +0100
>
> Now I continued with your suggestion "-j 64" -- it run AFAICS allmost
> 1m without errors until I got ...
> Assertion failed: a == g->changed, file .\remake.c, line 169
> ... this comes from an assertion I
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Thu, 19 Jan 2006 00:55:46 +0100
>
> I have interesting results.
>
> 1st the "hang": I found it happens (the mentioned loop loops forever)
> cause it thinks that the single goal's ("all") dependencies are building.
> Inside the loop the followin
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> Date: Wed, 18 Jan 2006 06:35:12 +0200
>> From: Eli Zaretskii <[EMAIL PROTECTED]>
>>
>> > 261 ? proc_index is allmost 33M ? !
>> >
>> > -->
>> >
>> > static sub_process *proc_array[256];
>> > static int proc_index = 0;
>> >
>> > proc_array[proc_inde
> From: Eli Zaretskii <[EMAIL PROTECTED]>
> Date: Wed, 18 Jan 2006 06:24:14 -0500
> Cc: make-w32@gnu.org
>
> WaitForMultipleObjects that sub_proc.c uses to wait for child
> processes' demise is documented to be limited to a maximum of
> MAXIMUM_WAIT_OBJECTS objects. MAXIMUM_WAIT_OBJECTS's value i
> Date: Wed, 18 Jan 2006 06:35:12 +0200
> From: Eli Zaretskii <[EMAIL PROTECTED]>
>
> > 261 ? proc_index is allmost 33M ? !
> >
> > -->
> >
> > static sub_process *proc_array[256];
> > static int proc_index = 0;
> >
> > proc_array[proc_index++] = (sub_process *) proc;
> >
> > ... looks like we
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Tue, 17 Jan 2006 22:57:59 +0100
>
> Next I reproduce the "hanging situation" ("-j noNumber" "mode 1"), but now
> let it "hang" inside the MSVS IDE debugger - turns out that it loops the
> "while (goals != 0)", remake.c, update_goal_chain(), line
Quoting Eli Zaretskii <[EMAIL PROTECTED]>:
Date: Tue, 17 Jan 2006 07:01:01 -0500
From: Earnie Boyd <[EMAIL PROTECTED]>
Cc: "J. Grant" <[EMAIL PROTECTED]>, [EMAIL PROTECTED], make-w32@gnu.org
>> If you just run from MSVC, and click Debug->Exceptions, you can change
>> all the Win32 and Native on
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> It's not that easy when recursive Make's are involved
absolutely true, at least for me.
Hence for debugging I first run make "normal", btw. catch and copy
the call into the recursive make, and then use this "recorded"
parameters (plus some original
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> Date: Mon, 16 Jan 2006 23:03:07 +0100
>>
>> >> 2) inside cmd.exe, using my trivial or your current patch:
>> >> "make -f Mymakefile -j 2or3orMore" ... executes like no "-j" had been
>> >> used.
>> >
>
> Date: Tue, 17 Jan 2006 07:01:01 -0500
> From: Earnie Boyd <[EMAIL PROTECTED]>
> Cc: "J. Grant" <[EMAIL PROTECTED]>, [EMAIL PROTECTED], make-w32@gnu.org
>
> >> If you just run from MSVC, and click Debug->Exceptions, you can change
> >> all the Win32 and Native ones to give you the option of break
Quoting Eli Zaretskii <[EMAIL PROTECTED]>:
Date: Mon, 16 Jan 2006 22:30:38 +
From: "J. Grant" <[EMAIL PROTECTED]>
Cc: make-w32@gnu.org
> I will have to repeat this with MSVC and its debugger. My current problem
> is very limited time during the week and missing experience in debugging
> and
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Mon, 16 Jan 2006 23:03:07 +0100
>
> >> 2) inside cmd.exe, using my trivial or your current patch:
> >> "make -f Mymakefile -j 2or3orMore" ... executes like no "-j" had been used.
> >
> > Is your Makefile recursive?
>
> No
> (it once restarts $
> Date: Mon, 16 Jan 2006 22:30:38 +
> From: "J. Grant" <[EMAIL PROTECTED]>
> Cc: make-w32@gnu.org
>
> > I will have to repeat this with MSVC and its debugger. My current problem
> > is very limited time during the week and missing experience in debugging
> > and understanding this parts of gma
Hi,
I will have to repeat this with MSVC and its debugger. My current problem
is very limited time during the week and missing experience in debugging
and understanding this parts of gmake.
If you just run from MSVC, and click Debug->Exceptions, you can change
all the Win32 and Native ones to
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
>> From: "Markus Mauhart" <[EMAIL PROTECTED]>
>> Date: Sat, 14 Jan 2006 23:58:49 +0100
>>
>> Unfortunately for the project I'm currently interested I get the same strange
>> behaviour as recently when I for myself removed the if-w32-disable-j-code.
>>
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Sat, 14 Jan 2006 23:58:49 +0100
>
> Unfortunately for the project I'm currently interested I get the same strange
> behaviour as recently when I for myself removed the if-w32-disable-j-code.
> It seems to be a combination of my "complicated" mak
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> > From: "Markus Mauhart" <[EMAIL PROTECTED]>
> > Date: Sat, 14 Jan 2006 15:22:23 +0100
> >
> > "Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
> > >
> > > It is IMHO wrong to have README.W32 mention the CVS build except
> > > with a single sentence wh
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Sun, 15 Jan 2006 00:59:43 +0100
>
> ok, but if readme.w32 doesnt follow my suggestion ...
>
> 1) execute
>if not exist config.h copy config.h.W32 config.h
> 2) edit config.h
>
> ... then all w32 - build procedures and readme.w32 mu
"J. Grant" <[EMAIL PROTECTED]> wrote ...
>
> Hi,
>
> > It may be used, but it is not needed:
> > AFAICS the only effect of prepare_w32.bat, once started out of the
> > distribution (not from plain CVS), is running the following single
> > command:
> >
> > if not exist config.h copy config.h.W32
"Paul D. Smith" <[EMAIL PROTECTED]> wrote ...
>
> ...
>
> Release is getting very, very close everyone! I'm reworking the
> chapter on writing command scripts somewhat to make the whole backslash
> newline thing clearer (I hope).
>
> If you have requests for doc changes, or other very simple, very
Hi,
It may be used, but it is not needed:
AFAICS the only effect of prepare_w32.bat, once started out of the
distribution (not from plain CVS), is running the following single
command:
if not exist config.h copy config.h.W32 config.h
A) User with prepare_w32.bat:
1) user reads in README.W
> From: "Markus Mauhart" <[EMAIL PROTECTED]>
> Date: Sat, 14 Jan 2006 15:22:23 +0100
>
> "Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
> >
> > FWIW, I think Markus's changes are too skewed towards building from
> > CVS.
>
> My suggested changes for README.cvs are "skewed towards building from CVS
"Eli Zaretskii" <[EMAIL PROTECTED]> wrote ...
>
> FWIW, I think Markus's changes are too skewed towards building from
> CVS.
My suggested changes for README.cvs are "skewed towards building from CVS"
... but what else should they be ?
> It is IMHO wrong to have README.W32 mention the CVS build e
> Date: Fri, 13 Jan 2006 11:18:19 -0500
> From: "Paul D. Smith" <[EMAIL PROTECTED]>
> Cc: make-w32@gnu.org
>
> Thanks Markus.
>
> I'll look at your stuff tonight or this weekend.
FWIW, I think Markus's changes are too skewed towards building from
CVS. It is IMHO wrong to have README.W32 mention
Thanks Markus.
I'll look at your stuff tonight or this weekend.
Release is getting very, very close everyone! I'm reworking the
chapter on writing command scripts somewhat to make the whole backslash
newline thing clearer (I hope).
If you have requests for doc changes, or other very simple, ve
"J. Grant" <[EMAIL PROTECTED]> wrote ...
> Hi,
>
>
>> IMHO this is not a good idea. Please see my other posting here
>> in gmane.comp.gnu.make.windows, subject = "updates for README.cvs
>> and for README.W32.template".
>
> prepare_w32.bat is used to prepare the target before the msvc.net2003 proje
Hi,
IMHO this is not a good idea. Please see my other posting here
in gmane.comp.gnu.make.windows, subject = "updates for README.cvs
and for README.W32.template".
prepare_w32.bat is used to prepare the target before the msvc.net2003
project is built, so is needed.
Kind regards
JG
___
"J. Grant" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
>
>
> On 13/12/05 15:27, [EMAIL PROTECTED] wrote:
>> -BEGIN PGP SIGNED MESSAGE-
>> Hash: SHA1
>>
>> Hi all;
>>
>> Please find GNU make 3.18beta4, available now for download from
>> ftp://alpha.gnu.org/gnu/make:
>>
>> 0db
%% "J. Grant" <[EMAIL PROTECTED]> writes:
jg> Just built Release/Debug configurations with MSVC2003 compiler using the
jg> project files without any error.s
Good stuff.
jg> I noticed the prepare_w32.bat is not in the archive, could that be kept
jg> in the release packages please.
OK,
On 13/12/05 15:27, [EMAIL PROTECTED] wrote:
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi all;
Please find GNU make 3.18beta4, available now for download from
ftp://alpha.gnu.org/gnu/make:
0db7ce037088bb32548de7153225c95c
ftp://alpha.gnu.org/gnu/make/make-3.81beta4.tar.gz
8bd2a61eef5e98
> Date: Tue, 13 Dec 2005 10:27:13 -0500
> From: [EMAIL PROTECTED]
> Cc:
>
> Please find GNU make 3.18beta4, available now for download from
> ftp://alpha.gnu.org/gnu/make:
>
> 0db7ce037088bb32548de7153225c95c
> ftp://alpha.gnu.org/gnu/make/make-3.81beta4.tar.gz
> 8bd2a61eef5e98feaf36fa5f95b7aa
> Date: Tue, 13 Dec 2005 10:27:13 -0500
> From: [EMAIL PROTECTED]
>
> Please find GNU make 3.18beta4, available now for download from
> ftp://alpha.gnu.org/gnu/make:
>
> 0db7ce037088bb32548de7153225c95c
> ftp://alpha.gnu.org/gnu/make/make-3.81beta4.tar.gz
> 8bd2a61eef5e98feaf36fa5f95b7aa8a
>
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Hi all;
Please find GNU make 3.18beta4, available now for download from
ftp://alpha.gnu.org/gnu/make:
0db7ce037088bb32548de7153225c95c
ftp://alpha.gnu.org/gnu/make/make-3.81beta4.tar.gz
8bd2a61eef5e98feaf36fa5f95b7aa8a
ftp://alpha.gnu.org/gnu/mak
65 matches
Mail list logo