/config.cache
/config.guess
/config.h
-/config.h.in
/config.log
/config.report
/config.status
/src/view_file/.deps
/src/view_file/.dirstamp
+/build
/build-stamp
/debian/geeqie*
/debian/files
-/doc/html/
# The files that are autocreated(!)
/src/gq-marshal.[ch]
+++ /dev/null
-language: c
-os: linux
-dist: bionic
-sudo: required
-compiler:
- - gcc
- - clang
-before_install:
- - sudo apt-get install -y autoconf automake autotools-dev build-essential debhelper dh-autoreconf dpkg-dev gnome-doc-utils gnome-doc-utils imagemagick intltool libexiv2-dev libgtk2.0-dev libjpeg-dev liblcms2-dev liblircclient-dev liblua5.1-0-dev libtiff-dev libtool
-script: (CFLAGS="-fPIC" ./autogen.sh) && make
+++ /dev/null
-[main]
-host = https://www.transifex.com
-
-[geeqie.main]
-file_filter = po/<lang>.po
-source_file = po/geeqie.pot
-source_lang = en
+++ /dev/null
-## Process this file with automake to produce Makefile.in.
-
-include $(top_srcdir)/aminclude.am
-
-SUBDIRS = src po doc plugins
-DIST_SUBDIRS = src po doc plugins
-
-man_MANS = geeqie.1
-
-readmedir = @readmedir@
-
-if HAVE_PANDOC
-readme_DATA = README.md COPYING ChangeLog TODO README.lirc AUTHORS README.html ChangeLog.html
-else
-readme_DATA = README.md COPYING ChangeLog TODO README.lirc AUTHORS ChangeLog.html
-endif
-
-desktopdir = $(datadir)/applications
-desktop_in_files = geeqie.desktop.in
-desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-icondir = $(datadir)/pixmaps
-icon_DATA = geeqie.png
-
-# Location defined by freedesktop.org
-if EXTERNAL_PREFIX
-appdatadir = $(datadir)/metainfo
-else
-appdatadir = /usr/share/metainfo
-endif
-appdata_DATA = $(appdata_in_files:.xml.in=.xml)
-appdata_in_files = org.geeqie.Geeqie.appdata.xml.in
-@INTLTOOL_XML_RULE@
-
-EXTRA_DIST = \
- $(readme_DATA) \
- $(desktop_in_files) \
- $(icon_DATA) \
- geeqie.spec.in \
- geeqie.1 \
- doxygen.conf \
- $(appdata_in_files)
-
-dist-hook: geeqie.spec
- cp $(top_builddir)/geeqie.spec $(distdir)
-
-DISTCLEANFILES = config.report
-CLEANFILES = $(desktop_DATA) ChangeLog.html $(appdata_DATA)
-
-.PHONY: ChangeLog
-ChangeLog.html:
- ./gen_changelog.sh
-
-README.html: README.md
- ./gen_readme.sh
* [Features](#features)
* [Downloading](#downloading)
-* [Installation](#manual-installation)
+* [Compiling and Installing](#compiling-and-installing)
* [Notes and changes for the latest release](#notes-and-changes-for-the-latest-release)
* [Requirements](#requirements)
+* [Required libraries](#required-libraries)
### Features
Or: `git clone http://git.geeqie.org/git/geeqie.git`
-### Manual Installation
+### Compiling and Installing
-List compile options: `./autogen.sh --help`
+`meson setup build`
+`ninja -C build install`
-Common options:
-`./autogen.sh --disable-gtk3`,
+List compile options:
+`meson configure build`
-Compilation: `./autogen.sh [options]; make -j`
+Apply options e.g.:
+`sudo ninja -C build uninstall`
+`meson configure -Dpdf=enable -Dwebp=disable`
+`ninja -C build install`
-Install: `[sudo] make install`
+Meaning of options:
+`auto` If the library is not found, continue the installation
+`enable` If the library is not found, stop the installation
+`disable` Do not look for the library
-Removal: `[sudo] make uninstall`
+Uninstall:
+`sudo ninja -C build uninstall`
+
+Install new version:
+`sudo ninja -C build uninstall`
+`git pull`
+`ninja -C build install`
#### Note
However if you leave the folder intact, whenever new features or patches are available, execute:
-`git pull; sudo make uninstall; sudo make maintainer-clean; ./autogen.sh; make -j<no. of cpu cores>; sudo make install`
+`sudo ninja -C build uninstall; git pull; ninja -C build install`
Only the changed sources are downloaded, which makes this a quick operation.
+++ /dev/null
-# This file is part of Autoconf. -*- Autoconf -*-\r
-\r
-# Copyright (C) 2004 Oren Ben-Kiki\r
-# This file is distributed under the same terms as the Autoconf macro files.\r
-\r
-########## CHANGELOG ##################\r
-# 2009-01-14 Martin Mann\r
-# * DX_ARG_ABLE : new variable 'DX_FLAG_DX_CURRENT_FEATURE'\r
-# * DX_CLEAR_DEPEND : use of explicit variable 'DX_FLAG_DX_CURRENT_FEATURE'\r
-# in AC_SUBST instead of 'DX_FLAG[]DX_CURRENT_FEATURE' which is rejected by\r
-# newer autotools \r
-\r
-# Generate automatic documentation using Doxygen. Works in concert with the\r
-# aminclude.m4 file and a compatible doxygen configuration file. Defines the\r
-# following public macros:\r
-#\r
-# DX_???_FEATURE(ON|OFF) - control the default setting fo a Doxygen feature.\r
-# Supported features are 'DOXYGEN' itself, 'DOT' for generating graphics,\r
-# 'HTML' for plain HTML, 'CHM' for compressed HTML help (for MS users), 'CHI'\r
-# for generating a separate .chi file by the .chm file, and 'MAN', 'RTF',\r
-# 'XML', 'PDF' and 'PS' for the appropriate output formats. The environment\r
-# variable DOXYGEN_PAPER_SIZE may be specified to override the default 'a4wide'\r
-# paper size.\r
-#\r
-# By default, HTML, PDF and PS documentation is generated as this seems to be\r
-# the most popular and portable combination. MAN pages created by Doxygen are\r
-# usually problematic, though by picking an appropriate subset and doing some\r
-# massaging they might be better than nothing. CHM and RTF are specific for MS\r
-# (note that you can't generate both HTML and CHM at the same time). The XML is\r
-# rather useless unless you apply specialized post-processing to it.\r
-#\r
-# The macro mainly controls the default state of the feature. The use can\r
-# override the default by specifying --enable or --disable. The macros ensure\r
-# that contradictory flags are not given (e.g., --enable-doxygen-html and\r
-# --enable-doxygen-chm, --enable-doxygen-anything with --disable-doxygen, etc.)\r
-# Finally, each feature will be automatically disabled (with a warning) if the\r
-# required programs are missing.\r
-#\r
-# Once all the feature defaults have been specified, call DX_INIT_DOXYGEN with\r
-# the following parameters: a one-word name for the project for use as a\r
-# filename base etc., an optional configuration file name (the default is\r
-# 'Doxyfile', the same as Doxygen's default), and an optional output directory\r
-# name (the default is 'doxygen-doc').\r
-\r
-## ----------##\r
-## Defaults. ##\r
-## ----------##\r
-\r
-DX_ENV=""\r
-AC_DEFUN([DX_FEATURE_doc], ON)\r
-AC_DEFUN([DX_FEATURE_dot], ON)\r
-AC_DEFUN([DX_FEATURE_man], OFF)\r
-AC_DEFUN([DX_FEATURE_html], ON)\r
-AC_DEFUN([DX_FEATURE_chm], OFF)\r
-AC_DEFUN([DX_FEATURE_chi], OFF)\r
-AC_DEFUN([DX_FEATURE_rtf], OFF)\r
-AC_DEFUN([DX_FEATURE_xml], OFF)\r
-AC_DEFUN([DX_FEATURE_pdf], ON)\r
-AC_DEFUN([DX_FEATURE_ps], ON)\r
-\r
-## --------------- ##\r
-## Private macros. ##\r
-## --------------- ##\r
-\r
-# DX_ENV_APPEND(VARIABLE, VALUE)\r
-# ------------------------------\r
-# Append VARIABLE="VALUE" to DX_ENV for invoking doxygen.\r
-AC_DEFUN([DX_ENV_APPEND], [AC_SUBST([DX_ENV], ["$DX_ENV $1='$2'"])])\r
-\r
-# DX_DIRNAME_EXPR\r
-# ---------------\r
-# Expand into a shell expression prints the directory part of a path.\r
-AC_DEFUN([DX_DIRNAME_EXPR],\r
- [[expr ".$1" : '\(\.\)[^/]*$' \| "x$1" : 'x\(.*\)/[^/]*$']])\r
-\r
-# DX_IF_FEATURE(FEATURE, IF-ON, IF-OFF)\r
-# -------------------------------------\r
-# Expands according to the M4 (static) status of the feature.\r
-AC_DEFUN([DX_IF_FEATURE], [ifelse(DX_FEATURE_$1, ON, [$2], [$3])])\r
-\r
-# DX_REQUIRE_PROG(VARIABLE, PROGRAM)\r
-# ----------------------------------\r
-# Require the specified program to be found for the DX_CURRENT_FEATURE to work.\r
-AC_DEFUN([DX_REQUIRE_PROG], [\r
-AC_PATH_TOOL([$1], [$2])\r
-if test "$DX_FLAG_DX_CURRENT_FEATURE$$1" = 1; then\r
- AC_MSG_WARN([$2 not found - will not DX_CURRENT_DESCRIPTION])\r
- AC_SUBST([DX_FLAG_DX_CURRENT_FEATURE], 0)\r
-fi\r
-])\r
-\r
-# DX_TEST_FEATURE(FEATURE)\r
-# ------------------------\r
-# Expand to a shell expression testing whether the feature is active.\r
-AC_DEFUN([DX_TEST_FEATURE], [test "$DX_FLAG_$1" = 1])\r
-\r
-# DX_CHECK_DEPEND(REQUIRED_FEATURE, REQUIRED_STATE)\r
-# -------------------------------------------------\r
-# Verify that a required features has the right state before trying to turn on\r
-# the DX_CURRENT_FEATURE.\r
-AC_DEFUN([DX_CHECK_DEPEND], [\r
-test "$DX_FLAG_$1" = "$2" \\r
-|| AC_MSG_ERROR([doxygen-DX_CURRENT_FEATURE ifelse([$2], 1,\r
- requires, contradicts) doxygen-DX_CURRENT_FEATURE])\r
-])\r
-\r
-# DX_CLEAR_DEPEND(FEATURE, REQUIRED_FEATURE, REQUIRED_STATE)\r
-# ----------------------------------------------------------\r
-# Turn off the DX_CURRENT_FEATURE if the required feature is off.\r
-AC_DEFUN([DX_CLEAR_DEPEND], [\r
-test "$DX_FLAG_$1" = "$2" || AC_SUBST([DX_FLAG_DX_CURRENT_FEATURE], 0)\r
-])\r
-\r
-\r
-# DX_FEATURE_ARG(FEATURE, DESCRIPTION,\r
-# CHECK_DEPEND, CLEAR_DEPEND,\r
-# REQUIRE, DO-IF-ON, DO-IF-OFF)\r
-# --------------------------------------------\r
-# Parse the command-line option controlling a feature. CHECK_DEPEND is called\r
-# if the user explicitly turns the feature on (and invokes DX_CHECK_DEPEND),\r
-# otherwise CLEAR_DEPEND is called to turn off the default state if a required\r
-# feature is disabled (using DX_CLEAR_DEPEND). REQUIRE performs additional\r
-# requirement tests (DX_REQUIRE_PROG). Finally, an automake flag is set and\r
-# DO-IF-ON or DO-IF-OFF are called according to the final state of the feature.\r
-AC_DEFUN([DX_ARG_ABLE], [\r
- AC_DEFUN([DX_CURRENT_FEATURE], [$1])\r
- AC_DEFUN([DX_FLAG_DX_CURRENT_FEATURE], [DX_FLAG_$1])\r
- AC_DEFUN([DX_CURRENT_DESCRIPTION], [$2])\r
- AC_ARG_ENABLE(doxygen-$1,\r
- [AS_HELP_STRING(DX_IF_FEATURE([$1], [--disable-doxygen-$1],\r
- [--enable-doxygen-$1]),\r
- DX_IF_FEATURE([$1], [don't $2], [$2]))],\r
- [\r
-case "$enableval" in\r
-#(\r
-y|Y|yes|Yes|YES)\r
- AC_SUBST([DX_FLAG_$1], 1)\r
- $3\r
-;; #(\r
-n|N|no|No|NO)\r
- AC_SUBST([DX_FLAG_$1], 0)\r
-;; #(\r
-*)\r
- AC_MSG_ERROR([invalid value '$enableval' given to doxygen-$1])\r
-;;\r
-esac\r
-], [\r
-AC_SUBST([DX_FLAG_$1], [DX_IF_FEATURE([$1], 1, 0)])\r
-$4\r
-])\r
-if DX_TEST_FEATURE([$1]); then\r
- $5\r
- :\r
-fi\r
-if DX_TEST_FEATURE([$1]); then\r
- AM_CONDITIONAL(DX_COND_$1, :)\r
- $6\r
- :\r
-else\r
- AM_CONDITIONAL(DX_COND_$1, false)\r
- $7\r
- :\r
-fi\r
-])\r
-\r
-## -------------- ##\r
-## Public macros. ##\r
-## -------------- ##\r
-\r
-# DX_XXX_FEATURE(DEFAULT_STATE)\r
-# -----------------------------\r
-AC_DEFUN([DX_DOXYGEN_FEATURE], [AC_DEFUN([DX_FEATURE_doc], [$1])])\r
-AC_DEFUN([DX_MAN_FEATURE], [AC_DEFUN([DX_FEATURE_man], [$1])])\r
-AC_DEFUN([DX_HTML_FEATURE], [AC_DEFUN([DX_FEATURE_html], [$1])])\r
-AC_DEFUN([DX_CHM_FEATURE], [AC_DEFUN([DX_FEATURE_chm], [$1])])\r
-AC_DEFUN([DX_CHI_FEATURE], [AC_DEFUN([DX_FEATURE_chi], [$1])])\r
-AC_DEFUN([DX_RTF_FEATURE], [AC_DEFUN([DX_FEATURE_rtf], [$1])])\r
-AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])\r
-AC_DEFUN([DX_XML_FEATURE], [AC_DEFUN([DX_FEATURE_xml], [$1])])\r
-AC_DEFUN([DX_PDF_FEATURE], [AC_DEFUN([DX_FEATURE_pdf], [$1])])\r
-AC_DEFUN([DX_PS_FEATURE], [AC_DEFUN([DX_FEATURE_ps], [$1])])\r
-\r
-# DX_INIT_DOXYGEN(PROJECT, [CONFIG-FILE], [OUTPUT-DOC-DIR])\r
-# ---------------------------------------------------------\r
-# PROJECT also serves as the base name for the documentation files.\r
-# The default CONFIG-FILE is "Doxyfile" and OUTPUT-DOC-DIR is "doxygen-doc".\r
-AC_DEFUN([DX_INIT_DOXYGEN], [\r
-\r
-# Files:\r
-AC_SUBST([DX_PROJECT], [$1])\r
-AC_SUBST([DX_CONFIG], [ifelse([$2], [], Doxyfile, [$2])])\r
-AC_SUBST([DX_DOCDIR], [ifelse([$3], [], doxygen-doc, [$3])])\r
-\r
-# Environment variables used inside doxygen.cfg:\r
-DX_ENV_APPEND(SRCDIR, $srcdir)\r
-DX_ENV_APPEND(PROJECT, $DX_PROJECT)\r
-DX_ENV_APPEND(DOCDIR, $DX_DOCDIR)\r
-DX_ENV_APPEND(VERSION, $PACKAGE_VERSION)\r
-\r
-# Doxygen itself:\r
-DX_ARG_ABLE(doc, [generate any doxygen documentation],\r
- [],\r
- [],\r
- [DX_REQUIRE_PROG([DX_DOXYGEN], doxygen)\r
- DX_REQUIRE_PROG([DX_PERL], perl)],\r
- [DX_ENV_APPEND(PERL_PATH, $DX_PERL)])\r
-\r
-# Dot for graphics:\r
-DX_ARG_ABLE(dot, [generate graphics for doxygen documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [DX_REQUIRE_PROG([DX_DOT], dot)],\r
- [DX_ENV_APPEND(HAVE_DOT, YES)\r
- DX_ENV_APPEND(DOT_PATH, [`DX_DIRNAME_EXPR($DX_DOT)`])],\r
- [DX_ENV_APPEND(HAVE_DOT, NO)])\r
-\r
-# Man pages generation:\r
-DX_ARG_ABLE(man, [generate doxygen manual pages],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [],\r
- [DX_ENV_APPEND(GENERATE_MAN, YES)],\r
- [DX_ENV_APPEND(GENERATE_MAN, NO)])\r
-\r
-# RTF file generation:\r
-DX_ARG_ABLE(rtf, [generate doxygen RTF documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [],\r
- [DX_ENV_APPEND(GENERATE_RTF, YES)],\r
- [DX_ENV_APPEND(GENERATE_RTF, NO)])\r
-\r
-# XML file generation:\r
-DX_ARG_ABLE(xml, [generate doxygen XML documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [],\r
- [DX_ENV_APPEND(GENERATE_XML, YES)],\r
- [DX_ENV_APPEND(GENERATE_XML, NO)])\r
-\r
-# (Compressed) HTML help generation:\r
-DX_ARG_ABLE(chm, [generate doxygen compressed HTML help documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [DX_REQUIRE_PROG([DX_HHC], hhc)],\r
- [DX_ENV_APPEND(HHC_PATH, $DX_HHC)\r
- DX_ENV_APPEND(GENERATE_HTML, YES)\r
- DX_ENV_APPEND(GENERATE_HTMLHELP, YES)],\r
- [DX_ENV_APPEND(GENERATE_HTMLHELP, NO)])\r
-\r
-# Separate CHI file generation.\r
-DX_ARG_ABLE(chi, [generate doxygen separate compressed HTML help index file],\r
- [DX_CHECK_DEPEND(chm, 1)],\r
- [DX_CLEAR_DEPEND(chm, 1)],\r
- [],\r
- [DX_ENV_APPEND(GENERATE_CHI, YES)],\r
- [DX_ENV_APPEND(GENERATE_CHI, NO)])\r
-\r
-# Plain HTML pages generation:\r
-DX_ARG_ABLE(html, [generate doxygen plain HTML documentation],\r
- [DX_CHECK_DEPEND(doc, 1) DX_CHECK_DEPEND(chm, 0)],\r
- [DX_CLEAR_DEPEND(doc, 1) DX_CLEAR_DEPEND(chm, 0)],\r
- [],\r
- [DX_ENV_APPEND(GENERATE_HTML, YES)],\r
- [DX_TEST_FEATURE(chm) || DX_ENV_APPEND(GENERATE_HTML, NO)])\r
-\r
-# PostScript file generation:\r
-DX_ARG_ABLE(ps, [generate doxygen PostScript documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [DX_REQUIRE_PROG([DX_LATEX], latex)\r
- DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)\r
- DX_REQUIRE_PROG([DX_DVIPS], dvips)\r
- DX_REQUIRE_PROG([DX_EGREP], egrep)])\r
-\r
-# PDF file generation:\r
-DX_ARG_ABLE(pdf, [generate doxygen PDF documentation],\r
- [DX_CHECK_DEPEND(doc, 1)],\r
- [DX_CLEAR_DEPEND(doc, 1)],\r
- [DX_REQUIRE_PROG([DX_PDFLATEX], pdflatex)\r
- DX_REQUIRE_PROG([DX_MAKEINDEX], makeindex)\r
- DX_REQUIRE_PROG([DX_EGREP], egrep)])\r
-\r
-# LaTeX generation for PS and/or PDF:\r
-if DX_TEST_FEATURE(ps) || DX_TEST_FEATURE(pdf); then\r
- AM_CONDITIONAL(DX_COND_latex, :)\r
- DX_ENV_APPEND(GENERATE_LATEX, YES)\r
-else\r
- AM_CONDITIONAL(DX_COND_latex, false)\r
- DX_ENV_APPEND(GENERATE_LATEX, NO)\r
-fi\r
-\r
-# Paper size for PS and/or PDF:\r
-AC_ARG_VAR(DOXYGEN_PAPER_SIZE,\r
- [a4wide (default), a4, letter, legal or executive])\r
-case "$DOXYGEN_PAPER_SIZE" in\r
-#(\r
-"")\r
- AC_SUBST(DOXYGEN_PAPER_SIZE, "")\r
-;; #(\r
-a4wide|a4|letter|legal|executive)\r
- DX_ENV_APPEND(PAPER_SIZE, $DOXYGEN_PAPER_SIZE)\r
-;; #(\r
-*)\r
- AC_MSG_ERROR([unknown DOXYGEN_PAPER_SIZE='$DOXYGEN_PAPER_SIZE'])\r
-;;\r
-esac\r
-\r
-#For debugging:\r
-#echo DX_FLAG_doc=$DX_FLAG_doc\r
-#echo DX_FLAG_dot=$DX_FLAG_dot\r
-#echo DX_FLAG_man=$DX_FLAG_man\r
-#echo DX_FLAG_html=$DX_FLAG_html\r
-#echo DX_FLAG_chm=$DX_FLAG_chm\r
-#echo DX_FLAG_chi=$DX_FLAG_chi\r
-#echo DX_FLAG_rtf=$DX_FLAG_rtf\r
-#echo DX_FLAG_xml=$DX_FLAG_xml\r
-#echo DX_FLAG_pdf=$DX_FLAG_pdf\r
-#echo DX_FLAG_ps=$DX_FLAG_ps\r
-#echo DX_ENV=$DX_ENV\r
-])\r
+++ /dev/null
-# Copyright (C) 2004 Oren Ben-Kiki
-# This file is distributed under the same terms as the Automake macro files.
-
-# Generate automatic documentation using Doxygen. Goals and variables values
-# are controlled by the various DX_COND_??? conditionals set by autoconf.
-#
-# The provided goals are:
-# doxygen-doc: Generate all doxygen documentation.
-# doxygen-run: Run doxygen, which will generate some of the documentation
-# (HTML, CHM, CHI, MAN, RTF, XML) but will not do the post
-# processing required for the rest of it (PS, PDF, and some MAN).
-# doxygen-man: Rename some doxygen generated man pages.
-# doxygen-ps: Generate doxygen PostScript documentation.
-# doxygen-pdf: Generate doxygen PDF documentation.
-#
-# Note that by default these are not integrated into the automake goals. If
-# doxygen is used to generate man pages, you can achieve this integration by
-# setting man3_MANS to the list of man pages generated and then adding the
-# dependency:
-#
-# $(man3_MANS): doxygen-doc
-#
-# This will cause make to run doxygen and generate all the documentation.
-#
-# The following variable is intended for use in Makefile.am:
-#
-# DX_CLEANFILES = everything to clean.
-#
-# This is usually added to MOSTLYCLEANFILES.
-
-## --------------------------------- ##
-## Format-independent Doxygen rules. ##
-## --------------------------------- ##
-
-if DX_COND_doc
-
-## ------------------------------- ##
-## Rules specific for HTML output. ##
-## ------------------------------- ##
-
-if DX_COND_html
-
-DX_CLEAN_HTML = @DX_DOCDIR@/html
-
-endif DX_COND_html
-
-## ------------------------------ ##
-## Rules specific for CHM output. ##
-## ------------------------------ ##
-
-if DX_COND_chm
-
-DX_CLEAN_CHM = @DX_DOCDIR@/chm
-
-if DX_COND_chi
-
-DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi
-
-endif DX_COND_chi
-
-endif DX_COND_chm
-
-## ------------------------------ ##
-## Rules specific for MAN output. ##
-## ------------------------------ ##
-
-if DX_COND_man
-
-DX_CLEAN_MAN = @DX_DOCDIR@/man
-
-endif DX_COND_man
-
-## ------------------------------ ##
-## Rules specific for RTF output. ##
-## ------------------------------ ##
-
-if DX_COND_rtf
-
-DX_CLEAN_RTF = @DX_DOCDIR@/rtf
-
-endif DX_COND_rtf
-
-## ------------------------------ ##
-## Rules specific for XML output. ##
-## ------------------------------ ##
-
-if DX_COND_xml
-
-DX_CLEAN_XML = @DX_DOCDIR@/xml
-
-endif DX_COND_xml
-
-## ----------------------------- ##
-## Rules specific for PS output. ##
-## ----------------------------- ##
-
-if DX_COND_ps
-
-DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps
-
-DX_PS_GOAL = doxygen-ps
-
-doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps
-
-@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag
- cd @DX_DOCDIR@/latex; \
- rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
- $(DX_LATEX) refman.tex; \
- $(MAKEINDEX_PATH) refman.idx; \
- $(DX_LATEX) refman.tex; \
- countdown=5; \
- while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
- refman.log > /dev/null 2>&1 \
- && test $$countdown -gt 0; do \
- $(DX_LATEX) refman.tex; \
- countdown=`expr $$countdown - 1`; \
- done; \
- $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi
-
-endif DX_COND_ps
-
-## ------------------------------ ##
-## Rules specific for PDF output. ##
-## ------------------------------ ##
-
-if DX_COND_pdf
-
-DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf
-
-DX_PDF_GOAL = doxygen-pdf
-
-doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf
-
-@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag
- cd @DX_DOCDIR@/latex; \
- rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \
- $(DX_PDFLATEX) refman.tex; \
- $(DX_MAKEINDEX) refman.idx; \
- $(DX_PDFLATEX) refman.tex; \
- countdown=5; \
- while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \
- refman.log > /dev/null 2>&1 \
- && test $$countdown -gt 0; do \
- $(DX_PDFLATEX) refman.tex; \
- countdown=`expr $$countdown - 1`; \
- done; \
- mv refman.pdf ../@PACKAGE@.pdf
-
-endif DX_COND_pdf
-
-## ------------------------------------------------- ##
-## Rules specific for LaTeX (shared for PS and PDF). ##
-## ------------------------------------------------- ##
-
-if DX_COND_latex
-
-DX_CLEAN_LATEX = @DX_DOCDIR@/latex
-
-endif DX_COND_latex
-
-.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag
-
-doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL)
-
-@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS)
- rm -rf @DX_DOCDIR@
- $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG)
-
-DX_CLEANFILES = \
- @DX_DOCDIR@/@PACKAGE@.tag \
- -r \
- $(DX_CLEAN_HTML) \
- $(DX_CLEAN_CHM) \
- $(DX_CLEAN_CHI) \
- $(DX_CLEAN_MAN) \
- $(DX_CLEAN_RTF) \
- $(DX_CLEAN_XML) \
- $(DX_CLEAN_PS) \
- $(DX_CLEAN_PDF) \
- $(DX_CLEAN_LATEX)
-
-endif DX_COND_doc
+++ /dev/null
-#!/bin/sh
-# Run this to generate all the initial makefiles, etc.
-
-#this was originally taken from the gnome macros/autogen.sh scripts
-
-srcdir=`dirname $0`
-test -z "$srcdir" && srcdir=.
-
-(test -f $srcdir/configure.ac\
- && test -f $srcdir/src/main.c \
- && test -f $srcdir/src/main.h) || {
- echo -n "**Error**: Directory "\`$srcdir\'" does not look like the"
- echo " top-level geeqie directory"
- exit 1
-}
-
-DIE=0
-
-(autoconf --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`autoconf' installed."
- echo "Download the appropriate package for your distribution,"
- echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-(grep "^AM_GLIB_GNU_GETTEXT" $srcdir/configure.ac >/dev/null) && {
- (grep "sed.*POTFILES" $srcdir/configure.ac) >/dev/null || \
- (glib-gettextize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`glib-gettextize' installed."
- echo "glib-gettextize is a part of glib."
- echo "You can get it from: ftp://ftp.gtk.org/pub/gtk"
- DIE=1
- }
-}
-
-(intltoolize --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`intltoolize' installed"
- DIE=1
-}
-
-(automake --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: You must have \`automake' installed."
- echo "You can get it from: ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
- NO_AUTOMAKE=yes
-}
-
-# if no automake, don't bother testing for aclocal
-test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
- echo
- echo "**Error**: Missing \`aclocal'. The version of \`automake'"
- echo "installed doesn't appear recent enough."
- echo "You can get automake from ftp://ftp.gnu.org/pub/gnu/"
- DIE=1
-}
-
-if test "$DIE" -eq 1; then
- exit 1
-fi
-
-if test -z "$*"; then
- echo "**Warning**: I am going to run \`configure' with no arguments."
- echo "If you wish to pass any to it, please specify them on the"
- echo \`$0\'" command line."
- echo
-fi
-
-case $CC in
-xlc )
- am_opt=--include-deps;;
-esac
-
-auxdir="`sed -ne 's/^[ \t]*A._CONFIG_AUX_DIR *( *\([^ )]*\).*/\1/p' $srcdir/configure.ac`"
-if test -n "$auxdir"; then
- if test ! -d "$srcdir/$auxdir"; then
- mkdir -p "$srcdir/$auxdir"
- fi fi
-
-for coin in `find $srcdir -name configure.ac -print`
-do
- dr=`dirname $coin`
- if test -f $dr/NO-AUTO-GEN; then
- echo skipping $dr -- flagged as no auto-gen
- else
- echo processing $dr
- macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
- ( cd $dr
- aclocalinclude="$ACLOCAL_FLAGS"
- for k in $macrodirs; do
- if test -d $k; then
- aclocalinclude="$aclocalinclude -I $k"
- ##else
- ## echo "**Warning**: No such directory \`$k'. Ignored."
- fi
- done
- if grep "^AM_GLIB_GNU_GETTEXT" configure.ac >/dev/null; then
- if grep "sed.*POTFILES" configure.ac >/dev/null; then
- : do nothing -- we still have an old unmodified configure.ac
- else
- echo "Creating $dr/aclocal.m4 ..."
- test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
- echo "Running glib-gettextize..."
- echo "no" | glib-gettextize --force --copy
- echo "Running intltoolize"
- intltoolize --copy --force --automake
- if intltoolize --version | grep -q ' 0.40.6'; then
- echo "Workaround intltoolize 0.40.6 bug (LINGUAS)"
- sed "s:'\^\$\$lang\$\$':\^\$\$lang\$\$:g" -i po/Makefile.in.in
- fi
- echo "Making $dr/aclocal.m4 writable ..."
- test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
- fi
- fi
- echo "Running aclocal $aclocalinclude ..."
- aclocal $aclocalinclude
- if grep "^AC_CONFIG_HEADER" configure.ac >/dev/null; then
- echo "Running autoheader..."
- autoheader
- fi
- echo "Running automake --gnu $am_opt ..."
- automake --add-missing --gnu $am_opt
- echo "Running autoconf ..."
- autoconf
- )
- fi
-done
-
-conf_flags="--enable-maintainer-mode" #--enable-iso-c
-
-if test x$NOCONFIGURE = x; then
- echo Running $srcdir/configure $conf_flags "$@" ...
- $srcdir/configure $conf_flags "$@" \
- && echo Now type \`make\' to compile $PKG_NAME
-else
- echo Skipping configure process.
-fi
--- /dev/null
+/*
+ * This file is a part of Geeqie project (https://www.geeqie.org/).
+ * Copyright (C) 2008 - 2022 The Geeqie Team
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ */
+
+#ifndef _INCLUDE_CONFIG_H
+#define _INCLUDE_CONFIG_H
+
+#mesondefine DEBUG
+
+/* Directories defines */
+
+/* Location of application data */
+#mesondefine GQ_APPDIR
+
+/* Location of helper scripts and executables */
+#mesondefine GQ_BINDIR
+
+/* Location of documentation files */
+#mesondefine GQ_HELPDIR
+
+/* Location of html documentation */
+#mesondefine GQ_HTMLDIR
+
+/* Define the location where the catalogs will be installed */
+#mesondefine GQ_LOCALEDIR
+
+
+/* Optional project features */
+
+/* Name of gettext file */
+/*#mesondefine GETTEXT_PACKAGE*/
+
+/* Define to enable archive support */
+#mesondefine HAVE_ARCHIVE
+
+/* Define to enable use of clutter library */
+#mesondefine HAVE_CLUTTER
+
+/* Define to enable DjVu support */
+#mesondefine HAVE_DJVU
+
+/* Define to enable exiv2 support */
+#mesondefine HAVE_EXIV2
+
+/* Define to enable ffmpegthumbnailer support */
+#mesondefine HAVE_FFMPEGTHUMBNAILER
+
+/* Define if ffmpegthumbnailer supports embedded metadata */
+#define HAVE_FFMPEGTHUMBNAILER_METADATA
+
+/* Define if ffmpegthumbnailer supports raw RGB output */
+#mesondefine HAVE_FFMPEGTHUMBNAILER_RGB
+
+/* Define if ffmpegthumbnailer supports specifying size by width/height */
+#mesondefine HAVE_FFMPEGTHUMBNAILER_WH
+
+/* Define to enable heif support */
+#mesondefine HAVE_HEIF
+
+/* Define to enable j2k support */
+#mesondefine HAVE_J2K
+
+/* Define to enable use of custom jpeg loader */
+#mesondefine HAVE_JPEG
+
+/* Define to enable JPEG XL support */
+#mesondefine HAVE_JPEGXL
+
+/* color profiles with lcms */
+#mesondefine HAVE_LCMS
+
+/* Define to enable use of lcms2 */
+#mesondefine HAVE_LCMS2
+
+/* Define to enable use of maps */
+#mesondefine HAVE_LIBCHAMPLAIN
+
+/* Define to enable use of maps */
+#mesondefine HAVE_LIBCHAMPLAIN_GTK
+
+/* Define to 1 if LIRC must be used */
+#mesondefine HAVE_LIRC
+
+/* Define to enable lua support */
+#mesondefine HAVE_LUA
+
+/* Define if _NL_TIME_FIRST_WEEKDAY is available */
+#mesondefine HAVE__NL_TIME_FIRST_WEEKDAY
+
+/* Define to enable pdf support */
+#mesondefine HAVE_PDF
+
+/* Define to enable libraw support */
+#mesondefine HAVE_RAW
+
+/* Define to enable libgspell support */
+#mesondefine HAVE_SPELL
+
+/* Define to enable use of custom tiff loader */
+#mesondefine HAVE_TIFF
+
+/* Define to enable webp support */
+#mesondefine HAVE_WEBP
+
+
+/* Version number of package */
+#mesondefine VERSION
+
+/* Name of package */
+#mesondefine PACKAGE
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "geeqie@freelists.org"
+
+/* Define to the full name of this package. */
+#mesondefine PACKAGE_NAME
+
+/* Define to the full name and version of this package. */
+#mesondefine PACKAGE_STRING
+
+/* Define to the one symbol short name of this package. */
+#mesondefine PACKAGE_TARNAME
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL "https://www.geeqie.org/"
+
+/* Define to the version of this package. */
+#mesondefine PACKAGE_VERSION
+
+
+/* Define if your <locale.h> file defines LC_MESSAGES. */
+#define HAVE_LC_MESSAGES 1 no longr requierd
+
+/* Define to 1 if you have the <locale.h> header file. */
+#define HAVE_LOCALE_H 1 not required
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#define HAVE_STDIO_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the `strverscmp' function. */
+#define HAVE_STRVERSCMP 1 used
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the `access' function. */
+#define HAVE_ACCESS 1
+
+/* Define to 1 if you have the `bind_textdomain_codeset' function. */
+#define HAVE_BIND_TEXTDOMAIN_CODESET 1
+
+/* Define to 1 if you have the Mac OS X function CFLocaleCopyCurrent in the
+ CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYCURRENT */
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+ the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* Define to 1 if you have the `dcgettext' function. */
+#define HAVE_DCGETTEXT 1
+
+/* Define to 1 if you have the `fflush' function. */
+#define HAVE_FFLUSH 1
+
+/* Define to 1 if you have the `fsync' function. */
+#define HAVE_FSYNC 1
+
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define if you have gthread library */
+#define HAVE_GTHREAD 1 used
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Build on native win32 OS */
+/* #undef OS_WIN32 */
+
+/* always defined to indicate that i18n is enabled */
+#define ENABLE_NLS 1
+
+/* Build on win32 OS */
+/* #undef PLATFORM_WIN32 */
+
+/* Define to 1 if all of the C90 standard headers exist (not just the ones
+ required in a freestanding environment). This macro is provided for
+ backward compatibility; new code need not use it. */
+#define STDC_HEADERS 1
+
+/* Number of bits in a file offset, on hosts where this is settable. */
+/* #undef _FILE_OFFSET_BITS */
+
+/* Define for large files, on AIX-style hosts. */
+/* #undef _LARGE_FILES */
+
+#endif
+++ /dev/null
-dnl Process this file with autoconf to produce a configure script. -*- Autoconf
- -*-
-
-dnl This file is a part of Geeqie project (https://www.geeqie.org/).
-dnl Copyright (C) 2008 - 2018 The Geeqie Team
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation; either version 2 of the License, or
-dnl (at your option) any later version.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-dnl GNU General Public License for more details.
-
-AC_PREREQ(2.57)
-AC_INIT([geeqie], m4_translit(m4_esyscmd([./version.sh]), m4_newline), [geeqie@freelists.org], [], [https://www.geeqie.org/])
-
-# Add -Werror to the default CFLAGS
-CFLAGS+=" -Werror -Wno-error=deprecated-declarations -Wno-error=sign-compare -Wno-error=return-type"
-
-# Check for rightly dirs
-AC_CONFIG_SRCDIR([src/main.c])
-
-AC_CONFIG_AUX_DIR(auxdir)
-# Require Automake 1.14 for %reldir% support
-AM_INIT_AUTOMAKE([1.14.1 subdir-objects foreign dist-xz no-dist-gzip tar-ustar])
-
-AC_CONFIG_HEADER([config.h])
-
-# Only for developers
-AM_MAINTAINER_MODE
-
-# Silent build for automake >= 1.11
-m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
-
-AC_ARG_ENABLE(developer, [
-Development options:
-AC_HELP_STRING([--enable-developer], [turn on developers mode [default=no]])],
-[
- __IS_DEVELOPER=yes
-],
-[
-if test "x${enable_developer}" != "xyes"
-then
- __IS_DEVELOPER=no
-else
- __IS_DEVELOPER=yes
-fi
-])
-
-DX_HTML_FEATURE(ON)
-DX_CHM_FEATURE(OFF)
-DX_CHI_FEATURE(OFF)
-DX_MAN_FEATURE(OFF)
-DX_RTF_FEATURE(OFF)
-DX_XML_FEATURE(OFF)
-DX_PDF_FEATURE(OFF)
-DX_PS_FEATURE(OFF)
-
-DX_INIT_DOXYGEN($PACKAGE_NAME, doxygen.conf, doc/doxygen)
-
-# Debug support
-# ----------------------------------------------------------------------
-
-dnl Debugging option
-dnl FIXME: official release convert default to 'no'
-dnl
-
-AC_ARG_ENABLE([debug-flags], [
-Development options:
-AC_HELP_STRING([--enable-debug-flags], [use compiler flags for debugging [default=no]])], [],
-[
-if test "x${enable_developer}" != "xyes"
-then
- enable_debug_flags="no"
-else
- enable_debug_flags="yes"
-fi
-])
-
-AC_ARG_ENABLE([debug-log], [
-Development options:
-AC_HELP_STRING([--enable-debug-log], [enable debugging messages [default=yes]])], [], [enable_debug_log="yes"])
-
-if test "x${enable_debug_flags}" != "xno"
-then
- if test "x${enable_developer}" = "xyes"
- then
- CXXFLAGS="${CXXFLAGS} -Wall"
- CFLAGS="${CFLAGS} -Wstrict-prototypes -Wall"
- fi
- __COMMONFLAGS="-g -O0 -Wextra -Wunused-value -Wunused-variable -Wunused-function -Wunused-label -Wcomment -Wmissing-braces -Wparentheses -Wreturn-type -Wswitch -Wstrict-aliasing -Wno-unused-parameter -Wformat -Wformat-security -DGQ_DEBUG_PATH_UTF8=1"
- CXXFLAGS="${CXXFLAGS} ${__COMMONFLAGS}"
- CFLAGS="${CFLAGS} ${__COMMONFLAGS} -Wimplicit-int -Werror-implicit-function-declaration"
- __IS_DEBUG_FLAGS=yes
-else
- __IS_DEBUG_FLAGS=no
-fi
-
-if test "x${enable_debug_log}" != "xno"
-then
- AC_DEFINE(DEBUG,1,[Defined if Geeqie is compiled with debugging messages support])
- __IS_DEBUG_LOG=yes
-else
- __IS_DEBUG_LOG=no
-fi
-
-AM_CONDITIONAL(DEBUG, test x$enable_debug_flags = xyes)
-
-AC_ARG_ENABLE(deprecated, [
-AC_HELP_STRING([--enable-deprecated], [turn off checking of deprecated functions [default=yes]])], [],
-[
-if test "x${enable_developer}" != "xyes"
-then
- enable_deprecated="no"
-else
- enable_deprecated="yes"
-fi
-])
-
-if test "x${enable_deprecated}" != "xno"
-then
- CXXFLAGS="${CXXFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
- CFLAGS="${CFLAGS} -DGTK_DISABLE_DEPRECATED=1 -DGDK_DISABLE_DEPRECATED=1 -DGDK_PIXBUF_DISABLE_DEPRECATED=1 -DG_DISABLE_DEPRECATED=1"
- __IS_DEPRECATED=yes
-else
- __IS_DEPRECATED=no
-fi
-
-
-AC_ISC_POSIX
-AC_PROG_CC
-AC_PROG_CC_C99
-AC_PROG_CXX
-AC_STDC_HEADERS
-AC_ARG_PROGRAM
-AC_SYS_LARGEFILE
-IT_PROG_INTLTOOL([0.35.0])
-
-
-dnl checks for functions
-AC_CHECK_FUNCS(strverscmp access fsync fflush)
-
-
-# Check target architecture
-
-# Check for Win32
-AC_MSG_CHECKING([for some Win32 platform])
-case "$target_os" in
- mingw* | cygwin*)
- platform_win32=yes
- AC_DEFINE(PLATFORM_WIN32, 1, [Build on win32 OS])
- ;;
- *)
- platform_win32=no
- ;;
-esac
-AC_MSG_RESULT([$platform_win32])
-AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
-
-AC_MSG_CHECKING([for native Win32])
-case "$target_os" in
- mingw*)
- os_win32=yes
- AC_DEFINE(OS_WIN32, 1, [Build on native win32 OS])
- os_unix=no
- PATHSEP=';'
- ;;
- *)
- os_win32=no
- os_unix=yes
- PATHSEP=':'
- ;;
-esac
-AC_MSG_RESULT([$os_win32])
-AC_SUBST(PATHSEP)
-AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
-AM_CONDITIONAL(OS_UNIX, test "$os_unix" = "yes")
-
-if test "$os_win32" = "yes"; then
- AC_CHECK_PROG(ms_librarian, lib.exe, yes, no)
- AC_CHECK_TOOL(WINDRES, windres, :)
-else
- WINDRES=":"
-fi
-
-AM_CONDITIONAL(MS_LIB_AVAILABLE, test x$ms_librarian = xyes)
-AM_CONDITIONAL(HAVE_WINDRES, test "x$WINDRES" != "x:")
-AC_SUBST(WINDRES)
-
-AM_CONDITIONAL([EXTERNAL_PREFIX], [test "x$prefix" != "xNONE"])
-
-dnl reasonable guesses for where stuff is installed
-if test "x$prefix" = "xNONE"; then
- prefix="/usr/local"
-else
- prefix=$prefix
-fi
-
-AM_PATH_GLIB_2_0(2.52.0,,AC_MSG_ERROR(GLIB >= 2.52.0 not installed.))
-AC_ARG_ENABLE([gtk3], AC_HELP_STRING([--disable-gtk3], [use gtk2 instead of gtk3]),[gtk3="${enableval}"], [gtk3=m4_ifdef([AM_PATH_GTK_3_0], [auto], [no])])
-
-if test x$gtk3 = xyes; then
- AC_MSG_WARN("Gtk3 enabled")
- m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,AC_MSG_ERROR(GTK+ >= 3.0.0 not installed.))])
-else
- if test x$gtk3 != xno; then
- AC_MSG_WARN("Gtk3 is preferred...")
- m4_ifdef([AM_PATH_GTK_3_0], [AM_PATH_GTK_3_0(3.0.0,,[gtk3=no])])
- fi
-fi
-
-if test x$gtk3 = xno; then
- m4_ifdef([AM_PATH_GTK_2_0], [AM_PATH_GTK_2_0(2.20.0,,AC_MSG_ERROR(GTK+ >= 2.20.0 not installed.))])
- true
-fi
-
-threads="auto"
-AC_ARG_ENABLE([threads],
- AC_HELP_STRING([--disable-threads], [disable thread support]), [threads="${enableval}"])
-
-have_gthread="no"
-if test "x${threads}" != "xno" ; then
- PKG_CHECK_MODULES(GTHREAD, [gthread-2.0], have_gthread="yes", [AC_MSG_WARN("No thread support in glib")])
-fi
-
-if test "x$have_gthread" != "xno"; then
- AC_DEFINE(HAVE_GTHREAD, 1, Define if you have gthread library)
- GLIB_CFLAGS="$GTHREAD_CFLAGS"
- GLIB_LIBS="$GTHREAD_LIBS"
-fi
-
-
-AC_PATH_PROGS(GDK_PIXBUF_CSOURCE, "gdk-pixbuf-csource")
-AC_PATH_PROG(GLIB_GENMARSHAL, glib-genmarshal)
-
-AC_ARG_WITH(readmedir, [ --with-readmedir=DIR install path for readme files],
- readmedir=$withval, readmedir="$prefix/share/doc/geeqie-$VERSION")
-AC_ARG_WITH(htmldir, [ --with-htmldir=DIR install path for html files],
- htmldir=$withval, htmldir="$readmedir/html")
-
-AC_DEFINE_UNQUOTED(GQ_HELPDIR, "$readmedir", [Location of documentation files])
-AC_DEFINE_UNQUOTED(GQ_HTMLDIR, "$htmldir", [Location of html documentation])
-
-AC_PATH_PROG(GNOME_DOC_TOOL, yelp-build)
-
-AC_SUBST(readmedir)
-AC_SUBST(htmldir)
-
-eval "eval appdir=${datadir}/${PACKAGE}"
-AC_DEFINE_UNQUOTED([GQ_APP_DIR], "$appdir", [Location of application data])
-AC_SUBST(appdir)
-
-eval "eval gq_bindir=${prefix}/lib/${PACKAGE}"
-AC_DEFINE_UNQUOTED([GQ_BIN_DIR], "$gq_bindir", [Location of helper scripts and executables])
-AC_SUBST(gq_bindir)
-
-# LIRC support
-# ----------------------------------------------------------------------
-
-dnl Check for LIRC client support
-AC_MSG_CHECKING(if LIRC support is enabled)
-lirc=no
-AC_ARG_ENABLE([lirc],
- AC_HELP_STRING([--disable-lirc], [disable lirc support (auto)]),
-[
-if test "x${enableval}" = "xyes" -a "x$GCC" = "xyes"; then
- AC_MSG_RESULT(yes)
- lirc=yes
-else
- AC_MSG_RESULT(no)
- lirc=no
-fi], AC_MSG_RESULT(no))
-
-
-AC_ARG_WITH(lirc-prefix,
-[ --with-lirc-prefix=PATH Prefix where LIRC is installed],
-[
-for dir in `echo "$withval" | tr : ' '`; do
- if test -d $dir/lib; then CXXFLAGS="$CXXFLAGS -L$dir/lib"; fi
- if test -d $dir/include; then CXXFLAGS="$CXXFLAGS -I$dir/include"; fi
- done
-])
-
-HAVE_LIRC=no
-if test "x${lirc}" != "xno" ; then
- AC_CHECK_HEADER(lirc/lirc_client.h,
- [AC_CHECK_LIB(lirc_client,lirc_init,[HAVE_LIRC=yes;LIBS=-llirc_client $LIBS;AC_DEFINE([HAVE_LIRC],[],[Define to 1 if LIRC must be used])],,)],)
-fi
-AM_CONDITIONAL(HAVE_LIRC, [test "x$HAVE_LIRC" = xyes])
-
-
-# LCMS support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([lcms],
- AC_HELP_STRING([--disable-lcms], [disable lcms support]),
- [liblcms=$enableval], [liblcms=auto])
-
-if test "x${liblcms}" != "xno"; then
- PKG_CHECK_MODULES(LCMS, [lcms2 >= 2.0],
- [
- HAVE_LCMS=yes
- AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
- AC_DEFINE(HAVE_LCMS2, 1, [lcms2 is used])
- ],
- [
- PKG_CHECK_MODULES(LCMS, [lcms >= 1.14],
- [
- HAVE_LCMS=yes
- AC_DEFINE(HAVE_LCMS, 1, [define to enable use of color profiles with lcms])
- ],
- [
- HAVE_LCMS=no
- AC_MSG_WARN([$LCMS_PKG_ERRORS])
- ])
- ])
-else
- HAVE_LCMS=disabled
-fi
-
-AM_CONDITIONAL(HAVE_LCMS, [test "x$HAVE_LCMS" = xyes])
-AC_SUBST(LCMS_CFLAGS)
-AC_SUBST(LCMS_LIBS)
-
-# libjpeg support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([jpeg],
- AC_HELP_STRING([--disable-jpeg], [disable direct jpeg support]),
- [libjpeg=$enableval], [libjpeg=auto])
-
-if test "x${libjpeg}" != "xno"; then
- AC_CHECK_LIB(jpeg, jpeg_destroy_decompress,
- HAVE_JPEG=yes
- JPEG_LIBS=-ljpeg
- AC_DEFINE(HAVE_JPEG, 1, [define to enable use of custom jpeg loader]),
- HAVE_JPEG=no)
-else
- HAVE_JPEG=disabled
-fi
-
-AM_CONDITIONAL(HAVE_JPEG, [test "x$HAVE_JPEG" = xyes])
-AC_SUBST(JPEG_CFLAGS)
-AC_SUBST(JPEG_LIBS)
-
-
-# libtiff support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([tiff],
- AC_HELP_STRING([--disable-tiff], [disable direct tiff support]),
- [libtiff=$enableval], [libtiff=auto])
-
-if test "x${libtiff}" != "xno"; then
- AC_CHECK_LIB(tiff, TIFFClientOpen,
- HAVE_TIFF=yes
- TIFF_LIBS=-ltiff
- AC_DEFINE(HAVE_TIFF, 1, [define to enable use of custom tiff loader]),
- HAVE_TIFF=no)
-else
- HAVE_TIFF=disabled
-fi
-
-AM_CONDITIONAL(HAVE_TIFF, [test "x$HAVE_TIFF" = xyes])
-AC_SUBST(TIFF_CFLAGS)
-AC_SUBST(TIFF_LIBS)
-
-# libraw support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([raw],
- AC_HELP_STRING([--disable-raw], [disable LibRaw support]),
- [libraw=$enableval], [libraw=auto])
-
-if test "x${libraw}" != "xno"; then
- PKG_CHECK_MODULES(RAW, [libraw >= 0.20],
- [
- HAVE_RAW=yes
- AC_DEFINE(HAVE_RAW, 1, [define to enable libraw support])
- ],
- [
- HAVE_RAW=no
- AC_MSG_WARN([$RAW_PKG_ERRORS])
- ])
-else
- HAVE_RAW=disabled
-fi
-
-AM_CONDITIONAL(HAVE_RAW, [test "x$HAVE_RAW" = xyes])
-AC_SUBST(RAW_CFLAGS)
-AC_SUBST(RAW_LIBS)
-
-# libgspell support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([spell],
- AC_HELP_STRING([--disable-spell], [disable libgspell support]),
- [libgspell=$enableval], [libgspell=auto])
-
-if test "x${libgspell}" != "xno" -a "x${gtk3}" != "xno"; then
- PKG_CHECK_MODULES(SPELL, [gspell-1 >= 1.6],
- [
- HAVE_SPELL=yes
- AC_DEFINE(HAVE_SPELL, 1, [define to enable libgspell support])
- ],
- [
- HAVE_SPELL=no
- AC_MSG_WARN([$SPELL_PKG_ERRORS])
- ])
-else
- HAVE_SPELL=disabled
-fi
-
-AM_CONDITIONAL(HAVE_SPELL, [test "x$HAVE_SPELL" = xyes])
-AC_SUBST(SPELL_CFLAGS)
-AC_SUBST(SPELL_LIBS)
-
-# libffmpegthumbnailer support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([ffmpegthumbnailer],
- AC_HELP_STRING([--disable-ffmpegthumbnailer], [disable ffmpegthumbnailer support for generating thumbnails of video files]),
- [ffmpegthumbnailer=$enableval], [ffmpegthumbnailer=auto])
-
-if test "x${ffmpegthumbnailer}" != "xno"; then
- PKG_CHECK_MODULES(FFMPEGTHUMBNAILER, [libffmpegthumbnailer >= 2.1.0],
- [
- HAVE_FFMPEGTHUMBNAILER=yes
- AC_DEFINE(HAVE_FFMPEGTHUMBNAILER, 1, [define to enable ffmpegthumbnailer support])
- AC_CHECK_MEMBER([video_thumbnailer.prefer_embedded_metadata], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_METADATA, 1, [define if ffmpegthumbnailer supports embedded metadata])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]])
- AC_CHECK_MEMBER([image_data.image_data_width], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_RGB, 1, [define if ffmpegthumbnailer supports raw RGB output])], [], [[#include <libffmpegthumbnailer/videothumbnailerc.h>]])
- AC_CHECK_LIB([ffmpegthumbnailer], [video_thumbnailer_set_size], [AC_DEFINE(HAVE_FFMPEGTHUMBNAILER_WH, 1, [define if ffmpegthumbnailer supports specifying size by width/height])])
- ],
- [
- HAVE_FFMPEGTHUMBNAILER=no
- ])
-else
- HAVE_FFMPEGTHUMBNAILER=disabled
-fi
-
-AM_CONDITIONAL(HAVE_FFMPEGTHUMBNAILER, [test "x$HAVE_FFMPEGTHUMBNAILER" = xyes])
-AC_SUBST(FFMPEGTHUMBNAILER_CFLAGS)
-AC_SUBST(FFMPEGTHUMBNAILER_LIBS)
-
-# Exiv2 support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([exiv2],
- AC_HELP_STRING([--disable-exiv2], [disable exiv2 support]),
- [libexiv2=$enableval], [libexiv2=auto])
-
-if test "x${libexiv2}" != "xno"; then
- PKG_CHECK_MODULES(EXIV2, [exiv2 >= 0.11],
- [
- HAVE_EXIV2=yes
- AC_DEFINE(HAVE_EXIV2, 1, [define to enable exiv2 support])
- ],
- [
- HAVE_EXIV2=no
- AC_MSG_WARN([$EXIV2_PKG_ERRORS])
- ])
-else
- HAVE_EXIV2=disabled
-fi
-
-AM_CONDITIONAL(HAVE_EXIV2, [test "x$HAVE_EXIV2" = xyes])
-AC_SUBST(EXIV2_CFLAGS)
-AC_SUBST(EXIV2_LIBS)
-
-
-# Gettext support
-# ----------------------------------------------------------------------
-
-dnl Set of available languages
-ALL_LINGUAS="`grep -v '^#' "$srcdir/po/LINGUAS" | tr '\n' ' '`"
-AC_SUBST([CONFIG_STATUS_DEPENDENCIES],['$(top_srcdir)/po/LINGUAS'])
-
-GETTEXT_PACKAGE=$PACKAGE
-AC_SUBST(GETTEXT_PACKAGE)
-AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["${GETTEXT_PACKAGE}"],[Name of gettext file])
-AM_GLIB_GNU_GETTEXT
-AM_GLIB_DEFINE_LOCALEDIR(GQ_LOCALEDIR)
-
-AC_SUBST(CFLAGS)
-AC_SUBST(CXXFLAGS)
-AC_SUBST(CPPFLAGS)
-AC_SUBST(LDFLAGS)
-
-
-# clutter and champlain support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([map],
- AC_HELP_STRING([--disable-map], [disable map support]),
- [libgps=$enableval], [libgps=auto])
-
-AC_ARG_ENABLE([gpu-accel],
- AC_HELP_STRING([--disable-gpu-accel], [disable GPU acceleration support - experimental]),
- [libclutter=$enableval], [libclutter=auto])
-
-if test "x${libclutter}" != "xno" -a "x${gtk3}" != "xno"; then
- PKG_CHECK_MODULES(CLUTTER, [clutter-1.0 >= 1.0],
- [
- PKG_CHECK_MODULES(CLUTTER_GTK, [clutter-gtk-1.0 >= 1.0],
- [
- HAVE_CLUTTER=yes
- AC_DEFINE(HAVE_CLUTTER, 1, [define to enable use of clutter library])
- ],
- [
- HAVE_CLUTTER=no
- AC_MSG_WARN([$CLUTTER_GTK_PKG_ERRORS])
- ])
- ],
- [
- HAVE_CLUTTER=no
- AC_MSG_WARN([$CLUTTER_PKG_ERRORS])
- ])
-else
- HAVE_CLUTTER=disabled
-fi
-
-AC_SUBST(CLUTTER_CFLAGS)
-AC_SUBST(CLUTTER_LIBS)
-AC_SUBST(CLUTTER_GTK_CFLAGS)
-AC_SUBST(CLUTTER_GTK_LIBS)
-
-
-# Libchamplain support - used for map facility
-# ----------------------------------------------------------------------
-
-if test "x${libgps}" != "xno" -a "x${HAVE_CLUTTER}" = "xyes"; then
- if test "x${gtk3}" != "xno"; then
- PKG_CHECK_MODULES(LIBCHAMPLAIN, [champlain-0.12 >= 0.12],
- [
- HAVE_LIBCHAMPLAIN=yes
- AC_DEFINE(HAVE_LIBCHAMPLAIN, 1, [define to enable use of maps])
- ],
- [
- HAVE_LIBCHAMPLAIN=no
- AC_MSG_WARN([$LIBCHAMPLAIN_PKG_ERRORS])
- ])
- else
- HAVE_LIBCHAMPLAIN=disabled
- fi
-else
- HAVE_LIBCHAMPLAIN=disabled
-fi
-
-if test "x${libgps}" != "xno" -a "x${HAVE_LIBCHAMPLAIN}" = "xyes" ; then
- PKG_CHECK_MODULES(LIBCHAMPLAIN_GTK, [champlain-gtk-0.12 >= 0.12],
- [
- HAVE_LIBCHAMPLAIN_GTK=yes
- AC_DEFINE(HAVE_LIBCHAMPLAIN_GTK, 1, [define to enable use of maps])
- ],
- [
- HAVE_LIBCHAMPLAIN_GTK=no
- AC_MSG_WARN([$LIBCHAMPLAIN_GTK_PKG_ERRORS])
- ])
-else
- HAVE_LIBCHAMPLAIN_GTK=disabled
-fi
-
-AM_CONDITIONAL(HAVE_LIBCHAMPLAIN_GTK, [test "x$HAVE_LIBCHAMPLAIN_GTK" = xyes])
-AC_SUBST(LIBCHAMPLAIN_GTK_CFLAGS)
-AC_SUBST(LIBCHAMPLAIN_GTK_LIBS)
-
-# Lua support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([lua],
- AC_HELP_STRING([--disable-lua], [disable lua support]),
- [liblua=$enableval], [liblua=auto])
-
-if test "x${liblua}" != "xno"; then
- PKG_CHECK_MODULES(LUA, lua5.3 >= 5.3,
- [
- HAVE_LUA=yes
- AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
- ],
- [
- PKG_CHECK_MODULES(LUA, lua5.1 >= 5.1,
- [
- HAVE_LUA=yes
- AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
- ],
- [
- PKG_CHECK_MODULES(LUA, lua >= 5.1,
- [
- HAVE_LUA=yes
- AC_DEFINE(HAVE_LUA, 1, [define to enable lua support])
- ],
- [
- HAVE_LUA=no
- AC_MSG_WARN([$LUA_PKG_ERRORS])
- ])
- ])
- ])
-else
- HAVE_LUA=disabled
-fi
-
-AM_CONDITIONAL(HAVE_LUA, [test "x$HAVE_LUA" = xyes])
-AC_SUBST(LUA_CFLAGS)
-AC_SUBST(LUA_LIBS)
-
-# Pdf support
-# ----------------------------------------------------------------------
-
-if test "x${gtk3}" != "xno"; then
- AC_ARG_ENABLE([pdf],
- AC_HELP_STRING([--disable-pdf], [disable pdf support]),
- [libpdf=$enableval], [libpdf=auto])
-
- if test "x${libpdf}" != "xno"; then
- PKG_CHECK_MODULES(PDF, poppler-glib >= 0.62,
- [
- HAVE_PDF=yes
- AC_DEFINE(HAVE_PDF, 1, [define to enable pdf support])
- ],
- [
- HAVE_PDF=no
- AC_MSG_WARN([$PDF_PKG_ERRORS])
- ])
- else
- HAVE_PDF=disabled
- fi
-else
- HAVE_PDF=disabled
-fi
-
-AM_CONDITIONAL(HAVE_PDF, [test "x$HAVE_PDF" = xyes])
-AC_SUBST(PDF_CFLAGS)
-AC_SUBST(PDF_LIBS)
-
-# Heif support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([heif],
- AC_HELP_STRING([--disable-heif], [disable heif support]),
- [libheif=$enableval], [libheif=auto])
-
-if test "x${libheif}" != "xno"; then
- PKG_CHECK_MODULES(HEIF, libheif >= 1.3.2,
- [
- HAVE_HEIF=yes
- AC_DEFINE(HAVE_HEIF, 1, [define to enable heif support])
- ],
- [
- HAVE_HEIF=no
- AC_MSG_WARN([$HEIF_PKG_ERRORS])
- ])
-else
- HAVE_HEIF=disabled
-fi
-
-AM_CONDITIONAL(HAVE_HEIF, [test "x$HAVE_HEIF" = xyes])
-AC_SUBST(HEIF_CFLAGS)
-AC_SUBST(HEIF_LIBS)
-
-# WebP support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([webp],
- AC_HELP_STRING([--disable-webp], [disable webp support]),
- [libwebp=$enableval], [libwebp=auto])
-
-if test "x${libwebp}" != "xno"; then
- PKG_CHECK_MODULES(WEBP, libwebp >= 0.6.1,
- [
- HAVE_WEBP=yes
- AC_DEFINE(HAVE_WEBP, 1, [define to enable webp support])
- ],
- [
- HAVE_WEBP=no
- AC_MSG_WARN([$WEBP_PKG_ERRORS])
- ])
-else
- HAVE_WEBP=disabled
-fi
-
-AM_CONDITIONAL(HAVE_WEBP, [test "x$HAVE_WEBP" = xyes])
-AC_SUBST(WEBP_CFLAGS)
-AC_SUBST(WEBP_LIBS)
-
-# Libarchive support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([archive],
- AC_HELP_STRING([--disable-archive], [disable archive support]),
- [libarchive=$enableval], [libarchive=auto])
-
-if test "x${libarchive}" != "xno"; then
- PKG_CHECK_MODULES(ARCHIVE, libarchive >= 3.4.0,
- [
- HAVE_ARCHIVE=yes
- AC_DEFINE(HAVE_ARCHIVE, 1, [define to enable archive support])
- ],
- [
- HAVE_ARCHIVE=no
- AC_MSG_WARN([$ARCHIVE_PKG_ERRORS])
- ])
-else
- HAVE_ARCHIVE=disabled
-fi
-
-AM_CONDITIONAL(HAVE_ARCHIVE, [test "x$HAVE_ARCHIVE" = xyes])
-AC_SUBST(ARCHIVE_CFLAGS)
-AC_SUBST(ARCHIVE_LIBS)
-
-# J2K support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([j2k],
- AC_HELP_STRING([--disable-j2k], [disable j2k support]),
- [libopenjp2=$enableval], [libopenjp2=auto])
-
-if test "x${libopenjp2}" != "xno"; then
- PKG_CHECK_MODULES(J2K, libopenjp2 >= 2.3.0,
- [
- HAVE_J2K=yes
- AC_DEFINE(HAVE_J2K, 1, [define to enable j2k support])
- ],
- [
- HAVE_J2K=no
- AC_MSG_WARN([$J2K_PKG_ERRORS])
- ])
-else
- HAVE_J2K=disabled
-fi
-
-AM_CONDITIONAL(HAVE_J2K, [test "x$HAVE_J2K" = xyes])
-AC_SUBST(J2K_CFLAGS)
-AC_SUBST(J2K_LIBS)
-
-# DjVu support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([djvu],
- AC_HELP_STRING([--disable-djvu], [disable djvu support]),
- [libdjvulibre=$enableval], [libdjvulibre=auto])
-
-if test "x${libdjvulibre}" != "xno"; then
- PKG_CHECK_MODULES(DJVU, ddjvuapi >= 3.5.27,
- [
- HAVE_DJVU=yes
- AC_DEFINE(HAVE_DJVU, 1, [define to enable DjVu support])
- ],
- [
- HAVE_DJVU=no
- AC_MSG_WARN([$DJVU_PKG_ERRORS])
- ])
-else
- HAVE_DJVU=disabled
-fi
-
-AM_CONDITIONAL(HAVE_DJVU, [test "x$HAVE_DJVU" = xyes])
-AC_SUBST(DJVU_CFLAGS)
-AC_SUBST(DJVU_LIBS)
-
-# JPEG XL support
-# ----------------------------------------------------------------------
-
-AC_ARG_ENABLE([jpegxl],
- AC_HELP_STRING([--disable-jpegxl], [disable jpeg xl support]),
- [libjxl=$enableval], [libjxl=auto])
-
-if test "x${libjxl}" != "xno"; then
- PKG_CHECK_MODULES(JPEGXL, libjxl >= 0.3.7,
- [
- HAVE_JPEGXL=yes
- AC_DEFINE(HAVE_JPEGXL, 1, [define to enable JPEG XL support])
- ],
- [
- HAVE_JPEGXL=no
- AC_MSG_WARN([$JPEGXL_PKG_ERRORS])
- ])
-else
- HAVE_JPEGXL=disabled
-fi
-
-AM_CONDITIONAL(HAVE_JPEGXL, [test "x$HAVE_JPEGXL" = xyes])
-AC_SUBST(JPEGXL_CFLAGS)
-AC_SUBST(JPEGXL_LIBS)
-
-# Markdown support
-# ----------------------------------------------------------------------
-
-AM_CONDITIONAL(HAVE_PANDOC, [ "$(command -v pandoc)" ])
-
-# _NL_TIME_FIRST_WEEKDAY support
-# note that it is an enum and not a define
-# ----------------------------------------------------------------------
-
-AC_MSG_CHECKING([for _NL_TIME_FIRST_WEEKDAY])
-AC_TRY_LINK([#include <langinfo.h>], [
-char c;
-c = *((unsigned char *) nl_langinfo(_NL_TIME_FIRST_WEEKDAY));
-], nl_ok=yes, nl_ok=no)
-AC_MSG_RESULT($nl_ok)
-if test "$nl_ok" = "yes"; then
- AC_DEFINE([HAVE__NL_TIME_FIRST_WEEKDAY], [1],
- [Define if _NL_TIME_FIRST_WEEKDAY is available])
-fi
-
-# ----------------------------------------------------------------------
-
-AH_TOP([
-/** \file
- * \short autogenerated definition by autoheader.
- * \author Bruclik
- */
-
-/*
- * This file is a part of Geeqie project (https://www.geeqie.org/).
- * Copyright (C) 2008 - 2016 The Geeqie Team
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef _INCLUDE_CONFIG_H
-#define _INCLUDE_CONFIG_H
-])
-
-AH_BOTTOM([#endif])
-
-dnl Write the output
-dnl
-
-AC_CONFIG_FILES([
- Makefile
- src/Makefile
- src/icons/Makefile
- src/icons/svg/Makefile
- po/Makefile.in
- doc/Makefile
- plugins/Makefile
- plugins/symlink/Makefile
- plugins/rotate/Makefile
- plugins/geocode-parameters/Makefile
- plugins/export-jpeg/Makefile
- plugins/tethered-photography/Makefile
- plugins/camera-import/Makefile
- plugins/image-crop/Makefile
- plugins/random-image/Makefile
- plugins/lens/Makefile
- geeqie.spec
-])
-
-AC_OUTPUT
-dnl Print the results
-dnl
-
-cat > config.report << END
-
- Config results:
- -=-=-=-=-=-=-=-=-
-
-Package:
- Name: $PACKAGE_NAME
- Version: $PACKAGE_VERSION
-
-Architecture:
- UNIX: $os_unix
- Win32: $platform_win32 (native: $os_win32)
-
-Flags:
- Geeqie: $GQ_CFLAGS
- DEFS: $DEFS
- CPPFLAGS: $__CPPFLAGS
- CFLAGS: $CFLAGS
- CXXFLAGS: $CXXFLAGS
- Gtk: $GTK_CFLAGS
- Glib: $GLIB_CFLAGS
- Thread: $GTHREAD_LIBS
- Others: $JPEG_LIBS $TIFF_LIBS $LCMS_LIBS $EXIV2_LIBS $CLUTTER_LIBS $CLUTTER_GTK_LIBS $LIBCHAMPLAIN_LIBS $LIBCHAMPLAIN_GTK_LIBS $LUA_LIBS $RAW_LIBS $JPEGXL_LIBS
-
-Localization:
- NLS support: $USE_NLS
- LINGUAS: $LINGUAS
-
-Settings:
- Developer: $__IS_DEVELOPER
- Debug flags: $__IS_DEBUG_FLAGS
- Debug log: $__IS_DEBUG_LOG
- Deprecated: $__IS_DEPRECATED
-
-Support:
- LCMS: $HAVE_LCMS
- Exiv2: $HAVE_EXIV2
- Lirc: $HAVE_LIRC
- Clutter: $HAVE_CLUTTER
- Libchamplain: $HAVE_LIBCHAMPLAIN
- Libchamplain-gtk: $HAVE_LIBCHAMPLAIN_GTK
- Lua: $HAVE_LUA
- FFmpegthumbnailer: $HAVE_FFMPEGTHUMBNAILER
- Pdf: $HAVE_PDF
- HEIF: $HAVE_HEIF
- WebP: $HAVE_WEBP
- DjVu: $HAVE_DJVU
- J2K: $HAVE_J2K
- LibRaw: $HAVE_RAW
- Libjxl: $HAVE_JPEGXL
- Libarchive: $HAVE_ARCHIVE
- Spelling $HAVE_SPELL
-
-Documentation:
- Doxygen: $DX_DOXYGEN
- doc-tool: $GNOME_DOC_TOOL
-
-END
-
-cat config.report
-cat <<EOF
-
- Now you can type "make" to build Geeqie
- (or you take blue pill and the story ends :)
-
-EOF
+++ /dev/null
-## Process this file with automake to produce Makefile.in.
-
-helpdir = @htmldir@
-
-EXTRA_DIST = docbook icons
-
-html/GuideIndex.html: docbook/GuideIndex.xml
- rm -rf html; mkdir html; cp $(srcdir)/icons/* html/; ./create-doxygen-lua-api.sh
- if [ -x "$(GNOME_DOC_TOOL)" ]; then \
- "$(GNOME_DOC_TOOL)" html -i -o html/ $(srcdir)/docbook/GuideIndex.xml ; \
- else \
- echo "yelp-tools not found, html is not built" ; \
- fi
-
-html: html/GuideIndex.html
-
-install-data-hook: html
- if [ -x "$(GNOME_DOC_TOOL)" ]; then \
- $(MKDIR_P) "$(DESTDIR)$(helpdir)" || exit 1; \
- cd $(srcdir)/html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/$$f" ; done; \
- ln -s -f GuideIndex.html "$(DESTDIR)$(helpdir)/index.html" ; \
- $(MKDIR_P) "$(DESTDIR)$(helpdir)/lua-api" || exit 1; \
- $(MKDIR_P) "$(DESTDIR)$(helpdir)/lua-api/html" || exit 1; \
- cd ./lua-api/html; for f in * ; do $(INSTALL_DATA) "$$f" "$(DESTDIR)$(helpdir)/lua-api/html/$$f" ; done; \
- fi
-
-uninstall-hook:
- rm -r "$(DESTDIR)$(helpdir)/"*
-
-clean-local:
- rm -rf html
#!/bin/sh
#**********************************************************************
-# Copyright (C) 2021 - The Geeqie Team
+# Copyright (C) 2022 - The Geeqie Team
#
# Author: Colin Clark
#
export PROJECT="Geeqie"
VERSION=$(git tag --list v[1-9]* | tail -1)
export VERSION
-export SRCDIR="$PWD/.."
-export DOCDIR="$PWD/html/lua-api"
+export SRCDIR="$1"
+export DOCDIR="$2"
export INLINE_SOURCES=NO
export STRIP_CODE_COMMENTS=YES
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
<!-- lifted from man+troff by doclifter -->
<refentry id='geeqie1'>
-<!-- DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4. -->
+<!-- DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1. -->
<refmeta>
<refentrytitle>GEEQIE</refentrytitle>
<manvolnum>1</manvolnum>
-<refmiscinfo class='source'>January 2022</refmiscinfo>
-<refmiscinfo class='manual'>Geeqie 1.7.2 GTK3</refmiscinfo>
+<refmiscinfo class='source'>July 2022</refmiscinfo>
+<refmiscinfo class='manual'>Geeqie 1.7+git20220716-5ef5596d GTK3</refmiscinfo>
</refmeta>
<refnamediv>
<refname>Geeqie</refname>
<para>Generated for version:</para>
-<para>Geeqie 1.7.2</para>
+<para>Geeqie 1.7+git20220716-5ef5596d</para>
<refsect2 id='valid_options'><title>Valid options:</title>
<variablelist remap='TP'>
</listitem>
</varlistentry>
<varlistentry>
- <term><emphasis role='strong' remap='B'>--config-load</emphasis>: <FILE>|layout ID</term>
+ <term><emphasis role='strong' remap='B'>--config-load</emphasis>:<FILE>|layout ID</term>
<listitem>
<para>load configuration from FILE</para>
</listitem>
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+guideindex = files('docbook/GuideIndex.xml')
+destdir = join_paths(meson.project_build_root(), 'doc', 'html/')
+iconsdir = join_paths(meson.project_source_root(), 'doc', 'icons/')
+
+run_command(gnome_doc_tool, 'html', '-o', destdir, '-p', iconsdir, guideindex, check : false)
+
+install_subdir(destdir, install_dir : helpdir, install_tag : 'help')
+
+srcdir = join_paths(meson.project_source_root())
+destdir = join_paths(meson.project_build_root(), 'doc', 'html', 'lua-api')
+
+run_command(find_program('create-doxygen-lua-api.sh'), srcdir, destdir, check : false)
+
+install_subdir(destdir, install_dir : htmldir, install_tag : 'html')
## Dialogs allow the user to install additional features.
##
-version="2022-05-26"
+version="2022-07-17"
description='
Geeqie is an image viewer.
This script will download, compile, and install Geeqie on Debian-based systems.
-t --tag=TAG Checkout and compile TAG (e.g. v1.4 or v1.3)
-b --back=N Checkout commit -N (e.g. "-b 1" for last-but-one commit)
-l --list List required dependencies
--d --debug=yes Compile with debug output
'
# Essential for compiling
essential_array="git
build-essential
-autoconf
libglib2.0-0
intltool
libtool
-yelp-tools"
+meson
+yelp-tools
+help2man
+doclifter"
# Optional for both GTK2 and GTK3
optional_array="LCMS (for color management)
if [ "$current_dir" = "geeqie" ]
then
- sudo --askpass make uninstall
+ sudo --askpass ninja -C build uninstall
if ! zenity --title="Uninstall Geeqie" --width=370 --text="WARNING.\nThis will delete folder:\n\n$PWD\n\nand all sub-folders!" --question --ok-label="Cancel" --cancel-label="OK" 2> /dev/null
then
shift
shift
;;
- -d | --debug)
- DEBUG="$2"
- shift
- shift
- ;;
*)
break
;;
then
cd geeqie || exit 1
else
- # shellcheck disable=SC2024
- sudo --askpass make uninstall >> "$install_log" 2>&1
- # shellcheck disable=SC2024
- sudo --askpass make maintainer-clean >> "$install_log" 2>&1
+ sudo --askpass ninja -C build uninstall
fi
printf '%b\n' "30" > "$zen_pipe"
exit
fi
fi
-if [ "$DEBUG" = "yes" ]
-then
- debug_opt=""
-else
- debug_opt="--disable-debug-log"
-fi
printf '%b\n' "40" > "$zen_pipe"
printf '%b\n' "#Creating configuration files..." > "$zen_pipe"
if [ -z "${gtk_version%%GTK3*}" ]
then
- ./autogen.sh "$debug_opt" >> "$install_log" 2>&1
+ meson setup build
+ printf '%b\n' "90 " > "$zen_pipe"
+ printf '%b\n' "#Installing Geeqie..." > "$zen_pipe"
+ ninja -C build install
else
- ./autogen.sh "$debug_opt" --disable-gtk3 >> "$install_log" 2>&1
+ meson setup build
+ meson configure build -Dgtk3=false
+ printf '%b\n' "90 " > "$zen_pipe"
+ printf '%b\n' "#Installing Geeqie..." > "$zen_pipe"
+ ninja -C build install
fi
-printf '%b\n' "60" > "$zen_pipe"
-printf '%b\n' "#Compiling..." > "$zen_pipe"
-
-export CFLAGS=$CFLAGS" -Wno-deprecated-declarations"
-export CXXFLAGS=$CXXFLAGS" -Wno-deprecated-declarations"
-
-if ! make -j >> "$install_log" 2>&1
-then
- zenity --title="$title" --width=370 --height=400 --error --text="Compile error" 2> /dev/null
- exit_install
- exit
-fi
-
-printf '%b\n' "90 " > "$zen_pipe"
-printf '%b\n' "#Installing Geeqie..." > "$zen_pipe"
-
-# shellcheck disable=SC2024
-sudo --askpass make install >> "$install_log" 2>&1
-
rm "$install_pass_script"
-mv -f "$install_log" install.log
+mv -f "$install_log" "./build/install.log"
printf '%b\n' "100 " > "$zen_pipe"
rm "$zen_pipe"
-.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.48.4.
-.TH GEEQIE "1" "January 2022" "Geeqie 1.7.2 GTK3" "User Commands"
+.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.49.1.
+.TH GEEQIE "1" "July 2022" "Geeqie 1.7+git20220716-5ef5596d GTK3" "User Commands"
.SH NAME
Geeqie - GTK based multiformat image viewer
.SH SYNOPSIS
Generated for version:
.PP
-Geeqie 1.7.2
+Geeqie 1.7+git20220716\-5ef5596d
.SS "Valid options:"
.TP
\fB\-\-blank\fR
\fB\-\-close\-window\fR
close window
.TP
-\fB\-\-config\-load\fR: <FILE>|layout ID
+\fB\-\-config\-load\fR:<FILE>|layout ID
load configuration from FILE
.TP
\fB\-cm\fR \fB\-\-cache\-metadata\fR
[Desktop Entry]
-_Name=Geeqie
-_GenericName=Image Viewer
-_Comment=View and manage images
+Name=Geeqie
+GenericName=Image Viewer
+Comment=View and manage images
Exec=geeqie -r %F
Icon=geeqie
Type=Application
## ChangeLog.html is also created
##
+builddir="$2"
+
+cd "$1"
+
[ ! -e "ChangeLog.gqview" ] && exit 1
[ ! -x "$(command -v git)" ] && exit 0
[ ! -d ".git" ] && exit 0
-LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow --use-mailmap 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > ChangeLog.$$.new && \
-cat ChangeLog.gqview >> ChangeLog.$$.new && \
-mv -f ChangeLog.$$.new ChangeLog
-
-
-echo "<textarea rows='6614' cols='100'>" >ChangeLog.$$.old.html && \
-tail -6613 ChangeLog >> ChangeLog.$$.old.html && \
-echo "</textarea>" >>ChangeLog.$$.old.html && \
-echo "<html>" > ChangeLog.$$.new.html && \
-echo "<body>" >> ChangeLog.$$.new.html && \
-echo "<ul>" >> ChangeLog.$$.new.html && \
-LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --date=format:'%Y-%m-%d' --no-follow --use-mailmap --pretty=format:"<li><a href=\"http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commit;h=%H\">view commit </a></li><p>Author: %aN<br>Date: %ad<br><textarea rows=4 cols=100>%s %n%n%b</textarea><br><br></p>" 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD >> ChangeLog.$$.new.html && \
-echo "" >> ChangeLog.$$.new.html && \
-cat ChangeLog.$$.old.html >> ChangeLog.$$.new.html && \
-echo "</ul>" >> ChangeLog.$$.new.html && \
-echo "</body>" >> ChangeLog.$$.new.html && \
-echo "</html>" >> ChangeLog.$$.new.html
-[ -e ChangeLog.html ] && mv -f ChangeLog.html ChangeLog.html.bak
-mv -f ChangeLog.$$.new.html ChangeLog.html
-
-rm -f ChangeLog.$$.old.html
+LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --no-follow --use-mailmap 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD > "$builddir/ChangeLog.$$.new" && \
+cat ChangeLog.gqview >> "$builddir/ChangeLog.$$.new" && \
+mv -f "$builddir/ChangeLog.$$.new" "$builddir/ChangeLog"
+
+
+echo "<textarea rows='6614' cols='100'>" >"$builddir/ChangeLog.$$.old.html" && \
+tail -6613 "$builddir/ChangeLog" >> "$builddir/ChangeLog.$$.old.html" && \
+echo "</textarea>" >>"$builddir/ChangeLog.$$.old.html" && \
+echo "<html>" > "$builddir/ChangeLog.$$.new.html" && \
+echo "<body>" >> "$builddir/ChangeLog.$$.new.html" && \
+echo "<ul>" >> "$builddir/ChangeLog.$$.new.html" && \
+LC_ALL=C git log --no-merges --no-notes --encoding=UTF-8 --date=format:'%Y-%m-%d' --no-follow --use-mailmap --pretty=format:"<li><a href=\"http://geeqie.org/cgi-bin/gitweb.cgi?p=geeqie.git;a=commit;h=%H\">view commit </a></li><p>Author: %aN<br>Date: %ad<br><textarea rows=4 cols=100>%s %n%n%b</textarea><br><br></p>" 1b58572cf58e9d2d4a0305108395dab5c66d3a09..HEAD >> "$builddir/ChangeLog.$$.new.html" && \
+echo "" >> "$builddir/ChangeLog.$$.new.html" && \
+cat "$builddir/ChangeLog.$$.old.html" >> "$builddir/ChangeLog.$$.new.html" && \
+echo "</ul>" >> "$builddir/ChangeLog.$$.new.html" && \
+echo "</body>" >> "$builddir/ChangeLog.$$.new.html" && \
+echo "</html>" >> "$builddir/ChangeLog.$$.new.html"
+
+rm "$builddir/ChangeLog.$$.old.html"
+mv -f "$builddir/ChangeLog.$$.new.html" "$builddir/ChangeLog.html"
exit 0
## @file
## @brief Convert README.md to README.html
##
-## Ceate README.html file,
+## Create README.html file,
##
-if [ ! -e "README.md" ]
+srcdir="$1"
+builddir="$2"
+
+if [ ! -e "$srcdir/README.md" ]
then
printf '%s\n' "ERROR: README.md not found"
exit 1
exit 1
fi
-[ -e README.html ] && mv -f README.html README.html.bak
-
-pandoc README.md > README.html
+pandoc "$srcdir/README.md" > "$builddir/README.html"
exit 0
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# Meson default directories used in this project:
+# prefix - /usr/local
+# bindir - bin
+# datadir - share
+
+# Meson core options:
+# buildtype
+# debug
+
+# Project expanded default directories:
+# prefix /usr/local/
+# bindir /usr/local/bin geeqie executable
+# gq_bindir /usr/local/lib/geeqie * plugins scripts
+# datadir /usr/local/share/
+# /usr/local/share/applications geeqie.desktop
+# [gq_]appdir /usr/local/share/geeqie/ * template.desktop
+# desktopdir /usr/local/share/geeqie/applications plugin desktop files
+# appdatadir /usr/local/share/metainfo org.geeqie.Geeqie.appdata.xml
+# icondir /usr/local/share/pixmaps geeqie.png icon
+# [gq_]helpdir /usr/local/share/doc/geeqie * readme files etc.
+# [gq_]htmldir /usr/local/share/doc/geeqie/html * help files
+# gq_localedir /usr/locale/share/locale
+# mandir1 /usr/local/share/man/man1 man page
+# podir project_root/po
+
+# * See meson_options.txt file
+
+project(
+ 'geeqie',
+ 'c',
+ 'cpp',
+ version : run_command('./version.sh', check : true).stdout().strip(),
+ license : ['GPL-2.0-or-later'],
+ meson_version : '>= 0.60.0',
+ default_options : ['warning_level=0', 'buildtype=debugoptimized']
+)
+
+# Project requirements
+project_sources = []
+gnome = import('gnome')
+thread_dep = dependency('threads')
+cc = meson.get_compiler('c')
+i18n = import('i18n')
+configuration_inc = include_directories('.')
+
+# External programs
+gdk_pixbuf_csource = find_program('gdk-pixbuf-csource', required : true)
+glib_genmarshal = find_program('glib-genmarshal', required : true)
+gnome_doc_tool = find_program('yelp-build', required : false)
+if not gnome_doc_tool.found()
+ message('yelp-build not found. Help files not created.')
+endif
+
+debug = get_option('debug')
+
+# Note that main.c sets prefix to the directory above where the executable is run from.
+# This is to allow AppImages to be used
+
+# These gq_* variables are paths relative to /prefix/,
+# and are also used in defines in the source as GQ_*
+if get_option('gq_appdir') == ''
+ gq_appdir = join_paths(get_option('datadir'), 'geeqie')
+else
+ gq_appdir = get_option('gq_appdir')
+endif
+
+# This is not the same as Meson bindir
+if get_option('gq_bindir') == ''
+ gq_bindir = 'lib/geeqie'
+else
+ gq_bindir = get_option('gq_bindir')
+endif
+
+if get_option('gq_helpdir') == ''
+ gq_helpdir = join_paths(get_option('datadir'), 'doc/geeqie')
+else
+ gq_helpdir = get_option('gq_helpdir')
+endif
+
+if get_option('gq_htmldir') == ''
+ gq_htmldir = join_paths(get_option('datadir'), 'doc/geeqie/html')
+else
+ gq_htmldir = get_option('gq_htmldir')
+endif
+
+if get_option('gq_localedir') == ''
+ gq_localedir = join_paths(get_option('datadir'), 'locale')
+else
+ gq_localedir = get_option('gq_localedir')
+endif
+
+
+# Set up the absolute directory paths used
+prefix = get_option('prefix')
+datadir = join_paths(prefix, get_option('datadir'))
+
+# Installation paths are absolute
+appdir = join_paths(prefix, gq_appdir)
+appdatadir = join_paths(datadir, 'metainfo')
+desktopdir = join_paths(datadir, meson.project_name(), 'applications')
+helpdir = join_paths(prefix, gq_helpdir)
+htmldir = join_paths(prefix, gq_htmldir)
+icondir = join_paths(datadir, 'pixmaps')
+mandir1 = join_paths(datadir, 'man', 'man1')
+
+podir = join_paths(meson.project_source_root(), 'po')
+
+# Create the define constants used in the sources. Set via config.h.in
+conf_data = configuration_data()
+conf_data.set_quoted('VERSION', run_command('./version.sh', check : true).stdout())
+conf_data.set('DEBUG', debug)
+
+if get_option('gtk3')
+ gtk_dep = dependency('gtk+-3.0', version : '>=3.0', required: true)
+else
+ gtk_dep = dependency('gtk+-2.0', version : '>=2.20', required: true)
+endif
+
+glib_dep = dependency('glib-2.0', version: '>=2.52', required: true)
+
+libarchive_dep = []
+libarchive_dep = dependency('libarchive', version: '>=3.4.0', required : get_option('archive'))
+if libarchive_dep.found()
+ conf_data.set('HAVE_ARCHIVE', 1)
+endif
+
+clutter_dep = []
+clutter_gtk_dep = []
+if get_option('gtk3')
+ clutter_dep = dependency('clutter-1.0', required : get_option('clutter'))
+ clutter_gtk_dep = dependency('clutter-gtk-1.0', required : get_option('clutter'))
+ if clutter_dep.found() and clutter_gtk_dep.found()
+ conf_data.set('HAVE_CLUTTER', 1)
+ endif
+endif
+
+lcms_dep = []
+lcms_dep = dependency('lcms2', version: '>=2.0', required : get_option('cms'))
+if lcms_dep.found()
+ conf_data.set('HAVE_LCMS', 1)
+ conf_data.set('HAVE_LCMS2', 1)
+endif
+
+ddjvuapi_dep = []
+ddjvuapi_dep = dependency('ddjvuapi', version: '>=3.5.27', required : get_option('djvu'))
+if ddjvuapi_dep.found()
+ conf_data.set('HAVE_DJVU', 1)
+endif
+
+exiv2_dep = []
+exiv2_dep = dependency('exiv2', version: '>=0.11', required : get_option('exiv2'))
+if exiv2_dep.found()
+ conf_data.set('HAVE_EXIV2', 1)
+endif
+
+libffmpegthumbnailer_dep = []
+libffmpegthumbnailer_dep = dependency('libffmpegthumbnailer',
+ version: '>=2.1.0',
+ required : get_option('ffmpegthumbnailer'))
+
+if libffmpegthumbnailer_dep.found()
+ conf_data.set('HAVE_FFMPEGTHUMBNAILER', 1)
+
+ if cc.has_member('struct video_thumbnailer_struct', 'prefer_embedded_metadata',
+ prefix : '#include <libffmpegthumbnailer/videothumbnailerc.h>')
+
+ conf_data.set('HAVE_FFMPEGTHUMBNAILER_METADATA', 1)
+ endif
+
+ if cc.has_member('struct image_data_struct', 'image_data_width',
+ prefix : '#include <libffmpegthumbnailer/videothumbnailerc.h>' )
+
+ conf_data.set('HAVE_FFMPEGTHUMBNAILER_RGB', 1)
+ endif
+
+ if cc.has_function('video_thumbnailer_set_size',
+ dependencies : libffmpegthumbnailer_dep)
+
+ conf_data.set('HAVE_FFMPEGTHUMBNAILER_WH', 1)
+ endif
+endif
+
+champlain_dep = []
+champlain_gtk_dep = []
+if conf_data.has('HAVE_CLUTTER')
+ champlain_dep = dependency('champlain-0.12', version: '>=0.12', required : get_option('gps-map'))
+ champlain_gtk_dep = dependency('champlain-gtk-0.12', version: '>=0.12', required : get_option('gps-map'))
+ if champlain_dep.found() and champlain_gtk_dep.found()
+ conf_data.set('HAVE_LIBCHAMPLAIN', 1)
+ conf_data.set('HAVE_LIBCHAMPLAIN_GTK', 1)
+ endif
+endif
+
+libheif_dep = []
+libheif_dep = dependency('libheif', version: '>=1.3.2', required : get_option('heif'))
+if libheif_dep.found()
+ conf_data.set('HAVE_HEIF', 1)
+endif
+
+libopenjp2_dep = []
+libopenjp2_dep = dependency('libopenjp2', version: '>=2.3.0', required : get_option('j2k'))
+if libopenjp2_dep.found()
+ conf_data.set('HAVE_J2K', 1)
+endif
+
+libjpeg_dep = []
+libjpeg_dep = dependency('libjpeg', required : get_option('jpeg'))
+if libjpeg_dep.found()
+ if cc.has_function('jpeg_destroy_decompress',
+ dependencies : libjpeg_dep)
+
+ conf_data.set('HAVE_JPEG', 1)
+ endif
+endif
+
+libjxl_dep = []
+libjxl_dep = dependency('libjxl', version: '>=0.3.7', required : get_option('jpegxl'))
+if libjxl_dep.found()
+ conf_data.set('HAVE_JPEGXL', 1)
+endif
+
+libraw_dep = []
+libraw_dep = dependency('libraw', version: '>=0.20', required : get_option('libraw'))
+if libraw_dep.found()
+ conf_data.set('HAVE_RAW', 1)
+endif
+
+lirc_dep = []
+lirc_dep = dependency('lirc', version: '>=0.6.1', required : get_option('lirc'))
+if lirc_dep.found()
+ conf_data.set('HAVE_LIRC', 1)
+endif
+
+lua_dep = []
+lua_dep = dependency('lua5.1', required : get_option('lua'))
+if lua_dep.found()
+ conf_data.set('HAVE_LUA', 1)
+endif
+
+poppler_glib_dep = []
+if get_option('gtk3')
+ poppler_glib_dep = dependency('poppler-glib', version: '>=0.62', required : get_option('pdf'))
+ if poppler_glib_dep.found()
+ conf_data.set('HAVE_PDF', 1)
+ endif
+endif
+
+gspell_dep = []
+if get_option('gtk3')
+ gspell_dep = dependency('gspell-1', required: get_option('spell'))
+ if gspell_dep.found()
+ conf_data.set('HAVE_SPELL', 1)
+ endif
+endif
+
+tiff_dep = []
+tiff_dep = cc.find_library('tiff', required: get_option('tiff'))
+if tiff_dep.found()
+ if cc.has_function('TIFFClientOpen',
+ dependencies : tiff_dep)
+
+ conf_data.set('HAVE_TIFF', 1)
+ endif
+endif
+
+libwebp_dep = []
+ libwebp_dep = dependency('libwebp', version: '>=0.6.1', required : get_option('webp'))
+ if libwebp_dep.found()
+ conf_data.set('HAVE_WEBP', 1)
+ endif
+
+# Check for nl_langinfo and _NL_TIME_FIRST_WEEKDAY
+code = '''#include <langinfo.h>
+#include<stdio.h>
+int main (int argc, char ** argv) {
+ char *c;
+ c = nl_langinfo(_NL_TIME_FIRST_WEEKDAY);
+ return 0;
+}'''
+if cc.links(code, name : 'nl_langinfo and _NL_TIME_FIRST_WEEKDAY')
+ conf_data.set('HAVE__NL_TIME_FIRST_WEEKDAY', 1)
+endif
+
+conf_data.set_quoted('GETTEXT_PACKAGE', meson.project_name())
+conf_data.set_quoted('GQ_APPDIR', gq_appdir)
+conf_data.set_quoted('GQ_BINDIR', gq_bindir)
+conf_data.set_quoted('GQ_HELPDIR', gq_helpdir)
+conf_data.set_quoted('GQ_HTMLDIR', gq_htmldir)
+conf_data.set_quoted('GQ_LOCALEDIR', gq_localedir)
+
+conf_data.set_quoted('PACKAGE', meson.project_name())
+conf_data.set_quoted('PACKAGE_NAME', meson.project_name())
+conf_data.set_quoted('PACKAGE_STRING', meson.project_version())
+conf_data.set_quoted('PACKAGE_TARNAME', meson.project_name())
+conf_data.set_quoted('PACKAGE_VERSION', meson.project_version())
+conf_data.set_quoted('VERSION', meson.project_version())
+
+configure_file(input : 'config.h.in',
+ output : 'config.h',
+ encoding : 'UTF-8',
+ configuration : conf_data)
+
+# Process subdirs before the sources
+subdir('po')
+subdir('plugins')
+
+# Generate the executable and the help files
+subdir('src')
+subdir('doc')
+
+# Install other project files
+run_command(find_program('gen_changelog.sh'), meson.project_source_root(), meson.project_build_root(), check : true)
+
+run_command(find_program('gen_readme.sh'), meson.project_source_root(), meson.project_build_root(), check : true)
+
+pandoc = find_program('pandoc')
+if pandoc.found()
+ install_data('README.md', 'COPYING', join_paths(meson.project_build_root(), 'ChangeLog'), 'TODO', 'README.lirc', 'AUTHORS', join_paths(meson.project_build_root(), 'README.html'), join_paths(meson.project_build_root(), 'ChangeLog.html'), install_dir : helpdir, install_tag : 'help')
+else
+ install_data('README.md', 'COPYING', join_paths(meson.project_build_root(), 'ChangeLog'), 'TODO', 'README.lirc', 'AUTHORS', install_dir : helpdir, install_tag : 'help')
+endif
+
+install_data('geeqie.png', install_dir : icondir, install_tag : 'icons')
+install_data('geeqie.1', install_dir : mandir1, install_tag : 'man')
+
+i18n.merge_file(
+ input : 'geeqie.desktop.in',
+ output : 'geeqie.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : join_paths(datadir, 'applications'))
+
+i18n.merge_file(
+ input : 'org.geeqie.Geeqie.appdata.xml.in',
+ output : 'org.geeqie.Geeqie.appdata.xml',
+ type : 'xml',
+ po_dir : podir,
+ install : true,
+ install_dir : appdatadir)
+
+configure_file(input: 'geeqie.spec.in', output: 'geeqie.spec', configuration: conf_data)
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# These gq_* paths are used relative to /prefix/ e.g.
+# prefix
+# gq_bindir -> /user/local / 'lib/geeqie'
+# gq_helpdir -> /user/local / 'share/doc/geeqie'
+
+# Override the default values set in meson.build
+option('gq_appdir', type : 'string', value : '', description : 'Location of application data')
+option('gq_bindir', type : 'string', value : '', description : 'Location of plugin scripts and executables')
+option('gq_helpdir', type : 'string', value : '', description : 'Location of documentation files')
+option('gq_htmldir', type : 'string', value : '', description : 'Location of html documentation')
+option('gq_localedir', type : 'string', value : '', description : 'Location where the catalogs will be installed')
+
+option('gtk3', type : 'boolean', value : 'true', description : 'GTK3')
+
+option('archive', type : 'feature', value : 'auto', description : 'archive files e.g. zip, gz')
+option('clutter', type : 'feature', value : 'auto', description : 'clutter (for GPS maps)')
+option('cms', type : 'feature', value : 'auto', description : 'color management system')
+option('djvu', type : 'feature', value : 'auto', description : 'djvu')
+option('exiv2', type : 'feature', value : 'auto', description : 'exiv2')
+option('ffmpegthumbnailer', type : 'feature', value : 'auto', description : 'ffmpegthumbnailer')
+option('gps-map', type : 'feature', value : 'auto', description : 'gps map')
+option('heif', type : 'feature', value : 'auto', description : 'heif')
+option('j2k', type : 'feature', value : 'auto', description : 'j2k')
+option('jpeg', type : 'feature', value : 'auto', description : 'jpeg')
+option('jpegxl', type : 'feature', value : 'auto', description : 'jpegxl')
+option('libraw', type : 'feature', value : 'auto', description : 'libraw')
+option('lirc', type : 'feature', value : 'auto', description : 'lirc')
+option('lua', type : 'feature', value : 'auto', description : 'lua')
+option('markdown', type : 'feature', value : 'auto', description : 'markdown')
+option('pdf', type : 'feature', value : 'auto', description : 'pdf')
+option('spell', type : 'feature', value : 'auto', description : 'spelling checks')
+option('tiff', type : 'feature', value : 'auto', description : 'tiff')
+option('webp', type : 'feature', value : 'auto', description : 'webp')
+++ /dev/null
-
-SUBDIRS = rotate symlink geocode-parameters export-jpeg tethered-photography camera-import image-crop random-image lens
-qq_desktoptemplatedir = $(appdir)
-qq_desktoptemplate_in_files = template.desktop.in
-qq_desktoptemplate_DATA = $(qq_desktoptemplate_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(qq_desktoptemplate_in_files)
-CLEANFILES = $(qq_desktoptemplate_DATA)
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-camera-import geeqie-camera-import-hook-script
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = camera-import.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Camera import
-_Comment=Import all images from camera
+Name=Camera import
+Comment=Import all images from camera
# Requires gphoto2
# The gphoto2 file $HOME/.gphoto2/settings can
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-camera-import', 'geeqie-camera-import-hook-script', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'camera-import.desktop.in',
+ output : 'camera-import.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-export-jpeg
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = export-jpeg.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Export jpeg
-_Comment=Extract embedded jpegs from a raw file
+Name=Export jpeg
+Comment=Extract embedded jpegs from a raw file
Exec=geeqie-export-jpeg %f
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-export-jpeg', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'export-jpeg.desktop.in',
+ output : 'export-jpeg.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
+++ /dev/null
-dist_gq_bin_SCRIPTS = geocode-parameters.awk
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geocode-parameters.awk', install_dir : gq_bindir, install_tag : 'plugins')
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-image-crop
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = image-crop.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Image crop
-_Comment=Crop image from marked rectangle
+Name=Image crop
+Comment=Crop image from marked rectangle
# Requires ImageMagick and exiftools
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-image-crop', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'image-crop.desktop.in',
+ output : 'image-crop.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
+++ /dev/null
-dist_gq_bin_SCRIPTS = lensID
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('lensID', install_dir : gq_bindir, install_tag : 'plugins')
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+subdir('camera-import')
+subdir('export-jpeg')
+subdir('geocode-parameters')
+subdir('image-crop')
+subdir('lens')
+subdir('random-image')
+subdir('rotate')
+subdir('symlink')
+subdir('tethered-photography')
+
+
+i18n.merge_file(
+ input : 'template.desktop.in',
+ output : 'template.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : appdir)
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-random-image
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = random-image.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-random-image', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'random-image.desktop.in',
+ output : 'random-image.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Random image
-_Comment=Display random image from Collections and current folder
+Name=Random image
+Comment=Display random image from Collections and current folder
Exec=geeqie-random-image
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-rotate
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = rotate.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
-
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-rotate', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'rotate.desktop.in',
+ output : 'rotate.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Apply the orientation to image content
+Name=Apply the orientation to image content
# call the helper script
Exec=geeqie-rotate -g %f
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-symlink
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = symlink.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-symlink', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'symlink.desktop.in',
+ output : 'symlink.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Symlink
+Name=Symlink
# call the helper script
Exec=geeqie-symlink %f
Type=Application
# The name which appears in the menu:
-_Name=Template
+Name=Template
#Name[cs]=Å ablona
#Name[fr]=Modèle
#Name[de]=Vorlage
+++ /dev/null
-dist_gq_bin_SCRIPTS = geeqie-tethered-photography geeqie-tethered-photography-hook-script
-
-gq_desktopdir = $(appdir)/applications
-gq_desktop_in_files = tethered-photography.desktop.in
-gq_desktop_DATA = $(gq_desktop_in_files:.desktop.in=.desktop)
-@INTLTOOL_DESKTOP_RULE@
-
-EXTRA_DIST = $(gq_desktop_in_files)
-CLEANFILES = $(gq_desktop_DATA)
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+install_data('geeqie-tethered-photography', 'geeqie-tethered-photography-hook-script', install_dir : gq_bindir, install_tag : 'plugins')
+
+i18n.merge_file(
+ input : 'tethered-photography.desktop.in',
+ output : 'tethered-photography.desktop',
+ type : 'desktop',
+ po_dir : podir,
+ install : true,
+ install_dir : desktopdir)
[Desktop Entry]
Version=1.0
Type=Application
-_Name=Tethered photography
+Name=Tethered photography
Exec=geeqie-tethered-photography
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+add_project_arguments('-DGETTEXT_PACKAGE="geeqie"', language:'c')
+
+i18n.gettext(meson.project_name())
#! /bin/sh
#**********************************************************************
-# Copyright (C) 2021 - The Geeqie Team
+# Copyright (C) 2022 - The Geeqie Team
#
# Author: Colin Clark
#
exit 1
fi
+rm -rf ./build-appimge
rm -rf "$target_dir"/AppDir
mkdir "$target_dir"/AppDir || { printf '%s\n' "Cannot make $target_dir/AppDir"; exit 1; }
-sudo rm -rf doc/html
-
-sudo make maintainer-clean
-./autogen.sh --prefix="/usr/"
-make -j
-make install DESTDIR="$target_dir"/AppDir
+meson setup build-appimage
+meson configure build-appimage -Dprefix="/usr/"
+DESTDIR=/"$target_dir"/AppDir ninja -C build-appimage install
VERSION=$(git tag | tail -1)
export VERSION
+++ /dev/null
-SUBDIRS = icons
-DIST_SUBDIRS = icons
-
-AM_CFLAGS = \
- $(GLIB_CFLAGS) $(GTK_CFLAGS) \
- $(LCMS_CFLAGS) \
- $(EXIV2_CFLAGS) \
- $(LIBCHAMPLAIN_CFLAGS) \
- $(LIBCHAMPLAIN_GTK_CFLAGS) \
- $(LUA_CFLAGS) \
- $(CLUTTER_CFLAGS) \
- $(CLUTTER_GTK_CFLAGS) \
- $(FFMPEGTHUMBNAILER_CFLAGS) \
- $(PDF_CFLAGS) \
- $(SPELL_CFLAGS) \
- $(HEIF_CFLAGS) \
- $(WEBP_CFLAGS) \
- $(J2K_CFLAGS) \
- $(JPEGXL_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_builddir)
-
-
-AM_CXXFLAGS = \
- $(GLIB_CFLAGS) $(GTK_CFLAGS) \
- $(LCMS_CFLAGS) \
- $(EXIV2_CFLAGS) \
- $(LIBCHAMPLAIN_CFLAGS) \
- $(LIBCHAMPLAIN_GTK_CFLAGS) \
- $(LUA_CFLAGS) \
- $(CLUTTER_CFLAGS) \
- $(CLUTTER_GTK_CFLAGS) \
- $(FFMPEGTHUMBNAILER_CFLAGS) \
- $(PDF_CFLAGS) \
- $(SPELL_CFLAGS) \
- $(HEIF_CFLAGS) \
- $(WEBP_CFLAGS) \
- $(J2K_CFLAGS) \
- $(JPEGXL_CFLAGS) \
- -I$(top_srcdir) \
- -I$(top_builddir)
-
-module_SLIK = \
- intl.h \
- ui_bookmark.c \
- ui_bookmark.h \
- ui_fileops.c \
- ui_fileops.h \
- ui_help.c \
- ui_help.h \
- ui_menu.c \
- ui_menu.h \
- ui_misc.c \
- ui_misc.h \
- ui_pathsel.c \
- ui_pathsel.h \
- ui_spinner.c \
- ui_spinner.h \
- ui_tabcomp.c \
- ui_tabcomp.h \
- ui_tree_edit.c \
- ui_tree_edit.h \
- ui_utildlg.c \
- ui_utildlg.h
-
-extra_ICONS = \
- ui_spinner.png \
- ui_tabcomp.png
-
-ICON_PAIRS = \
- icon_spinner $(srcdir)/ui_spinner.png \
- icon_tabcomp $(srcdir)/ui_tabcomp.png
-
-ui_icons.h: $(extra_ICONS) Makefile.in
- @sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
- echo '#ifndef UI_ICONS_H'; \
- echo '#define UI_ICONS_H'; echo; \
- $(GDK_PIXBUF_CSOURCE) --raw --extern --build-list $(ICON_PAIRS); \
- echo '#endif /* UI_ICONS_H */'" > $@ || { echo "!!! Failed to generate $@ !!!"; exit 1; }
-
-ClayRGB1998_icc.h: ClayRGB1998.icc
- echo "/*" > $@
- echo " * This file was generated from ClayRGB1998.icc, DO NOT EDIT " >> $@
- echo " * http://www.argyllcms.com/ClayRGB1998.zip " >> $@
- echo " */ " >> $@
- xxd -i $^ >> $@
-
-ui_spinner.o: ui_icons.h
-
-
-noinst_DATA = ui_icons.h
-CLEANFILES = $(noinst_DATA)
-
-extra_SLIK = \
- $(extra_ICONS)
-
-include $(srcdir)/pan-view/Makefile.am
-include $(srcdir)/view_file/Makefile.am
-
-bin_PROGRAMS = geeqie
-
-geeqie_SOURCES = \
- $(module_SLIK) \
- $(module_pan_view) \
- $(module_view_file) \
- ClayRGB1998.icc \
- ClayRGB1998_icc.h \
- advanced_exif.c \
- advanced_exif.h \
- bar.c \
- bar.h \
- bar_comment.c \
- bar_comment.h \
- bar_gps.c \
- bar_gps.h \
- bar_histogram.c \
- bar_histogram.h \
- bar_keywords.c \
- bar_keywords.h \
- bar_exif.c \
- bar_exif.h \
- bar_rating.c \
- bar_rating.h \
- bar_sort.c \
- bar_sort.h \
- cache.c \
- cache.h \
- cache-loader.c \
- cache-loader.h \
- cache_maint.c \
- cache_maint.h \
- cellrenderericon.c \
- cellrenderericon.h \
- collect.c \
- collect.h \
- collect-dlg.c \
- collect-dlg.h \
- collect-io.c \
- collect-io.h \
- collect-table.c \
- collect-table.h \
- color-man.c \
- color-man.h \
- compat.c \
- compat.h \
- debug.c \
- debug.h \
- desktop_file.c \
- desktop_file.h \
- dnd.c \
- dnd.h \
- dupe.c \
- dupe.h \
- editors.c \
- editors.h \
- exif.c \
- exif.h \
- exif-int.h \
- exif-common.c \
- exiv2.cc \
- filecache.c \
- filecache.h \
- filedata.c \
- filedata.h \
- filefilter.c \
- filefilter.h \
- gq-marshal.c \
- gq-marshal.h \
- gq-marshal.list \
- format_canon.c \
- format_canon.h \
- format_fuji.c \
- format_fuji.h \
- format_nikon.c \
- format_nikon.h \
- format_olympus.c \
- format_olympus.h \
- format_raw.c \
- format_raw.h \
- fullscreen.c \
- fullscreen.h \
- histogram.c \
- histogram.h \
- history_list.c \
- history_list.h \
- image.c \
- image.h \
- image-load.c \
- image-load.h \
- image_load_cr3.c\
- image_load_cr3.h\
- image_load_gdk.c\
- image_load_gdk.h\
- image_load_jpeg.c\
- image_load_jpeg.h\
- image_load_tiff.c\
- image_load_tiff.h\
- image_load_dds.c\
- image_load_dds.h\
- image_load_external.c\
- image_load_external.h\
- image_load_collection.c\
- image_load_collection.h\
- image_load_pdf.c\
- image_load_pdf.h\
- image_load_heif.c\
- image_load_heif.h\
- image_load_webp.c\
- image_load_webp.h\
- image_load_zxscr.c\
- image_load_zxscr.h\
- image_load_djvu.c\
- image_load_djvu.h\
- image_load_psd.c\
- image_load_psd.h\
- image_load_j2k.c\
- image_load_j2k.h\
- image_load_jpegxl.c\
- image_load_jpegxl.h\
- image_load_libraw.c\
- image_load_libraw.h\
- image_load_svgz.c\
- image_load_svgz.h\
- image_load_ffmpegthumbnailer.c\
- image_load_ffmpegthumbnailer.h\
- image-overlay.c \
- image-overlay.h \
- img-view.c \
- img-view.h \
- jpeg_parser.c \
- jpeg_parser.h \
- layout.c \
- layout.h \
- layout_config.c \
- layout_config.h \
- layout_image.c \
- layout_image.h \
- layout_util.c \
- layout_util.h \
- keymap_template.c\
- keymap_template.h\
- lirc.c \
- lirc.h \
- logwindow.c \
- logwindow.h \
- main.c \
- main.h \
- md5-util.c \
- md5-util.h \
- menu.c \
- menu.h \
- metadata.c \
- metadata.h \
- misc.c \
- misc.h \
- options.c \
- options.h \
- osd.c \
- osd.h \
- pan-view.h \
- pixbuf-renderer.c \
- pixbuf-renderer.h \
- renderer-tiles.c \
- renderer-tiles.h \
- renderer-clutter.c \
- renderer-clutter.h \
- pixbuf_util.c \
- pixbuf_util.h \
- preferences.c \
- preferences.h \
- print.c \
- print.h \
- remote.c \
- remote.h \
- rcfile.c \
- rcfile.h \
- search.c \
- search.h \
- search_and_run.c \
- search_and_run.h \
- secure_save.c \
- secure_save.h \
- shortcuts.c \
- shortcuts.h \
- similar.c \
- similar.h \
- slideshow.c \
- slideshow.h \
- typedefs.h \
- thumb.c \
- thumb.h \
- thumb_standard.c \
- thumb_standard.h \
- toolbar.c \
- toolbar.h \
- trash.c \
- trash.h \
- uri_utils.c \
- uri_utils.h \
- utilops.c \
- utilops.h \
- view_dir.c \
- view_dir.h \
- view_dir_list.c \
- view_dir_list.h \
- view_dir_tree.c \
- view_dir_tree.h \
- view_file.h \
- whereami.c \
- whereami.h \
- window.c \
- window.h \
- lua.c \
- glua.h \
- zonedetect.c \
- zonedetect.h
-
-geeqie_LDADD = $(GTK_LIBS) $(GLIB_LIBS) $(INTLLIBS) $(JPEG_LIBS) $(TIFF_LIBS) $(LCMS_LIBS) $(EXIV2_LIBS) $(LIBCHAMPLAIN_LIBS) $(LIBCHAMPLAIN_GTK_LIBS) $(LUA_LIBS) $(CLUTTER_LIBS) $(CLUTTER_GTK_LIBS) $(FFMPEGTHUMBNAILER_LIBS) $(PDF_LIBS) $(HEIF_LIBS) $(WEBP_LIBS) $(SPELL_LIBS) $(DJVU_LIBS) $(J2K_LIBS) $(RAW_LIBS) $(JPEGXL_LIBS) $(ARCHIVE_LIBS)
-
-EXTRA_DIST = \
- $(extra_SLIK)
-
-image-load.o: gq-marshal.h
-
-gq-marshal.h: gq-marshal.list
- $(GLIB_GENMARSHAL) --prefix=gq_marshal $(srcdir)/gq-marshal.list --header >$@
-
-gq-marshal.c: gq-marshal.list gq-marshal.h
- (echo "#include \"gq-marshal.h\"" ; $(GLIB_GENMARSHAL) --prefix=gq_marshal $(srcdir)/gq-marshal.list --body ) >$@
else
xdg_data_dirs = g_strdup("/usr/share");
- all_dirs = g_strconcat(get_rc_dir(), ":", gq_app_dir, ":", xdg_data_home_get(), ":", xdg_data_dirs, NULL);
+ all_dirs = g_strconcat(get_rc_dir(), ":", gq_appdir, ":", xdg_data_home_get(), ":", xdg_data_dirs, NULL);
g_free(xdg_data_dirs);
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#define _XOPEN_SOURCE
* Add support for marker tag 0x0000
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "config.h"
+#include <config.h>
#ifdef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifndef HAVE_EXIV2
+++ /dev/null
-SUBDIRS = svg
-DIST_SUBDIRS = svg
-
-## GQview inline icons
-
-ICONS_INLINE = \
- folder_closed.png \
- folder_locked.png \
- folder_open.png \
- folder_up.png \
- gqview_icon.png \
- geeqie_logo.png \
- scroller.png \
- sheet_broken.png \
- archive_file.png \
- sheet_metadata.png \
- sheet_unknown.png \
- sheet_video.png \
- collection.png \
- icon_float.png \
- icon_thumb.png \
- icon_book.png \
- icon_config.png \
- icon_tools.png \
- icon_view.png \
- icon_panorama.png \
- icon_maintenance.png \
- icon_zoomfillhor.png \
- icon_zoomfillvert.png \
- icon_hidetools.png \
- icon_exif.png \
- icon_marks.png \
- icon_info.png \
- icon_sort.png \
- icon_pdf.png \
- icon_draw_rectangle.png \
- icon_move.png \
- icon_rename.png \
- icon_select_all.png \
- icon_select_none.png \
- icon_select_invert.png \
- icon_select_rectangle.png \
- icon_file_filter.png \
- icon_rotate_clockwise.png \
- icon_rotate_counter_clockwise.png \
- icon_rotate_180.png \
- icon_mirror.png \
- icon_flip.png \
- icon_original.png \
- icon_trash.png \
- icon_heic.png \
- icon_grayscale.png \
- icon_exposure.png \
- icon_split_pane_sync.png
-
-ICONS_INLINE_PAIRS = \
- folder_closed $(srcdir)/folder_closed.png \
- folder_locked $(srcdir)/folder_locked.png \
- folder_open $(srcdir)/folder_open.png \
- folder_up $(srcdir)/folder_up.png \
- gqview_icon $(srcdir)/gqview_icon.png \
- geeqie_logo $(srcdir)/geeqie_logo.png \
- icon_float $(srcdir)/icon_float.png \
- icon_thumb $(srcdir)/icon_thumb.png \
- icon_scroller $(srcdir)/scroller.png \
- icon_broken $(srcdir)/sheet_broken.png \
- icon_archive $(srcdir)/archive_file.png \
- icon_metadata $(srcdir)/sheet_metadata.png \
- icon_unknown $(srcdir)/sheet_unknown.png \
- icon_video $(srcdir)/sheet_video.png \
- icon_collection $(srcdir)/collection.png \
- icon_book $(srcdir)/icon_book.png \
- icon_config $(srcdir)/icon_config.png \
- icon_tools $(srcdir)/icon_tools.png \
- icon_view $(srcdir)/icon_view.png \
- icon_panorama $(srcdir)/icon_panorama.png \
- icon_maintenance $(srcdir)/icon_maintenance.png \
- icon_zoomfillhor $(srcdir)/icon_zoomfillhor.png \
- icon_zoomfillvert $(srcdir)/icon_zoomfillvert.png \
- icon_hidetools $(srcdir)/icon_hidetools.png \
- icon_exif $(srcdir)/icon_exif.png \
- icon_marks $(srcdir)/icon_marks.png \
- icon_info $(srcdir)/icon_info.png \
- icon_sort $(srcdir)/icon_sort.png \
- icon_pdf $(srcdir)/icon_pdf.png \
- icon_draw_rectangle $(srcdir)/icon_draw_rectangle.png \
- icon_move $(srcdir)/icon_move.png \
- icon_rename $(srcdir)/icon_rename.png \
- icon_select_all $(srcdir)/icon_select_all.png \
- icon_select_none $(srcdir)/icon_select_none.png \
- icon_select_invert $(srcdir)/icon_select_invert.png \
- icon_select_rectangle $(srcdir)/icon_select_rectangle.png \
- icon_file_filter $(srcdir)/icon_file_filter.png \
- icon_rotate_clockwise $(srcdir)/icon_rotate_clockwise.png \
- icon_rotate_counter_clockwise $(srcdir)/icon_rotate_counter_clockwise.png \
- icon_rotate_180 $(srcdir)/icon_rotate_180.png \
- icon_mirror $(srcdir)/icon_mirror.png \
- icon_flip $(srcdir)/icon_flip.png \
- icon_original $(srcdir)/icon_original.png \
- icon_trash $(srcdir)/icon_trash.png \
- icon_heic $(srcdir)/icon_heic.png \
- icon_grayscale $(srcdir)/icon_grayscale.png \
- icon_exposure $(srcdir)/icon_exposure.png \
- icon_split_pane_sync $(srcdir)/icon_split_pane_sync.png
-
-icons_inline.h: $(ICONS_INLINE) Makefile.in
- @sh -ec "echo '/* Auto generated file, do not edit */'; echo; \
- echo '#ifndef ICONS_INLINE_H'; \
- echo '#define ICONS_INLINE_H'; echo; \
- $(GDK_PIXBUF_CSOURCE) --raw --extern --build-list $(ICONS_INLINE_PAIRS); \
- echo '#endif /* ICONS_INLINE_H */'" > $@ || echo "!!! Failed to generate $@ !!!"
-
-noinst_DATA = icons_inline.h
-CLEANFILES = $(noinst_DATA)
-
-## end GQview specific icons
-
-
-EXTRA_DIST = \
- $(ICONS_INLINE) \
- marker.xpm
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+icons_inline_pairs = [
+'folder_closed', files('folder_closed.png'),
+'folder_locked', files('folder_locked.png'),
+'folder_open', files('folder_open.png'),
+'folder_up', files('folder_up.png'),
+'gqview_icon', files('gqview_icon.png'),
+'geeqie_logo', files('geeqie_logo.png'),
+'icon_float', files('icon_float.png'),
+'icon_thumb', files('icon_thumb.png'),
+'icon_scroller', files('scroller.png'),
+'icon_broken', files('sheet_broken.png'),
+'icon_archive', files('archive_file.png'),
+'icon_metadata', files('sheet_metadata.png'),
+'icon_unknown', files('sheet_unknown.png'),
+'icon_video', files('sheet_video.png'),
+'icon_collection', files('collection.png'),
+'icon_book', files('icon_book.png'),
+'icon_config', files('icon_config.png'),
+'icon_tools', files('icon_tools.png'),
+'icon_view', files('icon_view.png'),
+'icon_panorama', files('icon_panorama.png'),
+'icon_maintenance', files('icon_maintenance.png'),
+'icon_zoomfillhor', files('icon_zoomfillhor.png'),
+'icon_zoomfillvert', files('icon_zoomfillvert.png'),
+'icon_hidetools', files('icon_hidetools.png'),
+'icon_exif', files('icon_exif.png'),
+'icon_marks', files('icon_marks.png'),
+'icon_info', files('icon_info.png'),
+'icon_sort', files('icon_sort.png'),
+'icon_pdf', files('icon_pdf.png'),
+'icon_draw_rectangle', files('icon_draw_rectangle.png'),
+'icon_move', files('icon_move.png'),
+'icon_rename', files('icon_rename.png'),
+'icon_select_all', files('icon_select_all.png'),
+'icon_select_none', files('icon_select_none.png'),
+'icon_select_invert', files('icon_select_invert.png'),
+'icon_select_rectangle', files('icon_select_rectangle.png'),
+'icon_file_filter', files('icon_file_filter.png'),
+'icon_rotate_clockwise', files('icon_rotate_clockwise.png'),
+'icon_rotate_counter_clockwise', files('icon_rotate_counter_clockwise.png'),
+'icon_rotate_180', files('icon_rotate_180.png'),
+'icon_mirror', files('icon_mirror.png'),
+'icon_flip', files('icon_flip.png'),
+'icon_original', files('icon_original.png'),
+'icon_trash', files('icon_trash.png'),
+'icon_heic', files('icon_heic.png'),
+'icon_grayscale', files('icon_grayscale.png'),
+'icon_exposure', files('icon_exposure.png'),
+'icon_split_pane_sync', files('icon_split_pane_sync.png')
+]
+
+icons_inline_h = custom_target( output : 'icons_inline.h',
+ command : [gdk_pixbuf_csource, '--raw', '--extern', '--build-list', icons_inline_pairs],
+ capture : true)
+
+project_sources += icons_inline_h
+++ /dev/null
-## Process this file with automake to produce Makefile.in.
-
-svg_images = \
- folder_closed.svg \
- folder_locked.svg \
- folder_open.svg \
- folder_up.svg \
- gqview_icon.svg \
- icon_book.svg \
- icon_config.svg \
- icon_tools.svg \
- icon_view.svg \
- sheet_blank.svg \
- sheet_broken.svg \
- sheet_metadata.svg \
- sheet_unknown.svg \
- sheet_video.svg \
- spinner_orbit.svg
-
-EXTRA_DIST = $(svg_images)
-
}
rotation = g_strdup_printf("%d", fd_n->user_orientation);
- command = g_strconcat(gq_bin_dir, "/geeqie-rotate -r ", rotation,
+ command = g_strconcat(gq_bindir, "/geeqie-rotate -r ", rotation,
keep_date ? " -t \"" : " \"", fd_n->path, "\"", NULL);
cmdstatus = runcmd(command);
run_result = WEXITSTATUS(cmdstatus);
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#include "config.h"
+#include <config.h>
#ifdef HAVE_LUA
gchar *gq_localedir;
gchar *gq_helpdir;
gchar *gq_htmldir;
-gchar *gq_app_dir;
-gchar *gq_bin_dir;
+gchar *gq_appdir;
+gchar *gq_bindir;
gchar *gq_executable_path;
gchar *desktop_file_template;
gchar *instance_identifier;
static void setup_env_path(void)
{
const gchar *old_path = g_getenv("PATH");
- gchar *path = g_strconcat(gq_bin_dir, ":", old_path, NULL);
+ gchar *path = g_strconcat(gq_bindir, ":", old_path, NULL);
g_setenv("PATH", path, TRUE);
g_free(path);
}
path[length] = '\0';
gq_executable_path = g_strdup(path);
- dirname = g_path_get_dirname(gq_executable_path); // default is /usr/bin/
+ dirname = g_path_get_dirname(gq_executable_path);
gq_prefix = g_path_get_dirname(dirname);
- gq_localedir = g_build_filename(gq_prefix, "share", "locale", NULL);
- tmp = g_build_filename(gq_prefix, "share", "doc", NULL);
- gq_helpdir = g_strconcat(tmp, G_DIR_SEPARATOR_S, "geeqie-", VERSION, NULL);
- gq_htmldir = g_build_filename(gq_helpdir, "html", NULL);
- gq_app_dir = g_build_filename(gq_prefix, "share", "geeqie", NULL);
- gq_bin_dir = g_build_filename(gq_prefix, "lib", "geeqie", NULL);
- desktop_file_template = g_build_filename(gq_app_dir, "template.desktop", NULL);
+ gq_localedir = g_build_filename(gq_prefix, GQ_LOCALEDIR, NULL);
+ gq_helpdir = g_build_filename(gq_prefix, GQ_HELPDIR, NULL);
+ gq_htmldir = g_build_filename(gq_prefix, GQ_HTMLDIR, NULL);
+ gq_appdir = g_build_filename(gq_prefix, GQ_APPDIR, NULL);
+ gq_bindir = g_build_filename(gq_prefix, GQ_BINDIR, NULL);
+ desktop_file_template = g_build_filename(gq_appdir, "template.desktop", NULL);
- g_free(tmp);
g_free(dirname);
g_free(path);
}
#ifndef MAIN_H
#define MAIN_H
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#ifdef HAVE_STRVERSCMP
# ifndef _GNU_SOURCE
extern gchar *gq_localedir;
extern gchar *gq_helpdir;
extern gchar *gq_htmldir;
-extern gchar *gq_app_dir;
-extern gchar *gq_bin_dir;
+extern gchar *gq_appdir;
+extern gchar *gq_bindir;
extern gchar *gq_executable_path;
extern gchar *desktop_file_template;
extern gchar *instance_identifier;
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+main_sources = files('advanced_exif.c',
+'advanced_exif.h',
+'bar.c',
+'bar_comment.c',
+'bar_comment.h',
+'bar_exif.c',
+'bar_exif.h',
+'bar_gps.c',
+'bar_gps.h',
+'bar.h',
+'bar_histogram.c',
+'bar_histogram.h',
+'bar_keywords.c',
+'bar_keywords.h',
+'bar_rating.c',
+'bar_rating.h',
+'bar_sort.c',
+'bar_sort.h',
+'cache.c',
+'cache.h',
+'cache-loader.c',
+'cache-loader.h',
+'cache_maint.c',
+'cache_maint.h',
+'cellrenderericon.c',
+'cellrenderericon.h',
+'collect.c',
+'collect-dlg.c',
+'collect-dlg.h',
+'collect.h',
+'collect-io.c',
+'collect-io.h',
+'collect-table.c',
+'collect-table.h',
+'color-man.c',
+'color-man.h',
+'compat.c',
+'compat.h',
+'debug.c',
+'debug.h',
+'desktop_file.c',
+'desktop_file.h',
+'dnd.c',
+'dnd.h',
+'dupe.c',
+'dupe.h',
+'editors.c',
+'editors.h',
+'exif.c',
+'exif-common.c',
+'exif.h',
+'exif-int.h',
+'exiv2.cc',
+'filecache.c',
+'filecache.h',
+'filedata.c',
+'filedata.h',
+'filefilter.c',
+'filefilter.h',
+'format_canon.c',
+'format_canon.h',
+'format_fuji.c',
+'format_fuji.h',
+'format_nikon.c',
+'format_nikon.h',
+'format_olympus.c',
+'format_olympus.h',
+'format_raw.c',
+'format_raw.h',
+'fullscreen.c',
+'fullscreen.h',
+'glua.h',
+'histogram.c',
+'histogram.h',
+'history_list.c',
+'history_list.h',
+'image.c',
+'image.h',
+'image-load.c',
+'image_load_collection.c',
+'image_load_collection.h',
+'image_load_cr3.c',
+'image_load_cr3.h',
+'image_load_dds.c',
+'image_load_dds.h',
+'image_load_djvu.c',
+'image_load_djvu.h',
+'image_load_external.c',
+'image_load_external.h',
+'image_load_ffmpegthumbnailer.c',
+'image_load_ffmpegthumbnailer.h',
+'image_load_gdk.c',
+'image_load_gdk.h',
+'image-load.h',
+'image_load_heif.c',
+'image_load_heif.h',
+'image_load_j2k.c',
+'image_load_j2k.h',
+'image_load_jpeg.c',
+'image_load_jpeg.h',
+'image_load_jpegxl.c',
+'image_load_jpegxl.h',
+'image_load_libraw.c',
+'image_load_libraw.h',
+'image_load_pdf.c',
+'image_load_pdf.h',
+'image_load_psd.c',
+'image_load_psd.h',
+'image_load_svgz.c',
+'image_load_svgz.h',
+'image_load_tiff.c',
+'image_load_tiff.h',
+'image_load_webp.c',
+'image_load_webp.h',
+'image_load_zxscr.c',
+'image_load_zxscr.h',
+'image-overlay.c',
+'image-overlay.h',
+'img-view.c',
+'img-view.h',
+'intl.h',
+'jpeg_parser.c',
+'jpeg_parser.h',
+'keymap_template.c',
+'keymap_template.h',
+'layout.c',
+'layout_config.c',
+'layout_config.h',
+'layout.h',
+'layout_image.c',
+'layout_image.h',
+'layout_util.c',
+'layout_util.h',
+'lirc.c',
+'lirc.h',
+'logwindow.c',
+'logwindow.h',
+'lua.c',
+'main.c',
+'main.h',
+'md5-util.c',
+'md5-util.h',
+'menu.c',
+'menu.h',
+'metadata.c',
+'metadata.h',
+'misc.c',
+'misc.h',
+'options.c',
+'options.h',
+'osd.c',
+'osd.h',
+'pan-view.h',
+'pixbuf-renderer.c',
+'pixbuf-renderer.h',
+'pixbuf_util.c',
+'pixbuf_util.h',
+'preferences.c',
+'preferences.h',
+'print.c',
+'print.h',
+'rcfile.c',
+'rcfile.h',
+'remote.c',
+'remote.h',
+'renderer-clutter.c',
+'renderer-clutter.h',
+'renderer-tiles.c',
+'renderer-tiles.h',
+'search_and_run.c',
+'search_and_run.h',
+'search.c',
+'search.h',
+'secure_save.c',
+'secure_save.h',
+'shortcuts.c',
+'shortcuts.h',
+'similar.c',
+'similar.h',
+'slideshow.c',
+'slideshow.h',
+'thumb.c',
+'thumb.h',
+'thumb_standard.c',
+'thumb_standard.h',
+'toolbar.c',
+'toolbar.h',
+'trash.c',
+'trash.h',
+'typedefs.h',
+'ui_bookmark.c',
+'ui_bookmark.h',
+'ui_fileops.c',
+'ui_fileops.h',
+'ui_help.c',
+'ui_help.h',
+'ui_menu.c',
+'ui_menu.h',
+'ui_misc.c',
+'ui_misc.h',
+'ui_pathsel.c',
+'ui_pathsel.h',
+'ui_spinner.c',
+'ui_spinner.h',
+'ui_tabcomp.c',
+'ui_tabcomp.h',
+'ui_tree_edit.c',
+'ui_tree_edit.h',
+'ui_utildlg.c',
+'ui_utildlg.h',
+'uri_utils.c',
+'uri_utils.h',
+'utilops.c',
+'utilops.h',
+'view_dir.c',
+'view_dir.h',
+'view_dir_list.c',
+'view_dir_list.h',
+'view_dir_tree.c',
+'view_dir_tree.h',
+'view_file.h',
+'whereami.c',
+'whereami.h',
+'window.c',
+'window.h',
+'zonedetect.c',
+'zonedetect.h')
+
+project_sources += main_sources
+
+subdir('icons')
+subdir('pan-view')
+subdir('view_file')
+
+gqmarshal = gnome.genmarshal('gq-marshal', prefix : 'gq_marshal', sources : 'gq-marshal.list')
+project_sources += gqmarshal[0]
+project_sources += gqmarshal[1]
+
+icon_pairs = [
+'icon_spinner', files('ui_spinner.png'),
+'icon_tabcomp', files('ui_tabcomp.png'),
+]
+
+ui_icons_h = custom_target(output : 'ui_icons.h',
+ command : [gdk_pixbuf_csource, '--raw', '--extern', '--build-list', icon_pairs],
+ capture : true)
+
+project_sources += ui_icons_h
+
+xxd = find_program('xxd')
+run_command(xxd, '-i',
+ 'ClayRGB1998.icc',
+ join_paths(meson.project_build_root(), 'src', 'ClayRGB1998_icc.h'),
+ check : true)
+
+project_sources += 'ClayRGB1998_icc.h'
+
+executable('geeqie', project_sources,
+dependencies : [
+champlain_dep,
+champlain_gtk_dep,
+clutter_dep,
+clutter_gtk_dep,
+ddjvuapi_dep,
+exiv2_dep,
+glib_dep,
+gspell_dep,
+gtk_dep,
+lcms_dep,
+libarchive_dep,
+libffmpegthumbnailer_dep,
+libheif_dep,
+libjpeg_dep,
+libjxl_dep,
+libopenjp2_dep,
+libraw_dep,
+libwebp_dep,
+lirc_dep,
+lua_dep,
+poppler_glib_dep,
+thread_dep,
+tiff_dep
+],
+include_directories : [configuration_inc], install : true)
gchar *message;
gchar *dir;
- message = decode_geo_script(gq_bin_dir, input_text);
+ message = decode_geo_script(gq_bindir, input_text);
if (strstr(message, "Error"))
{
g_free(message);
+++ /dev/null
-module_pan_view = \
- %D%/pan-calendar.c \
- %D%/pan-calendar.h \
- %D%/pan-folder.c \
- %D%/pan-folder.h \
- %D%/pan-grid.c \
- %D%/pan-grid.h \
- %D%/pan-item.c \
- %D%/pan-item.h \
- %D%/pan-timeline.c \
- %D%/pan-timeline.h \
- %D%/pan-types.h \
- %D%/pan-util.c \
- %D%/pan-util.h \
- %D%/pan-view.c \
- %D%/pan-view.h \
- %D%/pan-view-filter.c \
- %D%/pan-view-filter.h \
- %D%/pan-view-search.c \
- %D%/pan-view-search.h
-
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+pan_view_sources = files('pan-calendar.c',
+'pan-calendar.h',
+'pan-folder.c',
+'pan-folder.h',
+'pan-grid.c',
+'pan-grid.h',
+'pan-item.c',
+'pan-item.h',
+'pan-timeline.c',
+'pan-timeline.h',
+'pan-types.h',
+'pan-util.c',
+'pan-util.h',
+'pan-view.c',
+'pan-view-filter.c',
+'pan-view-filter.h',
+'pan-view.h',
+'pan-view-search.c',
+'pan-view-search.h')
+project_sources += pan_view_sources
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include <pwd.h>
#include <stdio.h>
#ifndef UI_FILEOPS_H
#define UI_FILEOPS_H
-
-#include "config.h"
+#include <config.h>
#include <sys/stat.h>
#include <sys/time.h>
#include <sys/types.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include <config.h>
#include "intl.h"
#include <stdio.h>
+++ /dev/null
-module_view_file = \
- %D%/view_file.c \
- %D%/view_file_icon.c \
- %D%/view_file_icon.h \
- %D%/view_file_list.c \
- %D%/view_file_list.h
--- /dev/null
+# This file is a part of Geeqie project (https://www.geeqie.org/).
+# Copyright (C) 2008 - 2022 The Geeqie Team
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#
+
+view_file_sources= files('view_file.c',
+'view_file_icon.c',
+'view_file_icon.h',
+'view_file_list.c',
+'view_file_list.h')
+project_sources += view_file_sources
minor_version=$2
# patch_version=$3 # not used on master branch
- printf '%s' "$major_version" && printf '%s' "." && printf '%s' "$minor_version" && printf '%s' "+git" && git log --max-count=1 --date=format:"%Y%m%d" --format="%ad" && printf '%s' "-" && git rev-parse --quiet --verify --short HEAD
+ printf '%s%s%s%s%s%s%s' "$major_version" "." "$minor_version" "+git" $(git log --max-count=1 --date=format:"%Y%m%d" --format="%ad") "-" $(git rev-parse --quiet --verify --short HEAD)
else
version=$(head -1 NEWS)
# shellcheck disable=SC2086