Use paths rather than flags in kitten extension definitions
This commit is contained in:
parent
2fc972a173
commit
6b576fcf5c
12
setup.py
12
setup.py
@ -747,16 +747,16 @@ def compile_kittens(compilation_database: CompilationDatabase) -> None:
|
|||||||
extra_headers: Sequence[str] = (),
|
extra_headers: Sequence[str] = (),
|
||||||
extra_sources: Sequence[str] = (),
|
extra_sources: Sequence[str] = (),
|
||||||
filter_sources: Optional[Callable[[str], bool]] = None,
|
filter_sources: Optional[Callable[[str], bool]] = None,
|
||||||
cflags: Sequence[str] = (), ldflags: Sequence[str] = (),
|
includes: Sequence[str] = (), libraries: Sequence[str] = (),
|
||||||
) -> Tuple[str, List[str], List[str], str, Sequence[str], Sequence[str]]:
|
) -> Tuple[str, List[str], List[str], str, Sequence[str], Sequence[str]]:
|
||||||
sources = list(filter(filter_sources, list(extra_sources) + list_files(os.path.join('kittens', kitten, '*.c'))))
|
sources = list(filter(filter_sources, list(extra_sources) + list_files(os.path.join('kittens', kitten, '*.c'))))
|
||||||
headers = list_files(os.path.join('kittens', kitten, '*.h')) + list(extra_headers)
|
headers = list_files(os.path.join('kittens', kitten, '*.h')) + list(extra_headers)
|
||||||
return kitten, sources, headers, 'kittens/{}/{}'.format(kitten, output), cflags, ldflags
|
return kitten, sources, headers, 'kittens/{}/{}'.format(kitten, output), includes, libraries
|
||||||
|
|
||||||
for kitten, sources, all_headers, dest, cflags, ldflags in (
|
for kitten, sources, all_headers, dest, includes, libraries in (
|
||||||
files('unicode_input', 'unicode_names'),
|
files('unicode_input', 'unicode_names'),
|
||||||
files('diff', 'diff_speedup'),
|
files('diff', 'diff_speedup'),
|
||||||
files('transfer', 'rsync', ldflags=('-lrsync',)),
|
files('transfer', 'rsync', libraries=('rsync',)),
|
||||||
files(
|
files(
|
||||||
'choose', 'subseq_matcher',
|
'choose', 'subseq_matcher',
|
||||||
extra_headers=('kitty/charsets.h',),
|
extra_headers=('kitty/charsets.h',),
|
||||||
@ -764,8 +764,8 @@ def compile_kittens(compilation_database: CompilationDatabase) -> None:
|
|||||||
filter_sources=lambda x: 'windows_compat.c' not in x),
|
filter_sources=lambda x: 'windows_compat.c' not in x),
|
||||||
):
|
):
|
||||||
final_env = kenv.copy()
|
final_env = kenv.copy()
|
||||||
final_env.cflags.extend(cflags)
|
final_env.cflags.extend(f'-I{x}' for x in includes)
|
||||||
final_env.ldflags.extend(ldflags)
|
final_env.ldpaths[:0] = list(f'-l{x}' for x in libraries)
|
||||||
compile_c_extension(
|
compile_c_extension(
|
||||||
final_env, dest, compilation_database, sources, all_headers + ['kitty/data-types.h'])
|
final_env, dest, compilation_database, sources, all_headers + ['kitty/data-types.h'])
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user