Skip to content

Commit 28f9210

Browse files
authored
ports: Skip cleaning of build directory at start of each build. NFC (#17857)
`clear_project_build` is already called each time a new vesion of a port is extracted. There is no reason to also clear the build directory during the `create` call. This helps with #17809 and also simplifies the code in each port.
1 parent 61f61dd commit 28f9210

23 files changed

+28
-49
lines changed

tools/ports/__init__.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ def install_headers(src_dir, pattern='*.h', target=None):
108108
shutil.copyfile(f, os.path.join(dest, os.path.basename(f)))
109109

110110
@staticmethod
111-
def build_port(src_dir, output_path, build_dir, includes=[], flags=[], exclude_files=[], exclude_dirs=[], srcs=[]): # noqa
111+
def build_port(src_dir, output_path, port_name, includes=[], flags=[], exclude_files=[], exclude_dirs=[], srcs=[]): # noqa
112+
build_dir = os.path.join(Ports.get_build_dir(), port_name)
112113
if srcs:
113114
srcs = [os.path.join(src_dir, s) for s in srcs]
114115
else:

tools/ports/boost_headers.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,17 +23,17 @@ def create(final):
2323
logging.info('building port: boost_headers')
2424

2525
# includes
26-
source_path_include = os.path.join(ports.get_dir(), 'boost_headers', 'boost')
26+
source_path = os.path.join(ports.get_dir(), 'boost_headers')
27+
source_path_include = os.path.join(source_path, 'boost')
2728
ports.install_header_dir(source_path_include, 'boost')
2829

2930
# write out a dummy cpp file, to create an empty library
3031
# this is needed as emscripted ports expect this, even if it is not used
31-
build_dir = ports.clear_project_build('boost_headers')
32-
dummy_file = os.path.join(build_dir, 'dummy.cpp')
32+
dummy_file = os.path.join(source_path, 'dummy.cpp')
3333
shared.safe_ensure_dirs(os.path.dirname(dummy_file))
3434
Path(dummy_file).write_text('static void dummy() {}')
3535

36-
ports.build_port(build_dir, final, build_dir)
36+
ports.build_port(source_path, final, 'boost_headers', srcs=['dummy.cpp'])
3737

3838
return [shared.Cache.get_lib('libboost_headers.a', create, what='port')]
3939

tools/ports/bullet.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ def create(final):
4545
'-std=gnu++14'
4646
]
4747

48-
build_dir = ports.clear_project_build('bullet')
49-
ports.build_port(src_path, final, build_dir, includes=includes, flags=flags, exclude_dirs=['MiniCL'])
48+
ports.build_port(src_path, final, 'bullet', includes=includes, flags=flags, exclude_dirs=['MiniCL'])
5049

5150
return [shared.Cache.get_lib('libbullet.a', create)]
5251

tools/ports/bzip2.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ def create(final):
2525
'blocksort.c', 'compress.c', 'decompress.c', 'huffman.c',
2626
'randtable.c', 'bzlib.c', 'crctable.c',
2727
]
28-
build_dir = ports.clear_project_build('bzip2')
29-
ports.build_port(source_path, final, build_dir, srcs=srcs)
28+
ports.build_port(source_path, final, 'bzip2', srcs=srcs)
3029

3130
return [shared.Cache.get_lib('libbz2.a', create, what='port')]
3231

tools/ports/cocos2d.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,12 @@ def create(final):
4444
'-sUSE_ZLIB=1',
4545
'-sUSE_LIBPNG=1',
4646
]
47-
build_dir = ports.clear_project_build('cocos2d')
4847

4948
for dirname in includes:
5049
target = os.path.join('cocos2d', os.path.relpath(dirname, cocos2d_root))
5150
ports.install_header_dir(dirname, target=target)
5251

53-
ports.build_port(cocos2d_src, final, build_dir,
52+
ports.build_port(cocos2d_src, final, 'cocos2d',
5453
flags=flags,
5554
includes=includes,
5655
srcs=srcs)

tools/ports/freetype.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,7 @@ def create(final):
9191
'-pthread'
9292
]
9393

94-
build_dir = ports.clear_project_build('freetype')
95-
ports.build_port(source_path, final, build_dir, flags=flags, srcs=srcs)
94+
ports.build_port(source_path, final, 'freetype', flags=flags, srcs=srcs)
9695

9796
return [shared.Cache.get_lib('libfreetype.a', create, what='port')]
9897

tools/ports/giflib.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,7 @@ def create(final):
2121
logging.info('building port: giflib')
2222
source_path = os.path.join(ports.get_dir(), 'giflib', f'giflib-{VERSION}')
2323
ports.install_headers(source_path)
24-
build_dir = ports.clear_project_build('giflib')
25-
ports.build_port(source_path, final, build_dir)
24+
ports.build_port(source_path, final, 'giflib')
2625

2726
return [shared.Cache.get_lib('libgif.a', create, what='port')]
2827

tools/ports/harfbuzz.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -130,8 +130,7 @@ def create(final):
130130
else:
131131
cflags.append('-DHB_NO_MT')
132132

133-
build_dir = ports.clear_project_build('harfbuzz')
134-
ports.build_port(os.path.join(source_path, 'src'), final, build_dir, flags=cflags, srcs=srcs)
133+
ports.build_port(os.path.join(source_path, 'src'), final, 'harfbuzz', flags=cflags, srcs=srcs)
135134

136135
return [shared.Cache.get_lib(get_lib_name(settings), create, what='port')]
137136

tools/ports/icu.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,10 @@ def get(ports, settings, shared):
2929
url = 'https://github.com/unicode-org/icu/releases/download/%s/icu4c-%s-src.zip' % (TAG, VERSION)
3030
ports.fetch_project('icu', url, 'icu', sha512hash=HASH)
3131
icu_source_path = None
32-
build_dir = None
3332

3433
def prepare_build():
35-
nonlocal icu_source_path, build_dir
34+
nonlocal icu_source_path
3635
source_path = os.path.join(ports.get_dir(), 'icu', 'icu') # downloaded icu4c path
37-
build_dir = ports.clear_project_build('icu') # icu build path
3836
icu_source_path = os.path.join(source_path, 'source')
3937

4038
def build_lib(lib_output, lib_src, other_includes, build_flags):
@@ -59,7 +57,7 @@ def build_lib(lib_output, lib_src, other_includes, build_flags):
5957
if settings.USE_PTHREADS:
6058
additional_build_flags.append('-pthread')
6159

62-
ports.build_port(lib_src, lib_output, build_dir, includes=other_includes, flags=build_flags + additional_build_flags)
60+
ports.build_port(lib_src, lib_output, 'icu', includes=other_includes, flags=build_flags + additional_build_flags)
6361

6462
# creator for libicu_common
6563
def create_libicu_common(lib_output):

tools/ports/libjpeg.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ def create(final):
3131
'jmemansi.c', 'jmemdos.c', 'jmemmac.c', 'jmemname.c',
3232
'jpegtran.c', 'rdjpgcom.c', 'wrjpgcom.c',
3333
]
34-
build_dir = ports.clear_project_build('libjpeg')
35-
ports.build_port(source_path, final, build_dir, exclude_files=excludes)
34+
ports.build_port(source_path, final, 'libjpeg', exclude_files=excludes)
3635

3736
return [shared.Cache.get_lib('libjpeg.a', create, what='port')]
3837

0 commit comments

Comments
 (0)