Diane Holt | 2 May 21:26 2003
Picon

"Stack overflow" running 'jam clean' on Windows

Has anyone had this happen? (And more importantly, if you have, did you
find a fix for it you'd be willing to share? :)

Thanks,
Diane

=====
(holtdl <at> yahoo.com)

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com

Craig McPheeters | 2 May 21:50 2003
Picon

Re: "Stack overflow" running 'jam clean' on Windows

> From: Diane Holt <holtdl <at> yahoo.com>
> Subject: [jamming] "Stack overflow" running 'jam clean' on Windows
> Sender: jamming-admin <at> perforce.com
> Date: Fri, 2 May 2003 12:26:36 -0700 (PDT)
> 
> Has anyone had this happen? (And more importantly, if you have, did you
> find a fix for it you'd be willing to share? :)

This happened to me on windows and MacOSX.  Alter the Jamfile to contain
something like this:

---

# We have to signal jam.h for these

if $(OS) = NT 			{ CCFLAGS += /DNT ; }

# CWM - enlarge stack sizes
if $(NT) {
   LINKFLAGS += /STACK:0x400000 ;
}
else if $(OS) = MACOSX
{
   LINKFLAGS += -Wl,-stack_size -Wl,0x800000 ;
}

Cheers,
  Craig.

 
(Continue reading)

Craig McPheeters | 6 May 05:32 2003
Picon

fyi - my branch is updated

> hi,
> 
> I would like to have the semaphore and header-cache patches from the
> craig_mcpheeters branch, combined with the 2.5rc2 (or rc3) branch.
> 
> I suppose this is easy if you now you way around Perforce, could anyone
> please provide me with the magical p4-command to merge these things, or
> extract the changesets as a diff?
> 
> thanks,
> Jacob

I've just integrated the latest Jam mainline changes into my branch:
  //guest/craig_mcpheeters/jam/src/...

Cheers,
  Craig.

Dag Asheim | 7 May 14:38 2003
Picon

SubInclude and current working directory for the compiler

Hello.

I have a problem with the SubInclude command, because I (incorrectly)
thought it should behave as if "doing an cd to the subdirectory in
question and doing the actions from the local Jamfile".

I have condensed my problem down to just a few files:

~/simple/src/Jamfile:
    HDRS =  ../include ;

    Main hello : hello.c ;

~/simple/src/hello.c:
    #include <message.h>

    main() { printf(STR); }

~/simple/include/message.h
    #define STR "Hello, World!\n"

~/simple/src/Jamfile:
    SubInclude TOP src ;

I have also defined the environment variable TOP:

    export TOP=$HOME/simple

When I stand in the ~/simple/src directory and build it, everything
works as expected.  But when I stand in the directory ~/simple, things
(Continue reading)

Ingo Weinhold | 7 May 16:52 2003
Picon

Re: SubInclude and current working directory for the compiler

On Wed, 7 May 2003, Dag Asheim wrote:

> I have a problem with the SubInclude command, because I (incorrectly)
> thought it should behave as if "doing an cd to the subdirectory in
> question and doing the actions from the local Jamfile".
>
> I have condensed my problem down to just a few files:
>
> ~/simple/src/Jamfile:
>     HDRS =  ../include ;
>
>     Main hello : hello.c ;
>
>
> ~/simple/src/hello.c:
>     #include <message.h>
>
>     main() { printf(STR); }
>
>
> ~/simple/include/message.h
>     #define STR "Hello, World!\n"
>
>
> ~/simple/src/Jamfile:
>     SubInclude TOP src ;

Fascinating, your filesystem seems to support overlaying of files. ;-)

> I have also defined the environment variable TOP:
(Continue reading)

Dag Asheim | 7 May 18:24 2003
Picon

Re: SubInclude and current working directory for the compiler

Ingo Weinhold <bonefish <at> cs.tu-berlin.de> writes:

> On Wed, 7 May 2003, Dag Asheim wrote:
> 
> > ~/simple/src/Jamfile:
> >     HDRS =  ../include ;
> >
> >     Main hello : hello.c ;
> >
> > [...]
> >
> > ~/simple/src/Jamfile:
> >     SubInclude TOP src ;
> 
> Fascinating, your filesystem seems to support overlaying of files. ;-)

Yes, it's a really nifty feature.  It can be confusing, though! :-)

> The SUBDIR variable contains the path to the directory of the Jamfile. You
> can use that as a base for constructing a relative path. BTW, it is also
> better pratice to use the SubDirHdrs rule to add include directories for
> the current subdir. So, your line would read:
>   SubDirHdrs [ FDirName $(SUBDIR) $(DOTDOT) include ] ;

Thanks!  This looks like a workable solution.  I'll try it out
tomorrow morning.

Side note: Wouldn't it be easier if actions be default was done with
current working directory (cwd) set to the right value?  There are
bound to be tools that use cwd in some way and that can't be
(Continue reading)

Ingo Weinhold | 7 May 18:56 2003
Picon

Re: SubInclude and current working directory for the compiler

Dag Asheim <dash <at> linpro.no> wrote:
[...]
> Side note: Wouldn't it be easier if actions be default was done with
> current working directory (cwd) set to the right value?  There are
> bound to be tools that use cwd in some way and that can't be
> overridden like the C compiler.

I think this would complicate things for Jam, maybe even decreasing 
performance. For tools that only operate in the current working 
directory it should be rather easy to adjust the actions to make it 
work. E.g. like:

