Commit 6b0244e2 authored by Alex Hornby's avatar Alex Hornby Committed by Facebook GitHub Bot

update boost rpm package names for centos stream

Summary:
rpm names needed updating as boost-contract wasn't found.

The rpm names now include the boost version which should be handy when boost dependency is updated next

Unfortunately the centos boost 1.69 rpms aren't found automatically by the centos cmake boost rules, so this also adds builder.py logic to point to it using  BOOST_INCLUDEDIR and BOOST_LIBRARYDIR

Reviewed By: mzr

Differential Revision: D32140834

fbshipit-source-id: 3e2dd822613957ae4d7be5b73623ff581f11d02b
parent c20ad836
...@@ -442,6 +442,7 @@ if __name__ == "__main__": ...@@ -442,6 +442,7 @@ if __name__ == "__main__":
build_dir, build_dir,
inst_dir, inst_dir,
defines, defines,
loader=None,
final_install_prefix=None, final_install_prefix=None,
extra_cmake_defines=None, extra_cmake_defines=None,
): ):
...@@ -457,6 +458,7 @@ if __name__ == "__main__": ...@@ -457,6 +458,7 @@ if __name__ == "__main__":
self.defines = defines or {} self.defines = defines or {}
if extra_cmake_defines: if extra_cmake_defines:
self.defines.update(extra_cmake_defines) self.defines.update(extra_cmake_defines)
self.loader = loader
def _invalidate_cache(self): def _invalidate_cache(self):
for name in [ for name in [
...@@ -566,6 +568,24 @@ if __name__ == "__main__": ...@@ -566,6 +568,24 @@ if __name__ == "__main__":
# tests. # tests.
defines["CMAKE_BUILD_WITH_INSTALL_RPATH"] = "ON" defines["CMAKE_BUILD_WITH_INSTALL_RPATH"] = "ON"
boost_169_is_required = False
if self.loader:
for m in self.loader.manifests_in_dependency_order():
preinstalled = m.get_section_as_dict("preinstalled.env", self.ctx)
boost_169_is_required = "BOOST_ROOT_1_69_0" in preinstalled.keys()
if boost_169_is_required:
break
if (
boost_169_is_required
and self.build_opts.allow_system_packages
and self.build_opts.host_type.get_package_manager()
and self.build_opts.host_type.get_package_manager() == "rpm"
):
# Boost 1.69 rpms don't install cmake config to the system, so to point to them explicitly
defines["BOOST_INCLUDEDIR"] = "/usr/include/boost169"
defines["BOOST_LIBRARYDIR"] = "/usr/lib64/boost169"
defines.update(self.defines) defines.update(self.defines)
define_args = ["-D%s=%s" % (k, v) for (k, v) in defines.items()] define_args = ["-D%s=%s" % (k, v) for (k, v) in defines.items()]
......
...@@ -497,6 +497,7 @@ class ManifestParser(object): ...@@ -497,6 +497,7 @@ class ManifestParser(object):
build_dir, build_dir,
inst_dir, inst_dir,
defines, defines,
loader,
final_install_prefix, final_install_prefix,
extra_cmake_defines, extra_cmake_defines,
) )
......
...@@ -11,6 +11,7 @@ import email ...@@ -11,6 +11,7 @@ import email
import os import os
import re import re
import stat import stat
from typing import List
from .builder import BuilderBase, CMakeBuilder from .builder import BuilderBase, CMakeBuilder
...@@ -182,6 +183,7 @@ class PythonWheelBuilder(BuilderBase): ...@@ -182,6 +183,7 @@ class PythonWheelBuilder(BuilderBase):
src_dir=self.build_dir, src_dir=self.build_dir,
build_dir=self.build_dir, build_dir=self.build_dir,
inst_dir=self.inst_dir, inst_dir=self.inst_dir,
loader=None,
defines={}, defines={},
final_install_prefix=None, final_install_prefix=None,
) )
......
...@@ -16,37 +16,37 @@ BOOST_ROOT_1_69_0 ...@@ -16,37 +16,37 @@ BOOST_ROOT_1_69_0
libboost-all-dev libboost-all-dev
[rpms] [rpms]
boost boost169
boost-math boost169-math
boost-test boost169-test
boost-fiber boost169-fiber
boost-graph boost169-graph
boost-log boost169-log
boost-openmpi boost169-openmpi
boost-timer boost169-timer
boost-chrono boost169-chrono
boost-locale boost169-locale
boost-thread boost169-thread
boost-atomic boost169-atomic
boost-random boost169-random
boost-static boost169-static
boost-contract boost169-contract
boost-date-time boost169-date-time
boost-iostreams boost169-iostreams
boost-container boost169-container
boost-coroutine boost169-coroutine
boost-filesystem boost169-filesystem
boost-system boost169-system
boost-stacktrace boost169-stacktrace
boost-regex boost169-regex
boost-devel boost169-devel
boost-context boost169-context
boost-python3-devel boost169-python3-devel
boost-type_erasure boost169-type_erasure
boost-wave boost169-wave
boost-python3 boost169-python3
boost-serialization boost169-serialization
boost-program-options boost169-program-options
[build] [build]
builder = boost builder = boost
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment