Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare for improving Windows networking compatibility. #8234

Merged
merged 2 commits into from Sep 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
7 changes: 5 additions & 2 deletions .gitignore
Expand Up @@ -97,8 +97,11 @@ metastore_db
R-package/src/Makevars
*.lib

# Visual Studio Code
/.vscode/
# Visual Studio
.vs/
CMakeSettings.json
*.ilk
*.pdb

# IntelliJ/CLion
.idea
Expand Down
28 changes: 28 additions & 0 deletions .readthedocs.yaml
@@ -0,0 +1,28 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.8"
apt_packages:
- graphviz

# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: doc/conf.py

# If using Sphinx, optionally build your docs in additional formats such as PDF
formats:
- pdf

# Optionally declare the Python requirements required to build your docs
python:
install:
- requirements: doc/requirements.txt
system_packages: true
2 changes: 1 addition & 1 deletion R-package/src/Makevars.win
Expand Up @@ -30,7 +30,7 @@ $(foreach v, $(XGB_RFLAGS), $(warning $(v)))

PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
PKG_CXXFLAGS= $(SHLIB_OPENMP_CXXFLAGS) $(SHLIB_PTHREAD_FLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(SHLIB_PTHREAD_FLAGS)
PKG_LIBS = $(SHLIB_OPENMP_CXXFLAGS) $(SHLIB_PTHREAD_FLAGS) -lwsock32 -lws2_32
OBJECTS= ./xgboost_R.o ./xgboost_custom.o ./xgboost_assert.o ./init.o \
$(PKGROOT)/amalgamation/xgboost-all0.o $(PKGROOT)/amalgamation/dmlc-minimum0.o \
$(PKGROOT)/rabit/src/engine.o $(PKGROOT)/rabit/src/rabit_c_api.o \
Expand Down
6 changes: 5 additions & 1 deletion cmake/Utils.cmake
Expand Up @@ -244,7 +244,7 @@ macro(xgboost_target_properties target)
$<$<NOT:$<COMPILE_LANGUAGE:CUDA>>:/utf-8>
-D_CRT_SECURE_NO_WARNINGS
-D_CRT_SECURE_NO_DEPRECATE
)
)
endif (MSVC)

if (WIN32 AND MINGW)
Expand Down Expand Up @@ -314,4 +314,8 @@ macro(xgboost_target_link_libraries target)
if (RABIT_BUILD_MPI)
target_link_libraries(${target} PRIVATE MPI::MPI_CXX)
endif (RABIT_BUILD_MPI)

if (MINGW)
target_link_libraries(${target} PRIVATE wsock32 ws2_32)
endif (MINGW)
endmacro(xgboost_target_link_libraries)
3 changes: 3 additions & 0 deletions rabit/src/allreduce_base.cc
Expand Up @@ -5,7 +5,10 @@
*
* \author Tianqi Chen, Ignacio Cano, Tianyi Zhou
*/
#if !defined(NOMINMAX) && defined(_WIN32)
#define NOMINMAX
#endif // !defined(NOMINMAX)

#include "rabit/base.h"
#include "rabit/internal/rabit-inl.h"
#include "allreduce_base.h"
Expand Down
4 changes: 4 additions & 0 deletions src/cli_main.cc
Expand Up @@ -6,7 +6,11 @@
*/
#define _CRT_SECURE_NO_WARNINGS
#define _CRT_SECURE_NO_DEPRECATE

#if !defined(NOMINMAX) && defined(_WIN32)
#define NOMINMAX
#endif // !defined(NOMINMAX)

#include <dmlc/timer.h>

#include <xgboost/learner.h>
Expand Down
1 change: 0 additions & 1 deletion tests/cpp/common/test_column_matrix.cc
@@ -1,7 +1,6 @@
/*!
* Copyright 2018-2022 by XGBoost Contributors
*/
#include <dmlc/filesystem.h>
#include <gtest/gtest.h>

#include "../../../src/common/column_matrix.h"
Expand Down
6 changes: 4 additions & 2 deletions tests/cpp/common/test_config.cc
@@ -1,11 +1,13 @@
/*!
* Copyright 2019 by Contributors
*/
#include <gtest/gtest.h>

#include <fstream>
#include <string>
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include "../../../src/common/config.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

