[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Building on Windows

From: D.J. Heap <dj_at_shadyvale.net>
Date: 2003-05-09 18:04:20 CEST

Greg Stein wrote:
>
> The latter. One of the nicer things about the generated projects is that
> they are dumped in build/win32/SUBDIR/ rather than scattered across the
> system.
>
> The .vcproj generation came from some work that Brandon Ehle had done, but
> is (obviously :-) not tested right now. We use relative paths for the .dsp
> projects. Should be easy to do the same for the .vcproj projects.
>
> I've still got some work to do on the .dsp generation and build stuffs.
> After that, I could potentially tackle the .Net stuff, too (I've got both
> VC6 and .Net). It would be nice if somebody could tackle the .Net work
> sooner rather than later, tho.
>
> Cheers,
> -g
>

I have a patch for the dsp template that adds resources back into exe's
and Apache modules, and moves the output back into the sourcetree which
I think is where it should go for the tests...but that means all the
exe's (tests as well as svn.exe, etc) are in the source directories, and
I'm not sure if that's desired...?

Since I only have VSNet2003, I can't actually test the dsps, they get
converted first...but I think they should work.

A couple of problems I've noticed are that SVN_FILE_NAME which is used
for the Original File Name version property is not set anywhere, and
libsvn_fs and mod_dav_svn both still put some intermediate output under
the build directory -- I haven't tracked down where that's from.

I also am still having problems building most of the tests due to the
link error: "LINK : fatal error LNK1561: entry point must be defined",
but I'm starting to think maybe that is just a conversion problem since
no one else seems to be having trouble...

The patch also makes Apache modules have the .so extension.

I have .Net 2003, which has (yet another) new file format (although it
looks like they only tweaked version numbers after a cursory glance). I
think probably a new template is needed though, as one of the problems I
posted earlier comes from converting old project formats into the new one.

It appears that the conversion process just *drops* any source files
that do not exist from the project. IE, getdate.c which is generated
for libsvn_subr gets dropped from all projects that reference it
(libsvn_subr and mod_dav_svn) because at the time VSNet converts the
projects, getdate.c doesn't exist...so they have to be manually added
back in after building __CONFIG__. Very annoying (read: broken)
behavior of the converter. So, for us VSNet2003 folks to easily gen the
projects and build, I think a new template will be needed...I'd be happy
to help build and test it if you decide to do that.

I've attached the patch (the project files have very long lines, so I
can't include it directly without wrapping) for anyone who may find it
useful until the official fixes are in.

DJ

Index: build/generator/msvc_dsp.ezt
===================================================================
--- build/generator/msvc_dsp.ezt (revision 5862)
+++ build/generator/msvc_dsp.ezt (working copy)
@@ -37,16 +37,16 @@
 # PROP Rebuild_Opt "rebuild"
 # PROP Target_File "[rootpath]\[target.path]\[is configs.name "Debug"][target.debug][else][target.release][end]"
 # PROP Target_Dir "[rootpath]\[target.path]"
-[else]# PROP Output_Dir "[rootpath]\[configs.name]"
-# PROP Intermediate_Dir "[configs.name]\[target.name]"
+[else]# PROP Output_Dir "[rootpath]\[target.path]\[configs.name]"
+# PROP Intermediate_Dir "[rootpath]\[target.path]\[configs.name]"
 # PROP Target_Dir ""
 [if-any is_utility][else]LIB32=link.exe -lib
-# ADD LIB32 /out:"[rootpath]\[configs.name]\[target.dsp_name].lib"
+# ADD LIB32 /out:"[rootpath]\[target.path]\[configs.name]\[target.dsp_name].lib"
 # ADD CPP /nologo /W3 /FD /c [is configs.name "Debug"]/MDd /Gm /Gi /GX /ZI /Od /GZ[else]/MD /GX /O2 /Ob2[end][for configs.defines] /D "[configs.defines]"[end][for includes] /I "[includes]"[end]
 # ADD RSC /l [if-any is_exe]0x409[else]0x424[end]
 BSC32=bscmake.exe
 LINK32=link.exe
-[if-any is_exe is_apache_mod]# ADD LINK32 /nologo [is configs.name "Debug"]/debug[end] [if-any is_apache_mod]/dll[end] /machine:IX86[for libs] [libs][end][for configs.libdirs] /libpath:"[configs.libdirs]"[end] /out:"[rootpath]\[configs.name]\[target.name].[if-any is_exe]exe[else]dll[end]"
+[if-any is_exe is_apache_mod]# ADD LINK32 /nologo [is configs.name "Debug"]/debug[end] [if-any is_apache_mod]/dll[end] /machine:IX86[for libs] [libs][end][for configs.libdirs] /libpath:"[configs.libdirs]"[end] /out:"[rootpath]\[target.path]\[target.name].[if-any is_exe]exe[else]so[end]"
 [end][end][end][end][end]
 !ENDIF
 
@@ -64,5 +64,12 @@
 !ENDIF
 [end]
 # End Source File
-[end]# End Target
+[end]
+[if-any is_exe is_apache_mod]
+# Begin Source File
+
+SOURCE="[rootpath]\build\win32\svn.rc"
+# End Source File
+[end]
+# End Target
 # End Project

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Fri May 9 18:05:29 2003

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.