From: Andre Noll Date: Wed, 4 Sep 2024 13:49:50 +0000 (+0200) Subject: Merge topic branch t/play into master X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=90e03bb3495bcb53d2eea5e33bc6cad72c52c118;p=paraslash.git Merge topic branch t/play into master This small series contains a few minor tweaks for para_play. The most obvious change is that para_play is no longer built on systems which lack libreadline. The merge conflicted badly in configure.ac due to the changes introduced by the earlier merge of the "built" topic branch. The resolution needs to modify the non-conflicting Makefile.real to exclude para_play from the list of executables if libreadline is not present while the corresponding commit of the "play" topic branch implemented the logic in configure.ac. Cooking for a month. * refs/heads/t/play: play: Shut down alsa on input EOF. play: Simplify and improve get_key_map_seq(). play: Remove pointless goto in play_post_monitor(). Return from filter_setup() so callers can reset the terminal. Let para_play depend on libreadline. --- 90e03bb3495bcb53d2eea5e33bc6cad72c52c118 diff --cc Makefile.real index 92a5724b,bd2bd9d9..33e22cfe --- a/Makefile.real +++ b/Makefile.real @@@ -34,263 -35,15 +34,263 @@@ m4depdir := $(build_dir)/m4dep lls_suite_dir := $(build_dir)/lls lls_m4_dir := m4/lls test_dir := t -yy_src_dir = yy -yy_build_dir = $(build_dir)/yy +yy_src_dir := yy +yy_build_dir := $(build_dir)/yy + - executables := recv filter audioc write afh play ++executables := recv filter audioc write afh +ifneq ($(CRYPTOLIB),) + ifeq ($(HAVE_OSL),yes) + executables += server upgrade_db + server_objs := $(addsuffix .o, \ + server afh_common mp3_afh vss command net string \ + signal time daemon http_send close_on_fork \ + crypt_common base64 ipc dccp_send fd user_list \ + chunk_queue afs aft mood mp score attribute blob \ + playlist sched acl send_common udp_send color fec \ + wma_afh wma_common sideband version lsu \ + ) + ifeq ($(CRYPTOLIB),openssl) + server_objs += openssl.o + else + server_objs += gcrypt.o + endif + ifeq ($(NEED_OGG_OBJECTS),yes) + server_objs += ogg_afh_common.o + endif + ifeq ($(NEED_VORBIS_OBJECTS),yes) + server_objs += ogg_afh.o + endif + ifeq ($(NEED_SPEEX_OBJECTS),yes) + server_objs += spx_afh.o spx_common.o + endif + ifeq ($(NEED_OPUS_OBJECTS),yes) + server_objs += opus_afh.o opus_common.o + endif + ifeq ($(NEED_FLAC_OBJECTS),yes) + server_objs += flac_afh.o + endif + ifeq ($(HAVE_FAAD),yes) + server_objs += aac_afh.o mp4.o + endif + upgrade_db_objs := $(addsuffix .o, crypt_common exec fd string \ + upgrade_db version base64) + endif +endif +ifneq ($(CRYPTOLIB),) + executables += client audiod + client_objs := $(addsuffix .o, \ + client net string fd lsu sched stdin stdout time sideband client_common \ + buffer_tree crypt_common base64 version $(CRYPTOLIB) \ + ) + ifeq ($(HAVE_READLINE),yes) + client_objs += interactive.o + endif + audiod_objs := $(addsuffix .o, \ + audiod signal string daemon stat net crypt_common base64 sideband \ + time grab_client filter_common wav_filter compress_filter amp_filter \ + http_recv dccp_recv recv_common fd sched write_common file_write \ + audiod_command fecdec_filter client_common udp_recv color fec \ + prebuffer_filter version bitstream imdct wma_common wmadec_filter \ + buffer_tree sync_filter lsu $(CRYPTOLIB) \ + ) + audiod_audio_formats := "wma" + ifeq ($(NEED_VORBIS_OBJECTS),yes) + audiod_objs += oggdec_filter.o + audiod_audio_formats += ,"ogg" + endif + ifeq ($(NEED_SPEEX_OBJECTS),yes) + audiod_objs += spxdec_filter.o spx_common.o + audiod_audio_formats += ,"spx" + endif + ifeq ($(NEED_OPUS_OBJECTS),yes) + audiod_objs += opusdec_filter.o opus_common.o + audiod_audio_formats += ,"opus" + endif + ifeq ($(NEED_FLAC_OBJECTS),yes) + audiod_objs += flacdec_filter.o + audiod_audio_formats += ,"flac" + endif + ifeq ($(HAVE_FAAD),yes) + audiod_objs += aacdec_filter.o + audiod_audio_formats += ,"aac" + endif + ifeq ($(HAVE_MAD),yes) + audiod_objs += mp3dec_filter.o + audiod_audio_formats += ,"mp3" + endif + ifeq ($(HAVE_OSS),yes) + audiod_objs += oss_write.o + endif + ifeq ($(HAVE_ALSA),yes) + audiod_objs += alsa_write.o + endif + ifeq ($(NEED_AO_OBJECTS),yes) + audiod_objs += ao_write.o + endif + ifeq ($(HAVE_SAMPLERATE),yes) + audiod_objs += resample_filter.o check_wav.o + endif +endif +ifneq ($(HAVE_OSS)-$(HAVE_ALSA),no-no) + executables += mixer + mixer_objs := $(addsuffix .o, mixer exec string fd time lsu version) + ifeq ($(HAVE_OSS),yes) + mixer_objs += oss_mix.o + endif + ifeq ($(HAVE_ALSA),yes) + mixer_objs += alsa_mix.o + endif +endif +ifeq ($(HAVE_CURSES),yes) + executables += gui + gui_objs := $(addsuffix .o, exec signal string stat ringbuffer fd \ + gui gui_theme lsu time sched version) +endif +filter_objs := $(addsuffix .o, \ + filter_common wav_filter compress_filter filter string stdin stdout \ + sched fd amp_filter fecdec_filter fec lsu version prebuffer_filter \ + time bitstream imdct wma_common wmadec_filter buffer_tree net \ + sync_filter \ +) +ifeq ($(NEED_VORBIS_OBJECTS),yes) + filter_objs += oggdec_filter.o +endif +ifeq ($(NEED_SPEEX_OBJECTS),yes) + filter_objs += spxdec_filter.o spx_common.o +endif +ifeq ($(NEED_OPUS_OBJECTS),yes) + filter_objs += opusdec_filter.o opus_common.o +endif +ifeq ($(NEED_FLAC_OBJECTS),yes) + filter_objs += flacdec_filter.o +endif +ifeq ($(HAVE_FAAD),yes) + filter_objs += aacdec_filter.o +endif +ifeq ($(HAVE_MAD),yes) + filter_objs += mp3dec_filter.o +endif +ifeq ($(HAVE_SAMPLERATE),yes) + filter_objs += resample_filter.o check_wav.o +endif + +recv_objs := $(addsuffix .o, \ + http_recv recv_common recv time string net dccp_recv fd sched stdout \ + udp_recv buffer_tree afh_recv afh_common wma_afh wma_common mp3_afh \ + version \ +) +ifeq ($(NEED_OGG_OBJECTS),yes) + recv_objs += ogg_afh_common.o +endif +ifeq ($(NEED_VORBIS_OBJECTS),yes) + recv_objs += ogg_afh.o +endif +ifeq ($(NEED_SPEEX_OBJECTS),yes) + recv_objs += spx_afh.o spx_common.o +endif +ifeq ($(NEED_OPUS_OBJECTS),yes) + recv_objs += opus_afh.o opus_common.o +endif +ifeq ($(NEED_FLAC_OBJECTS),yes) + recv_objs += flac_afh.o +endif +ifeq ($(HAVE_FAAD),yes) + recv_objs += aac_afh.o mp4.o +endif + +audio_format_handlers := mp3 wma +afh_objs := $(addsuffix .o, afh string fd mp3_afh afh_common time wma_afh \ + wma_common version) +ifeq ($(NEED_OGG_OBJECTS),yes) + afh_objs += ogg_afh_common.o +endif +ifeq ($(NEED_VORBIS_OBJECTS),yes) + afh_objs += ogg_afh.o + audio_format_handlers += ogg +endif +ifeq ($(NEED_SPEEX_OBJECTS),yes) + afh_objs += spx_common.o + audio_format_handlers += spx +endif +ifeq ($(NEED_OPUS_OBJECTS),yes) + afh_objs += opus_afh.o opus_common.o + audio_format_handlers += opus +endif +ifeq ($(NEED_FLAC_OBJECTS),yes) + afh_objs += flac_afh.o + audio_format_handlers += flac +endif +ifeq ($(HAVE_FAAD),yes) + afh_objs += aac_afh.o mp4.o + audio_format_handlers += aac +endif + - play_objs := $(addsuffix .o, \ - play fd sched buffer_tree time string net afh_recv afh_common \ - wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \ - filter_common fec bitstream imdct wav_filter compress_filter \ - amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \ - file_write version sync_filter lsu \ - ) - ifeq ($(NEED_OGG_OBJECTS),yes) - play_objs += ogg_afh_common.o - endif - ifeq ($(NEED_VORBIS_OBJECTS),yes) - play_objs += oggdec_filter.o ogg_afh.o - endif - ifeq ($(NEED_SPEEX_OBJECTS),yes) - play_objs += spxdec_filter.o spx_afh.o spx_common.o - endif - ifeq ($(NEED_OPUS_OBJECTS),yes) - play_objs += opusdec_filter.o opus_afh.o opus_common.o - endif - ifeq ($(NEED_FLAC_OBJECTS),yes) - play_objs += flacdec_filter.o flac_afh.o - endif - ifeq ($(HAVE_FAAD),yes) - play_objs += aac_afh.o aacdec_filter.o mp4.o - endif - ifeq ($(HAVE_MAD),yes) - play_objs += mp3dec_filter.o - endif - ifeq ($(HAVE_OSS),yes) - play_objs += oss_write.o - endif - ifeq ($(HAVE_ALSA),yes) - play_objs += alsa_write.o - endif - ifeq ($(NEED_AO_OBJECTS),yes) - play_objs += ao_write.o - endif +ifeq ($(HAVE_READLINE),yes) - play_objs += interactive.o - endif - ifeq ($(HAVE_SAMPLERATE),yes) - play_objs += resample_filter.o check_wav.o ++ executables += play ++ play_objs := $(addsuffix .o, \ ++ play fd sched buffer_tree time string net afh_recv afh_common \ ++ wma_afh wma_common mp3_afh recv_common udp_recv http_recv dccp_recv \ ++ filter_common fec bitstream imdct wav_filter compress_filter \ ++ amp_filter prebuffer_filter fecdec_filter wmadec_filter write_common \ ++ file_write version sync_filter lsu interactive \ ++ ) ++ ifeq ($(NEED_OGG_OBJECTS),yes) ++ play_objs += ogg_afh_common.o ++ endif ++ ifeq ($(NEED_VORBIS_OBJECTS),yes) ++ play_objs += oggdec_filter.o ogg_afh.o ++ endif ++ ifeq ($(NEED_SPEEX_OBJECTS),yes) ++ play_objs += spxdec_filter.o spx_afh.o spx_common.o ++ endif ++ ifeq ($(NEED_OPUS_OBJECTS),yes) ++ play_objs += opusdec_filter.o opus_afh.o opus_common.o ++ endif ++ ifeq ($(NEED_FLAC_OBJECTS),yes) ++ play_objs += flacdec_filter.o flac_afh.o ++ endif ++ ifeq ($(HAVE_FAAD),yes) ++ play_objs += aac_afh.o aacdec_filter.o mp4.o ++ endif ++ ifeq ($(HAVE_MAD),yes) ++ play_objs += mp3dec_filter.o ++ endif ++ ifeq ($(HAVE_OSS),yes) ++ play_objs += oss_write.o ++ endif ++ ifeq ($(HAVE_ALSA),yes) ++ play_objs += alsa_write.o ++ endif ++ ifeq ($(NEED_AO_OBJECTS),yes) ++ play_objs += ao_write.o ++ endif ++ ifeq ($(HAVE_SAMPLERATE),yes) ++ play_objs += resample_filter.o check_wav.o ++ endif +endif + +write_objs := $(addsuffix .o, write write_common file_write time fd \ + string sched stdin buffer_tree check_wav version) +ifeq ($(NEED_AO_OBJECTS),yes) + write_objs += ao_write.o +endif +ifeq ($(HAVE_OSS),yes) + write_objs += oss_write.o +endif +ifeq ($(HAVE_ALSA),yes) + write_objs += alsa_write.o +endif + +audioc_objs := $(addsuffix .o, audioc string lsu net fd time version) +ifeq ($(HAVE_READLINE),yes) + audioc_objs += buffer_tree.o interactive.o sched.o +endif # sort removes duplicate words, which is all we need here -all_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \ +dep_objs := $(sort $(recv_objs) $(filter_objs) $(client_objs) $(gui_objs) \ $(audiod_objs) $(audioc_objs) $(mixer_objs) $(server_objs) \ - $(write_objs) $(afh_objs) $(play_objs)) -deps := $(addprefix $(dep_dir)/, $(all_objs:.o=.d)) -deps += $(addprefix $(dep_dir)/, mp.bison.d mp.flex.d) + $(write_objs) $(afh_objs) $(play_objs) mp.bison mp.flex) +deps := $(addprefix $(dep_dir)/, $(dep_objs:.o=.d)) afh_objs += afh.lsg.o audioc_objs += audioc.lsg.o diff --cc NEWS.md index 0703643b,d5812289..0f7e0c84 --- a/NEWS.md +++ b/NEWS.md @@@ -5,9 -5,6 +5,10 @@@ NEW 0.7.4 (to be announced) "genetic contraction" --------------------------------------------- +- Simplification of the build system. The only visible effect is + that configure no longer prints a summary at the end. ++- para_play is no longer built if libreadline is not installed. + Downloads: [tarball](./releases/paraslash-git.tar.xz)