Tanu Kaskinen pushed to branch master at PulseAudio / pulseaudio
Commits: 3d9deb1e by Hongxu Jia at 2018-12-11T14:15:32Z build-sys: introduce a special build flag to explicitly disables running from build tree It is helpful to improve reproducibility build [1] since PA_SRCDIR/PA_BUILDDIR contains build path, --disable-running-from-build-tree could drop these macros at precompilation. [1] https://reproducible-builds.org/ Signed-off-by: Hongxu Jia <hongxu....@windriver.com> - - - - - 7 changed files: - configure.ac - src/daemon/daemon-conf.c - src/daemon/main.c - src/modules/alsa/alsa-mixer.c - src/modules/gconf/module-gconf.c - src/modules/gsettings/module-gsettings.c - src/pulsecore/core-util.c Changes: ===================================== configure.ac ===================================== @@ -989,6 +989,16 @@ AS_IF([test "x$enable_asyncns" = "xyes" && test "x$HAVE_LIBASYNCNS" = "x0"], AM_CONDITIONAL([HAVE_LIBASYNCNS], [test "x$HAVE_LIBASYNCNS" = x1]) AS_IF([test "x$HAVE_LIBASYNCNS" = "x1"], AC_DEFINE([HAVE_LIBASYNCNS], 1, [Have libasyncns?])) +#### Running from build tree (optional) #### + +AC_ARG_ENABLE([running-from-build-tree], + AS_HELP_STRING([--disable-running-from-build-tree],[Disable running from build tree])) + +AS_IF([test "x$enable_running_from_build_tree" != "xno"], + AC_DEFINE([HAVE_RUNNING_FROM_BUILD_TREE], 1, [Have running from build tree])) + +AC_SUBST(HAVE_RUNNING_FROM_BUILD_TREE) + #### TCP wrappers (optional) #### AC_ARG_ENABLE([tcpwrap], ===================================== src/daemon/daemon-conf.c ===================================== @@ -155,16 +155,18 @@ pa_daemon_conf *pa_daemon_conf_new(void) { c->dl_search_path = pa_sprintf_malloc("%s" PA_PATH_SEP "lib" PA_PATH_SEP "pulse-%d.%d" PA_PATH_SEP "modules", pa_win32_get_toplevel(NULL), PA_MAJOR, PA_MINOR); #else +#ifdef HAVE_RUNNING_FROM_BUILD_TREE if (pa_run_from_build_tree()) { pa_log_notice("Detected that we are run from the build tree, fixing search path."); #ifdef MESON_BUILD c->dl_search_path = pa_xstrdup(PA_BUILDDIR PA_PATH_SEP "src" PA_PATH_SEP "modules"); #else c->dl_search_path = pa_xstrdup(PA_BUILDDIR); -#endif +#endif // Endof #ifdef MESON_BUILD } else +#endif // Endof #ifdef HAVE_RUNNING_FROM_BUILD_TREE c->dl_search_path = pa_xstrdup(PA_DLSEARCHPATH); -#endif +#endif // Endof #ifdef OS_IS_WIN32 return c; } ===================================== src/daemon/main.c ===================================== @@ -941,6 +941,12 @@ int main(int argc, char *argv[]) { pa_log_debug("Running in VM: %s", pa_yes_no(pa_running_in_vm())); +#ifdef HAVE_RUNNING_FROM_BUILD_TREE + pa_log_debug("Running from build tree: %s", pa_yes_no(pa_run_from_build_tree())); +#else + pa_log_debug("Running from build tree: no"); +#endif + #ifdef __OPTIMIZE__ pa_log_debug("Optimized build: yes"); #else ===================================== src/modules/alsa/alsa-mixer.c ===================================== @@ -2573,9 +2573,11 @@ static int path_verify(pa_alsa_path *p) { } static const char *get_default_paths_dir(void) { +#ifdef HAVE_RUNNING_FROM_BUILD_TREE if (pa_run_from_build_tree()) return PA_SRCDIR "/modules/alsa/mixer/paths/"; else +#endif return PA_ALSA_PATHS_DIR; } @@ -4458,7 +4460,9 @@ pa_alsa_profile_set* pa_alsa_profile_set_new(const char *fname, const pa_channel fname = "default.conf"; fn = pa_maybe_prefix_path(fname, +#ifdef HAVE_RUNNING_FROM_BUILD_TREE pa_run_from_build_tree() ? PA_SRCDIR "/modules/alsa/mixer/profile-sets/" : +#endif PA_ALSA_PROFILE_SETS_DIR); r = pa_config_parse(fn, NULL, items, NULL, false, ps); ===================================== src/modules/gconf/module-gconf.c ===================================== @@ -51,7 +51,7 @@ int pa__init(pa_module*m) { u->buf_fill = 0; if ((u->fd = pa_start_child_for_read( -#if defined(__linux__) && !defined(__OPTIMIZE__) +#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE) pa_run_from_build_tree() ? PA_BUILDDIR "/gconf-helper" : #endif PA_GCONF_HELPER, NULL, &u->pid)) < 0) ===================================== src/modules/gsettings/module-gsettings.c ===================================== @@ -51,7 +51,7 @@ int pa__init(pa_module*m) { u->buf_fill = 0; if ((u->fd = pa_start_child_for_read( -#if defined(__linux__) && !defined(__OPTIMIZE__) +#if defined(__linux__) && defined(HAVE_RUNNING_FROM_BUILD_TREE) pa_run_from_build_tree() ? PA_BUILDDIR "/gsettings-helper" : #endif PA_GSETTINGS_HELPER, NULL, &u->pid)) < 0) ===================================== src/pulsecore/core-util.c ===================================== @@ -3269,15 +3269,17 @@ void pa_reset_personality(void) { } bool pa_run_from_build_tree(void) { - char *rp; static bool b = false; +#ifdef HAVE_RUNNING_FROM_BUILD_TREE + char *rp; PA_ONCE_BEGIN { if ((rp = pa_readlink("/proc/self/exe"))) { b = pa_startswith(rp, PA_BUILDDIR); pa_xfree(rp); } } PA_ONCE_END; +#endif return b; } View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/3d9deb1e5679e15c3277e144a822be9b0a036514 -- View it on GitLab: https://gitlab.freedesktop.org/pulseaudio/pulseaudio/commit/3d9deb1e5679e15c3277e144a822be9b0a036514 You're receiving this email because of your account on gitlab.freedesktop.org.
_______________________________________________ pulseaudio-commits mailing list pulseaudio-commits@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/pulseaudio-commits