summaryrefslogtreecommitdiff
path: root/libgphoto2_port
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove commented out hack for pre-2001 gettextHans Ulrich Niedermann2021-12-091-8/+0
| | | | | Remove the commented out hack needed for pre-2001 gettext-0.10.35 and earlier.
* Require at least libtool 2.4.2, use LT_INITHans Ulrich Niedermann2021-12-011-12/+13
| | | | | | | | | | | | | | | | | 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.
* Invoke AC_PROG_SED before using ${SED}Hans Ulrich Niedermann2021-12-012-5/+2
|
* remove superflous ;Marcus Meissner2021-11-281-1/+1
|
* added c++ wrappersMarcus Meissner2021-11-281-0/+7
|
* Remove --with-doc-dir and --with-html-dirHans Ulrich Niedermann2021-11-144-94/+21
| | | | | | 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 around AS_HELP_STRING optionsHans Ulrich Niedermann2021-11-142-5/+5
| | | | | Remove whitespace in `configure --help` before and after --without-* and --disable-*.
* Add compiletime-assert.h for COMPILETIME_ASSERT() macroHans Ulrich Niedermann2021-11-112-0/+95
| | | | | | | | 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.
* Use non-reserved macro name for generated gphoto-endian.hHans Ulrich Niedermann2021-11-101-3/+4
|
* with-camlibs: document "everything" set in the --help outputHans Ulrich Niedermann2021-11-071-0/+1
| | | | | As configuring --with-camlibs=everything is a very valid option for build tests, document it.
* with-camlibs: grammar fix for standard set descriptionHans Ulrich Niedermann2021-11-071-1/+1
|
* Add "mode: autoconf" line to all *.m4 filesHans Ulrich Niedermann2021-11-0716-7/+114
| | | | | This helps with editing the *.m4 files in the proper editor mode.
* Only use a single gphoto-m4/ subdirHans Ulrich Niedermann2021-11-072-2/+3
| | | | | | | | | | | | | | | 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).
* Require at least automake 1.14Hans Ulrich Niedermann2021-11-071-13/+6
| | | | | | | | | | | | | | | | 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.
* Require at least autoconf-2.69Hans Ulrich Niedermann2021-11-071-1/+1
| | | | | | | | | | | | 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.
* Remove definition of localedirHans Ulrich Niedermann2021-11-071-1/+0
| | | | | | | 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 gphoto-m4 directories identicalHans Ulrich Niedermann2021-11-076-0/+1247
| | | | | Make the two gphoto-m4 directories identical in preparation for using just one of them.
* Use LINGUAS files instead of ALL_LINGUAS variableHans Ulrich Niedermann2021-11-072-1/+23
|
* Use the same gettext setupHans Ulrich Niedermann2021-11-071-2/+2
| | | | | | | | | 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.
* Consistent checks for asm .symver and version-scriptHans Ulrich Niedermann2021-11-075-54/+99
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* m4 quote all macro argumentsHans Ulrich Niedermann2021-11-031-63/+80
| | | | | | | | Occasionally, not quoting macro arguments leads to weird problems. So we try to consistently quote the arguments to avoid these kinds of problems.
* AC_CONFIG_FILES change to indented multi-line formHans Ulrich Niedermann2021-11-031-9/+9
|
* AM_INIT_AUTOMAKE change to indented multi-line formHans Ulrich Niedermann2021-11-031-1/+8
| | | | This makes it easier to see and merge changes.
* AC_INIT change to arguments on multiple linesHans Ulrich Niedermann2021-11-031-1/+6
| | | | This makes changes easier to read in diffs.
* Use m4_pattern_forbid to find unnoticed GP_ stringsHans Ulrich Niedermann2021-11-032-0/+6
| | | | | Use m4_pattern_forbid to find unnoticed GP_ strings in the configure and config.status scripts.
* Update libltdl checks (GP_LIBLTDL)Hans Ulrich Niedermann2021-11-032-42/+108
| | | | | | | | | | 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.
* gp-camlibs.m4: Fix GP_SLEEP invocation in in Gentoo hackHans Ulrich Niedermann2021-11-031-115/+434
| | | | | | | | 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/.
* sync gp-gettext-hack.m4 files between gphoto-m4 dirsHans Ulrich Niedermann2021-10-261-6/+9
|
* POTFILES.in: Add remaining source files using i18n.hHans Ulrich Niedermann2021-10-251-0/+1
| | | | | | | 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.
* POTFILES.in: Add ptpip, vusb iolibsHans Ulrich Niedermann2021-10-251-2/+5
| | | | | | | 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 libgphoto2_port test directory testsHans Ulrich Niedermann2021-10-255-2/+2
| | | | | Rename the libgphoto2_port/test directory to libgphoto2_port/tests to make its name the same as libgphoto2/tests.
* library versioning comment without trailing spacesHans Ulrich Niedermann2021-10-251-4/+4
|
* Factor out i18n stuff into separate i18n.h filesHans Ulrich Niedermann2021-10-2517-237/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* sync gp-check-library.m4 between gphoto-m4 dirsHans Ulrich Niedermann2021-10-253-44/+8
| | | | | | | | | | | 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.
* Typo fix: It is _SOURCES, not _SOURCEHans Ulrich Niedermann2021-10-241-2/+2
|
* Update libphoto2_port/po/de.po to UTF-8 after allHans Ulrich Niedermann2021-10-211-69/+69
| | | | | | | | | | | 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.
* Remove rpm packagingHans Ulrich Niedermann2021-10-192-89/+0
| | | | | | | | | | 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.
* Use && and || instead of test arguments -a and -oHans Ulrich Niedermann2021-10-192-3/+3
| | | | | For portability, use && and || instead of the test arguments -a and -o.
* Sync gp-byteorder.m4, supporting 64bit valuesHans Ulrich Niedermann2021-10-191-0/+4
|
* Remove unused remnants of convenience libltdlHans Ulrich Niedermann2021-10-193-65/+0
| | | | | | Not that its presence hurt anything, but we could have removed the libltdlc.la stuff some time in the 2000s.
* Fix check output for DEFAULT_CAMLIBS and DEFAULT_IOLIBSHans Ulrich Niedermann2021-10-121-1/+2
| | | | | | | | Fix the output configure prints about DEFAULT_CAMLIBS and DEFAULT_IOLIBS. This only affects the output configure prints, no actual config changes are happening.
* Replace --with-foodir= argument by foodir= variableHans Ulrich Niedermann2021-10-111-6/+43
| | | | | | | | | | | | | | | | | | | | | | 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 fallbacks configurableHans Ulrich Niedermann2021-10-111-5/+15
| | | | | | | | | | | | | | | | | | | | | | | 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 common code for defining iolibdir and camlibdirHans Ulrich Niedermann2021-10-113-15/+34
| | | | | Use a common m4 macro GP_DRIVERDIR for defining iolibdir and IOLIBS in libgphoto2_port and camlibdir and CAMLIBS in libgphoto2.
* Avoid accidental include file name collisionsHans Ulrich Niedermann2021-10-113-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 iolib list related definitionsHans Ulrich Niedermann2021-10-101-6/+11
| | | | | 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_portHans Ulrich Niedermann2021-10-101-1/+1
| | | | | Use same autoconf requirement in libgphoto2_port configure.ac as in libgphoto2 configure.ac.
* utf-8: fix weird minus/hyphen characterHans Ulrich Niedermann2021-10-091-1/+1
| | | | | I have no idea how that non-ASCII hyphen character made its way into that m4 file, but this returns a simple ASCII character.
* utf-8: Convert ISO-8859 text to UTF-8Hans Ulrich Niedermann2021-10-093-110/+110
| | | | | | | Convert the easy ISO-8859 text to UTF-8. The difficult ISO-8859 text will will be eliminated by future commits.
* Use consistently named non-reserved CPP macros for header filesHans Ulrich Niedermann2021-10-059-27/+30
| | | | | | | | | | | | | | | | | | | | | | | 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.