thisisnic commented on a change in pull request #11521:
URL: https://github.com/apache/arrow/pull/11521#discussion_r764003441



##########
File path: r/vignettes/developers/install_details.Rmd
##########
@@ -0,0 +1,123 @@
+# How the R package is installed
+
+In order for the arrow R package to work, it needs the Arrow C++ library, 
+also known as libarrow.  There are a number of scripts that are triggered 
+when `R CMD INSTALL .` is run and for Arrow users, these should all just work 
+without configuration and pull in the most complete pieces (e.g. official 
+binaries that we host).
+
+This documented is intended specifically for arrow _developers_ who wish to 
know 
+more about these scripts.  If you are an arrow _user_ looking for help with 
+installing arrow, please see [the installation guide](../install.html)
+
+An overview of these scripts is shown below:
+
+* `configure` and `configure.win` - these scripts are triggered during
+`R CMD INSTALL .` on non-Windows and Windows platforms, respectively. They
+handle finding the libarrow, setting up the build variables necessary, and
+writing the package Makevars file that is used to compile the C++ code in the R
+package.
+
+* `tools/nixlibs.R` - this script is sometimes called by `configure` on Linux
+(or on any non-windows OS with the environment variable
+`FORCE_BUNDLED_BUILD=true`) if an existing libarrow installation cannot be 
found.
+This sets up the build process for our bundled builds (which is the default on 
+linux) and checks for binaries or downloads libarrow from source depending on 
+dependency availability and build configuration.
+
+* `tools/winlibs.R` - this script is sometimes called by `configure.win` on 
Windows
+when environment variable `ARROW_HOME=true`.  It looks for an existing libarrow
+installation, and if it can't find one downloads an appropriate libarrow 
binary.
+
+* `inst/build_arrow_static.sh` - called by `tools/nixlibs.R` when libarrow  
+needs to be built.  It builds libarrow for a bundled, static build, and
+mirrors the steps described in the ["Arrow R Developer Guide" 
vignette](./setup.html)
+This build script is also what is used to generate our prebuilt binaries.
+
+The actions taken by these scripts to resolve dependencies and install the 
+correct components are described below.
+
+There are a number of different ways you can install libarrow:
+
+* as part of the R package installation process
+* a system package
+* a library you've built yourself outside of the context of installing the R 
package
+
+When you install the R package, it will attempt to detect any existing 
+installation of libarrow, and if none are found, it will install a copy.  The 
+following section explains how this process works.
+
+## How the R package finds libarrow
+
+### Windows
+
+The diagram below shows how the R package finds a libarrow installation on 
Windows.
+
+```{r, echo=FALSE, out.width="70%"}
+knitr::include_graphics("../img/install_diagram_windows.png")

Review comment:
       I think it might be to do with me putting them in a folder; I've now 
promoted them to the same level as the .Rmd file.
   
   Good catch on the background - will update them all.




-- 
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: github-unsubscr...@arrow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to