To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=43241
                  Issue #:|43241
                  Summary:|[PATCH] Fix build problems with VC++
                Component:|tools
                  Version:|current
                 Platform:|PC
                      URL:|
               OS/Version:|Windows XP
                   Status:|UNCONFIRMED
        Status whiteboard:|
                 Keywords:|
               Resolution:|
               Issue type:|PATCH
                 Priority:|P3
             Subcomponent:|dmake
              Assigned to:|hjs
              Reported by:|shay





------- Additional comments from [EMAIL PROTECTED] Mon Feb 21 03:36:20 -0800 
2005 -------
I've found that the current CVS code doesn't build properly "out-of-the-box"
using MS VC++ 6 on Win XP.

I'm running the command "make win95-vpp40", as instructed in readme/read1st.txt,
but I find that the batch file that it calls (win95/microsft/vpp40/mk.bat) has
various syntax errors.  The patch below corrects these errors.  dmake.exe then
builds OK.

It should then be possible to rename dmake.exe to, say, dmake0.exe, remove the
objects/ sub-directory and just issue the command "dmake0.exe" (after setting
MAKESTARTUP, OS, etc appropriately) to have a new dmake.exe built using
dmake0.exe.  However, I find that there are also problems with that:

Firstly, the top-level makefile.mk needs to change / to \ in its copy command. 
Secondly, win95/microsft/config.mk should not include tempnam.c since I see it
was commented-out in the win95/microsft/vpp40/mk.bat.  Finally,
win95/microsft/config.mk is missing the definition of LDOBJS, and contains a
couple of errors in its construction of LDTMPOBJ and LDTMPLIB.  The patch below
also includes fixes for these issues.

diff -ruN dmake.orig/makefile.mk dmake/makefile.mk
--- dmake.orig/makefile.mk      2004-10-22 09:05:12.000000000 +0100
+++ dmake/makefile.mk   2005-02-21 11:16:46.000000000 +0000
@@ -83,7 +83,7 @@
        duplicate :$(<:s,/,:,) $@
 .ELSE
     $(MKCONFIG) : template.mk
-       $(eq,$(SHELL),$(COMSPEC) +copy cp) $< $@
+       $(eq,$(SHELL),$(COMSPEC) +copy cp) $< $(eq,$(SHELL),$(COMSPEC) 
$(@:s,/,\,) $@)
 .ENDIF
 
 # how to make public.h
diff -ruN dmake.orig/win95/microsft/config.mk dmake/win95/microsft/config.mk
--- dmake.orig/win95/microsft/config.mk 2000-09-22 16:33:36.000000000 +0100
+++ dmake/win95/microsft/config.mk      2005-02-21 11:20:52.743000300 +0000
@@ -14,7 +14,7 @@
 # Definition of macros for library, and C startup code.
 
 # The following sources are required for MSC
-OSR_SRC += tempnam.c ruletab.c
+OSR_SRC += ruletab.c
 DOS_SRC += runargv.c rmprq.c
 
 .SETDIR=$(osrdir) : $(OSR_SRC)
@@ -27,13 +27,14 @@
 ASFLAGS   += -t -mx $(S_$(MODEL))
 
 # Microsoft C doesn't need tail but needs head
+LDOBJS         != $(CSTARTUP) $(OBJDIR)/{$(<:f)}
 LDTAIL         !=
 LDHEAD         != $(LDFLAGS)
 LDARGS        != $(LDHEAD) -out:$(TARGET) @$(LDTMPOBJ) $(LDTAIL)
 LDTAIL        != $(_libs)
 _libs          != $(!null,$(LDLIBS) ,@$(LDTMPLIB))
-LDTMPOBJ       != $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\\,:t"\n")\n)
-LDTMPLIB       != $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\\,:t"\n")\n)
+LDTMPOBJ       != $(mktmp,,$(DIVFILE) $(LDOBJS:s,/,\,:t"\n"))
+LDTMPLIB       != $(mktmp,,$(DIVFILE) $(LDLIBS:s,/,\,:t"\n"))
 
 # Debugging libraries and flags
 DB_LDFLAGS += /nologo /co /li /map
diff -ruN dmake.orig/win95/microsft/vpp40/mk.bat 
dmake/win95/microsft/vpp40/mk.bat
--- dmake.orig/win95/microsft/vpp40/mk.bat      2003-12-17 16:17:28.000000000 
+0000
+++ dmake/win95/microsft/vpp40/mk.bat   2005-02-21 11:14:56.000000000 +0000
@@ -1,41 +1,38 @@
-if "%1" != "" goto link 
-del /FY objects
-del config.h
-del dmake.exe
+if exist objects rd /S /Q objects
+if exist config.h del config.h
+if exist dmake.exe del dmake.exe
 md objects
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\infer.obj infer.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\make.obj make.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\stat.obj stat.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\expand.obj expand.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dmstring.obj dmstring.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\hash.obj hash.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dag.obj dag.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dmake.obj dmake.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\path.obj path.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\imacs.obj imacs.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\sysintf.obj sysintf.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\parse.obj parse.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\getinp.obj getinp.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\quit.obj quit.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\state.obj state.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dmdump.obj dmdump.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\macparse.obj macparse.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\rulparse.obj rulparse.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\percent.obj percent.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\function.obj function.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dchdir.obj win95\dchdir.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\switchar.obj win95\switchar.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dstrlwr.obj msdos\dstrlwr.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\arlib.obj msdos\arlib.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\dirbrk.obj msdos\dirbrk.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\infer.obj infer.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\make.obj make.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\stat.obj stat.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\expand.obj expand.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dmstring.obj dmstring.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\hash.obj hash.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dag.obj dag.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dmake.obj dmake.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\path.obj path.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\imacs.obj imacs.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\sysintf.obj sysintf.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\parse.obj parse.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\getinp.obj getinp.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\quit.obj quit.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\state.obj state.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dmdump.obj dmdump.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\macparse.obj macparse.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\rulparse.obj rulparse.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\percent.obj percent.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\function.obj function.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dchdir.obj win95\dchdir.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\switchar.obj win95\switchar.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dstrlwr.obj msdos\dstrlwr.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\arlib.obj msdos\arlib.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\dirbrk.obj msdos\dirbrk.c
 rem Not needed for MSVC 6 and up. Lesser versions not supported
-rem cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo
-Od -GF -Ge -Foobjects\tempnam.obj tempnam.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\ruletab.obj win95\microsft\ruletab.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\runargv.obj msdos\runargv.c
-cl -c %c_flg -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od
-GF -Ge -Foobjects\rmprq.obj msdos\rmprq.c
+rem cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF
-Ge -Foobjects\tempnam.obj tempnam.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\ruletab.obj win95\microsft\ruletab.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\runargv.obj msdos\runargv.c
+cl -c -I. -Iwin95 -Iwin95\microsft -Iwin95\microsft\vpp40 /nologo -Od -GF -Ge
-Foobjects\rmprq.obj msdos\rmprq.c
 
 :link
-rem link /nologo /out:dmake.exe @fix95nt\win95\microsft\vpp40\obj.rsp
-if "%c_flg" == "" link /out:dmake.exe @.\win95\microsft\vpp40\obj.rsp
-if "%c_flg" != "" link /DEBUG:notmapped,full /DEBUGTYPE:cv /PDB:NONE
/out:dmake.exe @.\win95\microsft\vpp40\obj.rsp
+link /nologo /out:dmake.exe @.\win95\microsft\vpp40\obj.rsp
 copy win95\microsft\vpp40\template.mk startup\config.mk
End of Patch.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to