| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
| |
Remove the commented out hack needed for pre-2001
gettext-0.10.35 and earlier.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gives us a few more features and fixes to rely
on which are present in libtool 2.4.2 (released
2011-10-18), which is older than our autoconf,
automake, and gettext requirements and should therefore
not exclude anyone from building libgphoto2.
Update the libtool initialization to use the more
modern (modern in the sense of libtool 1.9b from
2004-08-29) LT_INIT macro.
We still do not use LTDL_INIT() as that (like AC_WITH_LTDL
used to) insists on us shipping libltdl sources in our
release tarballs, and we do not like shipping third party
sources.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
autoconf 2.59c has introduced docdir, htmldir, so we do not need to
have --with-doc-dir= and --with-html-dir= any more. --docdir= and
--htmldir= will do the job.
|
|
|
|
|
| |
Remove whitespace in `configure --help` before and after
--without-* and --disable-*.
|
|
|
|
|
|
|
|
| |
C11 has added static_assert(EXPR, MSG) to assert.h, but C99
only knows runtime assertions using assert(EXPR). This
defines the COMPILETIME_ASSERT(EXPR) macro which works with
both C11 and later using static_assert(), and another way
if compiling using a pre-C11 language standard.
|
| |
|
|
|
|
|
| |
As configuring --with-camlibs=everything is a very valid option
for build tests, document it.
|
| |
|
|
|
|
|
| |
This helps with editing the *.m4 files in the proper editor
mode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Only use a single gphoto-m4/ subdir - namely that in
libgphoto2_port/gphoto-m4/. This prevents us from
needing to synchronize the contents of the gphoto-m4/
and the libgphoto2_port/gphoto-m4/ directories.
We can do that by switching from recursive make for the
gphoto-m4 subdirectories to using
include path/to/gphoto-m4/Makefile-files
from both the top-level Makefile.am and libgphoto2_port/Makefile.am
using %reldir% (introduced in automake 1.14).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gives us a few more features, and a few less conditionals
conditionally reimplementing features added to automake
before automake 1.14.
automake 1.14 is almost the same automake version requirement
as libexif uses (libexif requires 1.14.1).
automake 1.14 has been released 2013-06-20. If you ever
need to build a post 2021 libgphoto2 from git on a
system with pre 1.14 automake, you can can always
prepare a tarball using "make dist" on a system with
automake 1.14 or later, and build that tarball on the
older machine.
|
|
|
|
|
|
|
|
|
|
|
|
| |
This gives us a few more features and bug fixes and fewer workarounds.
autoconf 2.69 is the same autoconf version requirement as libexif
uses.
autoconf 2.69 has been released 2012-04-25. If you ever need to build a
post 2021 libgphoto2 from git on a system with pre 2.69 autoconf, you
can always prepare a tarball using "make dist" on a system with autoconf
2.69 or later, and build that tarball on the older machine.
|
|
|
|
|
|
|
| |
The "localedir" variable has been introduced by autoconf-2.59c.
We are requiring at least autoconf-2.62, so we do not need to
define and AC_SUBST "localedir" any more.
|
|
|
|
|
| |
Make the two gphoto-m4 directories identical in preparation for
using just one of them.
|
| |
|
|
|
|
|
|
|
|
|
| |
This puts AM_PO_SUBDIRS before AM_GNU_GETTEXT to fix the
error: `po-directories' is already registered with AC_CONFIG_COMMANDS.
and puts the -DLOCALEDIR definition close to the gettext
setup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the same checks for asm .symver and -Wl,--version-script
support for both libgphoto2.la and libgphoto2_port.la.
This also reorganizes the Makefile.am files for libgphoto2.la
and libgphoto2_port.la so that things belonging together are
actually grouped together, so that inconsistencies can become
more visible.
This does not change what actually happens with when linking
the libraries:
* libgphoto2.la is still linked with just a
--export-symbols libgphoto2.sym
list of exported symbols.
* libgphoto2_port.la is still linked with a
-Wl,--version-script=libgphoto2_port.ver
version script.
However, the two library Makefile.am are now organized
in such a way that you can actually see that.
We should examine what those two symbol export methods actually
do on Linux/ELF (complete support for version script semantics),
and on non-ELF systems such as MacOSX dylib or Windows DLL.
|
|
|
|
|
|
|
|
| |
Occasionally, not quoting macro arguments leads to
weird problems.
So we try to consistently quote the arguments to
avoid these kinds of problems.
|
| |
|
|
|
|
| |
This makes it easier to see and merge changes.
|
|
|
|
| |
This makes changes easier to read in diffs.
|
|
|
|
|
| |
Use m4_pattern_forbid to find unnoticed GP_ strings
in the configure and config.status scripts.
|
|
|
|
|
|
|
|
|
|
| |
We still do not use LTDL_INIT() as LTDL_INIT insists on
us shipping libltdl sources in our release tarballs and
we still do not like shipping third party sources.
This now checks locations other than the default include
and linker paths, so that configure should find libltdl
by itself now on e.g. FreeBSD or OSX/homebrew.
|
|
|
|
|
|
|
|
| |
Fix the GP_SLEEP invocation in the Gentoo hack warning which
adds the ptp2 camlib if the only camlib requested is canon, as
modern Canon cameras use the ptp2 camlib, not the canon camlib.
Also syncs gphoto-m4/gp-camlibs.m4 to libgphoto2-port/gphoto-m4/.
|
| |
|
|
|
|
|
|
|
| |
Add remaining source files including libgphoto2/i18n.h
or libgphoto2_port/i18n.h to the respective POTFILES.in,
regardless of whether or not the source file actually
contains translated strings.
|
|
|
|
|
|
|
| |
All three added sourcefiles had the i18n headers,
but strings actually marked for translations are
only found in ptpip/ptpip.c, not in any of the
vusb/vcamera.c or vusb/vusb.c files.
|
|
|
|
|
| |
Rename the libgphoto2_port/test directory to libgphoto2_port/tests
to make its name the same as libgphoto2/tests.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Factor out the i18n definitions into i18n.h include files:
One include file each for libgphoto2 and for libgphoto2_port.
This removes the complete
#ifdef ENABLE_NLS
# include <libintl.h>
# undef _
# define _(String) dgettext (GETTEXT_PACKAGE, String)
# ifdef gettext_noop
# define N_(String) gettext_noop (String)
# else
# define N_(String) (String)
# endif
#else
# define _(String) (String)
# define N_(String) (String)
#endif
block (which in some occasions defines even more macros)
and replaces it with a single line
#include "libgphoto2/i18n.h"
for camlibs and libgphoto2 itself and with
#include "libgphoto2_port/i18n.h"
for iolibs and libgphoto2_port itself.
This gives us two central locations to change the defintions.
|
|
|
|
|
|
|
|
|
|
|
| |
The gphoto-m4 gp-check-library.m4 has been using PKG_PROG_PKG_CONFIG
since commit c1ab67b7288359066b4884d3058e712f6170da35 (2017-08-29),
so this makes the libgphoto2_port/gphoto-m4 use the same code.
As PKG_PROG_PKG_CONFIG provided by pkg-config's pkg.po, this means
we now require that to be present - and we should better check at
autoreconf time that the PKG_PROG_PKG_CONFIG macro is actually
defined.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
As the German translation ("de") is configured as "external" at
the Translation Project, there will be no updated `de.po` files
from the Translation Project to overwrite what we have in our
source tree.
So the gphoto project needs to maintain the de.po file independent
from the Translation Project, and updating the file from ISO-8859-1
to UTF-8 is a part of that.
|
|
|
|
|
|
|
|
|
|
| |
While adding support for "make rpm" appeared to be a good idea in the
early 2000s, it really is not and only clutters up the build system.
At least the libgphoto2_port translation cannot have worked in the
rpm package since at least 5255d802102c10f971dc98f10828451d9922340d
from 2007-10-28, so it is a good guess that this has not really been
in use.
|
|
|
|
|
| |
For portability, use && and || instead of the test arguments
-a and -o.
|
| |
|
|
|
|
|
|
| |
Not that its presence hurt anything, but we could
have removed the libltdlc.la stuff some time in
the 2000s.
|
|
|
|
|
|
|
|
| |
Fix the output configure prints about DEFAULT_CAMLIBS
and DEFAULT_IOLIBS.
This only affects the output configure prints, no
actual config changes are happening.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This improves the definition of the camlib and iolib compile time
install location and the runtime lookup location to use the same
mechanism of using variables.
Example uses for Windows builds using the default install
location:
./configure \
DEFAULT_CAMLIBS='./libgphoto2' \
DEFAULT_IOLIBS='./libgphoto2_port'
Or example use for explicitly defining the install location
as well:
./configure \
camlibdir='/path/to/camlibs' \
DEFAULT_CAMLIBS='./libgphoto2' \
iolibdir='/path/to/iolibs' \
DEFAULT_IOLIBS='./libgphoto2_port'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Make CAMLIBS and IOLIBS fallback locations (where libgphoto2 looks for
camlibs at runtime if the CAMLIBS environment variable is not set, and
where libgphoto2_port looks for iolibs at runtime if the IOLIBS
environment variable is not set) configurable at configure time.
The runtime lookup location DEFAULT_CAMLIBS and DEFAULT_IOLIBS can be
set independently from the installation location camlibdir and iolibdir.
This is to accommodate systems like Windows where it apparently makes
sense to install files to a location at build time which is different
to where the files will eventually end up being used from:
./configure \
--with-camlibdir='/path/to/camlibs' \
DEFAULT_CAMLIBS='./libgphoto2' \
--with-iolibdir='/path/to/camlibs' \
DEFAULT_IOLIBS='./libgphoto2_port'
As this interface is a bit ugly mixing the variables with the
--with-argument, we will improve that in the next commit.
|
|
|
|
|
| |
Use a common m4 macro GP_DRIVERDIR for defining iolibdir and IOLIBS
in libgphoto2_port and camlibdir and CAMLIBS in libgphoto2.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
There are five libgphoto2 internal *.h include files inside the
source tree's `libgphoto2/` folder. Internal means they are part
of the libgphoto2 implementation, and are not part of the public
libgphoto2 API or ABI. These files have names which are so
generic that it is difficult to see from a `#include` statement
that the included file is actually part of libgphoto2:
bayer-types.h
bayer.h
exif.h
gamma.h
jpeg.h
While building, an additional file is created inside the `libgphoto2/`
folder with a name which does hint to its relationship with libgphoto2:
gphoto2-endian.h
To reduce the probability of accidental conflicts with include files
which might also be called the same very generic name, this changes
the use of these include files to a preprocessor directive like
#include "libgphoto2/bayer.h>
instead of
#include "bayer.h"
To enforce the need for the "libgphoto2/" part in the #include
preprocessor directive, this also removes the respective `-I`
arguments for the `libgphoto2` subdir (both in source tree and in
build tree) from `*_CPPFLAGS`.
This change was inspired by `libgphoto2/` and `camlibs/stv0680/`
containing very different include files both called `bayer.h`.
|
|
|
|
|
| |
Group the definitions related to the iolib list definitions,
as they are not related to the iolibdir related definitions.
|
|
|
|
|
| |
Use same autoconf requirement in libgphoto2_port
configure.ac as in libgphoto2 configure.ac.
|
|
|
|
|
| |
I have no idea how that non-ASCII hyphen character made its
way into that m4 file, but this returns a simple ASCII character.
|
|
|
|
|
|
|
| |
Convert the easy ISO-8859 text to UTF-8.
The difficult ISO-8859 text will will be eliminated
by future commits.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
C preprocessor macros beginning/ending with underscores are
reserved for system use as well as macros containing a double
underscore anywhere, so application software macros are
supposed to be named differently.
For a header file gphoto2-abilities-list.h, this
consistently uses a macro name
LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H
for the usual
#ifndef LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H
#define LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H
... content of the header file ...
#endif /* !defined(LIBGPHOTO2_GPHOTO2_ABILITIES_LIST_H) */
Found using "clang -Weverything".
This should work, unless when run with an ancient C preprocessor
which might only the first 8 or 10 characters to distinguish
macro names and ignores the remainder of the name.
|