actions StupidTool
{
  cd `dirname $(1)`
  stupidtool `basename $(1)` `basename $(2)`
}

CU, Ingo

Michael Ashworth | 8 May 16:32 2003
Picon

problems on window

I am trying to set up a simple jam file on a Window XP home addition (Japanese version).  The simple main rule works but trying to create actions to run on the CMD shell doesn’t seem to work.  Looking at the debug output, the actions is being called but it doesn’t expand to anything.  The JAMSHELL is also blank.  Can I run on CMD and how or do I need to get cygwin or the like installed?

 

bjoern terwege | 16 May 08:24 2003
Picon

MkDir not working!?

Hi,

i have some questions on jam.

at the beginning i wasn't able to compile jam with the
dedicated makefile 
for Win2k. therefor i used Visual C++ 6.0 to compile a
jam executable from
the 2.5rc3 sources. i used the jambase.c file from the
delivery but that
doesn't make a change if i generate it by my own with
mkjambase.

then i build up a project with several jamfiles and a
jamrule file.
i have to copy some header files from the original
directory to another
directory which doesn't exist the first time. if i
want to use the following files
this is not working. It seems that MkDir is not
working. There is no
output (even not with -d3) for the MkDir statement.
The error output is always:

The system cannot find the path specified.

That means, the system wants to copy the file with the
Bulk rule but the 
MkDir rule is not working. 

I tried to use InstallFile but this is as well not
working. 
Has anyone an idea why this is not working!?

br
  bjoern terwege

####### Begin Jamrule ############
COPYINC = $(TOP)\\INC ;
COPYLIB = $(TOP)\\LIB ;
...
####### End Jamrule ##############

####### Begin Jamfile ############

SOURCES = 
	file1.c
	file2.c
	file3.c
	;

HEADERS = 
	file1.h
	file2.h
	file3.h
	;

Library bla : $(SOURCES) ;

# The InstallAll rule can also be copied to the
Jamrule file.

rule InstallAll
{
	MkDir $(COPYINC) ;
	Bulk $(COPYLIB) : $(1) ;
	Bulk $(COPYINC) : $(HEADERS) ;
}

InstallAll bla.lib ;

####### End Jamfile ##############

__________________________________________________________________

Gesendet von Yahoo! Mail - http://mail.yahoo.de
Logos und Klingeltöne fürs Handy bei http://sms.yahoo.de

Diane Holt | 16 May 09:49 2003
Picon

Re: MkDir not working!?

Bulk lacks a dependency on the directory into which the files are being
copied. It also doesn't do a MkDir for the directory -- but the one you
have won't do you any good without the dependency on the directory.

The File rule, to which the files passed to Bulk are passed, also lacks a
dependency on the directory to which the file is being copied, a MkDir for
it, and a Clean on the target file.

(Basically, Bulk and File could use a little work :)

Diane

--- bjoern terwege <bterwege <at> yahoo.de> wrote:
> Hi,
> 
> i have some questions on jam.
> 
> at the beginning i wasn't able to compile jam with the
> dedicated makefile 
> for Win2k. therefor i used Visual C++ 6.0 to compile a
> jam executable from
> the 2.5rc3 sources. i used the jambase.c file from the
> delivery but that
> doesn't make a change if i generate it by my own with
> mkjambase.
> 
> then i build up a project with several jamfiles and a
> jamrule file.
> i have to copy some header files from the original
> directory to another
> directory which doesn't exist the first time. if i
> want to use the following files
> this is not working. It seems that MkDir is not
> working. There is no
> output (even not with -d3) for the MkDir statement.
> The error output is always:
> 
> The system cannot find the path specified.
> 
> That means, the system wants to copy the file with the
> Bulk rule but the 
> MkDir rule is not working. 
> 
> I tried to use InstallFile but this is as well not
> working. 
> Has anyone an idea why this is not working!?
> 
> br
>   bjoern terwege
> 
> 
> ####### Begin Jamrule ############
> COPYINC = $(TOP)\\INC ;
> COPYLIB = $(TOP)\\LIB ;
> ...
> ####### End Jamrule ##############
> 
> 
> ####### Begin Jamfile ############
> 
> SOURCES = 
> 	file1.c
> 	file2.c
> 	file3.c
> 	;
> 
> HEADERS = 
> 	file1.h
> 	file2.h
> 	file3.h
> 	;
> 
> Library bla : $(SOURCES) ;
> 
> # The InstallAll rule can also be copied to the
> Jamrule file.
> 
> rule InstallAll
> {
> 	MkDir $(COPYINC) ;
> 	Bulk $(COPYLIB) : $(1) ;
> 	Bulk $(COPYINC) : $(HEADERS) ;
> }
> 
> InstallAll bla.lib ;
> 
> ####### End Jamfile ##############
> 
> 
> 
> __________________________________________________________________
> 
> Gesendet von Yahoo! Mail - http://mail.yahoo.de
> Logos und Klingeltne frs Handy bei http://sms.yahoo.de
> _______________________________________________
> jamming mailing list  -  jamming <at> perforce.com
> http://maillist.perforce.com/mailman/listinfo/jamming

=====
(holtdl <at> yahoo.com)

__________________________________
Do you Yahoo!?
The New Yahoo! Search - Faster. Easier. Bingo.
http://search.yahoo.com


Gmane