Re: [xml] win32 build system



On 21.01.2005 21:57, Francesco Montorsi wrote:

Hi,
   I would like to inform all libxml2 users and particularly the libxml2
authors that I have successfully created a bakefile for libxml2.
A bakefile is an XML file which contains build info which are then converted
by the bakefile program (open source at http://bakefile.sourceforge.net)
to makefiles and IDE project files.
I used the makefile templates provided by Igor Zlatkovic to create it.

The advantages with bakefile is that it allows the programmer to write and
mantain a single "template" file and then regenerate the makefiles with a
simple command !
Unlike other makefile generators (like cmake), bakefile does not require
that the user installs anything: with bakefile you generate your makefiles
and then you
distribute them: the use just needs the usual make program of its compiler.

With bakefile I successfully generated working makefiles for Watcom,
Borland, MinGW, MSVC++ nmake compilers. I also created the project files for
MSVC 6.0 which allows to build libxml2 in Debug/Release, Unicode/ANSI,
DLL/static
modes (8 configurations in total).

Also C++BuilderX and some other IDEs/compilers will be added in future.
The bakefile I created does not require any modification to the libxml2: you just need to unzip the file from http://frm.150m.com/prog/libxml2%20win32.zip
into the libxml2 main folder, then
you should go to the BUILD folder which contains the bakefile and all
makefiles and
project files generated using it.
Then you should try to do:
         nmake -fmakefile.vc [all my libxml2 options; e.g.
ICONV_DIR=C:\myiconv WITH_THREADS=no ]
or
         make -fmakefile.bcc
or
        wmake -fmakefile.wat
or
        mingw32-make -fmakefile.gcc
they all support the same options and the same option syntax !!!
The libxml2.dsw project links all the DSP files for the libxml2 library and
the test programs.

I think that such build system could be easily used together with Igor
Zlatkovic makefiles, if necessary.
It requires little space and it makes quicker and easier libxml2 building on
win32 (bakefile also supports unixes but I did not try to add autoconf
support to
libxml2.bkl since libxml2 also have its own autoconf system).
Last, what's best than an XML build file for an XML library like libxml2 ?
;-)

For any question/doubt/problem using makefiles, contact me.
The bakefile, however, is fully commented: open it with an editor if you
want to dig into it.

I risked a glimpse and came with no strong opinion about it. There is nothing wrong with the bakefile concept, still some inner feeling draws me away from it and I cannot tell you why.

I don't like a programming or processing language if a debugger for it is not available. I hate makefile for that, being unable to step through the processing and inspect variables. But that I must live with, because the life without a makefile would be much more miserable. In this area, I am generally reluctant to introduce levels of complexity which are not absolutely necessary and give up some flexibility in the process.

Like I said, I have no strongly manifested opinion about it. How the build system works is secondary to me as long as it works and stays out of the way. If the bakefile concept gains acceptance and develops into something like Apache Ant, well, I'll use it along with the rest of the gang.

Ciao,
Igor




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]