Move lazy object getters into default argument scope

This commit is contained in:
Kp 2016-08-19 03:41:40 +00:00
parent dad3e953e9
commit c6f20901d3

View file

@ -3273,7 +3273,9 @@ class DXXArchive(DXXCommon):
_argument_prefix_list = None _argument_prefix_list = None
srcdir = 'common' srcdir = 'common'
target = 'dxx-common' target = 'dxx-common'
__get_objects_common = DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [
def get_objects_common(self,
__get_objects_common=DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [
'2d/2dsline.cpp', '2d/2dsline.cpp',
'2d/bitblt.cpp', '2d/bitblt.cpp',
'2d/bitmap.cpp', '2d/bitmap.cpp',
@ -3316,11 +3318,19 @@ class DXXArchive(DXXCommon):
'texmap/ntmap.cpp', 'texmap/ntmap.cpp',
'texmap/scanline.cpp' 'texmap/scanline.cpp'
] ]
]) ]), \
__get_objects_use_sdl1 = DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [ __get_objects_use_sdl1=DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [
'arch/sdl/rbaudio.cpp', 'arch/sdl/rbaudio.cpp',
] ]
]) ])
):
value = list(__get_objects_common(self))
extend = value.extend
if not self.user_settings.sdl2:
extend(__get_objects_use_sdl1(self))
extend(self.platform_settings.get_platform_objects())
return value
get_objects_editor = DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [ get_objects_editor = DXXCommon.create_lazy_object_getter([os.path.join(srcdir, f) for f in [
'editor/autosave.cpp', 'editor/autosave.cpp',
'editor/func.cpp', 'editor/func.cpp',
@ -3370,14 +3380,6 @@ class DXXArchive(DXXCommon):
'common/arch/cocoa/SDLMain.m' 'common/arch/cocoa/SDLMain.m'
]) ])
def get_objects_common(self):
value = list(self.__get_objects_common())
extend = value.extend
if not self.user_settings.sdl2:
extend(self.__get_objects_use_sdl1())
extend(self.platform_settings.get_platform_objects())
return value
def __init__(self,user_settings): def __init__(self,user_settings):
DXXCommon.__init__(self) DXXCommon.__init__(self)
self.user_settings = user_settings.clone() self.user_settings = user_settings.clone()
@ -3575,13 +3577,6 @@ class DXXProgram(DXXCommon):
'transform_target':_apply_target_name, 'transform_target':_apply_target_name,
}]) }])
__get_objects_use_udp = DXXCommon.create_lazy_object_getter([{
'source':[os.path.join('similar', f) for f in [
'main/net_udp.cpp',
]
],
'transform_target':_apply_target_name,
}])
class UserSettings(DXXCommon.UserSettings): class UserSettings(DXXCommon.UserSettings):
@property @property
def BIN_DIR(self): def BIN_DIR(self):
@ -3623,11 +3618,19 @@ class DXXProgram(DXXCommon):
if user_settings.sharepath and user_settings.sharepath[-1] != '/': if user_settings.sharepath and user_settings.sharepath[-1] != '/':
user_settings.sharepath += '/' user_settings.sharepath += '/'
def get_objects_common(self): def get_objects_common(self,
value = list(self.__get_objects_common()) __get_objects_common=__get_objects_common,
__get_objects_use_udp=DXXCommon.create_lazy_object_getter([{
'source':[
'similar/main/net_udp.cpp',
],
'transform_target':_apply_target_name,
}])
):
value = list(__get_objects_common(self))
extend = value.extend extend = value.extend
if self.user_settings.use_udp: if self.user_settings.use_udp:
extend(self.__get_objects_use_udp()) extend(__get_objects_use_udp(self))
extend(self.platform_settings.platform_objects) extend(self.platform_settings.platform_objects)
return value return value
@ -3816,7 +3819,9 @@ class D1XProgram(DXXProgram):
env_CPPDEFINES = ('DXX_BUILD_DESCENT_I',) env_CPPDEFINES = ('DXX_BUILD_DESCENT_I',)
# general source files # general source files
__get_objects_common = DXXCommon.create_lazy_object_getter([{ def get_objects_common(self,
__get_dxx_objects_common=DXXProgram.get_objects_common, \
__get_dsx_objects_common=DXXCommon.create_lazy_object_getter([{
'source':[os.path.join(srcdir, f) for f in [ 'source':[os.path.join(srcdir, f) for f in [
'main/bmread.cpp', 'main/bmread.cpp',
'main/custom.cpp', 'main/custom.cpp',
@ -3824,22 +3829,23 @@ class D1XProgram(DXXProgram):
] ]
], ],
}]) }])
def get_objects_common(self): ):
value = DXXProgram.get_objects_common(self) value = __get_dxx_objects_common(self)
value.extend(self.__get_objects_common()) value.extend(__get_dsx_objects_common(self))
return value return value
# for editor # for editor
__get_objects_editor = DXXCommon.create_lazy_object_getter([{ def get_objects_editor(self,
__get_dxx_objects_editor=DXXProgram.get_objects_editor,
__get_dsx_objects_editor=DXXCommon.create_lazy_object_getter([{
'source':[os.path.join(srcdir, f) for f in [ 'source':[os.path.join(srcdir, f) for f in [
'main/hostage.cpp', 'main/hostage.cpp',
'editor/ehostage.cpp', 'editor/ehostage.cpp',
] ]
], ],
}]) }])):
def get_objects_editor(self): value = list(__get_dxx_objects_editor(self))
value = list(DXXProgram.get_objects_editor(self)) value.extend(__get_dsx_objects_editor(self))
value.extend(self.__get_objects_editor())
return value return value
class D2XProgram(DXXProgram): class D2XProgram(DXXProgram):
@ -3850,7 +3856,9 @@ class D2XProgram(DXXProgram):
env_CPPDEFINES = ('DXX_BUILD_DESCENT_II',) env_CPPDEFINES = ('DXX_BUILD_DESCENT_II',)
# general source files # general source files
__get_objects_common = DXXCommon.create_lazy_object_getter([{ def get_objects_common(self,
__get_dxx_objects_common=DXXProgram.get_objects_common, \
__get_dsx_objects_common=DXXCommon.create_lazy_object_getter([{
'source':[os.path.join(srcdir, f) for f in [ 'source':[os.path.join(srcdir, f) for f in [
'libmve/decoder8.cpp', 'libmve/decoder8.cpp',
'libmve/decoder16.cpp', 'libmve/decoder16.cpp',
@ -3863,22 +3871,22 @@ class D2XProgram(DXXProgram):
'misc/physfsrwops.cpp', 'misc/physfsrwops.cpp',
] ]
], ],
}]) }])):
def get_objects_common(self): value = __get_dxx_objects_common(self)
value = DXXProgram.get_objects_common(self) value.extend(__get_dsx_objects_common(self))
value.extend(self.__get_objects_common())
return value return value
# for editor # for editor
__get_objects_editor = DXXCommon.create_lazy_object_getter([{ def get_objects_editor(self,
__get_dxx_objects_editor=DXXProgram.get_objects_editor, \
__get_dsx_objects_editor=DXXCommon.create_lazy_object_getter([{
'source':[os.path.join(srcdir, f) for f in [ 'source':[os.path.join(srcdir, f) for f in [
'main/bmread.cpp', 'main/bmread.cpp',
] ]
], ],
}]) }])):
def get_objects_editor(self): value = list(__get_dxx_objects_editor(self))
value = list(DXXProgram.get_objects_editor(self)) value.extend(__get_dsx_objects_editor(self))
value.extend(self.__get_objects_editor())
return value return value
variables = Variables([v for (k,v) in ARGLIST if k == 'site'] or ['site-local.py'], ARGUMENTS) variables = Variables([v for (k,v) in ARGLIST if k == 'site'] or ['site-local.py'], ARGUMENTS)