httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Massive changes to Win32 generated MAK files
Date Fri, 07 Apr 2000 02:38:04 GMT

> > Since there is a freely-available Borland compiler for Windows now, I
> > would expect it to become a popular choice if we supported it.
>  Indeed.
>  Bill Stoddard

> William A. Rowe, Jr. writes ( regarding FREECOMM.EXE )...
> Seems I spoke too soon (shouldn't believe everything I read)...
> These programs from the previous post are not part of the (Borland) compiler
> distribution I downloaded.  Note that VCTOBPR -> BPR2MAK would have
> addressed our needs.
> BPR2MAK.EXE   Converts project file from XML to MAKE file format for use 
> command-line tools
> DCC32.EXE Object Pascal compiler (32-bit), command-line version
> REGSRVR.EXE   Registers ActiveX and OLE server .DLLs
> RLINK32.DLL   Resource linker (32-bit)
> TLIBIMP.EXE   (Type Library Import) tool. Takes existing type libraries and
> creates C++Builder Interface files. Incorporated into the Type Library
> editor.
> VCTOBPR.EXE   Converts Microsoft Visual C++ 5.0 and 6.0 project (.DSP) and
> workspace (.DSW) files to their equivalent Borland C++Builder files
> Now the MAKE file formats are very similar, but here we go back to a
> necessity of make file distribution.  Since the options and target rules
> change, the existing make file is not directly usable.
> I support eliminating Win32/VC MAK files -now-, if someone proposes the
> right patch using msdev.exe (building individual targets without excessive
> recursion, thank you please!)  I will work with the BCC 5.5 package to set
> up a build stratagy that perhaps will work for both and cooperate with the
> IDEs (of VC first, then Borland's C++ Builder IDE - which is -not- in the
> free command-line package.)
> OtherBill


The VCTOBPR.EXE MSVC project file conversion utility has been
around for about 15 months, first appearing in Borland C++ builder
v4.0 around January of 1999. As you have discovered... both the online
articles about the Borland 'free' compiler and the help files themselves
that download with it are wrong about what is included in the 'free'
package. VCTOBPR.EXE has never been part of the 'free' package
but always comes with the retail version.

> I support eliminating Win32/VC MAK files -now-

Given the size and the complexity of your codebase 
I think you can pretty much assume the following of any Win32
programmer that will be seriously trying to compile Apache...

1. They will already have a copy of MSVC and they won't really
need anything but the same .DSP and .DSW that you use for
your actual Win32 build. I personally do not know of any serious 
Win32 developer ( keyword serious ) that does NOT have a copy 
of MSVC at this point ( even if they don't like it ) and I imagine 
my observations are not uncommon. Even Borland has 'fallen
behind' in this area and there are MANY things that can only
be accomplished under Win32 by using the compiler and the 
SDK's that come from the manufacturer of the operating system. 
IBM's OS/2 is pretty much the same. I wouldn't even consider
trying to do certain things for OS/2 without using IBM's compiler.

2. Even if a developer WANTS to compile with Borland they will 
NOT be trying to do so with the 'free' version and they will already 
have the BC IDE and the VPTOBPR.EXE utility to perform the 
necessary project file conversion(s).

You should be aware, however, that even if people do own
and use VPTOBPR from the retail version there will be
some issues because of the way VPTOBPR performs the 
'conversions' and the complexity of the Apache .DSW itself.
( See for message threads concerning the usage 
of VPTOBPR ). 

You can also check the Borland (Inprise) defects list at...

Example from the list...

Defect # 45532 
Area:Tools CL\VCToBPR
Locale: US
Description: IDETOBPR and VCTOBPR add _4 (03 34) to the 
end of all converted .bpr makefiles.
When these makefiles are built in a DOS box using make.exe, 
make passes " _4" to DOS as a command. DOS then issues an 
'Unknown command' error. No errors if built in the IDE.

The DOS bug is easily handled with a 'filter' but 
as you can see... the reason they left VPTOBPR out of the
'free' command line package is that it doesn't even work very
well from the command line but it works fine with the full 
blown retail IDE.

BTW: There is a VPTOBPRU Win32 Windows based version of the
utility as well that has far fewer defects posted against it than
the command line version. It also comes with the retail version
of the Borland compiler.

I have used VPTOBPR extensively and it is a good utility until the
complexity of the .DSW itself starts to throw it for a loop and I
believe the Apache .DSW is about to 'cross that line'.

In some cases you are simply still better 
off with a 'rawmake.bat' file which contains the raw MSVC build output
generated via...

nmake /A /P /N /U -f whatever_apache_make_is_called.mak > rawbuild.bat

You just search and replace the compile/link commands or alias
them and away you go. With some creative use of 'TOUCH.EXE'
( which DOES come with the 'free' compiler ) you have something
just as powerful as a makefile without all the conversion hassles.

For a lot of projects ( Apache included ) I have found it much easier
to simply use just such a 'rawbuild.bat' file and simple re-compile the
whole ball of wax ( BTW: Borland compile/link is faster than MSVC )
then deal with the vagarities of some of the more popular .DSW converters

To each his own... but I thought you should know at this point 
in your planning that even VPTOBPR is nowhere near being a 
'magic bullet'. It's more like just a pretty powerful pellet gun.

Other MSVC++ project file conversion utilities surpass it... 
but I know of none that are 'free' if that is, in fact, the primary

Kevin Kiley
CTO, Remote Communciations, Inc.

View raw message