Files
luban-lite/packages/third-party/awtk-ui/awtk/src/SConscript
刘可亮 3b4064f334 v1.0.2
2023-11-30 19:48:02 +08:00

109 lines
4.0 KiB
Python

import os
import copy
import platform
import awtk_config as config
BIN_DIR = os.environ['BIN_DIR']
LIB_DIR = os.environ['LIB_DIR']
NANOVG_BACKEND = os.environ['NANOVG_BACKEND']
VGCANVAS = os.environ['VGCANVAS']
NATIVE_WINDOW = os.environ['NATIVE_WINDOW']
GRAPHIC_BUFFER = os.environ['GRAPHIC_BUFFER']
TOOLS_NAME = os.environ['TOOLS_NAME']
BASE_SOURCES = Glob('layouters/*.c') + \
Glob('base/*.c') + \
Glob('ui_loader/*.c') + \
Glob('svg/*.c') + \
Glob('clip_board/*.c') + \
Glob('font_loader/*.c') + \
Glob('blend/*.c') + \
Glob('image_loader/*.c') + \
Glob('designer_support/*.c') + \
Glob('widget_animators/*.c') + \
Glob('window_animators/*.c') + \
Glob('dialog_highlighters/*.c') + \
Glob('window_manager/window_manager_default.c')
if GRAPHIC_BUFFER == "default" :
BASE_SOURCES += Glob('graphic_buffer/graphic_buffer_default.c')
if NATIVE_WINDOW == 'sdl':
BASE_SOURCES += Glob('native_window/native_window_sdl.c')
elif NATIVE_WINDOW == 'fb_gl':
BASE_SOURCES += Glob('native_window/native_window_fb_gl.c')
else:
BASE_SOURCES += Glob('native_window/native_window_raw.c')
BASE_SOURCES += ['lcd/lcd_mono.c']
BASE_SOURCES += ['main_loop/main_loop_simple.c', 'main_loop/main_loop_console.c']
if os.environ['LCD'] == 'SDL_GPU':
BASE_SOURCES += ['lcd/lcd_nanovg.c', 'main_loop/main_loop_sdl.c']
elif os.environ['LCD'] == 'SDL_FB':
BASE_SOURCES += ['lcd/lcd_sdl2.c', 'main_loop/main_loop_sdl.c']
elif os.environ['LCD'] == 'SDL_FB_MONO':
BASE_SOURCES += ['lcd/lcd_sdl2_mono.c', 'main_loop/main_loop_sdl.c']
elif os.environ['LCD'] == 'FB_GL':
BASE_SOURCES += ['lcd/lcd_nanovg.c']
BASE_SOURCES += [
'input_methods/input_method_creator.c'
] + Glob('lcd/lcd_mem_*.c')
if VGCANVAS == 'CAIRO':
BASE_SOURCES += ['vgcanvas/vgcanvas_cairo.c']
elif VGCANVAS == 'NANOVG_PLUS':
BASE_SOURCES += ['vgcanvas/vgcanvas_nanovg_plus.c']
else:
if NANOVG_BACKEND == 'BGFX':
BASE_SOURCES += ['vgcanvas/vgcanvas_nanovg_bgfx.c']
elif NANOVG_BACKEND == 'AGG':
BASE_SOURCES += ['vgcanvas/vgcanvas_nanovg_soft.c']
elif NANOVG_BACKEND == 'AGGE':
BASE_SOURCES += ['vgcanvas/vgcanvas_nanovg_soft.c']
else:
BASE_SOURCES += ['vgcanvas/vgcanvas_nanovg_gl.c']
if os.environ['INPUT_ENGINE'] == 'null':
BASE_SOURCES += Glob('input_engines/input_engine_null.c')
elif os.environ['INPUT_ENGINE'] == 't9ext':
BASE_SOURCES += Glob('input_engines/ime_utils.c')
BASE_SOURCES += Glob('input_engines/input_engine_t9ext.c')
elif os.environ['INPUT_ENGINE'] == 't9':
BASE_SOURCES += Glob('input_engines/ime_utils.c')
BASE_SOURCES += Glob('input_engines/input_engine_t9.c')
elif os.environ['INPUT_ENGINE'] == 'spinyin':
BASE_SOURCES += Glob('input_engines/ime_utils.c')
BASE_SOURCES += Glob('input_engines/input_engine_spinyin.c')
else:
BASE_SOURCES += Glob('input_engines/input_engine_pinyin.cpp')
env = DefaultEnvironment().Clone()
env.Library(os.path.join(LIB_DIR, 'base'), BASE_SOURCES, LIBS=[])
WIDGETS_SOURCES = Glob('widgets/*.c')
env.Library(os.path.join(LIB_DIR, 'widgets'), WIDGETS_SOURCES, LIBS=[])
EXT_WIDGETS_SOURCES = Glob('ext_widgets/*.c') + Glob('ext_widgets/*/*.c') + \
Glob('custom_widgets/*.c') + Glob('custom_widgets/*/*.c')
env.Library(os.path.join(LIB_DIR, 'extwidgets'), EXT_WIDGETS_SOURCES, LIBS=[])
env.Library(os.path.join(LIB_DIR, 'awtk_global'), ['awtk_global.c'], LIBS=[])
TK_SOURCES = Glob('tkc/*.c') + Glob('platforms/pc/*.c')
env.Library(os.path.join(LIB_DIR, 'tkc_core'), TK_SOURCES, LIBS=[])
TKC_DEPS_LIBS = config.TKC_STATIC_LIBS + config.OS_LIBS
TKC_LINKFLAGS= env['LINKFLAGS'] + config.genDllLinkFlags(config.TKC_STATIC_LIBS, 'tkc')
env.SharedLibrary(os.path.join(BIN_DIR, 'tkc'), [],
LIBS=TKC_DEPS_LIBS, LINKFLAGS=TKC_LINKFLAGS)
AWTK_DEPS_LIBS = config.AWTK_STATIC_LIBS + config.OS_LIBS
AWTK_LINKFLAGS= env['LINKFLAGS'] + config.genDllLinkFlags(config.AWTK_STATIC_LIBS, 'awtk')
env.SharedLibrary(os.path.join(BIN_DIR, 'awtk'), [],
LIBS=AWTK_DEPS_LIBS, LINKFLAGS=AWTK_LINKFLAGS)