The function is called from gp_abilities_list_new() so existing code
will carry on working as before. Non-standard installations of
libgphoto2 can call the initialisation function with their choice of
locale dir. The function includes code to ensure it's only run once.
Use parallel make for builds. We use the GNU coreutils'
"nproc" utility to determine the number of cores available
for us to use. We then tell make to launch up to that number
of processes (-j$(nproc)) in parallel, but only if the system
load is below $(nproc) (-l$(nproc)).
That should make reasonably good use of however many cores github
makes available to us, while not overloading the build server
or the build server VM.
Require gettext >= 0.19.1 (from 2014-06-10), which both works properly
when building on many cores, and is also the first gettext release
whose po/Makefile.in.in allows disabling rebuilding of the *.po files
on normal (non dist target) builds.
The new po/Makefile.in.in rules fix "make distcheck" consistently
failing to remove ../../../po/libgphoto2-6.pot when running
"make -j$(nproc) distcheck" on a 12 core system:
rm: cannot remove '../../../po/libgphoto2-6.pot': Permission denied
The "make dist" (and "make distcheck") targets will still update the
po files by default, but that could also be disabled in po/Makevars
if we wanted to separate updating the *.po files for translation from
"make dist" or "make distcheck" at any time in the future.
As gettext-0.19.1 was released almost 8 years ago, this is the newest
build tool release requirement for bulding libgphoto2.
If you ever need to build a 2022 or later libgphoto2 from git on a
system with pre 0.19.1 gettext, you can can always prepare a tarball
running "make dist" on a system with gettext 0.19.1 or later, and
build that tarball on the older machine.
Consistently spell initialize the AE way. Excluding the *.po files,
we had 293 occurrences of the word, of which 279 used the AE
spelling, so changing everything to AE for consistency is not
much of a leap.
I have found good arguments from clang developers for not
using -Weverything after all. Instead, -Wmost is the
preferred option to enable the most warnings reasonable.
Apparently, -Weverything can a set of warnings where one
warning contradicts the other and is really only useful
people developing clang itself.
Values determined by changing values on the camera and then re-reading
the property. While in the camera HEIF is accompanied by a mention of
chroma sampling, 4:2:2 or 4:2:0, this is not presented in
CompressionSettings, so it must be in one of the Unknown DPC code's.
The ptp_sony_9280 command cause the ILCE-7M4 PTP interface to
immediately lock up upon receiving the command when in MTP mode.
Capture mode does not advertise 9280/9281 as supported and is not
impacted. Camera storage is not accessible in capture mode.