Merge branch 'build-object-sorting' of https://github.com/keszybz/calibre

This commit is contained in:
Kovid Goyal 2024-10-21 17:34:40 +05:30
commit da08e3798b
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -577,15 +577,16 @@ class Build(Command):
cmd = [linker] cmd = [linker]
elib = env.lib_dirs_to_ldflags(ext.lib_dirs) elib = env.lib_dirs_to_ldflags(ext.lib_dirs)
xlib = env.libraries_to_ldflags(ext.libraries) xlib = env.libraries_to_ldflags(ext.libraries)
all_objects = sorted(objects + ext.extra_objs)
if iswindows or env is self.windows_cross_env: if iswindows or env is self.windows_cross_env:
pre_ld_flags = [] pre_ld_flags = []
if ext.uses_icu: if ext.uses_icu:
# windows has its own ICU libs that dont work # windows has its own ICU libs that dont work
pre_ld_flags = elib pre_ld_flags = elib
cmd += pre_ld_flags + env.ldflags + ext.ldflags + elib + xlib + \ cmd += pre_ld_flags + env.ldflags + ext.ldflags + elib + xlib + \
['/EXPORT:' + init_symbol_name(ext.name)] + objects + ext.extra_objs + ['/OUT:'+dest] ['/EXPORT:' + init_symbol_name(ext.name)] + all_objects + ['/OUT:'+dest]
else: else:
cmd += objects + ext.extra_objs + ['-o', dest] + env.ldflags + ext.ldflags + elib + xlib cmd += all_objects + ['-o', dest] + env.ldflags + ext.ldflags + elib + xlib
return LinkCommand(cmd, objects, dest) return LinkCommand(cmd, objects, dest)
env = self.env_for_compilation_db(ext) env = self.env_for_compilation_db(ext)
@ -695,8 +696,8 @@ qmake-settings = [
] ]
[tool.sip.bindings.{ext.name}] [tool.sip.bindings.{ext.name}]
headers = {ext.headers} headers = {sorted(ext.headers)}
sources = {ext.sources} sources = {sorted(ext.sources)}
exceptions = {needs_exceptions} exceptions = {needs_exceptions}
include-dirs = {ext.inc_dirs} include-dirs = {ext.inc_dirs}
qmake-QT = {ext.qt_modules} qmake-QT = {ext.qt_modules}