Skip to content

Commit 58c8a11

Browse files
authored
build(deps): Remove the very last references to boost (#4233)
As Marie Kondo would say, Boost no longer sparks joy for us, so we take one last look, thank it for its many years of service to our project, and then send it on its way. Fixes #4158 Signed-off-by: Larry Gritz <[email protected]>
1 parent a4dafbd commit 58c8a11

File tree

16 files changed

+20
-106
lines changed

16 files changed

+20
-106
lines changed

.github/workflows/analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ jobs:
4040
fail-fast: false
4141
matrix:
4242
include:
43-
- desc: sonar gcc9/C++14 py39 boost1.76 exr3.1 ocio2.2
43+
- desc: sonar gcc9/C++14 py39 exr3.1 ocio2.2
4444
nametag: static-analysis-sonar
4545
os: ubuntu-latest
4646
container: aswf/ci-osl:2023-clang15

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ jobs:
3434
fail-fast: false
3535
matrix:
3636
include:
37-
- desc: gcc9/C++17 py3.7 boost1.73 exr2.5 ocio2.0
37+
- desc: gcc9/C++17 py3.7 exr2.5 ocio2.0
3838
nametag: linux-vfx2021
3939
runner: ubuntu-latest
4040
container: aswf/ci-osl:2021
@@ -57,7 +57,7 @@ jobs:
5757
python_ver: 3.7
5858
simd: "avx2,f16c"
5959
fmt_ver: 8.1.1
60-
- desc: gcc9/C++17 py39 boost1.76 exr3.1 ocio2.1
60+
- desc: gcc9/C++17 py39 exr3.1 ocio2.1
6161
nametag: linux-vfx2022
6262
runner: ubuntu-latest
6363
container: aswf/ci-osl:2022-clang11
@@ -79,7 +79,7 @@ jobs:
7979
simd: "avx2,f16c"
8080
fmt_ver: 9.1.0
8181
pybind11_ver: v2.8.1
82-
- desc: icc/C++17 py3.9 boost1.76 exr3.1 ocio2.1 qt5.15
82+
- desc: icc/C++17 py3.9 exr3.1 ocio2.1 qt5.15
8383
nametag: linux-vfx2022-icc
8484
runner: ubuntu-latest
8585
container: aswf/ci-osl:2022
@@ -94,7 +94,7 @@ jobs:
9494
OIIO_EXTRA_CPP_ARGS="-fp-model=precise"
9595
# For icc, use fp-model precise to eliminate needless LSB errors
9696
# that make test results differ from other platforms.
97-
- desc: icx/C++17 py3.9 boost1.76 exr3.1 ocio2.1 qt5.15
97+
- desc: icx/C++17 py3.9 exr3.1 ocio2.1 qt5.15
9898
nametag: linux-vfx2022-icx
9999
runner: ubuntu-latest
100100
container: aswf/ci-osl:2022
@@ -120,7 +120,7 @@ jobs:
120120
CMAKE_BUILD_TYPE=Debug
121121
CTEST_TEST_TIMEOUT=1200
122122
CTEST_EXCLUSIONS="broken|png-damaged"
123-
- desc: gcc11/C++17 py3.10 boost1.80 exr3.1 ocio2.2
123+
- desc: gcc11/C++17 py3.10 exr3.1 ocio2.2
124124
nametag: linux-vfx2023
125125
runner: ubuntu-latest
126126
container: aswftesting/ci-osl:2023-clang15
@@ -130,7 +130,7 @@ jobs:
130130
simd: "avx2,f16c"
131131
fmt_ver: 10.1.1
132132
pybind11_ver: v2.10.0
133-
- desc: gcc11/C++17 py3.11 boost1.82 exr3.2 ocio2.3
133+
- desc: gcc11/C++17 py3.11 exr3.2 ocio2.3
134134
nametag: linux-vfx2024
135135
runner: ubuntu-latest
136136
container: aswftesting/ci-osl:2024-clang17
@@ -140,7 +140,7 @@ jobs:
140140
simd: "avx2,f16c"
141141
fmt_ver: 10.1.1
142142
pybind11_ver: v2.10.0
143-
- desc: oldest/hobbled gcc9.3/C++17 py3.7 boost-1.66 exr-2.4 no-sse no-ocio
143+
- desc: oldest/hobbled gcc9.3/C++17 py3.7 exr-2.4 no-sse no-ocio
144144
# Oldest versions of the dependencies that we can muster, and various
145145
# things disabled (no SSE, OCIO, or OpenCV, don't embed plugins).
146146
nametag: linux-oldest
@@ -292,7 +292,7 @@ jobs:
292292
USE_OPENVDB=0
293293
WEBP_VERSION=v1.3.0
294294
# The installed OpenVDB has a TLS conflict with Python 3.8
295-
- desc: bleeding edge gcc13 C++20 py3.10 OCIO/libtiff/exr-master boost1.74 avx2
295+
- desc: bleeding edge gcc13 C++20 py3.10 OCIO/libtiff/exr-master avx2
296296
nametag: linux-bleeding-edge
297297
runner: ubuntu-22.04
298298
cc_compiler: gcc-13

CONTRIBUTING.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -255,9 +255,9 @@ capitalize new words: `class CustomerList;` In general, local variables
255255
should start with lower case. Macros should be `ALL_CAPS`, if used at all.
256256

257257
If your class is extremely similar to, or modeled after, something in the
258-
standard library, Boost, or something else we interoperate with, it's ok to
258+
standard library, or something else we interoperate with, it's ok to
259259
use their naming conventions. For example, very general utility classes and
260-
templates (the kind of thing you would normally find in std or boost) should
260+
templates (the kind of thing you would normally find in std) should
261261
be lower case with underscores separating words, as they would be if they
262262
were standards.
263263

@@ -290,10 +290,8 @@ Namespaces: yes, use them!
290290

291291
### Third-party libraries
292292

293-
Prefer C++11 `std` rather than Boost, where both can do the same task.
294-
Feel free to use Boost classes you already see in the code base, but don't
295-
use any Boost you don't see us already using, without first checking with
296-
the project leader.
293+
Prefer C++17 `std` rather than other libraries, where both can do the same
294+
task.
297295

298296
Please do use Imath vector, matrix, and utility classes where applicable.
299297
Don't write your own vector or matrix code!

INSTALL.md

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@ NEW or CHANGED MINIMUM dependencies since the last major release are **bold**.
2525
* libTIFF >= 3.9 (recommended: 4.0+; tested through 4.6)
2626
* libjpeg >= 8 (tested through jpeg9e), or **libjpeg-turbo >= 2.1** (tested
2727
through 3.0)
28-
* Boost >= 1.53 (recommended: at least 1.66; tested through 1.84)
2928
* **[fmtlib](https://github.com/fmtlib/fmt) >= 7.0** (tested through 10.1).
3029
If not found at build time, this will be automatically downloaded unless
3130
the build sets `-DBUILD_MISSING_FMT=OFF`.
@@ -180,7 +179,6 @@ Building OpenImageIO on Linux or OS X
180179

181180
The following dependencies must be installed to build the core of
182181
OpenImageIO:
183-
* Boost
184182
* libjpeg
185183
* libtiff
186184
* libpng
@@ -276,15 +274,9 @@ Building on Windows
276274

277275
You will need to have Git, CMake and Visual Studio installed.
278276

279-
The minimal set of dependencies for OIIO is: Boost, zlib, libTIFF, OpenEXR, and libjpeg or libjpeg-turbo. If you have them built somewhere then you skip
277+
The minimal set of dependencies for OIIO is: zlib, libTIFF, OpenEXR, and libjpeg or libjpeg-turbo. If you have them built somewhere then you skip
280278
the section below, and will only have to point OIIO build process so their locations.
281279

282-
* Boost: get the boost source archive, extract into `{BOOST_ROOT}`.
283-
```
284-
cd {BOOST_ROOT}
285-
bootstrap
286-
b2
287-
```
288280
* zlib: this will build it, and then delete the non-static library, so they don't get picked up:
289281
```
290282
cd {ZLIB_ROOT}
@@ -327,7 +319,6 @@ dependencies.
327319
cd {OIIO_ROOT}
328320
git clone https://github.com/AcademySoftwareFoundation/OpenImageIO .
329321
cmake -S . -B build -DVERBOSE=ON -DCMAKE_BUILD_TYPE=Release ^
330-
-DBoost_USE_STATIC_LIBS=ON -DBoost_NO_WARN_NEW_VERSIONS=ON -DBoost_ROOT={BOOST_ROOT} ^
331322
-DZLIB_ROOT={ZLIB_ROOT}\build ^
332323
-DTIFF_ROOT={TIFF_ROOT}\build ^
333324
-DOpenEXR_ROOT={EXR_ROOT}\build\dist ^

Makefile

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -383,7 +383,6 @@ help:
383383
@echo " LibRaw OpenColorIO OpenCV OpenGL OpenJpeg OpenVDB"
384384
@echo " PTex R3DSDK TBB TIFF Webp"
385385
@echo " Finding and Using Dependencies:"
386-
@echo " BOOST_ROOT=path Custom Boost installation"
387386
@echo " OPENEXR_ROOT=path Custom OpenEXR installation"
388387
@echo " ILMBASE_ROOT=path Custom IlmBase installation"
389388
@echo " USE_EXTERNAL_PUGIXML=1 Use the system PugiXML, not the one in OIIO"

conanfile.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ zlib/1.2.11
33
libtiff/4.0.9
44
libpng/1.6.37
55
openexr/2.4.0
6-
boost/1.70.0
76
libjpeg/9c
87
libjpeg-turbo/2.0.2
98
giflib/5.1.4

docs/ROADMAP.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ here](https://github.com/AcademySoftwareFoundation/OpenImageIO/discussions/4151)
3333
See the [Dependency proposal wiki page](https://github.com/AcademySoftwareFoundation/OpenImageIO/discussions/4151)
3434

3535
* [ ] Big required upgrades with potentially widespread impact on the code base
36-
- [ ] C++17 [#4155](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4155)
37-
- [ ] Python 3.7 [#4157](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4157)
36+
- [x] C++17 [#4155](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4155)
37+
- [x] Python 3.7 [#4157](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4157)
3838
- [ ] OpenEXR/Imath 3.1 [#4156](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4156)
3939

4040
* [ ] Miscellaneous optional upgrades whose changes will be very localized
@@ -51,7 +51,7 @@ See the [Dependency proposal wiki page](https://github.com/AcademySoftwareFounda
5151
- [ ] pybind11 2.6 or 2.7 (from 2.4).
5252

5353

54-
- [ ] [#4156](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4156) Eliminate the last few places where we use Boost and eliminate it as a dependency.
54+
- [x] [#4158](https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/4158) Eliminate the last few places where we use Boost and eliminate it as a dependency.
5555

5656
<br>
5757

src/build-scripts/gh-installdeps.bash

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,6 @@ else
7373

7474
time sudo apt-get -q install -y \
7575
git cmake ninja-build ccache g++ \
76-
libboost-dev libboost-thread-dev libboost-filesystem-dev \
7776
libilmbase-dev libopenexr-dev \
7877
libtiff-dev libgif-dev libpng-dev
7978
if [[ "${SKIP_SYSTEM_DEPS_INSTALL}" != "1" ]] ; then

src/build-scripts/gh-win-installdeps.bash

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -48,12 +48,6 @@ echo "---------------"
4848
# vcpkg update
4949
#
5050

51-
time vcpkg install boost-container:x64-windows
52-
time vcpkg install boost-filesystem:x64-windows
53-
time vcpkg install boost-math:x64-windows
54-
time vcpkg install boost-system:x64-windows
55-
time vcpkg install boost-thread:x64-windows
56-
5751
#vcpkg install libdeflate:x64-windows
5852
#vcpkg install zlib:x64-windows
5953
vcpkg install tiff:x64-windows

src/build-scripts/install_homebrew_deps.bash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ echo "Before my brew installs:"
2626
brew list --versions
2727

2828
# All cases except for clang-format target, we need the dependencies.
29-
brew install --display-times -q gcc ccache cmake ninja boost || true
29+
brew install --display-times -q gcc ccache cmake ninja || true
3030
brew link --overwrite gcc
3131
brew install --display-times -q python@${PYTHON_VERSION} || true
3232
brew unlink [email protected] || true

0 commit comments

Comments
 (0)