Spracherkennung für: .build vermutete Sprache: MT940 {MT940[2] Sparc[1] [0]} [Methode: maximale Elemente, drei Dimensionen]
fs = import('fs')
skins2_option = get_option('skins2') \
.disable_auto_if(host_system != 'windows' and host_system != 'darwin' and not x11_dep.found()) \
.require(freetype_dep.found(), error_message: 'Freetype is not available')
skins2_allowed = skins2_option.allowed()
skins2_enabled = skins2_option.enabled()
skins2_feasible = skins2_allowed
skins2_flags = []
skins2_deps = [ freetype_dep, m_lib ]
if skins2_allowed
fribidi_dep = dependency('fribidi', required: get_option('fribidi'))
if fribidi_dep.found()
skins2_deps += [ fribidi_dep ]
skins2_flags += [ '-DHAVE_FRIBIDI' ]
harfbuzz_dep = dependency('harfbuzz', required: get_option('harfbuzz'))
if harfbuzz_dep.found()
skins2_deps += [ harfbuzz_dep ]
skins2_flags += [ '-DHAVE_HARFBUZZ' ]
endif
endif
endif
skins2_sources = files(
'commands/async_queue.cpp',
'commands/cmd_add_item.cpp',
'commands/cmd_audio.cpp',
'commands/cmd_dvd.cpp',
'commands/cmd_change_skin.cpp',
'commands/cmd_fullscreen.cpp',
'commands/cmd_input.cpp',
'commands/cmd_layout.cpp',
'commands/cmd_muxer.cpp',
'commands/cmd_on_top.cpp',
'commands/cmd_playlist.cpp',
'commands/cmd_playtree.cpp',
'commands/cmd_minimize.cpp',
'commands/cmd_quit.cpp',
'commands/cmd_resize.cpp',
'commands/cmd_snapshot.cpp',
'commands/cmd_vars.cpp',
'controls/ctrl_button.cpp',
'controls/ctrl_checkbox.cpp',
'controls/ctrl_generic.cpp',
'controls/ctrl_image.cpp',
'controls/ctrl_list.cpp',
'controls/ctrl_tree.cpp',
'controls/ctrl_move.cpp',
'controls/ctrl_resize.cpp',
'controls/ctrl_slider.cpp',
'controls/ctrl_radialslider.cpp',
'controls/ctrl_text.cpp',
'controls/ctrl_video.cpp',
'events/evt_input.cpp',
'events/evt_key.cpp',
'events/evt_mouse.cpp',
'events/evt_special.cpp',
'events/evt_scroll.cpp',
'parser/builder.cpp',
'parser/expr_evaluator.cpp',
'parser/interpreter.cpp',
'parser/skin_parser.cpp',
'parser/xmlparser.cpp',
'src/anchor.cpp',
'src/anim_bitmap.cpp',
'src/bitmap_font.cpp',
'src/dialogs.cpp',
'src/file_bitmap.cpp',
'src/art_manager.cpp',
'src/ft2_bitmap.cpp',
'src/ft2_font.cpp',
'src/ft2_err.c',
'src/generic_bitmap.cpp',
'src/generic_layout.cpp',
'src/generic_window.cpp',
'src/ini_file.cpp',
'src/logger.cpp',
'src/os_factory.cpp',
'src/popup.cpp',
'src/scaled_bitmap.cpp',
'src/skin_main.cpp',
'src/theme.cpp',
'src/theme_loader.cpp',
'src/theme_repository.cpp',
'src/tooltip.cpp',
'src/top_window.cpp',
'src/fsc_window.cpp',
'src/var_manager.cpp',
'src/vlcproc.cpp',
'src/vout_window.cpp',
'src/vout_manager.cpp',
'src/window_manager.cpp',
'utils/bezier.cpp',
'utils/fsm.cpp',
'utils/position.cpp',
'utils/ustring.cpp',
'utils/var_bool.cpp',
'utils/var_list.cpp',
'utils/var_percent.cpp',
'utils/var_text.cpp',
'utils/var_string.cpp',
'utils/var_tree.cpp',
'vars/equalizer.cpp',
'vars/playtree.cpp',
'vars/time.cpp',
'vars/volume.cpp',
)
if host_system == 'windows' and skins2_allowed
skins2_flags += [ '-DWIN32_SKINS' ]
skins2_deps += [
cc.find_library('gdi32'),
cc.find_library('ole32'),
cc.find_library('uuid'),
cc.find_library('msimg32'),
]
skins2_sources += files(
'win32/win32_dragdrop.cpp',
'win32/win32_factory.cpp',
'win32/win32_graphics.cpp',
'win32/win32_loop.cpp',
'win32/win32_popup.cpp',
'win32/win32_timer.cpp',
'win32/win32_tooltip.cpp',
'win32/win32_window.cpp',
)
elif x11_dep.found() and skins2_allowed
skins2_flags += [ '-DX11_SKINS' ]
skins2_sources += files(
'x11/x11_display.cpp',
'x11/x11_dragdrop.cpp',
'x11/x11_factory.cpp',
'x11/x11_graphics.cpp',
'x11/x11_loop.cpp',
'x11/x11_popup.cpp',
'x11/x11_timer.cpp',
'x11/x11_window.cpp',
'x11/x11_tooltip.cpp',
)
skins2_deps += [
x11_dep,
dependency('xpm', required: skins2_enabled),
dependency('xinerama', required: skins2_enabled),
dependency('xcursor', required: skins2_enabled),
dependency('xext', required: skins2_enabled),
]
elif host_system == 'darwin' and skins2_allowed
skins2_flags += [ '-DMACOSX_SKINS' ]
skins2_sources += files(
'macosx/macosx_dragdrop.mm',
'macosx/macosx_factory.mm',
'macosx/macosx_graphics.mm',
'macosx/macosx_loop.mm',
'macosx/macosx_popup.mm',
'macosx/macosx_timer.mm',
'macosx/macosx_tooltip.mm',
'macosx/macosx_window.mm',
)
skins2_deps += [
dependency('appleframeworks', modules: ['Cocoa', 'CoreGraphics']),
]
endif
foreach iter_skins2_dep : skins2_deps
if not iter_skins2_dep.found()
skins2_feasible = false
message('Skins2 interface disabled due to missing dependencies.')
break
endif
endforeach
vlc_modules += {
'name' : 'skins2',
'sources' : [ skins2_sources ],
'dependencies' : [ skins2_deps ],
'c_args' : skins2_flags,
'cpp_args' : [skins2_flags, '-O2', '-fno-rtti'],
'objcpp_args' : [skins2_flags, '-O2', '-fno-rtti'],
'plugin_dir' : 'gui',
'enabled': skins2_feasible,
}
if host_system == 'darwin' and skins2_feasible
vlc_modules += {
'name' : 'macosx_dialogs',
'sources' : files('macosx/macosx_dialogs.m'),
'dependencies' : [
dependency('appleframeworks', modules: ['Cocoa']),
],
'plugin_dir' : 'gui',
}
endif
if skins2_feasible
if host_system == 'windows'
skinsdatadir_path = prefix_path / 'skins'
else
skinsdatadir_path = pkgdatadir_path / 'skins2'
endif
install_data('../../../share/skins2/fonts/FreeSans.ttf', install_dir: skinsdatadir_path / 'fonts')
install_data('../../../share/skins2/fonts/FreeSansBold.ttf', install_dir: skinsdatadir_path / 'fonts')
install_data('../../../share/skins2/skin.catalog', install_dir: skinsdatadir_path)
install_data('../../../share/skins2/skin.dtd', install_dir: skinsdatadir_path)
install_data('../../../share/skins2/winamp2.xml', install_dir: skinsdatadir_path)
# Content of the default skin archive, in the order it is stored
default_vlt_files = files(
'../../../share/skins2/default/subX/about.png',
'../../../share/skins2/default/subX/eq.png',
'../../../share/skins2/default/subX/font.otf',
'../../../share/skins2/default/subX/main.png',
'../../../share/skins2/default/subX/pl.png',
'../../../share/skins2/default/subX/playtreeglyphs.png',
'../../../share/skins2/default/subX/sysbuttons.png',
'../../../share/skins2/default/subX/vol_anim.png',
'../../../share/skins2/default/subX/vol_slider.png',
'../../../share/skins2/default/theme.xml',
)
# Store root as the owner of the files like the autotools build. This is not
# supported by the tar of macOS.
tar = find_program('tar')
if build_machine.system() == 'darwin'
tar_owner_args = []
else
tar_owner_args = ['--owner=root', '--group=root']
endif
relative_vlt_files = []
foreach f : default_vlt_files
relative_vlt_files += fs.relative_to(f, '../../../share/skins2')
endforeach
custom_target(
input: default_vlt_files,
output: 'default.vlt',
command: [tar, 'cvvzf', '@OUTPUT@', '--format=ustar', tar_owner_args,
'--directory=' + vlc_src_root / 'share/skins2', relative_vlt_files
],
env: {'GZIP': '--no-name'},
console: true,
install: true,
install_dir: skinsdatadir_path)
endif