[vlc-devel] [vlc-commits] update: use Makefile conditional to disable code

Jean-Baptiste Kempf jb at videolan.org
Sun Jan 29 11:45:24 CET 2017


So far, this commit breaks the linking when the update is activated:

https://jenkins.videolan.org/job/vlc-continuous/job/vlc-cont-win32-x86/lastBuild/consoleText

misc/.libs/update.o: In function `update_New':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:105:
multiple definition of `update_New'
.libs/missing.o:/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/missing.c:413:
first defined here
misc/.libs/update.o: In function `update_Delete':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:135:
multiple definition of `update_Delete'
.libs/missing.o:missing.c:(.text+0x10): first defined here
misc/.libs/update.o: In function `update_Check':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:395:
multiple definition of `update_Check'
.libs/missing.o:missing.c:(.text+0x10): first defined here
misc/.libs/update.o: In function `update_NeedUpgrade':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:437:
multiple definition of `update_NeedUpgrade'
.libs/missing.o:missing.c:(.text+0x10): first defined here
misc/.libs/update.o: In function `update_Download':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:503:
multiple definition of `update_Download'
.libs/missing.o:missing.c:(.text+0x10): first defined here
misc/.libs/update.o: In function `update_GetRelease':
/home/jenkins/workspace/vlc-continuous/vlc-cont-win32-x86/win32/src/../../extras/package/win32/../../../src/misc/update.c:756:
multiple definition of `update_GetRelease'
.libs/missing.o:missing.c:(.text+0x10): first defined here
collect2: error: ld returned 1 exit status
Makefile:2174: recipe for target 'libvlccore.la' failed

I have a similar build issue on my Linux with this  flag enabled.

Best,


