<html><head></head><body>No. It's done on purpose. Sure, compilation would be faster if each and every definition was in its own file. But the build system is supposed to be optimised for maintainability, not for building on under-powered systems. We don't *want* to have to care and maintain sma hundred separate files instead of config.h and then maintain references to all those files where they're used.<br><br><div class="gmail_quote">Le 29 janvier 2020 12:58:47 GMT+02:00, Steve Lhomme <robux4@ycbcr.xyz> a écrit :<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">On 2020-01-29 11:40, Rémi Denis-Courmont wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">You could make the same argument with any preprocessor definition in any <br>header. That's exactly what ccache is for, and it is both less <br>constrained and much easier to set up than moving each and every <br>definition in a dedicated source module.<br></blockquote><br>I agree there's potentially more things in config.h that should not be <br>in there. That's not an excuse not to start cleaning it.<br><br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;">And neither your manual nor the systematic ccache approaches really work <br>once LTO is taken into use anyway, because you can't prevent relinking. <br>So it's doubly pointless kludge at this point.<br><br>Le 29 janvier 2020 11:31:03 GMT+02:00, Steve Lhomme <robux4@ycbcr.xyz> a <br>écrit :<br><br>    On 2020-01-29 10:26, Rémi Denis-Courmont wrote:<br><br>        You can ask the TC to bring you better hardware. I'm pretty sure<br>        we'll<br>        say it's not the TC's problem.<br><br>        The community is not responsible for maintaining your hacks for<br>        your<br>        choice of under-provisioned hardwared.<br><br>        Meanwhile this patch neither solves the problem that you need to<br>        recompile when config.h changes, unlike ccache.<br><br><br>    You misunderstood the issue. When config.h changes the code is rebuilt<br>    just like before. The point is that is doesn't change unnecessarily if<br>    the configure line changed but the actual code configuration didn't change.<br><br>        Le 29 janvier 2020 11:21:54 GMT+02:00, Steve Lhomme<br>        <robux4@ycbcr.xyz> a<br>        écrit :<br><br>        On 2020-01-29 10:13, Rémi Denis-Courmont wrote:<br><br>        Use ccache.<br><br><br>        Buy me more storage.<br>        (is as useful an answer)<br><br>        -1<br><br>        Le 29 janvier 2020 09:42:51 GMT+02:00, Steve Lhomme<br>        <robux4@ycbcr.xyz> a<br>        écrit :<br><br>        If the configure call changed but the built files are the same<br>        and the rest<br>        of the config.h file has not changed, no need to rebuild everything.<hr>        configure.ac | 3 ++-<br>        src/Makefile.am | 2 ++<br>        src/misc/gen_messages.c.in | 46<br>        ++++++++++++++++++++++++++++++++++++++<br>        src/misc/messages.c | 9 +-------<br>        4 files changed, 51 insertions(+), 9 deletions(-)<br>        create mode 100644 src/misc/gen_messages.c.in<br><br>        diff --git a/configure.ac b/configure.ac<br>        index ad2c55aeeb0..390721866b0 100644<br>        --- a/configure.ac<br>        +++ b/configure.ac<br>        @@ -4505,7 +4505,6 @@ COPYRIGHT_MESSAGE="Copyright ©<br>        ${COPYRIGHT_YEARS} the VideoLAN team"<br>        AC_DEFINE_UNQUOTED([VERSION_MESSAGE], "${VERSION_MESSAGE}",<br>        [Simple version string])<br>        AC_DEFINE_UNQUOTED([COPYRIGHT_MESSAGE], "${COPYRIGHT_MESSAGE}",<br>        [Copyright string])<br>        AC_DEFINE_UNQUOTED([COPYRIGHT_YEARS], "${COPYRIGHT_YEARS}", [The<br>        copyright years])<br>        -AC_DEFINE_UNQUOTED([CONFIGURE_LINE], "${CONFIGURE_LINE}", [The<br>        ./configure command line])<br>        AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],${VERSION_MAJOR},<br>        [version major number])<br>        AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MINOR],${VERSION_MINOR},<br>        [version minor number])<br>        AC_DEFINE_UNQUOTED([PACKAGE_VERSION_REVISION],${VERSION_REVISION},<br>        [version revision number])<br>        @@ -4513,6 +4512,7 @@<br>        AC_DEFINE_UNQUOTED([PACKAGE_VERSION_EXTRA],${VERSION_EXTRA},<br>        [version extra numb<br>        AC_DEFINE_UNQUOTED([PACKAGE_VERSION_DEV],"${VERSION_DEV}",<br>        [version development string])<br>        AC_SUBST([COPYRIGHT_MESSAGE])<br>        AC_SUBST([VERSION_MESSAGE])<br>        +AC_SUBST([CONFIGURE_LINE])<br>        AC_SUBST([VERSION_MAJOR])<br>        AC_SUBST([VERSION_MINOR])<br>        AC_SUBST([VERSION_REVISION])<br>        @@ -4558,6 +4558,7 @@ AC_CONFIG_FILES([<br>        test/Makefile<br>        modules/hw/mmal/Makefile<br>        share/vlc.appdata.xml.in<br>        + src/misc/gen_messages.c<br>        ])<br><br>        AM_COND_IF([HAVE_WIN32], [<br>        diff --git a/src/Makefile.am b/src/Makefile.am<br>        index b6c59968370..2fd69aeb989 100644<br>        --- a/src/Makefile.am<br>        +++ b/src/Makefile.am<br>        @@ -390,6 +390,8 @@ libvlccore_la_SOURCES = \<br>        misc/subpicture.h \<br>        misc/medialibrary.c \<br>        misc/viewpoint.c<br>        +nodist_libvlccore_la_SOURCES = misc/gen_messages.c<br>        +CLEANFILES += misc/gen_messages.c<br>        libvlccore_la_LIBADD = $(LIBS_libvlccore) \<br>        ../compat/libcompat.la \<br>        $(LTLIBINTL) $(LTLIBICONV) \<br>        diff --git a/src/misc/gen_messages.c.in b/src/misc/gen_messages.c.in<br>        new file mode 100644<br>        index 00000000000..da92de80e23<br>        --- /dev/null<br>        +++ b/src/misc/gen_messages.c.in<br>        @@ -0,0 +1,46 @@<br>        +/*****************************************************************************<br>        + * messages.c: messages interface<br>        + * This library provides an interface to the message queue to<br>        be used by other<br>        + * modules, especially intf modules. See vlc_config.h for<br>        output configuration.<br>        +<br>        *****************************************************************************<br>        + * Copyright (C) 1998-2005 VLC authors and VideoLAN<br>        + *<br>        + * Authors: Vincent Seguin <seguin@via.ecp.fr><br>        + * Samuel Hocevar <sam@zoy.org><br>        + *<br>        + * This program is free software; you can redistribute it<br>        and/or modify it<br>        + * under the terms of the GNU Lesser General Public License as<br>        published by<br>        + * the Free Software Foundation; either version 2.1 of the<br>        License, or<br>        + * (at your option) any later version.<br>        + *<br>        + * This program is distributed in the hope that it will be useful,<br>        + * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>        + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>        + * GNU Lesser General Public License for more details.<br>        + *<br>        + * You should have received a copy of the GNU Lesser General<br>        Public License<br>        + * along with this program; if not, write to the Free Software<br>        Foundation,<br>        + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301,<br>        USA.<br>        +<br>        *****************************************************************************/<br>        +<br>        +/*****************************************************************************<br>        + * Preamble<br>        +<br>        *****************************************************************************/<br>        +<br>        +#ifdef HAVE_CONFIG_H<br>        +# include "config.h"<br>        +#endif<br>        +<br>        +#include <vlc_common.h><br>        +<br>        +extern const char psz_vlc_changeset[];<br>        +void vlc_LogSpam(vlc_object_t *obj);<br>        +<br>        +void vlc_LogSpam(vlc_object_t *obj)<br>        +{<br>        + /* Announce who we are */<br>        + msg_Dbg(obj, "VLC media player - @VERSION_MESSAGE@");<br>        + msg_Dbg(obj, "@COPYRIGHT_MESSAGE@");<br>        + msg_Dbg(obj, "revision %s", psz_vlc_changeset);<br>        + msg_Dbg(obj, "configured with @CONFIGURE_LINE@");<br>        +}<br>        diff --git a/src/misc/messages.c b/src/misc/messages.c<br>        index 08725113897..623d7616a07 100644<br>        --- a/src/misc/messages.c<br>        +++ b/src/misc/messages.c<br>        @@ -42,14 +42,7 @@<br>        #include <vlc_modules.h><br>        #include "../libvlc.h"<br><br>        -static void vlc_LogSpam(vlc_object_t *obj)<br>        -{<br>        - /* Announce who we are */<br>        - msg_Dbg(obj, "VLC media player - %s", VERSION_MESSAGE);<br>        - msg_Dbg(obj, "%s", COPYRIGHT_MESSAGE);<br>        - msg_Dbg(obj, "revision %s", psz_vlc_changeset);<br>        - msg_Dbg(obj, "configured with %s", CONFIGURE_LINE);<br>        -}<br>        +void vlc_LogSpam(vlc_object_t *obj);<br><br>        struct vlc_logger {<br>        const struct vlc_logger_operations *ops;<br><br><br>        -- <br>        Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez<br>        excuser<br>        ma brièveté.<hr>        vlc-devel mailing list<br>        To unsubscribe or modify your subscription options:<br>        <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><hr>        vlc-devel mailing list<br>        To unsubscribe or modify your subscription options:<br>        <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br><br>        -- <br>        Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez<br>        excuser<br>        ma brièveté.<hr>        vlc-devel mailing list<br>        To unsubscribe or modify your subscription options:<br>        <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><hr>    vlc-devel mailing list<br>    To unsubscribe or modify your subscription options:<br>    <a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser <br>ma brièveté.<hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br><br></blockquote><hr>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a></pre></blockquote></div><br>-- <br>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.</body></html>