Skip to content

Commit

Permalink
Merge pull request #286 from dakkshesh07/doc-redirect
Browse files Browse the repository at this point in the history
  • Loading branch information
msfjarvis authored Jan 30, 2025
2 parents 8572c62 + 7d5e40e commit 8165381
Showing 1 changed file with 18 additions and 10 deletions.
28 changes: 18 additions & 10 deletions tc_build/binutils.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import os
from pathlib import Path
import platform
from tempfile import TemporaryDirectory

from tc_build.builder import Builder
from tc_build.source import SourceManager
Expand All @@ -28,6 +29,7 @@ def __init__(self):
'--quiet',
'--with-system-zlib',
]

self.configure_vars = {
'CC': 'gcc',
'CXX': 'g++',
Expand All @@ -54,18 +56,24 @@ def build(self):
self.folders.build.mkdir(exist_ok=True, parents=True)
tc_build.utils.print_header(f"Building {self.target} binutils")

configure_cmd = [
Path(self.folders.source, 'configure'),
*self.configure_flags,
] + [f"{var}={val}" for var, val in self.configure_vars.items()]
self.run_cmd(configure_cmd, cwd=self.folders.build)
# Binutils does not provide a configuration flag to disable installation of documentation directly.
# Instead, we redirect generated docs to a temporary directory, deleting them after installation.
with TemporaryDirectory() as tmpdir:
doc_dirs = ('info', 'html', 'pdf', 'man')
self.configure_flags += [f"--{doc}dir={tmpdir}" for doc in doc_dirs]

make_cmd = ['make', '-C', self.folders.build, '-s', f"-j{os.cpu_count()}", 'V=0']
self.run_cmd(make_cmd)
configure_cmd = [
Path(self.folders.source, 'configure'),
*self.configure_flags,
] + [f"{var}={val}" for var, val in self.configure_vars.items()]
self.run_cmd(configure_cmd, cwd=self.folders.build)

if self.folders.install:
self.run_cmd([*make_cmd, 'install'])
tc_build.utils.create_gitignore(self.folders.install)
make_cmd = ['make', '-C', self.folders.build, '-s', f"-j{os.cpu_count()}", 'V=0']
self.run_cmd(make_cmd)

if self.folders.install:
self.run_cmd([*make_cmd, 'install'])
tc_build.utils.create_gitignore(self.folders.install)


class StandardBinutilsBuilder(BinutilsBuilder):
Expand Down

0 comments on commit 8165381

Please sign in to comment.