mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 03:31:05 +00:00
meson: Support building lame as subproject
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1068>
This commit is contained in:
parent
cdf1e24121
commit
f60af61bb7
3 changed files with 37 additions and 22 deletions
|
@ -29,7 +29,11 @@
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
#ifndef LAME_SUBPROJECT
|
||||||
#include <lame/lame.h>
|
#include <lame/lame.h>
|
||||||
|
#else
|
||||||
|
#include "lame.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define GST_TYPE_LAMEMP3ENC (gst_lamemp3enc_get_type())
|
#define GST_TYPE_LAMEMP3ENC (gst_lamemp3enc_get_type())
|
||||||
G_DECLARE_FINAL_TYPE (GstLameMP3Enc, gst_lamemp3enc, GST, LAMEMP3ENC,
|
G_DECLARE_FINAL_TYPE (GstLameMP3Enc, gst_lamemp3enc, GST, LAMEMP3ENC,
|
||||||
|
|
|
@ -1,31 +1,33 @@
|
||||||
lame_option = get_option('lame')
|
lame_option = get_option('lame')
|
||||||
lame_dep = cc.find_library('mp3lame', required : lame_option)
|
lame_dep = dependency('mp3lame', fallback: ['lame', 'lame_dep'], required: false)
|
||||||
|
|
||||||
|
lame_extra_c_args = []
|
||||||
have_lame = lame_dep.found()
|
have_lame = lame_dep.found()
|
||||||
|
if not have_lame
|
||||||
# TODO: https://github.com/mesonbuild/meson/issues/3940
|
lame_dep = cc.find_library('mp3lame', required : lame_option)
|
||||||
if have_lame
|
have_lame = cc.has_header_symbol('lame/lame.h', 'lame_init', required : lame_option)
|
||||||
have_lame = cc.has_header_symbol('lame/lame.h', 'lame_init')
|
|
||||||
if not have_lame and lame_option.enabled()
|
|
||||||
error('Found libmp3lame but lame.h was not usable')
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
if have_lame
|
|
||||||
lame_extra_c_args = []
|
|
||||||
if cc.has_header_symbol('lame/lame.h', 'lame_set_VBR_quality')
|
if cc.has_header_symbol('lame/lame.h', 'lame_set_VBR_quality')
|
||||||
lame_extra_c_args += ['-DHAVE_LAME_SET_VBR_QUALITY']
|
lame_extra_c_args += ['-DHAVE_LAME_SET_VBR_QUALITY']
|
||||||
endif
|
endif
|
||||||
if cc.has_header_symbol('lame/lame.h', 'MEDIUM')
|
if cc.has_header_symbol('lame/lame.h', 'MEDIUM')
|
||||||
lame_extra_c_args += ['-DGSTLAME_PRESET']
|
lame_extra_c_args += ['-DGSTLAME_PRESET']
|
||||||
endif
|
endif
|
||||||
lame = library('gstlame',
|
else
|
||||||
|
lame_extra_c_args += ['-DHAVE_LAME_SET_VBR_QUALITY', '-DGSTLAME_PRESET', '-DLAME_SUBPROJECT']
|
||||||
|
endif
|
||||||
|
|
||||||
|
if not have_lame
|
||||||
|
subdir_done()
|
||||||
|
endif
|
||||||
|
|
||||||
|
lame = library('gstlame',
|
||||||
['gstlamemp3enc.c', 'plugin.c'],
|
['gstlamemp3enc.c', 'plugin.c'],
|
||||||
c_args : gst_plugins_good_args + lame_extra_c_args,
|
c_args : gst_plugins_good_args + lame_extra_c_args,
|
||||||
include_directories : [configinc, libsinc],
|
include_directories : [configinc, libsinc],
|
||||||
dependencies : [gstaudio_dep, lame_dep],
|
dependencies : [gstaudio_dep, lame_dep],
|
||||||
install : true,
|
install : true,
|
||||||
install_dir : plugins_install_dir,
|
install_dir : plugins_install_dir,
|
||||||
)
|
)
|
||||||
pkgconfig.generate(lame, install_dir : plugins_pkgconfig_install_dir)
|
|
||||||
plugins += [lame]
|
pkgconfig.generate(lame, install_dir : plugins_pkgconfig_install_dir)
|
||||||
endif
|
plugins += [lame]
|
||||||
|
|
9
subprojects/lame.wrap
Normal file
9
subprojects/lame.wrap
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
[wrap-file]
|
||||||
|
directory = lame-3.100
|
||||||
|
source_url = http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
|
||||||
|
source_filename = lame-3.100.tar.gz
|
||||||
|
source_hash = ddfe36cab873794038ae2c1210557ad34857a4b6bdc515785d1da9e175b1da1e
|
||||||
|
patch_url = https://wrapdb.mesonbuild.com/v2/lame_3.100-1/get_patch
|
||||||
|
patch_filename = lame-3.100-1-wrap.zip
|
||||||
|
patch_hash = 3e62e95d13aef0f139e4376e775acb367525a8ed2dbeb8d09c93fd318f093654
|
||||||
|
|
Loading…
Reference in a new issue