namespace xgboost {
Expand Down
21 changes: 10 additions & 11 deletions tests/cpp/common/test_hist_util.cu
@@ -1,26 +1,25 @@
/*!
* Copyright 2019-2022 by XGBoost Contributors
*/
#include <dmlc/filesystem.h>
#include <gtest/gtest.h>
#include <thrust/device_vector.h>
#include <xgboost/c_api.h>
#include <xgboost/data.h>

#include <algorithm>
#include <cmath>
#include <thrust/device_vector.h>

#include <xgboost/data.h>
#include <xgboost/c_api.h>

#include "test_hist_util.h"
#include "../helpers.h"
#include "../data/test_array_interface.h"
#include "../../../include/xgboost/logging.h"
#include "../../../src/common/device_helpers.cuh"
#include "../../../src/common/hist_util.h"
#include "../../../src/common/hist_util.cuh"
#include "../../../src/data/device_adapter.cuh"
#include "../../../src/common/hist_util.h"
#include "../../../src/common/math.h"
#include "../../../src/data/device_adapter.cuh"
#include "../../../src/data/simple_dmatrix.h"
#include "../../../include/xgboost/logging.h"
#include "../data/test_array_interface.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"
#include "test_hist_util.h"

namespace xgboost {
namespace common {
Expand Down
11 changes: 6 additions & 5 deletions tests/cpp/common/test_hist_util.h
Expand Up @@ -3,16 +3,17 @@
*/
#pragma once
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include <fstream>
#include <random>
#include <vector>
#include <string>
#include <fstream>
#include <vector>

#include "../helpers.h"
#include "../../../src/common/hist_util.h"
#include "../../../src/data/simple_dmatrix.h"
#include "../../../src/data/adapter.h"
#include "../../../src/data/simple_dmatrix.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

#ifdef __CUDACC__
#include <xgboost/json.h>
Expand Down
4 changes: 2 additions & 2 deletions tests/cpp/common/test_io.cc
Expand Up @@ -2,12 +2,12 @@
* Copyright (c) by XGBoost Contributors 2019
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include <fstream>

#include "../helpers.h"
#include "../../../src/common/io.h"
#include "../helpers.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory

namespace xgboost {
namespace common {
Expand Down
11 changes: 6 additions & 5 deletions tests/cpp/common/test_json.cc
Expand Up @@ -2,16 +2,17 @@
* Copyright (c) by Contributors 2019-2022
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include <fstream>
#include <map>

#include "../../../src/common/charconv.h"
#include "../../../src/common/io.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"
#include "xgboost/json.h"
#include "xgboost/logging.h"
#include "xgboost/json_io.h"
#include "../helpers.h"
#include "../../../src/common/io.h"
#include "../../../src/common/charconv.h"
#include "xgboost/logging.h"

namespace xgboost {

Expand Down
5 changes: 5 additions & 0 deletions tests/cpp/common/test_quantile.h
@@ -1,3 +1,6 @@
#ifndef XGBOOST_TESTS_CPP_COMMON_TEST_QUANTILE_H_
#define XGBOOST_TESTS_CPP_COMMON_TEST_QUANTILE_H_

#include <rabit/rabit.h>
#include <algorithm>
#include <string>
Expand Down Expand Up @@ -62,3 +65,5 @@ template <typename Fn> void RunWithSeedsAndBins(size_t rows, Fn fn) {
}
} // namespace common
} // namespace xgboost

#endif // XGBOOST_TESTS_CPP_COMMON_TEST_QUANTILE_H_
10 changes: 4 additions & 6 deletions tests/cpp/common/test_version.cc
@@ -1,18 +1,16 @@
/*!
* Copyright 2019 XGBoost contributors
*/
#include <gtest/gtest.h>

#include <dmlc/filesystem.h>
#include <dmlc/io.h>

#include <xgboost/version_config.h>
#include <xgboost/json.h>
#include <gtest/gtest.h>
#include <xgboost/base.h>
#include <xgboost/json.h>
#include <xgboost/version_config.h>

#include <string>

#include "../../../src/common/version.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory

namespace xgboost {
TEST(Version, Basic) {
Expand Down
5 changes: 3 additions & 2 deletions tests/cpp/data/test_data.cc
Expand Up @@ -2,13 +2,14 @@
* Copyright 2019-2022 by XGBoost Contributors
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include <fstream>
#include <memory>
#include <vector>

#include "xgboost/data.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"
#include "xgboost/data.h"

namespace xgboost {
TEST(SparsePage, PushCSC) {
Expand Down
5 changes: 2 additions & 3 deletions tests/cpp/data/test_ellpack_page_raw_format.cu
Expand Up @@ -2,12 +2,11 @@
* Copyright 2021 XGBoost contributors
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>
#include <xgboost/data.h>

#include "../../../src/data/sparse_page_source.h"
#include "../../../src/data/ellpack_page.cuh"

#include "../../../src/data/sparse_page_source.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

namespace xgboost {
Expand Down
4 changes: 2 additions & 2 deletions tests/cpp/data/test_file_iterator.cc
Expand Up @@ -2,13 +2,13 @@
* Copyright 2021 XGBoost contributors
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>

#include <memory>

#include "../../../src/data/adapter.h"
#include "../../../src/data/file_iterator.h"
#include "../../../src/data/proxy_dmatrix.h"
#include "../../../src/data/adapter.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

namespace xgboost {
Expand Down
7 changes: 4 additions & 3 deletions tests/cpp/data/test_metainfo.cc
Expand Up @@ -2,12 +2,13 @@
#include "test_metainfo.h"

#include <dmlc/io.h>
#include <dmlc/filesystem.h>
#include <xgboost/data.h>
#include <string>

#include <memory>
#include "../../../src/common/version.h"
#include <string>

#include "../../../src/common/version.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"
#include "xgboost/base.h"

Expand Down
7 changes: 4 additions & 3 deletions tests/cpp/data/test_simple_dmatrix.cc
@@ -1,12 +1,13 @@
// Copyright by Contributors
#include <dmlc/filesystem.h>
#include <xgboost/data.h>

#include <array>
#include "xgboost/base.h"
#include "../../../src/data/simple_dmatrix.h"

#include "../../../src/data/adapter.h"
#include "../../../src/data/simple_dmatrix.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"
#include "xgboost/base.h"

using namespace xgboost; // NOLINT

Expand Down
1 change: 0 additions & 1 deletion tests/cpp/data/test_simple_dmatrix.cu
@@ -1,5 +1,4 @@
// Copyright by Contributors
#include <dmlc/filesystem.h>
#include <xgboost/data.h>
#include "../../../src/data/simple_dmatrix.h"

Expand Down
8 changes: 5 additions & 3 deletions tests/cpp/data/test_sparse_page_dmatrix.cc
@@ -1,14 +1,16 @@
// Copyright by Contributors
#include <dmlc/filesystem.h>
#include <gtest/gtest.h>
#include <xgboost/data.h>
#include <thread>

#include <future>
#include <thread>

#include "../../../src/common/io.h"
#include "../../../src/data/adapter.h"
#include "../../../src/data/file_iterator.h"
#include "../../../src/data/simple_dmatrix.h"
#include "../../../src/data/sparse_page_dmatrix.h"
#include "../../../src/data/file_iterator.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

using namespace xgboost; // NOLINT
Expand Down
4 changes: 2 additions & 2 deletions tests/cpp/data/test_sparse_page_dmatrix.cu
@@ -1,10 +1,10 @@
// Copyright by Contributors

#include <dmlc/filesystem.h>
#include "../helpers.h"
#include "../../../src/common/compressed_iterator.h"
#include "../../../src/data/ellpack_page.cuh"
#include "../../../src/data/sparse_page_dmatrix.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

namespace xgboost {

Expand Down
2 changes: 1 addition & 1 deletion tests/cpp/data/test_sparse_page_raw_format.cc
Expand Up @@ -2,10 +2,10 @@
* Copyright 2021 XGBoost contributors
*/
#include <gtest/gtest.h>
#include <dmlc/filesystem.h>
#include <xgboost/data.h>

#include "../../../src/data/sparse_page_source.h"
#include "../filesystem.h" // dmlc::TemporaryDirectory
#include "../helpers.h"

namespace xgboost {
Expand Down
15 changes: 15 additions & 0 deletions tests/cpp/filesystem.h
@@ -0,0 +1,15 @@
/*!
* Copyright (c) 2022 by XGBoost Contributors
*/

#ifndef XGBOOST_TESTS_CPP_FILESYSTEM_H
#define XGBOOST_TESTS_CPP_FILESYSTEM_H

// A macro used inside `windows.h` to avoid conflicts with `winsock2.h`
#ifndef WIN32_LEAN_AND_MEAN
hcho3 marked this conversation as resolved.
Show resolved Hide resolved
#define WIN32_LEAN_AND_MEAN
#endif // WIN32_LEAN_AND_MEAN

#include "dmlc/filesystem.h"

#endif // XGBOOST_TESTS_CPP_FILESYSTEM_H