Dear all, since I have not yet managed to update the TestTools to cope with Sjoerd's changes, i.e., the new (single) top-level bootstrap/configure/make, I will suspend "Current" ("default") testing as of tonight, until I manage to update (or reimplement) the TestTools accordingly. Please accept my aplologies for any inconveniences that this might cause. Stefan On Fri, Jan 07, 2011 at 01:41:44PM +0100, Sjoerd Mullender wrote:
Changeset: 09ddaf9782c1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=09ddaf9782c1 Modified Files: [1219] Branch: default Log Message:
Top-level bootstrap/configure/make.
This huge changeset is to turn the various "sort-of" independent subpackages of MonetDB into one coherent package. The principle idea is that we now have a single top-level configure and make instead of having to run configure and make many times to build everything.
From now on, the way to build MonetDB is to run the command "./bootstrap" in the top-level directory, and then to run ".../configure" and "make" in the build directory (which can be the same as the source, but doesn't have to be). On Windows, the way to build is to run "nmake" in the NT subdirectory or to run "nmake /f ..\NT\Makefile" in an empty directory underneath the top level.
The subpackages affected are: MonetDB, clients, MonetDB4, MonetDB5, sql, pathfinder, geom, testing, java, and python. Not affected is template (although it likely won't currently work) since it is meant as a template for external (to the MonetDB suite) extensions.
Note that the python subpackage is included in the list: there is now support to run the Python setup.py program with autogen.
The top-level configure has a number of options to enable and disable the building of subpackages: --enable-monetdb4 enable support for MonetDB4 (default=auto) --enable-monetdb5 enable support for MonetDB5 (default=auto) --enable-sql enable support for MonetDB/SQL (default=auto) --enable-geom enable support for geom module (default=auto) --enable-pathfinder enable support for MonetDB/XQuery (default=auto) --enable-pftijah enable support for TIJAH (default=auto) --enable-probxml enable support for PROBXML (default=auto) --enable-odbc compile the MonetDB ODBC driver (default=auto) --enable-testing enable support for testing (default=auto) --enable-console enables direct console on the server (involves security risks) --enable-java (try to) build Java components --enable-jdbc build the MonetDB JDBC driver --enable-xrpcwrapper build the MonetDB XRPC wrapper --enable-merocontrol build the Merovingian control driver
The options to specify the presence and location of programs and libraries that are used to build the subpackages were of course also integrated into the top-level configure, as were the following options: --with-default-backend=BACKEND select a default back-end (milprint_summer/algebra/sql) for Pathfinder (default=algebra) --with-password-backend=HASHALG password hash algorithm, one of MD5, SHA1, RIPEMD160, SHA224, SHA256, SHA384, SHA512, defaults to SHA512
Note that the Pathfinder configuration without MonetDB4 is still possible: .../configure --disable-monetdb4 --disable-monetdb5 --enable-pathfinder ...
Other changes include the following: - One top-level MonetDB.spec file so that all RPMs can be built in one go; - One top-level debian subdirectory with Debian/Ubuntu configuration; - Removed all *-config and *-config.bat files: there use is superseded by the single top-level configure and various *.pc (pkgconfig) files; - All paths in Makefile.ag files to other subpackages are now relative; - .mx files in the mel package have been unpacked to their constituent .cc (etc.) files: adding back support for C++ inside autogen was too hard otherwise; - Tar balls don't include generated files (apart from configure): the build process, also for tar ball distributions, includes building and using Mx, but also now requires bison/yacc and flex/lex (there have been problems in the past with our distributing generated bison output); - mel is only built when MonetDB4 is enabled, burg is only built when pathfinder is enabled; - Some symbols in burg were replaced to avoid name clashes on Windows; - Some files (monetdb.ico, banner.bmp, website.html, license.rtf) were moved to buildtools/conf; - Use the currently approved way (by autoconf) of checking for alloca and alloca.h; - Packaged vault.sql into vault.mx since autogen/Mx get confused otherwise; - Set the version number globally to 11.0.0 (we need a single version number for binary packages, and it must be higher than the highest old version number).
-- | Stefan.Manegold @ CWI.nl | DB Architectures (INS1) | | http://CWI.nl/~manegold/ | Science Park 123 (L321) | | Tel.: +31 (0)20 592-4212 | 1098 XG Amsterdam (NL) |