[pulseaudio-commits] 3 commits - Makefile.am src/Makefile.am src/modules src/pulsecore

Tanu Kaskinen tanuk at kemper.freedesktop.org
Sat Oct 7 19:22:12 UTC 2017


 Makefile.am                      |   16 ++++++++--------
 src/Makefile.am                  |    2 +-
 src/modules/module-ladspa-sink.c |    9 ++++++++-
 src/pulsecore/proplist-util.c    |    2 ++
 4 files changed, 19 insertions(+), 10 deletions(-)

New commits:
commit 07e283d74488e0a6cdd84a967775a01de2809b59
Author: Salvador Fandino <sfandino at yahoo.com>
Date:   Wed Oct 4 15:21:24 2017 +0200

    build-sys: simulate ln -s correctly on Windows
    
    make install was failing on Windows because there cp is
    used to replace ln -s commands but cp doesn't resolve its
    first argument as relative to the second one.
    
    This patch changes the install-bashcompletion-aliases rules
    to chdir to the target dir so that cp works correctly. This
    is the solution recomended in the automake documentation.

diff --git a/Makefile.am b/Makefile.am
index 9a6b42a9..275ceeac 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -68,14 +68,14 @@ bashcompletiondir=@bashcompletiondir@
 dist_bashcompletion_DATA = shell-completion/bash/pulseaudio
 
 install-bashcompletion-aliases:
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pactl
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pacmd
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pasuspender
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/padsp
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/pacat
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/paplay
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/parec
-	$(LN_S) -f pulseaudio $(DESTDIR)$(bashcompletiondir)/parecord
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio pactl
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio pacmd
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio pasuspender
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio padsp
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio pacat
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio paplay
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio parec
+	cd $(DESTDIR)$(bashcompletiondir) && $(LN_S) -f pulseaudio parecord
 
 install-data-hook: install-bashcompletion-aliases
 

commit 8c22cd54dec381cdc3e56b007e539a6e2ff7833c
Author: Salvador Fandino <sfandino at yahoo.com>
Date:   Tue Oct 3 14:27:59 2017 +0200

    ladspa-sink: fix Windows compilation
    
    The macro LADSPA_PATH was defined as a list of directories quoted but
    without taking into account that the directory names, specially on
    Windows, can contain backslashes that need escaping.
    
    This patch removes the quoted from the macro and uses the C preprocessor
    to quote it properly using a helper macro.

diff --git a/src/Makefile.am b/src/Makefile.am
index d7a551e2..e610db74 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1752,7 +1752,7 @@ module_remap_source_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_remap_source_la_LIBADD = $(MODULE_LIBADD)
 
 module_ladspa_sink_la_SOURCES = modules/module-ladspa-sink.c modules/ladspa.h
-module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH=\"$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa\" $(AM_CFLAGS) $(SERVER_CFLAGS)
+module_ladspa_sink_la_CFLAGS = -DLADSPA_PATH="$(libdir)/ladspa:/usr/local/lib/ladspa:/usr/lib/ladspa:/usr/local/lib64/ladspa:/usr/lib64/ladspa" $(AM_CFLAGS) $(SERVER_CFLAGS)
 module_ladspa_sink_la_LDFLAGS = $(MODULE_LDFLAGS)
 module_ladspa_sink_la_LIBADD = $(MODULE_LIBADD) $(LIBLTDL)
 
diff --git a/src/modules/module-ladspa-sink.c b/src/modules/module-ladspa-sink.c
index c2c7c85d..38be12b9 100644
--- a/src/modules/module-ladspa-sink.c
+++ b/src/modules/module-ladspa-sink.c
@@ -1048,8 +1048,15 @@ int pa__init(pa_module*m) {
     u->output = NULL;
     u->ss = ss;
 
+    /* If the LADSPA_PATH environment variable is not set, we use the
+     * LADSPA_PATH preprocessor macro instead. The macro can contain characters
+     * that need to be escaped (especially on Windows backslashes are common).
+     * The "#" preprocessor operator helpfully adds the required escaping while
+     * turning the LADSPA_PATH macro into a string. */
+#define QUOTE_MACRO(x) #x
     if (!(e = getenv("LADSPA_PATH")))
-        e = LADSPA_PATH;
+        e = QUOTE_MACRO(LADSPA_PATH);
+#undef QUOTE_MACRO
 
     /* FIXME: This is not exactly thread safe */
     t = pa_xstrdup(lt_dlgetsearchpath());

commit 79ee19bb51cc837a4a92b105eb406d06cf0a4475
Author: Salvador Fandino <sfandino at yahoo.com>
Date:   Tue Oct 3 12:58:57 2017 +0200

    proplist-util: fix compilation on Windows without NLS
    
    Under MinGW, LC_MESSAGES is defined in libint.h which is not
    included when pulseaudio is configured with nls disabled.
    
    LC_MESSAGES is referenced when setting PA_PROP_APPLICATION_LANGUAGE.
    
    This patch just disables setting that property when ENABLE_NLS
    is not defined.

diff --git a/src/pulsecore/proplist-util.c b/src/pulsecore/proplist-util.c
index baf683da..f966579b 100644
--- a/src/pulsecore/proplist-util.c
+++ b/src/pulsecore/proplist-util.c
@@ -207,12 +207,14 @@ void pa_init_proplist(pa_proplist *p) {
             pa_proplist_sets(p, PA_PROP_APPLICATION_NAME, t);
     }
 
+#ifdef ENABLE_NLS
     if (!pa_proplist_contains(p, PA_PROP_APPLICATION_LANGUAGE)) {
         const char *l;
 
         if ((l = setlocale(LC_MESSAGES, NULL)))
             pa_proplist_sets(p, PA_PROP_APPLICATION_LANGUAGE, l);
     }
+#endif
 
     if (!pa_proplist_contains(p, PA_PROP_WINDOW_X11_DISPLAY)) {
         const char *t;



More information about the pulseaudio-commits mailing list