BLD Add DISTDIR variable. ### Description

Adds `DISTDIR` env variable that points to the directory where libraries should be copied to when building shared libraries with recipe.

### Checklists

- [x] Add new / update outdated documentation

From 4ac9a00d9e16b0879b4e734a4b604c7ce672894e Mon Sep 17 00:00:00 2001
From: Gyeongjae Choi <def6488@gmail.com>
Date: Mon, 9 May 2022 06:42:07 +0000
Subject: [PATCH 1/3] Add missing template type

TODO: Remove this patch when XGBoost version is updated.
(Upstream PR: https://github.com/dmlc/xgboost/pull/7954)

---
 src/common/host_device_vector.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xgboost/src/common/host_device_vector.cc b/xgboost/src/common/host_device_vector.cc
index 3a4a59db..fc33317b 100644
--- a/xgboost/src/common/host_device_vector.cc
+++ b/xgboost/src/common/host_device_vector.cc
@@ -180,13 +180,16 @@ template class HostDeviceVector<uint64_t>;  // bst_row_t
 template class HostDeviceVector<uint32_t>;  // bst_feature_t
 template class HostDeviceVector<RegTree::Segment>;
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__EMSCRIPTEN__)
 /*
  * On OSX:
  *
  * typedef unsigned int         uint32_t;
  * typedef unsigned long long   uint64_t;
  * typedef unsigned long       __darwin_size_t;
+ *
+ * On Emscripten:
+ * typedef unsigned long        size_t;
  */
 template class HostDeviceVector<std::size_t>;
 #endif  // defined(__APPLE__)
-- 
2.35.1


From 4ac9a00d9e16b0879b4e734a4b604c7ce672894e Mon Sep 17 00:00:00 2001
From: Gyeongjae Choi <def6488@gmail.com>
Date: Mon, 9 May 2022 06:42:07 +0000
Subject: [PATCH 1/3] Add missing template type

TODO: Remove this patch when XGBoost version is updated.
(Upstream PR: https://github.com/dmlc/xgboost/pull/7954)

---
 src/common/host_device_vector.cc | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/xgboost/src/common/host_device_vector.cc b/xgboost/src/common/host_device_vector.cc
index 3a4a59db..fc33317b 100644
--- a/xgboost/src/common/host_device_vector.cc
+++ b/xgboost/src/common/host_device_vector.cc
@@ -180,13 +180,16 @@ template class HostDeviceVector<uint64_t>;  // bst_row_t
 template class HostDeviceVector<uint32_t>;  // bst_feature_t
 template class HostDeviceVector<RegTree::Segment>;
 
-#if defined(__APPLE__)
+#if defined(__APPLE__) || defined(__EMSCRIPTEN__)
 /*
  * On OSX:
  *
  * typedef unsigned int         uint32_t;
  * typedef unsigned long long   uint64_t;
  * typedef unsigned long       __darwin_size_t;
+ *
+ * On Emscripten:
+ * typedef unsigned long        size_t;
  */
 template class HostDeviceVector<std::size_t>;
 #endif  // defined(__APPLE__)
-- 
2.35.1

