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

Re: Auto generated windows projects

From: Branko Čibej <brane_at_xbc.nu>
Date: 2003-01-13 23:43:21 CET

Brandon Ehle wrote:

> I've finished the last of work on the MSVC6 .dsp file generation for
> windows. All that's left is for me to do some refactoring of the
> code. Could you check it out and lemme know if there is anything I
> need to change to be able to get this committed?
> I know someone had a problem with having a modular gen-make.py, but
> there were no alternatives discussed other than copying this file X
> times for each of the targets and changing 3 or 4 lines of code.
> Here's the current patch.
> http://fishbowl.digitalbytes.net:81/svn/scripts/patch/gen-make-win32.patch

hmmm... This is definitely not a complete review, just what I saw in a
few minutes of browsing your patch.

>+type = project
>+path = apr
>+libs = mswsock ws2_32 advapi32 rpcrt4 shfolder
>+type = project
>+path = apr-util
>+libs = xml apriconv gen_uri_delims
>+type = project
>+path = apr-iconv
>+libs = apr
This can't be right. First, APR doesn't need shfolder.dll; libsvn_subr
does. Next, you seem to be assuming a static build. For a dynamic build,
aprutil must depend on apr.

>+type = external
>+path = neon
>+sources = neon/src/*.c
>+cmd = ..\build\win32\build_neon.bat
>+release = libneon.lib
>+debug = libneonD.lib
So I'll have a .dsp generator, but I'll still have to edit
build_neon.bat to make it link with zlib and openssl? I _said_ I didn't
want to push everything into gen-make.py, because the Windows build
scripts will need options like --with-zlib. It would also be nice to be
able to point to the location of apr, apr-util, apr-iconv, BDB, ... all
of which is handled by the configure script on Unix, but has to go
somewhere else on Windows.

>Index: subversion/libsvn_ra_dav/session.c
>--- subversion/libsvn_ra_dav/session.c (revision 4365)
>+++ subversion/libsvn_ra_dav/session.c (working copy)
>@@ -239,7 +239,7 @@
> *neon_debug = debug;
> }
> else
>- *neon_debug = 0;
>+ *neon_debug = 1073742335;
> return SVN_NO_ERROR;
> }

>+#Don't even get me started about this hack
I sympathize, but you should really chose more descriptive names.

>Index: build/gen_vcnet.py
>--- build/gen_vcnet.py (working copy)
>+++ build/gen_vcnet.py (working copy)
The contents of this file seem to be pasted twice.

>Index: build/gen_bcpp.py
>--- build/gen_bcpp.py (working copy)
>+++ build/gen_bcpp.py (working copy)
>@@ -0,0 +1,46 @@
>+# gen_win32.py -- generate windows projects
And this one.

>Index: build/win32/installer.bat
>--- build/win32/installer.bat (working copy)
>+++ build/win32/installer.bat (working copy)
>@@ -0,0 +1,5 @@
>+@echo Creating windows installer...
>+"C:\Program Files\My Inno Setup Extensions 3\iscc" ..\..\packages\win32-innosetup\svn.iss.%1
Hardcoded location again.

>Index: packages/win32-innosetup/svn.iss.in
>--- packages/win32-innosetup/svn.iss.in (working copy)
>+++ packages/win32-innosetup/svn.iss.in (working copy)
>@@ -0,0 +1,338 @@
You should coordinate with Jostein about the innosetup thing.

And a general observation: You hardcode the names and behaviour of the
build configurations, and templates for the build scripts, in the python
code. That makes it very hard to a) add new configuratoins, and b)
change the scripts (or generate scripts for building DLLs, for example).

The generated build scripts (at least the .dsp's) should always have
CRLF line endings, regardless of the platform they were generated on.

win-tests.py should be changed to modify the abs_builddir for the target

Please, don't think I don't appreciate the efort you put in this. It's
just that I'd like to see these scripts become really useful.

Brane Čibej   <brane_at_xbc.nu>   http://www.xbc.nu/brane/
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Jan 13 23:44:10 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.