From: RĂ©mi Denis-Courmont Date: Sat, 28 Feb 2009 14:10:49 +0000 (+0200) Subject: Hard code plugin path and http path in static VLC X-Git-Tag: 1.0.0-pre1~380 X-Git-Url: https://git.sesse.net/?p=vlc;a=commitdiff_plain;h=0e1e17e1b8f59fcb95897a7cf53e078c19430eb3 Hard code plugin path and http path in static VLC This allows using the http interface directly when builddir != srcdir. This is needed to get rid of the ./vlc script. --- diff --git a/bin/Makefile.am b/bin/Makefile.am index aa404a2159..bc35922833 100644 --- a/bin/Makefile.am +++ b/bin/Makefile.am @@ -30,6 +30,10 @@ vlc_LDFLAGS = `$(VLC_CONFIG) --ldflags vlc` vlc_LDADD = ../src/libvlc.la `$(VLC_CONFIG) -libs vlc` vlc_static_SOURCES = $(vlc_SOURCES) +vlc_static_CFLAGS = $(AM_CFLAGS) \ + -DTOP_BUILDDIR=\"$$(cd "$(top_builddir)"; pwd)\" \ + -DTOP_SRCDIR=\"$$(cd "$(top_srcdir)"; pwd)\" \ + $(NULL) vlc_static_DEPENDENCIES = $(vlc_DEPENDENCIES) vlc_static_LDADD = $(vlc_LDADD) vlc_static_LDFLAGS = $(vlc_LDFLAGS) -no-install -static diff --git a/bin/vlc.c b/bin/vlc.c index ba3b040a8f..3a15722d77 100644 --- a/bin/vlc.c +++ b/bin/vlc.c @@ -120,8 +120,20 @@ int main( int i_argc, const char *ppsz_argv[] ) sigdelset (&set, SIGCHLD); /* Note that FromLocale() can be used before libvlc is initialized */ - for (int i = 0; i < i_argc; i++) - if ((ppsz_argv[i] = FromLocale (ppsz_argv[i])) == NULL) + const char *argv[i_argc + 3]; + int argc = 0; + +#ifdef TOP_BUILDDIR + argv[argc++] = FromLocale ("--plugin-path="TOP_BUILDDIR"/modules"); +#endif +#ifdef TOP_SRCDIR +# ifdef ENABLE_HTTPD + argv[argc++] = FromLocale ("--http-src="TOP_SRCDIR"/share/http"); +# endif +#endif + + for (int i = 1; i < i_argc; i++) + if ((argv[argc++] = FromLocale (ppsz_argv[i])) == NULL) return 1; // BOOM! libvlc_exception_t ex, dummy; @@ -129,9 +141,7 @@ int main( int i_argc, const char *ppsz_argv[] ) libvlc_exception_init (&dummy); /* Initialize libvlc */ - int i_argc_real = i_argc ? i_argc - 1 : 0; - const char **ppsz_argv_real = i_argc ? &ppsz_argv[1] : ppsz_argv; - libvlc_instance_t *vlc = libvlc_new (i_argc_real, ppsz_argv_real, &ex); + libvlc_instance_t *vlc = libvlc_new (argc, argv, &ex); if (vlc != NULL) { @@ -153,8 +163,8 @@ int main( int i_argc, const char *ppsz_argv[] ) libvlc_exception_clear (&ex); libvlc_exception_clear (&dummy); - for (int i = 0; i < i_argc; i++) - LocaleFree (ppsz_argv[i]); + for (int i = 0; i < argc; i++) + LocaleFree (argv[i]); return i_ret; }