Ulrich Telle wrote:
drh wrote:
I'm still having trouble trying to understand how managing
60 separate code files is perceived to be easier than managing
just 2 files (sqlite3.c and sqlite3.h). It seems to me that
the management problem gets much easier the fewer files there
are to manage.
In the case someone wants to use SQLite unchanged, it is certainly easier to
manage only 2 files than 60+. But there are people - like myself - who would
appreciate to have a source distribution containing the preprocessed source
files as separate files as it was before. Not instead of the amalgamation
distribution, but additionally.
I don't know why others want or need the separate files, but I certainly can
explain why I do: I have written an extension for SQLite using C++ which needs
the preprocessed header files for compiling. Additionally I have to change the
SQLite code at one place (essentially adding a single function call in the
pager). The code change is not a big problem, but extracting the header files
is quite inconvenient. Unfortunately I can't avoid to extract the header files
since I can't merge my own code with SQLite code due to the fact, that SQLite
is written in C and my extension in C++, and SQLite is not compilable in C++
mode.
So, I would be grateful if the separate file distribution would return in
addition to the amalgamation distribution.
We have a custom function in SQLITE also (in the pager even). I would
greatly prefer that the sqlite source be available as the separate files.
Many years ago (1980 something) there was a DOS serial port
communications library called "Async Pro" (or maybe it was "Async
Plus"). It included ISRs for using serial ports on DOS, multi-port
cards like Digi and Cyclades. It included Fax support (send/recv). The
entire source distribution was 100+ .c and .h files. But when you
compiled it, you just compiled a single master ".c" file that #included
all of the other files. The compiler could do global optimizations, and
the source was easy to edit. If you didn't want a feature, you just
edited the master source file.
Separate source files were nice, as we kept them in RCS and applied our
own bug fixes to them. It would have been a pain to merge the vendor
updates if everything were in one single file (especially if the vendor
renamed lots of stuff or moved it around).
-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------