Issue 11093 - Build W32/tcsh version of OO643C and 644
Summary: Build W32/tcsh version of OO643C and 644
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: 644
Hardware: PC Windows 2000
: P3 Trivial (vote)
Target Milestone: OOo 1.1 Beta2
Assignee: quetschke
QA Contact: issues@tools
URL:
Keywords:
Depends on: 10681 10727 10855
Blocks:
  Show dependency tree
 
Reported: 2003-01-31 10:01 UTC by quetschke
Modified: 2003-03-08 08:50 UTC (History)
3 users (show)

See Also:
Issue Type: PATCH
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Logfile without aa=bb (1.93 KB, text/plain)
2003-02-18 14:21 UTC, quetschke
no flags Details
Logfile with aa=bb (7.92 KB, text/plain)
2003-02-18 14:21 UTC, quetschke
no flags Details
Patch for solenv/inc/startup/wnt/macros.mk (551 bytes, patch)
2003-02-22 09:24 UTC, quetschke
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description quetschke 2003-01-31 10:01:03 UTC
This issue list the requirements to build OO643C with tcsh instead of 4nt.

See: http://tools.openoffice.org/servlets/ReadMsg?msgId=535585&listName=dev
for the needed patches to make it buildable at all.

Plus: 
You need a few files from cvs:

# WRAPPERCMD related
cvs update -C -r1.19 solenv/inc/unitools.mk
cvs update -C -r1.4 soltools/util/makefile.pmk

# missing \ in front of #
cvs update -C -r1.2 extensions/source/activex/main/makefile.mk

# Project framework
cvs update -C -r1.4 offmgr/sdi/makefile.mk

# Project sw
cvs update -C -rSRX643_OO starmath/source/makefile.mk

# Project sc
cvs update -C -r1.3 sc/addin/datefunc/makefile.mk
cvs update -C -r1.3 sc/addin/rot13/makefile.mk
cvs update -C -r1.2 sc/addin/util/makefile.mk

# Project script
cvs update -C -r1.14 basctl/util/makefile.mk

# Project graphics
cvs update -C -r1.7 sch/source/ui/app/makefile.mk

Configure with your usual "./configure .." command, but add --with-use-shell=4nt

Source your winenv.se
$ source winenv.set

Call bootstrap
$ ./bootstrap

Start the build
$ cd instsetoo
$ build -all aa=abc

-------------^^^^^^
Strange things are happening here, this doesn't hurt, but
the build fails without any macro definition there.
Comment 1 quetschke 2003-01-31 10:03:30 UTC
Added the dependencies
Comment 2 hjs 2003-02-18 11:58:48 UTC
cc'ed vladimir - master of build.pl
Comment 3 vg 2003-02-18 13:58:49 UTC
VG: I don't quite understand what you mean when you deskribing your
problem with the build tool.
$ build -all aa=abc

-------------^^^^^^
'this doesn't hurt' - that is?. 'build fails' - where, what it is the
error message? 'without any macro definition there' - what kind of
behaviour you're waiting for, that the tool doesn't meet your
expectation? Maybe, the things would be more clear when you take in
account, that all the switches, that the tool doesn'n know, are passed
to dmake...
Comment 4 quetschke 2003-02-18 14:19:41 UTC
I just verified it's still in the cws_srx644_ooo20030223.

It only occurs in the cygwin/tcsh environment, and this is the way
I can reproduce it:

I have a completely build cws_srx644_ooo20030223 tree, I am in tcsh
and have sourced the winenv.set.

First:
  $ touch sw/source/core/access/acccell.cxx
Then
  $ cd sw/source/core
  $ dmake

This fails, I will attach the logfile (dmake_without_macro.log)

If I do a dmake aa=bb then the command succeeds (dmake_with_macro.log)
Comment 5 quetschke 2003-02-18 14:21:10 UTC
Created attachment 4783 [details]
Logfile without aa=bb
Comment 6 quetschke 2003-02-18 14:21:43 UTC
Created attachment 4784 [details]
Logfile with aa=bb
Comment 7 vg 2003-02-18 14:34:51 UTC
VG: I still don't understand... You're writing about dmake... What is
the build tool problem?
Comment 8 quetschke 2003-02-18 14:45:33 UTC
Ause CC'ed you, not me! ;-)

The only issue with build is, that when is use "build -all aa=yx"
instead of "build -all" the build finishes. I know that the additional
parameters just get passed to dmake. I think dmake (or a makefile) is
to blame.

Additional information:

The problem is that the dmake $(PWD) macro is wrong, the
  .SETDIR=access
setting gets lost.

The problem can be fixed with:
---
--- solenv/inc/startup/wnt/macros.mk	8 Apr 2002 17:46:12 -0000	1.5
+++ solenv/inc/startup/wnt/macros.mk	26 Oct 2002 00:57:02 -0000
@@ -68,6 +68,10 @@
    DIRSEPSTR :=/
 .ENDIF
 
+.IF "$(USE_SHELL)" == "tcsh"
+   PWD:=$(shell +pwd)
+.EXPORT : PWD
+.ENDIF
 
 # Does not respect case of filenames.
 .DIRCACHERESPCASE := no
---

The W32-4nt (maybe that means also W32-tcsh) already has such a
line in solenv/inc/startup/wnt/macros.mk, look for
  PWD:=$(shell +echo %_cwd)
what in tcsh would be evaluated to "".

But why the strange thing with un-/defined macros?

CC'ing ause again, master of solenv.
Comment 9 hjs 2003-02-18 17:53:42 UTC
ok, it's rather my area ;-)

it's a combination of how files which need exception support are
compiled (recursive dmake call), the .SETDIR option used in
"sw/source/core/makefile.mk" and the way dmake handles PWD.

also setting any macro on the commandline seems to fill the
MAKETARGETS macro (according to the dmake dokumentation this is wrong :-()

with MAKETARGETS not empty exception support will probably fail...
look for appearance of TARGETDEPS in "target.mk".

we should better go with the snippet for macros.mk and on the other
hand cleanup the makefiles in "sw/source/*". but this is another issue...




Comment 10 quetschke 2003-02-19 11:40:36 UTC
Ok, I adopt this issue.
Comment 11 quetschke 2003-02-22 09:24:25 UTC
Created attachment 4840 [details]
Patch for solenv/inc/startup/wnt/macros.mk
Comment 12 quetschke 2003-02-22 09:29:39 UTC
The previous patch fixes the dmake behaviour for W32-tcsh.

I will commit when the next cws_srx644_ooo... is available.
Comment 13 quetschke 2003-03-04 09:04:23 UTC
Committed to cws_srx644_ooo20030309.

Volker
Comment 14 quetschke 2003-03-08 08:50:50 UTC
Mark CLOSED