On Sun, 29 Jan 2017, at 09:44, Rémi Denis-Courmont wrote:
> vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Jan 29
> 10:27:59 2017 +0200| [6aa1a7add70b7fe64aa6816db640d0510770e5cb] |
> committer: Rémi Denis-Courmont
> 
> update: use Makefile conditional to disable code
> 
> This fixes the build without gcrypt.
> 
> > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=6aa1a7add70b7fe64aa6816db640d0510770e5cb
> ---
> 
>  configure.ac               |  4 +---
>  include/vlc_update.h       |  4 ----
>  modules/gui/qt/Makefile.am |  4 ++++
>  src/Makefile.am            | 11 ++++++++---
>  src/misc/update.c          | 39 ---------------------------------------
>  src/misc/update_crypto.c   |  4 ----
>  src/missing.c              | 40 ++++++++++++++++++++++++++++++++++++++++
>  test/Makefile.am           |  7 ++++---
>  test/src/crypto/update.c   | 10 ----------
>  9 files changed, 57 insertions(+), 66 deletions(-)
> 
> diff --git a/configure.ac b/configure.ac
> index be5bf19..7050091 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -4107,10 +4107,8 @@ if test "${enable_update_check}" = "yes"
>  then
>   AS_IF([test "${ac_cv_lib_gcrypt}" != "yes"],[
>      AC_MSG_ERROR([libgcrypt is required for update checking system]) ])
> -  VLC_ADD_LIBS([libvlccore], [${GCRYPT_LIBS}])
> -  VLC_ADD_CFLAGS([libvlccore], [${GCRYPT_CFLAGS}])
> -  AC_DEFINE([UPDATE_CHECK], 1, [Define if you want to use the VLC update
> mechanism])
>  fi
> +AM_CONDITIONAL(UPDATE_CHECK, [test "${enable_update_check}" = "yes"])
>  
>  dnl
>  dnl OS X notification plugin
> diff --git a/include/vlc_update.h b/include/vlc_update.h
> index df74405..8482b4f 100644
> --- a/include/vlc_update.h
> +++ b/include/vlc_update.h
> @@ -34,8 +34,6 @@
>   *VLC software update interface
>   */
>  
> -#ifdef UPDATE_CHECK
> -
>  /**
>   * Describes an update VLC release number
>   */
> @@ -49,8 +47,6 @@ struct update_release_t
>      char* psz_desc;     ///< Release description
>  };
>  
> -#endif /* UPDATE_CHECK */
> -
>  typedef struct update_release_t update_release_t;
>  
>  VLC_API update_t * update_New( vlc_object_t * );
> diff --git a/modules/gui/qt/Makefile.am b/modules/gui/qt/Makefile.am
> index 7e5f5ae..21bce05 100644
> --- a/modules/gui/qt/Makefile.am
> +++ b/modules/gui/qt/Makefile.am
> @@ -14,6 +14,7 @@ guidir = $(pluginsdir)/gui
>  
>  SUFFIXES += .ui .h .hpp .moc.cpp
>  
> +libqt_plugin_la_CPPFLAGS = $(AM_CPPFLAGS)
>  libqt_plugin_la_CXXFLAGS = $(AM_CXXFLAGS) $(QT_CFLAGS) $(CXXFLAGS_qt)
>  libqt_plugin_la_LIBADD = $(QT_LIBS) $(LIBS_qt) $(LIBM)
>  libqt_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(guidir)'
> @@ -31,6 +32,9 @@ endif
>  if HAVE_WIN32
>  libqt_plugin_la_LIBADD += $(LIBCOM) -lcomctl32 -luuid
>  endif
> +if UPDATE_CHECK
> +libqt_plugin_la_CPPFLAGS += -DUPDATE_CHECK=1
> +endif
>  
>  gui_LTLIBRARIES =  $(LTLIBqt)
>  EXTRA_LTLIBRARIES = libqt_plugin.la
> diff --git a/src/Makefile.am b/src/Makefile.am
> index ee676f9..59d88d7 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -339,9 +339,6 @@ libvlccore_la_SOURCES = \
>  	misc/variables.h \
>  	misc/variables.c \
>  	misc/error.c \
> -       misc/update.h \
> -       misc/update.c \
> -       misc/update_crypto.c \
>  	misc/xml.c \
>  	misc/addons.c \
>  	misc/filter.c \
> @@ -442,6 +439,14 @@ libvlccore_la_SOURCES += input/vlm.c
> input/vlm_event.c input/vlmshell.c
>  endif
>  endif
>  
> +if UPDATE_CHECK
> +libvlccore_la_SOURCES += \
> +       misc/update.h misc/update.c \
> +       misc/update_crypto.c
> +AM_CFLAGS += $(GCRYPT_CFLAGS)
> +libvlccore_la_LIBADD += $(GCRYPT_LIBS)
> +endif
> +
>  libvlccore_la_LDFLAGS = \
>  	$(LDFLAGS_libvlccore) \
>  	-no-undefined \
> diff --git a/src/misc/update.c b/src/misc/update.c
> index 46bf80c..d8e6ded 100644
> --- a/src/misc/update.c
> +++ b/src/misc/update.c
> @@ -39,8 +39,6 @@
>  #include <vlc_common.h>
>  #include <vlc_update.h>
>  
> -#ifdef UPDATE_CHECK
> -
>  #include <assert.h>
>  
>  #include <vlc_pgpkey.h>
> @@ -757,40 +755,3 @@ update_release_t *update_GetRelease( update_t
> *p_update )
>  {
>      return &p_update->release;
>  }
> -
> -#else
> -#undef update_New
> -update_t *update_New( vlc_object_t *p_this )
> -{
> -    (void)p_this;
> -    return NULL;
> -}
> -
> -void update_Delete( update_t *p_update )
> -{
> -    (void)p_update;
> -}
> -
> -void update_Check( update_t *p_update, void (*pf_callback)( void*, bool
> ),
> -                   void *p_data )
> -{
> -    (void)p_update; (void)pf_callback; (void)p_data;
> -}
> -
> -bool update_NeedUpgrade( update_t *p_update )
> -{
> -    (void)p_update;
> -    return false;
> -}
> -
> -void update_Download( update_t *p_update, const char *psz_destdir )
> -{
> -    (void)p_update; (void)psz_destdir;
> -}
> -
> -update_release_t *update_GetRelease( update_t *p_update )
> -{
> -    (void)p_update;
> -    return NULL;
> -}
> -#endif
> diff --git a/src/misc/update_crypto.c b/src/misc/update_crypto.c
> index 1184596..1ed6476 100644
> --- a/src/misc/update_crypto.c
> +++ b/src/misc/update_crypto.c
> @@ -34,8 +34,6 @@
>  # include "config.h"
>  #endif
>  
> -#ifdef UPDATE_CHECK
> -
>  #include <gcrypt.h>
>  #include <assert.h>
>  #include <limits.h>
> @@ -1106,5 +1104,3 @@ int download_signature( vlc_object_t *p_this,
> signature_packet_t *p_sig,
>  
>      return VLC_SUCCESS;
>  }
> -
> -#endif /* UPDATE_CHECK */
> diff --git a/src/missing.c b/src/missing.c
> index 692b9b5..1ff22e2 100644
> --- a/src/missing.c
> +++ b/src/missing.c
> @@ -402,3 +402,43 @@ vlm_t *vlm_New (vlc_object_t *obj)
>       return NULL;
>  }
>  #endif /* !ENABLE_VLM */
> +
> +#ifndef UPDATE_CHECK
> +# include <vlc_update.h>
> +
> +update_t *(update_New)(vlc_object_t *obj)
> +{
> +    (void) obj;
> +    return NULL;
> +}
> +
> +void update_Delete(update_t *u)
> +{
> +    (void) u;
> +    vlc_assert_unreachable();
> +}
> +
> +void update_Check(update_t *u, void (*cb)(void *, bool), void *opaque)
> +{
> +    (void) u; (void) cb; (void) opaque;
> +    vlc_assert_unreachable();
> +}
> +
> +bool update_NeedUpgrade(update_t *u)
> +{
> +    (void) u;
> +    vlc_assert_unreachable();
> +}
> +
> +void update_Download(update_t *u, const char *dir)
> +{
> +    (void) u; (void) dir;
> +    vlc_assert_unreachable();
> +}
> +
> +update_release_t *update_GetRelease(update_t *u)
> +{
> +    (void) u;
> +    vlc_assert_unreachable();
> +}
> +#endif /* !UPDATE_CHECK */
> diff --git a/test/Makefile.am b/test/Makefile.am
> index e47430e..9f33aa6 100644
> --- a/test/Makefile.am
> +++ b/test/Makefile.am
> @@ -23,7 +23,6 @@ check_PROGRAMS = \
>  	test_libvlc_slaves \
>  	test_src_config_chain \
>  	test_src_misc_variables \
> -       test_src_crypto_update \
>  	test_src_input_stream \
>  	test_src_input_stream_fifo \
>  	test_src_interface_dialog \
> @@ -32,8 +31,10 @@ check_PROGRAMS = \
>  	test_src_misc_keystore \
>  	test_modules_packetizer_hxxx \
>  	test_modules_keystore \
> -       test_modules_tls \
> -       $(NULL)
> +       test_modules_tls
> +if UPDATE_CHECK
> +check_PROGRAMS += test_src_crypto_update
> +endif
>  
>  check_SCRIPTS = \
>  	modules/lua/telnet.sh \
> diff --git a/test/src/crypto/update.c b/test/src/crypto/update.c
> index a1b3e79..ac7def9 100644
> --- a/test/src/crypto/update.c
> +++ b/test/src/crypto/update.c
> @@ -24,15 +24,6 @@
>  
>  #include <stdio.h>
>  
> -#ifndef UPDATE_CHECK
> -int main(void)
> -{
> -    fprintf(stderr, "Update checking disabled, not testing.\n");
> -    return 77;
> -}
> -
> -#else
> -
>  #include <vlc_common.h>
>  #include "../src/misc/update_crypto.c"
>  
> @@ -292,4 +283,3 @@ int main(void)
>      check(&key, &key2, status, &sig, key_longid, key_longid2);
>  
>  }
> -#endif
> 
> _______________________________________________
> vlc-commits mailing list
> vlc-commits at videolan.org
> https://mailman.videolan.org/listinfo/vlc-commits


-- 
Jean-Baptiste Kempf -  President
+33 672 704 734


More information about the vlc-devel mailing list