#4746: buildbot performs unnecessary dependency checks
--------------------+-------------------------------------
 Reporter:  Forgon  |             Owner:
     Type:  bug     |            Status:  new
 Priority:  normal  |         Milestone:  unspecified
Component:  other   |           Version:  unspecified
 Keywords:          |        Blocked By:
 Blocking:          |  Operating System:  All/Non-Specific
--------------------+-------------------------------------
 Before executing `make dist`, buildbot runs `./configure --disable-debug`.
 This script includes several dependency checks using the macro
 'PKG_CHECK_MODULES()' provided by
 [https://www.freedesktop.org/wiki/Software/pkg-config pkg-config], each of
 which must succeed in order to continue compilation (view
 [http://buildbot.wz2100.net/builders/master-
 nightly/builds/1918/steps/configure/logs/stdio this log] for an example of
 failure).

 These checks are unnecessary, because `make dist` merely creates an
 archive containing source code files and newly generated documentation
 (for which dependencies are checked with the less strict macro
 'AC_CHECK_CONF()' of [https://www.gnu.org/software/autoconf/autoconf.html
 autoconf]).

 Thus, two dependencies are currently not checked, which can cause
 compilation failures (see #4637):
 * SDL >= 2.0.5
 * Qt Script >= 5.4

 To fix this problem, Per
 [http://developer.wz2100.net/ticket/4637#comment:21 suggested skipping
 dependency checks for MXE builds]. I offer a better solution:

 The [https://linux.die.net/man/1/pkg-config man page of pkg-config]
 states:

 > The macro PKG_CHECK_MODULES can be used in configure.ac to check whether
 modules exist. A typical usage would be:
 >
 > PKG_CHECK_MODULES([MYSTUFF], [gtk+-2.0 >= 1.3.5 libxml = 1.8.4])
 >
 > This would result in MYSTUFF_LIBS and MYSTUFF_CFLAGS substitution
 variables, set to the libs and cflags for the given module list.

 Before executing `make dist`, buildbot should thus run the `./configure`
 script as below:

 {{{
 ./configure --disable-debug \
 QT5_CFLAGS=' ' QT5_LIBS=' ' \
 SDL_CFLAGS=' ' SDL_LIBS=' ' \
 PNG_CFLAGS=' ' PNG_LIBS=' ' \
 THEORA_CFLAGS=' ' THEORA_LIBS=' ' \
 OPENAL_CFLAGS=' ' OPENAL_LIBS=' ' \
 VORBIS_CFLAGS=' ' VORBIS_LIBS=' ' \
 VORBISFILE_CFLAGS=' ' VORBISFILE_LIBS=' ' \
 GLEW_CFLAGS=' ' GLEW_LIBS=' ' \
 FRIBIDI_CFLAGS=' ' FRIBIDI_LIBS=' ' \
 FREETYPE_CFLAGS=' ' FREETYPE_LIBS=' ' \
 HARFBUZZ_CFLAGS=' ' HARFBUZZ_LIBS=' ' \
 FONTCONFIG_CFLAGS=' ' FONTCONFIG_LIBS=' '
 }}}

--
Ticket URL: <http://developer.wz2100.net/ticket/4746>
Warzone 2100 Trac <http://developer.wz2100.net/>
The Warzone 2100 Project
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Warzone2100-project mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/warzone2100-project

Reply via email to