Changeset: 9168ea72b5ae for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9168ea72b5ae Modified Files: README.rst documentation/source/build.rst Branch: Oct2020 Log Message:
Made some updates to the readme. diffs (194 lines): diff --git a/README.rst b/README.rst --- a/README.rst +++ b/README.rst @@ -1,15 +1,28 @@ The MonetDB Database System =========================== -The MonetDB database is developed by the CWI database research group -(see https://www.monetdb.org/). +The MonetDB database was originally developed by the `CWI`__ `database +research group`__ (see https://www.monetdb.org/). Development has now +shifted to the spin-off company `MonetDB Solutions`__. -Via the MonetDB project we have brought the MonetDB system in open source, -where it is accessible at https://www.monetdb.org/Downloads/ +Via the MonetDB project we have brought the MonetDB system in open +source, where it is accessible at https://www.monetdb.org/Downloads/. +Even though development happens mostly in a company, the MonetDB +database system will remain open source. The MonetDB database system is a high-performance database kernel for -query-intensive applications. The MonetDB source can be found at our `Mercurial -server`__. There is also a `github mirror`__ that is updated once a day. +query-intensive applications. The MonetDB source can be found at our +`Mercurial server`__. There is also a `github mirror`__ that is updated +once a day. + +.. _CWI: https://www.cwi.nl/ +__ CWI_ + +.. _DA: https://www.cwi.nl/research/groups/database-architectures +__ DA_ + +.. _solutions: https://www.monetdbsolutions.com +__ solutions_ .. _MonetDB: https://dev.monetdb.org/hg/MonetDB/ __ MonetDB_ @@ -17,12 +30,19 @@ server`__. There is also a `github mirro .. _github: https://github.com/MonetDB/MonetDB __ github_ -If you got a source distribution, please compile and install MonetDB first, -following the instructions in the file `HowToStart.rst`__ (for Unix) -or `buildtools/doc/windowsbuild.rst`__ (for Windows). +If you got a source distribution, please compile and install MonetDB +first, following the instructions in the file `build.rst`__. + +__ documentation/source/build.rst -__ HowToStart.rst -__ buildtools/doc/windowsbuild.rst +Bugs +==== + +We of course hope there aren't any, but if you do find one, you can +report bugs in our `bugzilla`__ instance. + +.. _bugzilla: https://bugs.monetdb.org +__ bugzilla_ Copyright Notice ================ diff --git a/documentation/source/build.rst b/documentation/source/build.rst --- a/documentation/source/build.rst +++ b/documentation/source/build.rst @@ -2,12 +2,23 @@ Building MonetDB from source **************************** -``Summary`` -=========== +Summary +======= + +For cmake, you should always build the code in a separate directory, say +"build". This directory should be OUTSIDE of the source code tree. The +results of the build are stored in this directory. The location on the +filesystem is not important, as long as you have permissions to write in +that location. -For cmake, you should always build the code in a separate directory, say "build". This directory should be OUTSIDE of the source code tree. The results of the build are stored in this directory. The location on the filesystem is not important, as long as you have permissions to write in that location. - -Assuming the monetdb source code is checked out in directory "/path/to/monetdb/source". And if you have all the required packages (See below) to build MonetDB, these are the set of commands to build and *install* it from source. Install is one of the predefined targets [install, test, mtest]. When you test monetdb, you will likely not want to install it in the default location, the standard GNU directory structure. So you want to set the install prefix variable when generating the build system, using -DCMAKE_INSTALL_PREFIX:: +Assuming the monetdb source code is checked out in directory +"/path/to/monetdb/source". And if you have all the required packages +(See below) to build MonetDB, these are the set of commands to build and +*install* it from source. Install is one of the predefined targets +[install, test, mtest]. When you test monetdb, you will likely not want +to install it in the default location, the standard GNU directory +structure. So you want to set the install prefix variable when +generating the build system, using ``-DCMAKE_INSTALL_PREFIX``:: mkdir build cd build @@ -16,31 +27,49 @@ Assuming the monetdb source code is chec cmake --build . --target install -``Prerequisites`` -================= +Prerequisites +============= PATH settings: None ROle of clients?? How to install ## Testing -For testing, you likely don't want to install in the default location, so you need to add the installation prefix parameter to the cmake command. But you do not need any configuration to run mtest (on Linux). Just run the command::: + +For testing, you likely don't want to install in the default location, +so you need to add the installation prefix parameter to the cmake +command. But you do not need any configuration to run mtest (on +Linux). Just run the command:: cmake --build . --target mtest -``Configuration options`` -========================= - -The way options interact with building of the MonetDB source has fundamentally changed from the way this was done using the autotools buildsystem. Now almost all options are on by default. And these options mostly control library detection. In the old system, it was possible to build a subset of the codebase. For example, you could choose not to build the sql part. Now the every part of the code is build, as long as the dependent libraries are detected. And by default, the system would try to detect all dependent libraries. If your system does not have a required library, that section of the code will not be build. Only if you want to prevent the build of a certain section, you could use the option to prevent that a dependency is detected. - -Evidently there are several options to control as illustrated in $SOURCE/cmake/monetdb-options.cmake +Configuration options +===================== -The important once to choose from are -DCMAKE_BUILD_TYPE, which takes the value Release or Debug. -The former creates the binary ready for shipping, including all compiler optimizations that come with it. -The Debug mode is necessary if you plan to debug the binary and needs access to the symbol tables. -This build type also typically leads to a slower execution time, because also all kinds of assertions -are being checked. +The way options interact with building of the MonetDB source has +fundamentally changed from the way this was done using the autotools +buildsystem. Now almost all options are on by default. And these options +mostly control library detection. In the old system, it was possible to +build a subset of the codebase. For example, you could choose not to +build the sql part. Now the every part of the code is build, as long as +the dependent libraries are detected. And by default, the system would +try to detect all dependent libraries. If your system does not have a +required library, that section of the code will not be build. Only if +you want to prevent the build of a certain section, you could use the +option to prevent that a dependency is detected. -Other relevant properties are also -DASSERT=ON and DSTRICT=ON, used in combination with a Debug build, e.g.:: +Evidently there are several options to control as illustrated in +``$SOURCE/cmake/monetdb-options.cmake`` + +The important once to choose from are ``-DCMAKE_BUILD_TYPE``, which +takes the value Release or Debug. The former creates the binary ready +for shipping, including all compiler optimizations that come with it. +The Debug mode is necessary if you plan to debug the binary and needs +access to the symbol tables. This build type also typically leads to a +slower execution time, because also all kinds of assertions are being +checked. + +Other relevant properties are also ``-DASSERT=ON`` and ``-DSTRICT=ON``, +used in combination with a Debug build, e.g.:: CONFIGURE_OPTIONS="-DCMAKE_BUILD_TYPE=Debug -DASSERT=ON -DSTRICT=ON" mkdir build @@ -52,22 +81,23 @@ Other relevant properties are also -DAS Explain the role of cmake --build . --target mtest In particular how to call it from anywhere in the tree -``Platform specifics`` -====================== +Platform specifics +================== -The packages required to built MonetDB from source depends mostly on the operating system environment. -They are specified in the corresponding README files, +The packages required to build MonetDB from source depends mostly on the +operating system environment. They are specified in the corresponding +README files, README-Debian .... which version README-Fedora .... Which version -``Windows`` -=========== +Windows +======= -``MacOS`` -========= +MacOS +===== -``How to start`` -================ +How to start +============ _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list