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

[PATCH] Re: Win32 neon build error (Spaces in path)

From: Jon Foster <jon_at_jon-foster.co.uk>
Date: 2004-05-26 22:08:55 CEST

Hi,

My Neon fixes were included in Neon 0.24.6; here are the corresponding
Subversion changes. Note that the Subversion trunk already claims to
need this version of Neon, so this doesn't increase the stated system
requirements.

Log message:

---
Fix Win32 build when there are spaces in the path.
Neon versions prior to 0.24.6 would not allow us to quote EXPAT_FLAGS
correctly, so paths with spaces would not work.  Although we could now
quote this correctly, it's better to use the new EXPAT_INC flag (also
introduced in Neon 0.24.6).  Setting EXPAT_FLAGS requires too much
knowledge of Neon build-system internals.
    * build_neon.ezt: Set EXPAT_INC rather than EXPAT_FLAGS.
---
My mailer is known to break inline patches, so I'm sending it as an
attachment.  This patch is against the trunk.
Kind regards,
Jon
Jon Foster wrote:
> Hi,
> 
> D.J. Heap wrote:
> 
>> Jon Foster wrote:
>>
>>> Hi all,
>>>
>>> I've just built the Subversion trunk under Windows 2000, with MS Visual
>>> Studio .NET 2002.  When building neon, the VS project runs 
>>> build_neon.bat.
>>> This gave the error message:
>>>
>>>  > Performing Makefile project actions
>>>  > nmake /f neon.mak ALL EXPAT_FLAGS="/I
>>>  >>> D:\My 
>>> Documents\Jon\Prog\Subversion\Work\Subversion\apr-util/xml/expat/lib
>>>  >>> /D HAVE_EXPAT /D HAVE_EXPAT_H" DEBUG_BUILD=Aye
>>>  > NMAKE : fatal error U1073: don't know how to make 'D:\My'
>>>  > Stop.
>>>
>>> The problem seems to be the space in the path; editing build_neon.bat
>>> to change "My Documents" to "MyDocu~1" fixes this.
>>>
>>> Is this a known bug?
>>>
>>> I can think of at least four ways to fix this:
>>> 1) Document "don't do that".
>>> 2) Come up with a way of quoting this properly.
>>> 3) Fix the python script that generates build_neon.bat to use the
>>>    short file name.
>>> 4) Change Neon to allow the paths to be specified in some other way.
>>>    (Would require changes to Neon as well as SVN).
>>
>> [snip]
>>
>> Can you try fixing it with quoting and posting a patch?
>>
>> DJ
 >
 > I tried, but I now believe it's impossible.  The Neon makefile is
 > just too broken.  I just posted a couple of patches to the Neon
 > list; if they get accepted then I'll provide the corresponding
 > fixes to Subversion.
 >
 > Kind regards,
 >
 > Jon Foster
 >

Index: Subversion/build/generator/build_neon.ezt
===================================================================
--- Subversion/build/generator/build_neon.ezt (revision 9884)
+++ Subversion/build/generator/build_neon.ezt (working copy)
@@ -17,14 +17,9 @@
 set OPENSSL_SRC=[openssl_path][end]
 
 @rem **************************************************************************
-@rem The normal compilation of Neon on Windows is designed to compile
-@rem and link against the pre-compiled Windows binary Expat
-@rem installation and uses the EXPAT_SRC command line parameter to
-@rem 'nmake /f neon.mak' to specify where this binary installation
-@rem resides. However, here, Neon is instructed to compile and link
-@rem against the Expat packages with APR, and the EXPAT_FLAGS
-@rem parameter must be used instead of EXPAT_SRC.
-set EXPAT_FLAGS="/I [expat_path] /D HAVE_EXPAT /D HAVE_EXPAT_H"
+@rem Neon is instructed to compile and link against the Expat packages within
+@rem APR. (Note that this option was introduced in Neon 0.24.6).
+set EXPAT_INC=[expat_path]
 
 @rem **************************************************************************
 cd ..\..\neon
@@ -45,15 +40,15 @@
 
 @rem **************************************************************************
 :release
-@echo nmake /f neon.mak %target% EXPAT_FLAGS=%EXPAT_FLAGS%
-nmake /nologo /f neon.mak %target% EXPAT_FLAGS=%EXPAT_FLAGS%
+@echo nmake /f neon.mak %target%
+nmake /nologo /f neon.mak %target%
 if not errorlevel 0 goto err
 goto end
 
 @rem **************************************************************************
 :debug
-@echo nmake /f neon.mak %target% EXPAT_FLAGS=%EXPAT_FLAGS% DEBUG_BUILD=Aye
-nmake /nologo /f neon.mak %target% EXPAT_FLAGS=%EXPAT_FLAGS% DEBUG_BUILD=Aye
+@echo nmake /f neon.mak %target% DEBUG_BUILD=Aye
+nmake /nologo /f neon.mak %target% DEBUG_BUILD=Aye
 if not errorlevel 0 goto err
 goto end
 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Wed May 26 22:10:13 2004

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.