summaryrefslogtreecommitdiff
path: root/configure.ac
Commit message (Collapse)AuthorAgeFilesLines
* "Writing shared libraries" URL is available againHans Ulrich Niedermann2022-10-151-2/+1
| | | | | | | | Mike Hearn's "Writing shared libraries" is available again at https://plan99.net/~mike/writing-shared-libraries.html Thanks, Mike!
* Find working URL for "Writing shared libraries"Hans Ulrich Niedermann2022-10-151-1/+3
| | | | Find a working URL for "Writing shared libraries" by Mike Hearn
* bs: forbid unexapanded LT_ macros in configureHans Ulrich Niedermann2022-10-111-0/+2
|
* Use LIBWS232_* with $(...) instead of @...@Hans Ulrich Niedermann2022-09-061-3/+5
|
* camlib build var cleanupHans Ulrich Niedermann2022-09-011-1/+0
| | | | | | | | | | | | | | | Consistently use the same notation and formatting for all camlib Makefile-files, which uses * common $(camlib_cflags) * common $(camlib_cppflags) * common $(camlib_dependencies) * common $(camlib_ldflags) * common $(camlib_libadd) and then groups additional related definitions together, making it obvious when e.g. bar_la_LIBADD adds FOO_LIBS but bar_la_CPPFLAGS forgot to add FOO_CFLAGS.
* 2.5.30.1 development snapshotMarcus Meissner2022-07-021-1/+1
|
* 2.5.30 releasev2.5.30libgphoto2-2_5_30-releaseMarcus Meissner2022-07-021-2/+2
|
* Allow overriding build tools from configure command lineHans Ulrich Niedermann2022-05-191-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Introduce GP_CHECK_PROG macro to allow users to override the autodetection of tools, instead of the autodetection overriding the user's explicit wish. GP_CHECK_PROG([SORT, [sort], [text line sorting tool]) will now allow calling ./configure SORT="mysort" and have subsequent builds use that given value without checking PATH. When calling `configure` without SORT=, AC_PATH_PROG will look for `sort` in `PATH` and set `SORT` to the value it has found. For comparison, here is the old buggy method: AC_ARG_VAR([SORT], [sort], [text line sorting tool]) AC_PATH_PROG([SORT], [sort], [no]) When called as `configure SORT="mysort"`, the expanded AC_PATH_PROG will just look in `PATH` for `sort` and set `SORT` to the `sort` it found, completely ignoring the SORT= value given on the `configure` command line.
* remove additional AM_CONDITIONAL definitionsHans Ulrich Niedermann2022-05-191-6/+0
| | | | | | | | | | Remove additional AM_CONDITIONAL definitions for HAVE_LIBCURL and HAVE_LIBXML2. Those two AM_CONDITIONALS are already defined by GP_CHECK_LIBRARY. If not having the addtional definitions exposes a bug, then that bug should be fixed, not papered over with the additional definitions.
* Complete what adding gp_init_localedir() startedHans Ulrich Niedermann2022-05-191-2/+3
| | | | | | | | | | Complete what adding the gp_init_localedir() function implied: * only set success flag in the success case * consistent use of "initialize" spelling * add analogous gp_port_init_localedir() function * implement and document edge cases * update NEWS
* Require gettext >= 0.19.1Hans Ulrich Niedermann2022-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* For clang, use -Wmost instead of -WeverythingHans Ulrich Niedermann2022-03-301-1/+1
| | | | | | | | | | 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.
* start 2.5.29.1 developmentMarcus Meissner2022-03-051-2/+2
|
* 2.5.29 releasev2.5.29libgphoto2-2_5_29-releaseMarcus Meissner2022-03-051-1/+1
|
* switch to 2.5.28.1 developmentMarcus Meissner2022-01-031-1/+1
|
* 2.5.28 releasev2.5.28libgphoto2-2_5_28-releaseMarcus Meissner2022-01-031-2/+2
|
* Add pull-translations targetHans Ulrich Niedermann2021-12-121-0/+6
| | | | | | | Add pull-translations target to make it easier to pull translations from the Translation Project: make pull-translations
* Require gettext >= 0.18.3; remove GP_GETTEXT_HACKHans Ulrich Niedermann2021-12-101-7/+6
| | | | | | | | | | | | | | | | | | | | | | | | This requires gettext version 0.18.3 or later, and it removes the GP_GETTEXT_HACK which used to generate a po/Makevars file from the po/Makevers.template. gettext 0.18.3 is the same gettext version requirement as libexif uses. gettext 0.18.3 has been released 2013-07-07, which is a similar timeframe of the autoconf, automake and libtool releases we require. If you ever need to build a post 2021 libgphoto2 from git on a system with pre 0.18.3 gettext, you can can always prepare a tarball using "make dist" on a system with gettext 0.18.3 or later, and build that tarball on the older machine. Not generating the po/Makevars file any more means that we need additional consistency checks for the parts of po/Makevars which cannot be derived from the Autoconf standard set of AC_SUBST()ed Makefile.in variables.
* Require at least libtool 2.4.2, use LT_INITHans Ulrich Niedermann2021-12-011-12/+14
| | | | | | | | | | | | | | | | | 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-011-5/+1
|
* Remove --with-doc-dir and --with-html-dirHans Ulrich Niedermann2021-11-141-2/+1
| | | | | | 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.
* Only use a single gphoto-m4/ subdirHans Ulrich Niedermann2021-11-071-1/+0
| | | | | | | | | | | | | | | 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-12/+2
| | | | | | | | | | | | | | | | 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.
* Add build tool version commentHans Ulrich Niedermann2021-11-071-0/+22
| | | | | | This adds a list of tool releases with their respective release dates and why they are important for libgphoto2 (libexif requirements, notable bug fixes and features).
* 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.
* indentation for readabilityHans Ulrich Niedermann2021-11-071-5/+5
|
* remove old libtool/libltdl commentsHans Ulrich Niedermann2021-11-071-34/+0
|
* Use LINGUAS files instead of ALL_LINGUAS variableHans Ulrich Niedermann2021-11-071-1/+0
|
* Use the same gettext setupHans Ulrich Niedermann2021-11-071-3/+3
| | | | | | | | | 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-071-20/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-24/+30
| | | | | | | | 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-18/+18
|
* AM_INIT_AUTOMAKE change to indented multi-line formHans Ulrich Niedermann2021-11-031-1/+9
| | | | This makes it easier to see and merge changes.
* AC_INIT change to arguments on multiple linesHans Ulrich Niedermann2021-11-031-1/+4
| | | | This makes changes easier to read in diffs.
* Use m4_pattern_forbid to find unnoticed GP_ stringsHans Ulrich Niedermann2021-11-031-0/+5
| | | | | Use m4_pattern_forbid to find unnoticed GP_ strings in the configure and config.status scripts.
* Update the checks for libjpeg (GP_LIBJPEG)Hans Ulrich Niedermann2021-11-031-16/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the checks for libjpeg to try libjpeg.pc with PKG_CHECK_MODULES first, and also to allow explicitly set LIBJPEG_CFLAGS and LIBJPEG_LIBS. The old detection logic did not allow specifying the location of libjpeg at all. It only allowed either disabling libjpeg or using libjpeg from the default include and linker paths. So this also changes the places in the Makefiles where we used to add @LIBJPEG@ to the linker to both link with $(LIBJPEG_LIBS) and compile with $(LIBJPEG_CFLAGS). The new configure logic keeps --without-jpeg to force- disable libjpeg, but updates the detection of libjpeg to first try the LIBJPEG_* variables if given, otherwise try PKG_CHECK_MODULES for libjpeg, and only then falls back to the old way of just trying the default include and link locations for libjpeg. This mentions more information in the configure summary if not building with libjpeg. This is the first time we make it possible to build with libjpeg from e.g. FreeBSD ports' or MacOS homebrew's jpeg-turbo packages.
* Update libltdl checks (GP_LIBLTDL)Hans Ulrich Niedermann2021-11-031-4/+2
| | | | | | | | | | 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.
* Make the compiler warnings work with clang, gcc, and othersHans Ulrich Niedermann2021-11-031-9/+62
| | | | | | | | | | | | | | | | | | | | | | Make the compiler warnings work with clang in addition to gcc by test compiling all warning options before actually using them. This came up when the pedantic build tests failed on FreeBSD 13. To achieve this, we add -Werror=unknown-warning-option to the CFLAGS for clang to abort immediately on encountering an unknown warning option. This means we now only add warnings which the compiler (clang, gcc, or whatever) actually supports. As running configure now checks whether compiling is possible for each warning flag, this should not introduce compatibility issues where builds which used to work now fail to build. However, you can always opt to not use the generated CFLAGS by setting CFLAGS to empty or whatever else you want when running your build, e.g. like make all check CFLAGS=
* tests: add pedantic compile tests for -std={c2x,c++20}Hans Ulrich Niedermann2021-11-031-0/+2
| | | | | | | | Add a pedantic C compile test for c2x in addition to the existing ones for c90, c99, and c11. Add a pedantic C++ compile test for c++20 in addition to the existing ones for c++98, c++11, c++14, and c++17.
* library versioning comment without trailing spacesHans Ulrich Niedermann2021-10-251-4/+4
|
* Delete old debug commentsHans Ulrich Niedermann2021-10-251-2/+0
| | | | Delete some old debug comments from the configure script.
* Factor out i18n stuff into separate i18n.h filesHans Ulrich Niedermann2021-10-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Here document: Use <<EOF everywhereHans Ulrich Niedermann2021-10-251-2/+2
| | | | | | | | Using EOF does the job, is well readable, and there is just no reason to use any other string. On the contrary, it may cause additional trouble when using m4_pattern_forbid.
* added note for the 1:0:7 revMarcus Meissner2021-10-221-0/+1
|
* rev the age of the library.Marcus Meissner2021-10-221-2/+3
| | | | see https://github.com/gphoto/libgphoto2/pull/738
* Remove linux-hotplug supportHans Ulrich Niedermann2021-10-191-1/+0
| | | | | | | | | | | | | | The linux-hotplug mechanism has been replaced by udev and hwdb for quite some time now, so we can remove the support for packaging libgphoto2 with linux-hotplug. For a rough idea of the timeline of linux-hotplug being replaced, the last release of hotplug appears to have been in March of 2004: https://sourceforge.net/projects/linux-hotplug/files/ and the Fedora 5 (released March 20, 2006) release notes mention the hotplug package having been removed.
* Remove unused code adding x bit to *.shHans Ulrich Niedermann2021-10-191-10/+0
| | | | | | There are no *.sh files being generated by AC_CONFIG_FILES, so the code bit setting the executable bit on *.sh is not needed.
* Remove rpm packagingHans Ulrich Niedermann2021-10-191-5/+2
| | | | | | | | | | 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-191-1/+1
| | | | | For portability, use && and || instead of the test arguments -a and -o.