AlenkaF commented on a change in pull request #11820:
URL: https://github.com/apache/arrow/pull/11820#discussion_r762820605



##########
File path: docs/source/developers/guide/step_by_step/building.rst
##########
@@ -31,21 +31,102 @@
 
 .. _build-arrow:
 
-*********************************
-Building Arrow's libraries 🏋🏿‍♀️
-*********************************
+************************************
+Building the Arrow's libraries 🏋🏿‍♀️
+************************************
 
+The Arrow project contains good number of libraries that enable
+work in many languages. Most libraries (C++, C#, Go, Java,
+JavaScript, Julia, and Rust) already contain distinct implementations
+of Arrow. 
 
+It is different for C (Glib), MATLAB, Python, R, and Ruby as they
+are built on top of the C++ library. In this section we will be
+dealing with this second part of the libraries plus some of C++.
 
-Building C++
-============
+In this case, if you decide to contribute to Arrow you will meet
+the topic of compiling the source code and use of CMake. You may
+have some experience with it or not. If not, it is good to read
+through this part so you understand what is happening in the process
+of building Arrow better.
+
+If you feel comfortable with compiling then feel free to proceed
+to the :ref:`C++ <building-arrow-cpp>`, :ref:`PyArrow <build_pyarrow>` or
+`R package build section 
<https://arrow.apache.org/docs/r/articles/developing.html>`_.
+
+Building Arrow C++
+==================
+
+Why build Arrow C++ from source?
+--------------------------------
+
+For Arrow C++ implementation and its bindings (Python and R for example)
+these bindings are wrapping the underlying C++ functions. Even if you
+want to work on PyArrow or R package the source code of C++ may have to
+be edited also.
+
+About CMake
+-----------
+
+CMake is a cross platform build system generator and it defers
+to another program such as ``make`` or ``ninja`` for the actual build.
+If running into errors with the build process, the first thing to try is
+to tweak some CMake flags for compiling Arrow.
+
+.. TODO
+.. CMake presets
+.. Ex: "We now have CMake Presets which are useful starting points."
+.. 
https://github.com/apache/arrow/blob/master/docs/source/developers/cpp/building.rst#cmake-presets
+
+
+Optional flags and why might we use them
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. TODO short description of the use of flags
+.. R and Python have specific lists of flags in their respective building docs 
that can be referenced.
+
+.. seealso::
+       Full list of optional flags: :ref:`cpp_build_optional_components`
+
+.. Environment variables useful for developers
+.. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+.. TODO short description of the use of env vars
+
+Building from source vs. using binaries
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Using binaries is a fast and simple way of working with the latest

Review comment:
       Thanks for pointing it out! I will rephrase.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to