entangle-0.5.4/0000775000000000000000000000000012253421055010265 500000000000000entangle-0.5.4/INSTALL0000644000000000000000000003660512253420720011244 00000000000000Installation Instructions ************************* Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without warranty of any kind. Basic Installation ================== Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for instructions specific to this package. Some packages provide this `INSTALL' file but do not implement all of the features documented below. The lack of an optional feature in a given package is not necessarily a bug. More recommendations for GNU packages can be found in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses those values to create a `Makefile' in each directory of the package. It may also create one or more `.h' files containing system-dependent definitions. Finally, it creates a shell script `config.status' that you can run in the future to recreate the current configuration, and a file `config.log' containing compiler output (useful mainly for debugging `configure'). It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail diffs or instructions to the address given in the `README' so they can be considered for the next release. If you are using the cache, and at some point `config.cache' contains results you don't want to keep, you may remove or edit it. The file `configure.ac' (or `configure.in') is used to create `configure' by a program called `autoconf'. You need `configure.ac' if you want to change it or regenerate `configure' using a newer version of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. Running `configure' might take a while. While running, it prints some messages telling which features it is checking for. 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and documentation. When installing into a prefix owned by root, it is recommended that the package be configured and built as a regular user, and only the `make install' phase executed with root privileges. 5. Optionally, type `make installcheck' to repeat any self-tests, but this time using the binaries in their final installed location. This target does not install anything. Running this target as a regular user, particularly if the prior `make install' required root privileges, verifies that the installation completed correctly. 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is also a `make maintainer-clean' target, but that is intended mainly for the package's developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution. 7. Often, you can also type `make uninstall' to remove the installed files again. In practice, not all packages have tested that uninstallation works correctly, even though it is required by the GNU Coding Standards. 8. Some packages, particularly those that use Automake, provide `make distcheck', which can by used by developers to test that all other targets like `make install' and `make uninstall' work correctly. This target is generally not run by end users. Compilers and Options ===================== Some systems require unusual options for compilation or linking that the `configure' script does not know about. Run `./configure --help' for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. This is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have installed the package for one architecture, use `make distclean' before reconfiguring for another architecture. On MacOS X 10.5 and later systems, you can create libraries and executables that work on multiple system types--known as "fat" or "universal" binaries--by specifying multiple `-arch' options to the compiler but only a single `-arch' option to the preprocessor. Like this: ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ CPP="gcc -E" CXXCPP="g++ -E" This is not guaranteed to produce working output in all cases, you may have to build one architecture at a time and combine the results using the `lipo' tool if you have problems. Installation Names ================== By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving `configure' the option `--prefix=PREFIX', where PREFIX must be an absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you pass the option `--exec-prefix=PREFIX' to `configure', the package uses PREFIX as the prefix for installing programs and libraries. Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories you can set and what kinds of files go in them. In general, the default for these options is expressed in terms of `${prefix}', so that specifying just `--prefix' will affect all of the other directory specifications that were not explicitly provided. The most portable way to affect installation locations is to pass the correct locations to `configure'; however, many packages provide one or both of the following shortcuts of passing variable assignments to the `make install' command line to change installation locations without having to reconfigure or recompile. The first method involves providing an override variable for each affected directory. For example, `make install prefix=/alternate/directory' will choose an alternate location for all directory configuration variables that were expressed in terms of `${prefix}'. Any directories that were specified during `configure', but not in terms of `${prefix}', must each be overridden at install time for the entire installation to be relocated. The approach of makefile variable overrides for each directory variable is required by the GNU Coding Standards, and ideally causes no recompilation. However, some platforms have known limitations with the semantics of shared libraries that end up requiring recompilation when using this method, particularly noticeable in packages that use GNU Libtool. The second method involves providing the `DESTDIR' variable. For example, `make install DESTDIR=/alternate/directory' will prepend `/alternate/directory' before all installation names. The approach of `DESTDIR' overrides is not required by the GNU Coding Standards, and does not work on platforms that have drive letters. On the other hand, it does better at avoiding recompilation issues, and works well even when some directory options were not specified in terms of `${prefix}' at `configure' time. Optional Features ================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The `README' should mention any `--enable-' and `--with-' options that the package recognizes. For packages that use the X Window System, `configure' can usually find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. Some packages offer the ability to configure how verbose the execution of `make' will be. For these packages, running `./configure --enable-silent-rules' sets the default to minimal output, which can be overridden with `make V=1'; while running `./configure --disable-silent-rules' sets the default to verbose, which can be overridden with `make V=0'. Particular systems ================== On HP-UX, the default C compiler is not ANSI C compatible. If GNU CC is not installed, it is recommended to use the following options in order to use an ANSI C compiler: ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" and if that doesn't work, install pre-built binaries of GCC for HP-UX. HP-UX `make' updates targets which have the same time stamps as their prerequisites, which makes it generally unusable when shipped generated files such as `configure' are involved. Use GNU `make' instead. On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot parse its `' header file. The option `-nodtk' can be used as a workaround. If GNU CC is not installed, it is therefore recommended to try ./configure CC="cc" and if that doesn't work, try ./configure CC="cc -nodtk" On Solaris, don't put `/usr/ucb' early in your `PATH'. This directory contains several dysfunctional programs; working variants of these programs are available in `/usr/bin'. So, if you need `/usr/ucb' in your `PATH', put it _after_ `/usr/bin'. On Haiku, software installed for all users goes in `/boot/common', not `/usr/local'. It is recommended to use the following options: ./configure --prefix=/boot/common Specifying the System Type ========================== There may be some features `configure' cannot figure out automatically, but needs to determine by the type of machine the package will run on. Usually, assuming the package is built to be run on the _same_ architectures, `configure' can figure that out, but if it prints a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: CPU-COMPANY-SYSTEM where SYSTEM can have one of these forms: OS KERNEL-OS See the file `config.sub' for the possible values of each field. If `config.sub' isn't included in this package, then this package doesn't need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a platform different from the build platform, you should specify the "host" platform (i.e., that on which the generated programs will eventually be run) with `--host=TYPE'. Sharing Defaults ================ If you want to set default values for `configure' scripts to share, you can create a site shell script called `config.site' that gives default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. A warning: not all `configure' scripts look for a site script. Defining Variables ================== Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set them in the `configure' command line, using `VAR=value'. For example: ./configure CC=/usr/local2/bin/gcc causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). Unfortunately, this technique does not work for `CONFIG_SHELL' due to an Autoconf limitation. Until the limitation is lifted, you can use this workaround: CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash `configure' Invocation ====================== `configure' recognizes the following options to control how it operates. `--help' `-h' Print a summary of all of the options to `configure', and exit. `--help=short' `--help=recursive' Print a summary of the options unique to this package's `configure', and exit. The `short' variant lists options used only in the top level, while the `recursive' variant lists options also present in any nested packages. `--version' `-V' Print the version of Autoconf used to generate the `configure' script, and exit. `--cache-file=FILE' Enable the cache: use and save the results of the tests in FILE, traditionally `config.cache'. FILE defaults to `/dev/null' to disable caching. `--config-cache' `-C' Alias for `--cache-file=config.cache'. `--quiet' `--silent' `-q' Do not print messages saying which checks are being made. To suppress all normal output, redirect it to `/dev/null' (any error messages will still be shown). `--srcdir=DIR' Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. `--prefix=DIR' Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. `--no-create' `-n' Run the configure checks, but stop before creating any output files. `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. entangle-0.5.4/install-sh0000755000000000000000000003325512253420720012215 00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2011-11-20.07; # UTC # This originates from X11R5 (mit/util/scripts/install.sh), which was # later released in X11R6 (xc/config/util/install.sh) with the # following copyright and license. # # Copyright (C) 1994 X Consortium # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to # deal in the Software without restriction, including without limitation the # rights to use, copy, modify, merge, publish, distribute, sublicense, and/or # sell copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in # all copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN # AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC- # TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # # Except as contained in this notice, the name of the X Consortium shall not # be used in advertising or otherwise to promote the sale, use or other deal- # ings in this Software without prior written authorization from the X Consor- # tium. # # # FSF changes to this file are in the public domain. # # Calling this script install-sh is preferred over install.sh, to prevent # 'make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit=${DOITPROG-} if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment vars. chgrpprog=${CHGRPPROG-chgrp} chmodprog=${CHMODPROG-chmod} chownprog=${CHOWNPROG-chown} cmpprog=${CMPPROG-cmp} cpprog=${CPPROG-cp} mkdirprog=${MKDIRPROG-mkdir} mvprog=${MVPROG-mv} rmprog=${RMPROG-rm} stripprog=${STRIPPROG-strip} posix_glob='?' initialize_posix_glob=' test "$posix_glob" != "?" || { if (set -f) 2>/dev/null; then posix_glob= else posix_glob=: fi } ' posix_mkdir= # Desired mode of installed file. mode=0755 chgrpcmd= chmodcmd=$chmodprog chowncmd= mvcmd=$mvprog rmcmd="$rmprog -f" stripcmd= src= dst= dir_arg= dst_arg= copy_on_change=false no_target_directory= usage="\ Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE or: $0 [OPTION]... SRCFILES... DIRECTORY or: $0 [OPTION]... -t DIRECTORY SRCFILES... or: $0 [OPTION]... -d DIRECTORIES... In the 1st form, copy SRCFILE to DSTFILE. In the 2nd and 3rd, copy all SRCFILES to DIRECTORY. In the 4th, create DIRECTORIES. Options: --help display this help and exit. --version display version info and exit. -c (ignored) -C install only if different (preserve the last data modification time) -d create directories instead of installing files. -g GROUP $chgrpprog installed files to GROUP. -m MODE $chmodprog installed files to MODE. -o USER $chownprog installed files to USER. -s $stripprog installed files. -t DIRECTORY install into DIRECTORY. -T report an error if DSTFILE is a directory. Environment variables override the default commands: CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG " while test $# -ne 0; do case $1 in -c) ;; -C) copy_on_change=true;; -d) dir_arg=true;; -g) chgrpcmd="$chgrpprog $2" shift;; --help) echo "$usage"; exit $?;; -m) mode=$2 case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac shift;; -o) chowncmd="$chownprog $2" shift;; -s) stripcmd=$stripprog;; -t) dst_arg=$2 # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac shift;; -T) no_target_directory=true;; --version) echo "$0 $scriptversion"; exit $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac shift done if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # Otherwise, the last argument is the destination. Remove it from $@. for arg do if test -n "$dst_arg"; then # $@ is not empty: it contains at least $arg. set fnord "$@" "$dst_arg" shift # fnord fi shift # arg dst_arg=$arg # Protect names problematic for 'test' and other utilities. case $dst_arg in -* | [=\(\)!]) dst_arg=./$dst_arg;; esac done fi if test $# -eq 0; then if test -z "$dir_arg"; then echo "$0: no input file specified." >&2 exit 1 fi # It's OK to call 'install-sh -d' without argument. # This can happen when creating conditional directories. exit 0 fi if test -z "$dir_arg"; then do_exit='(exit $ret); exit $ret' trap "ret=129; $do_exit" 1 trap "ret=130; $do_exit" 2 trap "ret=141; $do_exit" 13 trap "ret=143; $do_exit" 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names problematic for 'test' and other utilities. case $src in -* | [=\(\)!]) src=./$src;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? else # Waiting for this to be detected by the "$cpprog $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if test ! -f "$src" && test ! -d "$src"; then echo "$0: $src does not exist." >&2 exit 1 fi if test -z "$dst_arg"; then echo "$0: no destination specified." >&2 exit 1 fi dst=$dst_arg # If destination is a directory, append the input filename; won't work # if double slashes aren't ignored. if test -d "$dst"; then if test -n "$no_target_directory"; then echo "$0: $dst_arg: Is a directory" >&2 exit 1 fi dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix='/';; [-=\(\)!]*) prefix='./';; *) prefix='';; esac eval "$initialize_posix_glob" oIFS=$IFS IFS=/ $posix_glob set -f set fnord $dstdir shift $posix_glob set +f IFS=$oIFS prefixes= for d do test X"$d" = X && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # Make a couple of temp file names in the proper directory. dsttmp=$dstdir/_inst.$$_ rmtmp=$dstdir/_rm.$$_ # Trap to clean up those temp files at exit. trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") && # and set any options; do chmod last to preserve setuid bits. # # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $cpprog $src $dsttmp" command. # { test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } && { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } && { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } && # If -C, don't bother to copy if it wouldn't change the file. if $copy_on_change && old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` && new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` && eval "$initialize_posix_glob" && $posix_glob set -f && set X $old && old=:$2:$4:$5:$6 && set X $new && new=:$2:$4:$5:$6 && $posix_glob set +f && test "$old" = "$new" && $cmpprog "$dst" "$dsttmp" >/dev/null 2>&1 then rm -f "$dsttmp" else # Rename the file to the real destination. $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null || # The rename failed, perhaps because mv can't rename something else # to itself, or perhaps because mv is so ancient that it does not # support -f. { # Now remove or move aside any old file at destination location. # We try this two ways since rm can't unlink itself on some # systems and the destination file might be busy for other # reasons. In this case, the final cleanup might fail but the new # file should still install successfully. { test ! -f "$dst" || $doit $rmcmd -f "$dst" 2>/dev/null || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; } } || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } fi || exit 1 trap '' 0 fi done # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: entangle-0.5.4/cfg.mk0000664000000000000000000001252112253420651011277 00000000000000# Customize Makefile.maint. -*- makefile -*- # Copyright (C) 2008-2011 Red Hat, Inc. # Copyright (C) 2003-2008 Free Software Foundation, Inc. # 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 3 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. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Tests not to run as part of "make distcheck". local-checks-to-skip = \ changelog-check \ makefile-check \ makefile_path_separator_check \ patch-check \ sc_GPL_version \ sc_always_defined_macros \ sc_cast_of_alloca_return_value \ sc_cross_check_PATH_usage_in_tests \ sc_dd_max_sym_length \ sc_error_exit_success \ sc_file_system \ sc_immutable_NEWS \ sc_makefile_path_separator_check \ sc_obsolete_symbols \ sc_prohibit_always_true_header_tests \ sc_prohibit_S_IS_definition \ sc_prohibit_atoi_atof \ sc_prohibit_hash_without_use \ sc_prohibit_jm_in_m4 \ sc_prohibit_quote_without_use \ sc_prohibit_quotearg_without_use \ sc_prohibit_stat_st_blocks \ sc_root_tests \ sc_space_tab \ sc_sun_os_names \ sc_system_h_headers \ sc_texinfo_acronym \ sc_tight_scope \ sc_two_space_separator_in_usage \ sc_error_message_uppercase \ sc_program_name \ sc_require_test_exit_idiom \ sc_makefile_check \ sc_useless_cpp_parens \ sc_preprocessor_indentation # Files that should never cause syntax check failures. VC_LIST_ALWAYS_EXCLUDE_REGEX = \ (^HACKING|\.po|maint.mk)$$ # Functions like free() that are no-ops on NULL arguments. useless_free_options = \ --name=g_free # Ensure that no C source file, docs, or rng schema uses TABs for # indentation. Also match *.h.in files, to get libvirt.h.in. Exclude # files in gnulib, since they're imported. space_indent_files=(\.(rng|s?[ch](\.in)?|html.in|py)|(daemon|tools)/.*\.in) sc_TAB_in_indentation: @prohibit='^ * ' \ in_vc_files='$(space_indent_files)$$' \ halt='indent with space, not TAB, in C, sh, html, py, and RNG schemas' \ $(_sc_search_regexp) # G_GNUC_UNUSED should only be applied in implementations, not # header declarations sc_avoid_attribute_unused_in_header: @prohibit='^[^#]*G_GNUC_UNUSED([^:]|$$)' \ in_vc_files='\.h$$' \ halt='use G_GNUC_UNUSED in .c rather than .h files' \ $(_sc_search_regexp) # Enforce recommended preprocessor indentation style. sc_preprocessor_indentation: @if cppi --version >/dev/null 2>&1; then \ $(VC_LIST_EXCEPT) | grep '\.[ch]$$' | xargs cppi -a -c \ || { echo '$(ME): incorrect preprocessor indentation' 1>&2; \ exit 1; }; \ else \ echo '$(ME): skipping test $@: cppi not installed' 1>&2; \ fi sc_copyright_format: @require='Copyright .*Red 'Hat', Inc\.' \ containing='Copyright .*Red 'Hat \ halt='Red Hat copyright is missing Inc.' \ $(_sc_search_regexp) @prohibit='Copyright [^(].*Red 'Hat \ halt='consistently use (C) in Red Hat copyright' \ $(_sc_search_regexp) @prohibit='\' \ halt='spell Red Hat as two words' \ $(_sc_search_regexp) # We don't use this feature of maint.mk. prev_version_file = /dev/null msg_gen_function = msg_gen_function += g_error msg_gen_function += g_set_error msg_gen_function += ENTANGLE_ERROR func_or := $(shell printf '$(msg_gen_function)'|tr -s '[[:space:]]' '|') func_re := ($(func_or)) # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. # The sed filters eliminate false-positives like these: # _("...: " # "%s", _("no storage vol w..." sc_libvirt_unmarked_diagnostics: @grep -nE \ '\<$(func_re) *\([^"]*"[^"]*[a-z]{3}' $$($(VC_LIST_EXCEPT)) \ | grep -v '_''(' && \ { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ exit 1; } || : @{ grep -nE '\<$(func_re) *\(.*;$$' $$($(VC_LIST_EXCEPT)); \ grep -A1 -nE '\<$(func_re) *\(.*,$$' $$($(VC_LIST_EXCEPT)); } \ | sed 's/_("[^"][^"]*"//;s/[ ]"%s"//' \ | grep '[ ]"' && \ { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ exit 1; } || : syntax-check: bracket-spacing bracket-spacing: $(AM_V_GEN)files=`$(VC_LIST) | grep '\.c$$'`; \ $(PERL) $(top_srcdir)/build-aux/bracket-spacing.pl $$files || \ { echo '$(ME): incorrect whitespace, see HACKING for rules' 1>&2; \ exit 1; } exclude_file_name_regexp--sc_prohibit_strcmp = ^*/*.[ch] # Due to enum rules - fixme exclude_file_name_regexp--sc_makefile_at_at_check = ^src/Makefile.am exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF = ^(docs|src)/.*\.png exclude_file_name_regexp--sc_prohibit_test_minus_ao = git.mk exclude_file_name_regexp--sc_trailing_blank = (src|docs)/.*\.(ep|png|icc) entangle-0.5.4/Makefile.am0000664000000000000000000000273512253420651012251 00000000000000 SUBDIRS = src po docs ACLOCAL_AMFLAGS = -I m4 # XXX figure out why these aren't detected by git.mk GITIGNOREFILES = \ aclocal.m4 \ entangle-*.tar.gz \ compile \ config.guess \ config.h.in \ config.sub \ depcomp \ install-sh \ missing \ ltmain.sh \ gtk-doc.make \ m4/gtk-doc.m4 \ m4/libtool.m4 \ m4/ltversion.m4 \ m4/ltoptions.m4 \ m4/ltsugar.m4 \ m4/lt~obsolete.m4 \ INSTALL EXTRA_DIST = \ $(PACKAGE).spec \ $(PACKAGE).spec.in \ GNUmakefile \ cfg.mk \ AUTHORS.in \ maint.mk \ $(NULL) MAINTAINERCLEANFILES = ChangeLog AUTHORS DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc dist-hook: gen-ChangeLog gen-AUTHORS .PHONY: gen-ChangeLog gen-AUTHORS gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi gen-AUTHORS: $(AM_V_GEN)if test -d $(srcdir)/.git; then \ out="`cd $(srcdir) && git log --pretty=format:'%aN <%aE>' | sort -u`" && \ perl -p -e "s/#authorslist#// and print '$$out'" \ < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \ mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \ fi -include $(top_srcdir)/git.mk entangle-0.5.4/configure0000775000000000000000000214201012253420714012115 00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.69 for entangle 0.5.4. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # Use a proper internal environment variable to ensure we don't fall # into an infinite loop, continuously re-executing ourselves. if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then _as_can_reexec=no; export _as_can_reexec; # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 as_fn_exit 255 fi # We don't want this to propagate to other subprocesses. { _as_can_reexec=; unset _as_can_reexec;} if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1 test -x / || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\ || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : export CONFIG_SHELL # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"} # Admittedly, this is quite paranoid, since all the known shells bail # out after a failed `exec'. $as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2 exit 255 fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, $0: including any error possibly output before this $0: message. Then install a modern shell, or manually run $0: the script under such a shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # If we had to re-execute with $CONFIG_SHELL, we're ensured to have # already done that, so ensure we don't try to do so again and fall # in an infinite loop. This has already happened in practice. _as_can_reexec=no; export _as_can_reexec # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" SHELL=${CONFIG_SHELL-/bin/sh} test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='entangle' PACKAGE_TARNAME='entangle' PACKAGE_VERSION='0.5.4' PACKAGE_STRING='entangle 0.5.4' PACKAGE_BUGREPORT='' PACKAGE_URL='' ac_unique_file="src/entangle-main.c" # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='am__EXEEXT_FALSE am__EXEEXT_TRUE LTLIBOBJS LIBOBJS ALL_LINGUAS INTLTOOL_PERL MSGMERGE INTLTOOL_POLICY_RULE INTLTOOL_SERVICE_RULE INTLTOOL_THEME_RULE INTLTOOL_SCHEMAS_RULE INTLTOOL_CAVES_RULE INTLTOOL_XML_NOMERGE_RULE INTLTOOL_XML_RULE INTLTOOL_KBD_RULE INTLTOOL_XAM_RULE INTLTOOL_UI_RULE INTLTOOL_SOUNDLIST_RULE INTLTOOL_SHEET_RULE INTLTOOL_SERVER_RULE INTLTOOL_PONG_RULE INTLTOOL_OAF_RULE INTLTOOL_PROP_RULE INTLTOOL_KEYS_RULE INTLTOOL_DIRECTORY_RULE INTLTOOL_DESKTOP_RULE intltool__v_merge_options_0 intltool__v_merge_options_ INTLTOOL_V_MERGE_OPTIONS INTLTOOL__v_MERGE_0 INTLTOOL__v_MERGE_ INTLTOOL_V_MERGE INTLTOOL_EXTRACT INTLTOOL_MERGE INTLTOOL_UPDATE MKINSTALLDIRS POSUB POFILES PO_IN_DATADIR_FALSE PO_IN_DATADIR_TRUE INTLLIBS INSTOBJEXT GMOFILES DATADIRNAME CATOBJEXT CATALOGS XGETTEXT GMSGFMT MSGFMT_OPTS MSGFMT USE_NLS GETTEXT_PACKAGE WARN_LDFLAGS WARN_CFLAGS LIBPEAS_UI_LIBS LIBPEAS_UI_CFLAGS LIBPEAS_LIBS LIBPEAS_CFLAGS G_IR_COMPILER G_IR_SCANNER GOBJECT_INTROSPECTION_LIBS GOBJECT_INTROSPECTION_CFLAGS GTK_DOC_USE_REBASE_FALSE GTK_DOC_USE_REBASE_TRUE GTK_DOC_USE_LIBTOOL_FALSE GTK_DOC_USE_LIBTOOL_TRUE GTK_DOC_BUILD_PDF_FALSE GTK_DOC_BUILD_PDF_TRUE GTK_DOC_BUILD_HTML_FALSE GTK_DOC_BUILD_HTML_TRUE ENABLE_GTK_DOC_FALSE ENABLE_GTK_DOC_TRUE GTKDOC_DEPS_LIBS GTKDOC_DEPS_CFLAGS HTML_DIR GTKDOC_MKPDF GTKDOC_REBASE GTKDOC_CHECK GSETTINGS_RULES GLIB_COMPILE_SCHEMAS gsettingsschemadir GSETTINGS_DISABLE_SCHEMAS_COMPILE XEXT_LIBS XEXT_CFLAGS LIBRAW_LIBS LIBRAW_CFLAGS GEXIV2_LIBS GEXIV2_CFLAGS LCMS_LIBS LCMS_CFLAGS DBUS_GLIB_LIBS DBUS_GLIB_CFLAGS GUDEV_LIBS GUDEV_CFLAGS GPHOTO2_LIBS GPHOTO2_CFLAGS GTK_LIBS GTK_CFLAGS GDK_PIXBUF_LIBS GDK_PIXBUF_CFLAGS GTHREAD_LIBS GTHREAD_CFLAGS GMODULE_LIBS GMODULE_CFLAGS GIO_LIBS GIO_CFLAGS GLIB_LIBS GLIB_CFLAGS PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG CPP OTOOL64 OTOOL LIPO NMEDIT DSYMUTIL MANIFEST_TOOL RANLIB ac_ct_AR AR DLLTOOL OBJDUMP LN_S NM ac_ct_DUMPBIN DUMPBIN LD FGREP EGREP GREP SED LIBTOOL am__fastdepCC_FALSE am__fastdepCC_TRUE CCDEPMODE am__nodep AMDEPBACKSLASH AMDEP_FALSE AMDEP_TRUE am__quote am__include DEPDIR OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC LIBRAW_REQUIRED XEXT_REQUIRED GEXIV2_REQUIRED LIBPEAS_REQUIRED LCMS_REQUIRED GOBJECT_INTROSPECTION_REQUIRED DBUS_GLIB_REQUIRED GUDEV_REQUIRED GPHOTO2_REQUIRED GTK_REQUIRED GDK_PIXBUF_REQUIRED GTHREAD_REQUIRED GIO_REQUIRED GLIB_REQUIRED host_os host_vendor host_cpu host build_os build_vendor build_cpu build AM_BACKSLASH AM_DEFAULT_VERBOSITY AM_DEFAULT_V AM_V am__untar am__tar AMTAR am__leading_dot SET_MAKE AWK mkdir_p MKDIR_P INSTALL_STRIP_PROGRAM STRIP install_sh MAKEINFO AUTOHEADER AUTOMAKE AUTOCONF ACLOCAL VERSION PACKAGE CYGPATH_W am__isrc INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_dependency_tracking enable_static enable_shared with_pic enable_fast_install with_gnu_ld with_sysroot enable_libtool_lock enable_schemas_compile with_html_dir enable_gtk_doc enable_gtk_doc_html enable_gtk_doc_pdf enable_werror enable_nls ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR GLIB_CFLAGS GLIB_LIBS GIO_CFLAGS GIO_LIBS GMODULE_CFLAGS GMODULE_LIBS GTHREAD_CFLAGS GTHREAD_LIBS GDK_PIXBUF_CFLAGS GDK_PIXBUF_LIBS GTK_CFLAGS GTK_LIBS GPHOTO2_CFLAGS GPHOTO2_LIBS GUDEV_CFLAGS GUDEV_LIBS DBUS_GLIB_CFLAGS DBUS_GLIB_LIBS LCMS_CFLAGS LCMS_LIBS GEXIV2_CFLAGS GEXIV2_LIBS LIBRAW_CFLAGS LIBRAW_LIBS XEXT_CFLAGS XEXT_LIBS GTKDOC_DEPS_CFLAGS GTKDOC_DEPS_LIBS GOBJECT_INTROSPECTION_CFLAGS GOBJECT_INTROSPECTION_LIBS LIBPEAS_CFLAGS LIBPEAS_LIBS LIBPEAS_UI_CFLAGS LIBPEAS_UI_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures entangle 0.5.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/entangle] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of entangle 0.5.4:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules less verbose build output (undo: "make V=1") --disable-silent-rules verbose build output (undo: "make V=0") --enable-dependency-tracking do not reject slow dependency extractors --disable-dependency-tracking speeds up one-time build --enable-static[=PKGS] build static libraries [default=no] --enable-shared[=PKGS] build shared libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-schemas-compile Disable regeneration of gschemas.compiled on install --enable-gtk-doc use gtk-doc to build documentation [[default=no]] --enable-gtk-doc-html build documentation in html format [[default=yes]] --enable-gtk-doc-pdf build documentation in pdf format [[default=no]] --enable-werror Use -Werror (if supported) --disable-nls do not use Native Language Support Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-pic[=PKGS] try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-sysroot=DIR Search for dependent libraries within DIR (or the compiler's sysroot if not specified). --with-html-dir=PATH path to installed docs Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path GLIB_CFLAGS C compiler flags for GLIB, overriding pkg-config GLIB_LIBS linker flags for GLIB, overriding pkg-config GIO_CFLAGS C compiler flags for GIO, overriding pkg-config GIO_LIBS linker flags for GIO, overriding pkg-config GMODULE_CFLAGS C compiler flags for GMODULE, overriding pkg-config GMODULE_LIBS linker flags for GMODULE, overriding pkg-config GTHREAD_CFLAGS C compiler flags for GTHREAD, overriding pkg-config GTHREAD_LIBS linker flags for GTHREAD, overriding pkg-config GDK_PIXBUF_CFLAGS C compiler flags for GDK_PIXBUF, overriding pkg-config GDK_PIXBUF_LIBS linker flags for GDK_PIXBUF, overriding pkg-config GTK_CFLAGS C compiler flags for GTK, overriding pkg-config GTK_LIBS linker flags for GTK, overriding pkg-config GPHOTO2_CFLAGS C compiler flags for GPHOTO2, overriding pkg-config GPHOTO2_LIBS linker flags for GPHOTO2, overriding pkg-config GUDEV_CFLAGS C compiler flags for GUDEV, overriding pkg-config GUDEV_LIBS linker flags for GUDEV, overriding pkg-config DBUS_GLIB_CFLAGS C compiler flags for DBUS_GLIB, overriding pkg-config DBUS_GLIB_LIBS linker flags for DBUS_GLIB, overriding pkg-config LCMS_CFLAGS C compiler flags for LCMS, overriding pkg-config LCMS_LIBS linker flags for LCMS, overriding pkg-config GEXIV2_CFLAGS C compiler flags for GEXIV2, overriding pkg-config GEXIV2_LIBS linker flags for GEXIV2, overriding pkg-config LIBRAW_CFLAGS C compiler flags for LIBRAW, overriding pkg-config LIBRAW_LIBS linker flags for LIBRAW, overriding pkg-config XEXT_CFLAGS C compiler flags for XEXT, overriding pkg-config XEXT_LIBS linker flags for XEXT, overriding pkg-config GTKDOC_DEPS_CFLAGS C compiler flags for GTKDOC_DEPS, overriding pkg-config GTKDOC_DEPS_LIBS linker flags for GTKDOC_DEPS, overriding pkg-config GOBJECT_INTROSPECTION_CFLAGS C compiler flags for GOBJECT_INTROSPECTION, overriding pkg-config GOBJECT_INTROSPECTION_LIBS linker flags for GOBJECT_INTROSPECTION, overriding pkg-config LIBPEAS_CFLAGS C compiler flags for LIBPEAS, overriding pkg-config LIBPEAS_LIBS linker flags for LIBPEAS, overriding pkg-config LIBPEAS_UI_CFLAGS C compiler flags for LIBPEAS_UI, overriding pkg-config LIBPEAS_UI_LIBS linker flags for LIBPEAS_UI, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to the package provider. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF entangle configure 0.5.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || test -x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by entangle $as_me 0.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" am__api_version='1.13' ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether build environment is sane" >&5 $as_echo_n "checking whether build environment is sane... " >&6; } # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[\\\"\#\$\&\'\`$am_lf]*) as_fn_error $? "unsafe absolute working directory name" "$LINENO" 5;; esac case $srcdir in *[\\\"\#\$\&\'\`$am_lf\ \ ]*) as_fn_error $? "unsafe srcdir value: '$srcdir'" "$LINENO" 5;; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". as_fn_error $? "ls -t appears to fail. Make sure there is not a broken alias in your environment" "$LINENO" 5 fi if test "$2" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$2" = conftest.file ) then # Ok. : else as_fn_error $? "newly created file is older than distributed files! Check your system clock" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi rm -f conftest.file test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. # By default was `s,x,x', remove it if useless. ac_script='s/[\\$]/&&/g;s/;s,x,x,$//' program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"` # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: 'missing' script is too old or missing" >&5 $as_echo "$as_me: WARNING: 'missing' script is too old or missing" >&2;} fi if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext" || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AWK+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5 $as_echo "$AWK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AWK" && break done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=1;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then as_fn_error $? "source directory already configured; run \"make distclean\" there first" "$LINENO" 5 fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='entangle' VERSION='0.5.4' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # mkdir_p='$(MKDIR_P)' # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AMTAR='$${TAR-tar}' # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar pax cpio none' am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -' # Use the silent-rules feature when possible. # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; fi case $enable_silent_rules in # ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=0;; esac am_make=${MAKE-make} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $am_make supports nested variables" >&5 $as_echo_n "checking whether $am_make supports nested variables... " >&6; } if ${am_cv_make_support_nested_variables+:} false; then : $as_echo_n "(cached) " >&6 else if $as_echo 'TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit' | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_make_support_nested_variables" >&5 $as_echo "$am_cv_make_support_nested_variables" >&6; } if test $am_cv_make_support_nested_variables = yes; then AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AM_BACKSLASH='\' # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac GLIB_REQUIRED=2.26.0 GIO_REQUIRED=2.26.0 GTHREAD_REQUIRED=2.26.0 GDK_PIXBUF_REQUIRED=2.12.0 GTK_REQUIRED=3.0.0 GPHOTO2_REQUIRED=2.4.11 GUDEV_REQUIRED=145 DBUS_GLIB_REQUIRED=0.60 GOBJECT_INTROSPECTION_REQUIRED=0.9.3 LCMS_REQUIRED=1.18 LIBPEAS_REQUIRED=0.5.5 GEXIV2_REQUIRED=0.2.2 XEXT_REQUIRED=1.3.0 LIBRAW_REQUIRED=0.9.0 DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for style of include used by $am_make" >&5 $as_echo_n "checking for style of include used by $am_make... " >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $_am_result" >&5 $as_echo "$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then : enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CC" am_compiler_list= { $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5 $as_echo_n "checking dependency style of $depcc... " >&6; } if ${am_cv_CC_dependencies_compiler_type+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi am__universal=false case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5 $as_echo "$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi case $ac_cv_prog_cc_stdc in #( no) : ac_cv_prog_cc_c99=no; ac_cv_prog_cc_c89=no ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5 $as_echo_n "checking for $CC option to accept ISO C99... " >&6; } if ${ac_cv_prog_cc_c99+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c99=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include #include // Check varargs macros. These examples are taken from C99 6.10.3.5. #define debug(...) fprintf (stderr, __VA_ARGS__) #define showlist(...) puts (#__VA_ARGS__) #define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__)) static void test_varargs_macros (void) { int x = 1234; int y = 5678; debug ("Flag"); debug ("X = %d\n", x); showlist (The first, second, and third items.); report (x>y, "x is %d but y is %d", x, y); } // Check long long types. #define BIG64 18446744073709551615ull #define BIG32 4294967295ul #define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0) #if !BIG_OK your preprocessor is broken; #endif #if BIG_OK #else your preprocessor is broken; #endif static long long int bignum = -9223372036854775807LL; static unsigned long long int ubignum = BIG64; struct incomplete_array { int datasize; double data[]; }; struct named_init { int number; const wchar_t *name; double average; }; typedef const char *ccp; static inline int test_restrict (ccp restrict text) { // See if C++-style comments work. // Iterate through items via the restricted pointer. // Also check for declarations in for loops. for (unsigned int i = 0; *(text+i) != '\0'; ++i) continue; return 0; } // Check varargs and va_copy. static void test_varargs (const char *format, ...) { va_list args; va_start (args, format); va_list args_copy; va_copy (args_copy, args); const char *str; int number; float fnumber; while (*format) { switch (*format++) { case 's': // string str = va_arg (args_copy, const char *); break; case 'd': // int number = va_arg (args_copy, int); break; case 'f': // float fnumber = va_arg (args_copy, double); break; default: break; } } va_end (args_copy); va_end (args); } int main () { // Check bool. _Bool success = false; // Check restrict. if (test_restrict ("String literal") == 0) success = true; char *restrict newvar = "Another string"; // Check varargs. test_varargs ("s, d' f .", "string", 65, 34.234); test_varargs_macros (); // Check flexible array members. struct incomplete_array *ia = malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10)); ia->datasize = 10; for (int i = 0; i < ia->datasize; ++i) ia->data[i] = i * 1.234; // Check named initializers. struct named_init ni = { .number = 34, .name = L"Test wide string", .average = 543.34343, }; ni.number = 58; int dynamic_array[ni.number]; dynamic_array[ni.number - 1] = 543; // work around unused variable warnings return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x' || dynamic_array[ni.number - 1] != 543); ; return 0; } _ACEOF for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99 do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c99=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c99" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c99" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c99" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5 $as_echo "$ac_cv_prog_cc_c99" >&6; } ;; esac if test "x$ac_cv_prog_cc_c99" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c99 else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include struct stat; /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : ac_cv_prog_cc_stdc=$ac_cv_prog_cc_c89 else ac_cv_prog_cc_stdc=no fi fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO Standard C" >&5 $as_echo_n "checking for $CC option to accept ISO Standard C... " >&6; } if ${ac_cv_prog_cc_stdc+:} false; then : $as_echo_n "(cached) " >&6 fi case $ac_cv_prog_cc_stdc in #( no) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; #( '') : { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; #( *) : { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_stdc" >&5 $as_echo "$ac_cv_prog_cc_stdc" >&6; } ;; esac if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi case `pwd` in *\ * | *\ *) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5 $as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;; esac macro_version='2.4.2' macro_revision='1.3337' ltmain="$ac_aux_dir/ltmain.sh" # Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\(["`$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5 $as_echo_n "checking how to print strings... " >&6; } # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "" } case "$ECHO" in printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5 $as_echo "printf" >&6; } ;; print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5 $as_echo "print -r" >&6; } ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5 $as_echo "cat" >&6; } ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5 $as_echo_n "checking for a sed that does not truncate output... " >&6; } if ${ac_cv_path_SED+:} false; then : $as_echo_n "(cached) " >&6 else ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/ for ac_i in 1 2 3 4 5 6 7; do ac_script="$ac_script$as_nl$ac_script" done echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed { ac_script=; unset ac_script;} if test -z "$SED"; then ac_path_SED_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_SED="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_SED" || continue # Check for GNU ac_path_SED and select it if it is found. # Check for GNU $ac_path_SED case `"$ac_path_SED" --version 2>&1` in *GNU*) ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo '' >> "conftest.nl" "$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_SED_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_SED="$ac_path_SED" ac_path_SED_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_SED_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_SED"; then as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5 fi else ac_cv_path_SED=$SED fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5 $as_echo "$ac_cv_path_SED" >&6; } SED="$ac_cv_path_SED" rm -f conftest.sed test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_GREP" || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_EGREP" || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5 $as_echo_n "checking for fgrep... " >&6; } if ${ac_cv_path_FGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1 then ac_cv_path_FGREP="$GREP -F" else if test -z "$FGREP"; then ac_path_FGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in fgrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext" as_fn_executable_p "$ac_path_FGREP" || continue # Check for GNU ac_path_FGREP and select it if it is found. # Check for GNU $ac_path_FGREP case `"$ac_path_FGREP" --version 2>&1` in *GNU*) ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'FGREP' >> "conftest.nl" "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_FGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_FGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_FGREP"; then as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_FGREP=$FGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5 $as_echo "$ac_cv_path_FGREP" >&6; } FGREP="$ac_cv_path_FGREP" test -z "$GREP" && GREP=grep # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then : withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5 $as_echo_n "checking for ld used by $CC... " >&6; } case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [\\/]* | ?:[\\/]*) re_direlt='/[^/][^/]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5 $as_echo_n "checking for GNU ld... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5 $as_echo_n "checking for non-GNU ld... " >&6; } fi if ${lt_cv_path_LD+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 $as_echo "$LD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5 $as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; } if ${lt_cv_prog_gnu_ld+:} false; then : $as_echo_n "(cached) " >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 $as_echo "$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5 $as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; } if ${lt_cv_path_NM+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5 $as_echo "$lt_cv_path_NM" >&6; } if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else if test -n "$ac_tool_prefix"; then for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DUMPBIN"; then ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DUMPBIN=$ac_cv_prog_DUMPBIN if test -n "$DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5 $as_echo "$DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$DUMPBIN" && break done fi if test -z "$DUMPBIN"; then ac_ct_DUMPBIN=$DUMPBIN for ac_prog in dumpbin "link -dump" do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DUMPBIN"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DUMPBIN="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN if test -n "$ac_ct_DUMPBIN"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5 $as_echo "$ac_ct_DUMPBIN" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_DUMPBIN" && break done if test "x$ac_ct_DUMPBIN" = x; then DUMPBIN=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DUMPBIN=$ac_ct_DUMPBIN fi fi case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm { $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5 $as_echo_n "checking the name lister ($NM) interface... " >&6; } if ${lt_cv_nm_interface+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 (eval echo "\"\$as_me:$LINENO: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5 $as_echo "$lt_cv_nm_interface" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5 $as_echo_n "checking whether ln -s works... " >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5 $as_echo "no, using $LN_S" >&6; } fi # find the maximum length of command line arguments { $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5 $as_echo_n "checking the maximum length of command line arguments... " >&6; } if ${lt_cv_sys_max_cmd_len+:} false; then : $as_echo_n "(cached) " >&6 else i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5 $as_echo "$lt_cv_sys_max_cmd_len" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5 $as_echo "none" >&6; } fi max_cmd_len=$lt_cv_sys_max_cmd_len : ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5 $as_echo_n "checking whether the shell understands some XSI constructs... " >&6; } # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5 $as_echo "$xsi_shell" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5 $as_echo_n "checking whether the shell understands \"+=\"... " >&6; } lt_shell_append=no ( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5 $as_echo "$lt_shell_append" >&6; } if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to $host format" >&5 $as_echo_n "checking how to convert $build file names to $host format... " >&6; } if ${lt_cv_to_host_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac fi to_host_file_cmd=$lt_cv_to_host_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_host_file_cmd" >&5 $as_echo "$lt_cv_to_host_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to convert $build file names to toolchain format" >&5 $as_echo_n "checking how to convert $build file names to toolchain format... " >&6; } if ${lt_cv_to_tool_file_cmd+:} false; then : $as_echo_n "(cached) " >&6 else #assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac fi to_tool_file_cmd=$lt_cv_to_tool_file_cmd { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_to_tool_file_cmd" >&5 $as_echo "$lt_cv_to_tool_file_cmd" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5 $as_echo_n "checking for $LD option to reload object files... " >&6; } if ${lt_cv_ld_reload_flag+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_reload_flag='-r' fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5 $as_echo "$lt_cv_ld_reload_flag" >&6; } reload_flag=$lt_cv_ld_reload_flag case $reload_flag in "" | " "*) ;; *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' case $host_os in cygwin* | mingw* | pw32* | cegcc*) if test "$GCC" != yes; then reload_cmds=false fi ;; darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args. set dummy ${ac_tool_prefix}objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OBJDUMP"; then ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OBJDUMP=$ac_cv_prog_OBJDUMP if test -n "$OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5 $as_echo "$OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OBJDUMP"; then ac_ct_OBJDUMP=$OBJDUMP # Extract the first word of "objdump", so it can be a program name with args. set dummy objdump; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OBJDUMP"; then ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OBJDUMP="objdump" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP if test -n "$ac_ct_OBJDUMP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5 $as_echo "$ac_ct_OBJDUMP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OBJDUMP" = x; then OBJDUMP="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OBJDUMP=$ac_ct_OBJDUMP fi else OBJDUMP="$ac_cv_prog_OBJDUMP" fi test -z "$OBJDUMP" && OBJDUMP=objdump { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5 $as_echo_n "checking how to recognize dependent libraries... " >&6; } if ${lt_cv_deplibs_check_method+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_deplibs_check_method='unknown' # Need to set the preceding variable on all platforms that support # interlibrary dependencies. # 'none' -- dependencies not supported. # `unknown' -- same as none, but documents that we really don't know. # 'pass_all' -- all dependencies passed with no checks. # 'test_compile' -- check by making test program. # 'file_magic [[regex]]' -- check by looking for files in library path # which responds to the $file_magic_cmd with a given extended regex. # If you have `file' or equivalent on your system and you're not sure # whether `pass_all' will *always* work, you probably want this one. case $host_os in aix[4-9]*) lt_cv_deplibs_check_method=pass_all ;; beos*) lt_cv_deplibs_check_method=pass_all ;; bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so ;; cygwin*) # func_win32_libid is a shell function defined in ltmain.sh lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin. if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]' lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5 $as_echo "$lt_cv_deplibs_check_method" >&6; } file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[\1]\/[\1]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dlltool", so it can be a program name with args. set dummy ${ac_tool_prefix}dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DLLTOOL"; then ac_cv_prog_DLLTOOL="$DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DLLTOOL="${ac_tool_prefix}dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DLLTOOL=$ac_cv_prog_DLLTOOL if test -n "$DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DLLTOOL" >&5 $as_echo "$DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DLLTOOL"; then ac_ct_DLLTOOL=$DLLTOOL # Extract the first word of "dlltool", so it can be a program name with args. set dummy dlltool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DLLTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DLLTOOL"; then ac_cv_prog_ac_ct_DLLTOOL="$ac_ct_DLLTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DLLTOOL="dlltool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DLLTOOL=$ac_cv_prog_ac_ct_DLLTOOL if test -n "$ac_ct_DLLTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DLLTOOL" >&5 $as_echo "$ac_ct_DLLTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DLLTOOL" = x; then DLLTOOL="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DLLTOOL=$ac_ct_DLLTOOL fi else DLLTOOL="$ac_cv_prog_DLLTOOL" fi test -z "$DLLTOOL" && DLLTOOL=dlltool { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to associate runtime and link libraries" >&5 $as_echo_n "checking how to associate runtime and link libraries... " >&6; } if ${lt_cv_sharedlib_from_linklib_cmd+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sharedlib_from_linklib_cmd" >&5 $as_echo "$lt_cv_sharedlib_from_linklib_cmd" >&6; } sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO if test -n "$ac_tool_prefix"; then for ac_prog in ar do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_AR="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5 $as_echo "$AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$AR" && break done fi if test -z "$AR"; then ac_ct_AR=$AR for ac_prog in ar do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_AR+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_AR="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5 $as_echo "$ac_ct_AR" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_AR" && break done if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi fi : ${AR=ar} : ${AR_FLAGS=cru} { $as_echo "$as_me:${as_lineno-$LINENO}: checking for archiver @FILE support" >&5 $as_echo_n "checking for archiver @FILE support... " >&6; } if ${lt_cv_ar_at_file+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ar_at_file=no cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$lt_ar_try\""; } >&5 (eval $lt_ar_try) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ar_at_file" >&5 $as_echo "$lt_cv_ar_at_file" >&6; } if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5 $as_echo "$STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_STRIP+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_STRIP="strip" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5 $as_echo "$ac_ct_STRIP" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi test -z "$STRIP" && STRIP=: if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 $as_echo "$RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_RANLIB="ranlib" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 $as_echo "$ac_ct_RANLIB" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi test -z "$RANLIB" && RANLIB=: # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check for command to grab the raw symbol name followed by C symbol from nm. { $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5 $as_echo_n "checking command to parse $NM output from $compiler object... " >&6; } if ${lt_cv_sys_global_symbol_pipe+:} false; then : $as_echo_n "(cached) " >&6 else # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[BCDEGRST]' # Regexp to match symbols that can be accessed directly from C. sympat='\([_A-Za-z][_A-Za-z0-9]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[BCDT]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[ABCDGISTW]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[ABCDEGRST]' fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; sysv4) symcode='[DFNSTU]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[ABCDGIRSTW]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\)[ ]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK '"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # Now try to grab the symbols. nlist=conftest.nm if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5 (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag" if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done fi if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5 $as_echo "failed" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[@]FILE' >/dev/null; then nm_file_list_spec='@' fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sysroot" >&5 $as_echo_n "checking for sysroot... " >&6; } # Check whether --with-sysroot was given. if test "${with_sysroot+set}" = set; then : withval=$with_sysroot; else with_sysroot=no fi lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${with_sysroot}" >&5 $as_echo "${with_sysroot}" >&6; } as_fn_error $? "The sysroot must be an absolute path." "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: ${lt_sysroot:-no}" >&5 $as_echo "${lt_sysroot:-no}" >&6; } # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then : enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '#line '$LINENO' "configure"' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; powerpcle-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5 $as_echo_n "checking whether the C compiler needs -belf... " >&6; } if ${lt_cv_cc_needs_belf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_cc_needs_belf=yes else lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5 $as_echo "$lt_cv_cc_needs_belf" >&6; } if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}mt", so it can be a program name with args. set dummy ${ac_tool_prefix}mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$MANIFEST_TOOL"; then ac_cv_prog_MANIFEST_TOOL="$MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_MANIFEST_TOOL="${ac_tool_prefix}mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi MANIFEST_TOOL=$ac_cv_prog_MANIFEST_TOOL if test -n "$MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MANIFEST_TOOL" >&5 $as_echo "$MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_MANIFEST_TOOL"; then ac_ct_MANIFEST_TOOL=$MANIFEST_TOOL # Extract the first word of "mt", so it can be a program name with args. set dummy mt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_MANIFEST_TOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_MANIFEST_TOOL"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="$ac_ct_MANIFEST_TOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_MANIFEST_TOOL="mt" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_MANIFEST_TOOL=$ac_cv_prog_ac_ct_MANIFEST_TOOL if test -n "$ac_ct_MANIFEST_TOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_MANIFEST_TOOL" >&5 $as_echo "$ac_ct_MANIFEST_TOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_MANIFEST_TOOL" = x; then MANIFEST_TOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac MANIFEST_TOOL=$ac_ct_MANIFEST_TOOL fi else MANIFEST_TOOL="$ac_cv_prog_MANIFEST_TOOL" fi test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $MANIFEST_TOOL is a manifest tool" >&5 $as_echo_n "checking if $MANIFEST_TOOL is a manifest tool... " >&6; } if ${lt_cv_path_mainfest_tool+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&5 $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&5 if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_mainfest_tool" >&5 $as_echo "$lt_cv_path_mainfest_tool" >&6; } if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi case $host_os in rhapsody* | darwin*) if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args. set dummy ${ac_tool_prefix}dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$DSYMUTIL"; then ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi DSYMUTIL=$ac_cv_prog_DSYMUTIL if test -n "$DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5 $as_echo "$DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_DSYMUTIL"; then ac_ct_DSYMUTIL=$DSYMUTIL # Extract the first word of "dsymutil", so it can be a program name with args. set dummy dsymutil; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_DSYMUTIL"; then ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_DSYMUTIL="dsymutil" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL if test -n "$ac_ct_DSYMUTIL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5 $as_echo "$ac_ct_DSYMUTIL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_DSYMUTIL" = x; then DSYMUTIL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac DSYMUTIL=$ac_ct_DSYMUTIL fi else DSYMUTIL="$ac_cv_prog_DSYMUTIL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args. set dummy ${ac_tool_prefix}nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$NMEDIT"; then ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi NMEDIT=$ac_cv_prog_NMEDIT if test -n "$NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5 $as_echo "$NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_NMEDIT"; then ac_ct_NMEDIT=$NMEDIT # Extract the first word of "nmedit", so it can be a program name with args. set dummy nmedit; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_NMEDIT"; then ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_NMEDIT="nmedit" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT if test -n "$ac_ct_NMEDIT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5 $as_echo "$ac_ct_NMEDIT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_NMEDIT" = x; then NMEDIT=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac NMEDIT=$ac_ct_NMEDIT fi else NMEDIT="$ac_cv_prog_NMEDIT" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args. set dummy ${ac_tool_prefix}lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$LIPO"; then ac_cv_prog_LIPO="$LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_LIPO="${ac_tool_prefix}lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi LIPO=$ac_cv_prog_LIPO if test -n "$LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5 $as_echo "$LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_LIPO"; then ac_ct_LIPO=$LIPO # Extract the first word of "lipo", so it can be a program name with args. set dummy lipo; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_LIPO+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_LIPO"; then ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_LIPO="lipo" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO if test -n "$ac_ct_LIPO"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5 $as_echo "$ac_ct_LIPO" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_LIPO" = x; then LIPO=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac LIPO=$ac_ct_LIPO fi else LIPO="$ac_cv_prog_LIPO" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args. set dummy ${ac_tool_prefix}otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL"; then ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL="${ac_tool_prefix}otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL=$ac_cv_prog_OTOOL if test -n "$OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5 $as_echo "$OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL"; then ac_ct_OTOOL=$OTOOL # Extract the first word of "otool", so it can be a program name with args. set dummy otool; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL"; then ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL="otool" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL if test -n "$ac_ct_OTOOL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5 $as_echo "$ac_ct_OTOOL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL" = x; then OTOOL=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL=$ac_ct_OTOOL fi else OTOOL="$ac_cv_prog_OTOOL" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args. set dummy ${ac_tool_prefix}otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$OTOOL64"; then ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi OTOOL64=$ac_cv_prog_OTOOL64 if test -n "$OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5 $as_echo "$OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_OTOOL64"; then ac_ct_OTOOL64=$OTOOL64 # Extract the first word of "otool64", so it can be a program name with args. set dummy otool64; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_OTOOL64"; then ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_prog_ac_ct_OTOOL64="otool64" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64 if test -n "$ac_ct_OTOOL64"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5 $as_echo "$ac_ct_OTOOL64" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_OTOOL64" = x; then OTOOL64=":" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac OTOOL64=$ac_ct_OTOOL64 fi else OTOOL64="$ac_cv_prog_OTOOL64" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5 $as_echo_n "checking for -single_module linker flag... " >&6; } if ${lt_cv_apple_cc_single_mod+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&5 $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&5 # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&5 fi rm -rf libconftest.dylib* rm -f conftest.* fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5 $as_echo "$lt_cv_apple_cc_single_mod" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5 $as_echo_n "checking for -exported_symbols_list linker flag... " >&6; } if ${lt_cv_ld_exported_symbols_list+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_ld_exported_symbols_list=yes else lt_cv_ld_exported_symbols_list=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5 $as_echo "$lt_cv_ld_exported_symbols_list" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5 $as_echo_n "checking for -force_load linker flag... " >&6; } if ${lt_cv_ld_force_load+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5 $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5 echo "$AR cru libconftest.a conftest.o" >&5 $AR cru libconftest.a conftest.o 2>&5 echo "$RANLIB libconftest.a" >&5 $RANLIB libconftest.a 2>&5 cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5 $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&5 elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&5 fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5 $as_echo "$lt_cv_ld_force_load" >&6; } case $host_os in rhapsody* | darwin1.[012]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[91]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[012]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do : ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default " if test "x$ac_cv_header_dlfcn_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DLFCN_H 1 _ACEOF fi done # Set options # Check whether --enable-static was given. if test "${enable_static+set}" = set; then : enableval=$enable_static; p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac else enable_static=no fi enable_dlopen=no enable_win32_dll=no # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then : enableval=$enable_shared; p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac else enable_shared=yes fi # Check whether --with-pic was given. if test "${with_pic+set}" = set; then : withval=$with_pic; lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then : enableval=$enable_fast_install; p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac else enable_fast_install=yes fi # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' test -z "$LN_S" && LN_S="ln -s" if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5 $as_echo_n "checking for objdir... " >&6; } if ${lt_cv_objdir+:} false; then : $as_echo_n "(cached) " >&6 else rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5 $as_echo "$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir cat >>confdefs.h <<_ACEOF #define LT_OBJDIR "$lt_cv_objdir/" _ACEOF case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5 $as_echo_n "checking for ${ac_tool_prefix}file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5 $as_echo_n "checking for file... " >&6; } if ${lt_cv_path_MAGIC_CMD+:} false; then : $as_echo_n "(cached) " >&6 else case $MAGIC_CMD in [\\/*] | ?:[\\/]*) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5 $as_echo "$MAGIC_CMD" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac # Use C for the default configuration in the libtool script lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then case $cc_basename in nvcc*) lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;; *) lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 $as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; } if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 $as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support lt_prog_compiler_pic='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. lt_prog_compiler_static= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) lt_prog_compiler_pic='-fPIC' ;; esac ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-Kconform_pic fi ;; *) lt_prog_compiler_pic='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 lt_prog_compiler_wl='-Xlinker ' if test -n "$lt_prog_compiler_pic"; then lt_prog_compiler_pic="-Xcompiler $lt_prog_compiler_pic" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). lt_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; # Lahey Fortran 8.1. lf95*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='--shared' lt_prog_compiler_static='--static' ;; nagfor*) # NAG Fortran compiler lt_prog_compiler_wl='-Wl,-Wl,,' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-qpic' lt_prog_compiler_static='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; *Sun\ F* | *Sun*Fortran*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Intel*\ [CF]*Compiler*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fPIC' lt_prog_compiler_static='-static' ;; *Portland\ Group*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; esac ;; esac ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. lt_prog_compiler_pic='-fPIC -shared' ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5 $as_echo_n "checking for $compiler option to produce PIC... " >&6; } if ${lt_cv_prog_compiler_pic+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic=$lt_prog_compiler_pic fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic" >&5 $as_echo "$lt_cv_prog_compiler_pic" >&6; } lt_prog_compiler_pic=$lt_cv_prog_compiler_pic # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 $as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; } if ${lt_cv_prog_compiler_pic_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_pic_works=yes fi fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5 $as_echo "$lt_cv_prog_compiler_pic_works" >&6; } if test x"$lt_cv_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5 $as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; } if ${lt_cv_prog_compiler_static_works+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_static_works=yes fi else lt_cv_prog_compiler_static_works=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5 $as_echo "$lt_cv_prog_compiler_static_works" >&6; } if test x"$lt_cv_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5 $as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; } if ${lt_cv_prog_compiler_c_o+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler_c_o=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5 $as_echo "$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5 $as_echo_n "checking if we can lock with hard links... " >&6; } hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5 $as_echo "$hard_links" >&6; } if test "$hard_links" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 $as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5 $as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; } runpath_var= allow_undefined_flag= always_export_symbols=no archive_cmds= archive_expsym_cmds= compiler_needs_object=no enable_shared_with_static_runtimes=no export_dynamic_flag_spec= export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' hardcode_automatic=no hardcode_direct=no hardcode_direct_absolute=no hardcode_libdir_flag_spec= hardcode_libdir_separator= hardcode_minus_L=no hardcode_shlibpath_var=unsupported inherit_rpath=no link_all_deplibs=unknown module_cmds= module_expsym_cmds= old_archive_from_new_cmds= old_archive_from_expsyms_cmds= thread_safe_flag_spec= whole_archive_flag_spec= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list include_expsyms= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*' # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;; *\ \(GNU\ Binutils\)\ [3-9]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' export_dynamic_flag_spec='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[3-9]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' export_dynamic_flag_spec='${wl}--export-all-symbols' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.* //'\'' | sort | uniq > $export_symbols' exclude_expsyms='[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname' if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; haiku*) archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' link_all_deplibs=yes ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 whole_archive_flag_spec= tmp_sharedflag='--shared' ;; xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' compiler_needs_object=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else ld_shlibs=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=unsupported fi ;; aix[4-9]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. archive_cmds='' hardcode_direct=yes hardcode_direct_absolute=yes hardcode_libdir_separator=':' link_all_deplibs=yes file_list_spec='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[012]|aix4.[012].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 hardcode_direct=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi export_dynamic_flag_spec='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else if ${lt_cv_aix_libpath_+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }' lt_cv_aix_libpath_=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext if test -z "$lt_cv_aix_libpath_"; then lt_cv_aix_libpath_="/usr/lib:/lib" fi fi aix_libpath=$lt_cv_aix_libpath_ fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' fi archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='' ;; m68k) archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes ;; esac ;; bsdi[45]*) export_dynamic_flag_spec=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported always_export_symbols=yes file_list_spec='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, )='true' enable_shared_with_static_runtimes=yes exclude_expsyms='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1,DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib old_postinstall_cmds='chmod 644 $oldlib' postlink_cmds='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_from_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' enable_shared_with_static_runtimes=yes ;; esac ;; darwin* | rhapsody*) archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported if test "$lt_cv_ld_force_load" = "yes"; then whole_archive_flag_spec='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' else whole_archive_flag_spec='' fi link_all_deplibs=yes allow_undefined_flag="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" else ld_shlibs=no fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5 $as_echo_n "checking if $CC understands -b... " >&6; } if ${lt_cv_prog_compiler__b+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_prog_compiler__b=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -b" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&5 $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler__b=yes fi else lt_cv_prog_compiler__b=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5 $as_echo "$lt_cv_prog_compiler__b" >&6; } if test x"$lt_cv_prog_compiler__b" = xyes; then archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes hardcode_direct_absolute=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $host_os linker accepts -exported_symbol" >&5 $as_echo_n "checking whether the $host_os linker accepts -exported_symbol... " >&6; } if ${lt_cv_irix_exported_symbol+:} false; then : $as_echo_n "(cached) " >&6 else save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int foo (void) { return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : lt_cv_irix_exported_symbol=yes else lt_cv_irix_exported_symbol=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS="$save_LDFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_irix_exported_symbol" >&5 $as_echo "$lt_cv_irix_exported_symbol" >&6; } if test "$lt_cv_irix_exported_symbol" = yes; then archive_expsym_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: inherit_rpath=yes link_all_deplibs=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no hardcode_direct_absolute=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi archive_cmds_need_lc='no' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi archive_cmds_need_lc='no' hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-R,$libdir' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) export_dynamic_flag_spec='${wl}-Blargedynsym' ;; esac fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5 $as_echo "$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no with_gnu_ld=$with_gnu_ld # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5 $as_echo_n "checking whether -lc should be explicitly linked in... " >&6; } if ${lt_cv_archive_cmds_need_lc+:} false; then : $as_echo_n "(cached) " >&6 else $RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5 (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } then lt_cv_archive_cmds_need_lc=no else lt_cv_archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5 $as_echo "$lt_cv_archive_cmds_need_lc" >&6; } archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc ;; esac fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5 $as_echo_n "checking dynamic linker characteristics... " >&6; } if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([A-Za-z]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[4-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[01] | aix4.[01].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[45]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api" ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | $GREP ';[c-zC-Z]:/' >/dev/null; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[23].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[01]* | freebsdelf3.[01]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[3-9]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH if ${lt_cv_shlibpath_overrides_runpath+:} false; then : $as_echo_n "(cached) " >&6 else lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \ LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\"" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : if ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then : lt_cv_shlibpath_overrides_runpath=yes fi fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LDFLAGS=$save_LDFLAGS libdir=$save_libdir fi shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[89] | openbsd2.[89].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5 $as_echo "$dynamic_linker" >&6; } test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5 $as_echo_n "checking how to hardcode library paths into programs... " >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || test -n "$runpath_var" || test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existent directories. if test "$hardcode_direct" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5 $as_echo "$hardcode_action" >&6; } if test "$hardcode_action" = relink || test "$inherit_rpath" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load" if test "x$ac_cv_func_shl_load" = xyes; then : lt_cv_dlopen="shl_load" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5 $as_echo_n "checking for shl_load in -ldld... " >&6; } if ${ac_cv_lib_dld_shl_load+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_shl_load=yes else ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5 $as_echo "$ac_cv_lib_dld_shl_load" >&6; } if test "x$ac_cv_lib_dld_shl_load" = xyes; then : lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld" else ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen" if test "x$ac_cv_func_dlopen" = xyes; then : lt_cv_dlopen="dlopen" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5 $as_echo_n "checking for dlopen in -ldl... " >&6; } if ${ac_cv_lib_dl_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dl_dlopen=yes else ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5 $as_echo "$ac_cv_lib_dl_dlopen" >&6; } if test "x$ac_cv_lib_dl_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5 $as_echo_n "checking for dlopen in -lsvld... " >&6; } if ${ac_cv_lib_svld_dlopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_svld_dlopen=yes else ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5 $as_echo "$ac_cv_lib_svld_dlopen" >&6; } if test "x$ac_cv_lib_svld_dlopen" = xyes; then : lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5 $as_echo_n "checking for dld_link in -ldld... " >&6; } if ${ac_cv_lib_dld_dld_link+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_dld_dld_link=yes else ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5 $as_echo "$ac_cv_lib_dld_dld_link" >&6; } if test "x$ac_cv_lib_dld_dld_link" = xyes; then : lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld" fi fi fi fi fi fi ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5 $as_echo_n "checking whether a program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5 $as_echo "$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5 $as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; } if ${lt_cv_dlopen_self_static+:} false; then : $as_echo_n "(cached) " >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF #line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; } _LT_EOF if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5 (eval $ac_link) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5 $as_echo "$lt_cv_dlopen_self_static" >&6; } fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi striplib= old_striplib= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5 $as_echo_n "checking whether stripping libraries is possible... " >&6; } if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } ;; esac fi # Report which library types will actually be built { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5 $as_echo_n "checking if libtool supports shared libraries... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5 $as_echo "$can_build_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5 $as_echo_n "checking whether to build shared libraries... " >&6; } test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[4-9]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5 $as_echo "$enable_shared" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5 $as_echo_n "checking whether to build static libraries... " >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5 $as_echo "$enable_static" >&6; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ac_config_commands="$ac_config_commands libtool" # Only expand once: if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GLIB" >&5 $as_echo_n "checking for GLIB... " >&6; } if test -n "$GLIB_CFLAGS"; then pkg_cv_GLIB_CFLAGS="$GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GLIB_LIBS"; then pkg_cv_GLIB_LIBS="$GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GLIB_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GLIB_REQUIRED" 2>&1` else GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GLIB_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GLIB_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glib-2.0 >= $GLIB_REQUIRED) were not met: $GLIB_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GLIB_CFLAGS and GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GLIB_CFLAGS=$pkg_cv_GLIB_CFLAGS GLIB_LIBS=$pkg_cv_GLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GIO" >&5 $as_echo_n "checking for GIO... " >&6; } if test -n "$GIO_CFLAGS"; then pkg_cv_GIO_CFLAGS="$GIO_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GIO_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GIO_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= $GIO_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GIO_LIBS"; then pkg_cv_GIO_LIBS="$GIO_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= \$GIO_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= $GIO_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GIO_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= $GIO_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GIO_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= $GIO_REQUIRED" 2>&1` else GIO_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= $GIO_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GIO_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (glib-2.0 >= $GIO_REQUIRED) were not met: $GIO_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GIO_CFLAGS and GIO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GIO_CFLAGS and GIO_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GIO_CFLAGS=$pkg_cv_GIO_CFLAGS GIO_LIBS=$pkg_cv_GIO_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GMODULE" >&5 $as_echo_n "checking for GMODULE... " >&6; } if test -n "$GMODULE_CFLAGS"; then pkg_cv_GMODULE_CFLAGS="$GMODULE_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= \$GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= $GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMODULE_CFLAGS=`$PKG_CONFIG --cflags "gmodule-2.0 >= $GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GMODULE_LIBS"; then pkg_cv_GMODULE_LIBS="$GMODULE_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gmodule-2.0 >= \$GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gmodule-2.0 >= $GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GMODULE_LIBS=`$PKG_CONFIG --libs "gmodule-2.0 >= $GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GMODULE_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gmodule-2.0 >= $GLIB_REQUIRED" 2>&1` else GMODULE_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gmodule-2.0 >= $GLIB_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GMODULE_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gmodule-2.0 >= $GLIB_REQUIRED) were not met: $GMODULE_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GMODULE_CFLAGS and GMODULE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GMODULE_CFLAGS and GMODULE_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GMODULE_CFLAGS=$pkg_cv_GMODULE_CFLAGS GMODULE_LIBS=$pkg_cv_GMODULE_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5 $as_echo_n "checking for GTHREAD... " >&6; } if test -n "$GTHREAD_CFLAGS"; then pkg_cv_GTHREAD_CFLAGS="$GTHREAD_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \$GTHREAD_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= $GTHREAD_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTHREAD_CFLAGS=`$PKG_CONFIG --cflags "gthread-2.0 >= $GTHREAD_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTHREAD_LIBS"; then pkg_cv_GTHREAD_LIBS="$GTHREAD_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gthread-2.0 >= \$GTHREAD_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gthread-2.0 >= $GTHREAD_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTHREAD_LIBS=`$PKG_CONFIG --libs "gthread-2.0 >= $GTHREAD_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTHREAD_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gthread-2.0 >= $GTHREAD_REQUIRED" 2>&1` else GTHREAD_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gthread-2.0 >= $GTHREAD_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTHREAD_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gthread-2.0 >= $GTHREAD_REQUIRED) were not met: $GTHREAD_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTHREAD_CFLAGS and GTHREAD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTHREAD_CFLAGS and GTHREAD_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GTHREAD_CFLAGS=$pkg_cv_GTHREAD_CFLAGS GTHREAD_LIBS=$pkg_cv_GTHREAD_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GDK_PIXBUF" >&5 $as_echo_n "checking for GDK_PIXBUF... " >&6; } if test -n "$GDK_PIXBUF_CFLAGS"; then pkg_cv_GDK_PIXBUF_CFLAGS="$GDK_PIXBUF_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-pixbuf-2.0 >= \$GDK_PIXBUF_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDK_PIXBUF_CFLAGS=`$PKG_CONFIG --cflags "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GDK_PIXBUF_LIBS"; then pkg_cv_GDK_PIXBUF_LIBS="$GDK_PIXBUF_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gdk-pixbuf-2.0 >= \$GDK_PIXBUF_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GDK_PIXBUF_LIBS=`$PKG_CONFIG --libs "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GDK_PIXBUF_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED" 2>&1` else GDK_PIXBUF_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GDK_PIXBUF_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED) were not met: $GDK_PIXBUF_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GDK_PIXBUF_CFLAGS and GDK_PIXBUF_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GDK_PIXBUF_CFLAGS=$pkg_cv_GDK_PIXBUF_CFLAGS GDK_PIXBUF_LIBS=$pkg_cv_GDK_PIXBUF_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTK" >&5 $as_echo_n "checking for GTK... " >&6; } if test -n "$GTK_CFLAGS"; then pkg_cv_GTK_CFLAGS="$GTK_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_CFLAGS=`$PKG_CONFIG --cflags "gtk+-3.0 >= $GTK_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTK_LIBS"; then pkg_cv_GTK_LIBS="$GTK_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk+-3.0 >= \$GTK_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk+-3.0 >= $GTK_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTK_LIBS=`$PKG_CONFIG --libs "gtk+-3.0 >= $GTK_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTK_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gtk+-3.0 >= $GTK_REQUIRED" 2>&1` else GTK_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gtk+-3.0 >= $GTK_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTK_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gtk+-3.0 >= $GTK_REQUIRED) were not met: $GTK_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GTK_CFLAGS and GTK_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GTK_CFLAGS=$pkg_cv_GTK_CFLAGS GTK_LIBS=$pkg_cv_GTK_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi have_gphoto25=no pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPHOTO2" >&5 $as_echo_n "checking for GPHOTO2... " >&6; } if test -n "$GPHOTO2_CFLAGS"; then pkg_cv_GPHOTO2_CFLAGS="$GPHOTO2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= 2.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= 2.5") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_CFLAGS=`$PKG_CONFIG --cflags "libgphoto2 >= 2.5" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GPHOTO2_LIBS"; then pkg_cv_GPHOTO2_LIBS="$GPHOTO2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= 2.5\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= 2.5") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_LIBS=`$PKG_CONFIG --libs "libgphoto2 >= 2.5" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libgphoto2 >= 2.5" 2>&1` else GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libgphoto2 >= 2.5" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GPHOTO2_PKG_ERRORS" >&5 pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPHOTO2" >&5 $as_echo_n "checking for GPHOTO2... " >&6; } if test -n "$GPHOTO2_CFLAGS"; then pkg_cv_GPHOTO2_CFLAGS="$GPHOTO2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= \$GPHOTO2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= $GPHOTO2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_CFLAGS=`$PKG_CONFIG --cflags "libgphoto2 >= $GPHOTO2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GPHOTO2_LIBS"; then pkg_cv_GPHOTO2_LIBS="$GPHOTO2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= \$GPHOTO2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= $GPHOTO2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_LIBS=`$PKG_CONFIG --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>&1` else GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GPHOTO2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libgphoto2 >= $GPHOTO2_REQUIRED) were not met: $GPHOTO2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GPHOTO2_CFLAGS and GPHOTO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GPHOTO2_CFLAGS and GPHOTO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GPHOTO2_CFLAGS=$pkg_cv_GPHOTO2_CFLAGS GPHOTO2_LIBS=$pkg_cv_GPHOTO2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GPHOTO2" >&5 $as_echo_n "checking for GPHOTO2... " >&6; } if test -n "$GPHOTO2_CFLAGS"; then pkg_cv_GPHOTO2_CFLAGS="$GPHOTO2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= \$GPHOTO2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= $GPHOTO2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_CFLAGS=`$PKG_CONFIG --cflags "libgphoto2 >= $GPHOTO2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GPHOTO2_LIBS"; then pkg_cv_GPHOTO2_LIBS="$GPHOTO2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libgphoto2 >= \$GPHOTO2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libgphoto2 >= $GPHOTO2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GPHOTO2_LIBS=`$PKG_CONFIG --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>&1` else GPHOTO2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libgphoto2 >= $GPHOTO2_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GPHOTO2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libgphoto2 >= $GPHOTO2_REQUIRED) were not met: $GPHOTO2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GPHOTO2_CFLAGS and GPHOTO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GPHOTO2_CFLAGS and GPHOTO2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GPHOTO2_CFLAGS=$pkg_cv_GPHOTO2_CFLAGS GPHOTO2_LIBS=$pkg_cv_GPHOTO2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi else GPHOTO2_CFLAGS=$pkg_cv_GPHOTO2_CFLAGS GPHOTO2_LIBS=$pkg_cv_GPHOTO2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_gphoto25=yes fi if test "$have_gphoto25" = "yes" ; then cat >>confdefs.h <<_ACEOF #define HAVE_GPHOTO25 1 _ACEOF fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GUDEV" >&5 $as_echo_n "checking for GUDEV... " >&6; } if test -n "$GUDEV_CFLAGS"; then pkg_cv_GUDEV_CFLAGS="$GUDEV_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0 >= \$GUDEV_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gudev-1.0 >= $GUDEV_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUDEV_CFLAGS=`$PKG_CONFIG --cflags "gudev-1.0 >= $GUDEV_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GUDEV_LIBS"; then pkg_cv_GUDEV_LIBS="$GUDEV_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gudev-1.0 >= \$GUDEV_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gudev-1.0 >= $GUDEV_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GUDEV_LIBS=`$PKG_CONFIG --libs "gudev-1.0 >= $GUDEV_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GUDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gudev-1.0 >= $GUDEV_REQUIRED" 2>&1` else GUDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gudev-1.0 >= $GUDEV_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GUDEV_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gudev-1.0 >= $GUDEV_REQUIRED) were not met: $GUDEV_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GUDEV_CFLAGS and GUDEV_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GUDEV_CFLAGS and GUDEV_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GUDEV_CFLAGS=$pkg_cv_GUDEV_CFLAGS GUDEV_LIBS=$pkg_cv_GUDEV_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for DBUS_GLIB" >&5 $as_echo_n "checking for DBUS_GLIB... " >&6; } if test -n "$DBUS_GLIB_CFLAGS"; then pkg_cv_DBUS_GLIB_CFLAGS="$DBUS_GLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_GLIB_CFLAGS=`$PKG_CONFIG --cflags "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$DBUS_GLIB_LIBS"; then pkg_cv_DBUS_GLIB_LIBS="$DBUS_GLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"dbus-glib-1 >= \$DBUS_GLIB_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "dbus-glib-1 >= $DBUS_GLIB_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_DBUS_GLIB_LIBS=`$PKG_CONFIG --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then DBUS_GLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>&1` else DBUS_GLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "dbus-glib-1 >= $DBUS_GLIB_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DBUS_GLIB_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (dbus-glib-1 >= $DBUS_GLIB_REQUIRED) were not met: $DBUS_GLIB_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS and DBUS_GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables DBUS_GLIB_CFLAGS and DBUS_GLIB_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else DBUS_GLIB_CFLAGS=$pkg_cv_DBUS_GLIB_CFLAGS DBUS_GLIB_LIBS=$pkg_cv_DBUS_GLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LCMS" >&5 $as_echo_n "checking for LCMS... " >&6; } if test -n "$LCMS_CFLAGS"; then pkg_cv_LCMS_CFLAGS="$LCMS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lcms >= \$LCMS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "lcms >= $LCMS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LCMS_CFLAGS=`$PKG_CONFIG --cflags "lcms >= $LCMS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LCMS_LIBS"; then pkg_cv_LCMS_LIBS="$LCMS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"lcms >= \$LCMS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "lcms >= $LCMS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LCMS_LIBS=`$PKG_CONFIG --libs "lcms >= $LCMS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LCMS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "lcms >= $LCMS_REQUIRED" 2>&1` else LCMS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "lcms >= $LCMS_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LCMS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (lcms >= $LCMS_REQUIRED) were not met: $LCMS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LCMS_CFLAGS and LCMS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LCMS_CFLAGS and LCMS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LCMS_CFLAGS=$pkg_cv_LCMS_CFLAGS LCMS_LIBS=$pkg_cv_LCMS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GEXIV2" >&5 $as_echo_n "checking for GEXIV2... " >&6; } if test -n "$GEXIV2_CFLAGS"; then pkg_cv_GEXIV2_CFLAGS="$GEXIV2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gexiv2 >= \$GEXIV2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gexiv2 >= $GEXIV2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GEXIV2_CFLAGS=`$PKG_CONFIG --cflags "gexiv2 >= $GEXIV2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GEXIV2_LIBS"; then pkg_cv_GEXIV2_LIBS="$GEXIV2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gexiv2 >= \$GEXIV2_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gexiv2 >= $GEXIV2_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GEXIV2_LIBS=`$PKG_CONFIG --libs "gexiv2 >= $GEXIV2_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GEXIV2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gexiv2 >= $GEXIV2_REQUIRED" 2>&1` else GEXIV2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gexiv2 >= $GEXIV2_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GEXIV2_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gexiv2 >= $GEXIV2_REQUIRED) were not met: $GEXIV2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GEXIV2_CFLAGS and GEXIV2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GEXIV2_CFLAGS and GEXIV2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GEXIV2_CFLAGS=$pkg_cv_GEXIV2_CFLAGS GEXIV2_LIBS=$pkg_cv_GEXIV2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBRAW" >&5 $as_echo_n "checking for LIBRAW... " >&6; } if test -n "$LIBRAW_CFLAGS"; then pkg_cv_LIBRAW_CFLAGS="$LIBRAW_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libraw_r >= \$LIBRAW_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libraw_r >= $LIBRAW_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBRAW_CFLAGS=`$PKG_CONFIG --cflags "libraw_r >= $LIBRAW_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBRAW_LIBS"; then pkg_cv_LIBRAW_LIBS="$LIBRAW_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libraw_r >= \$LIBRAW_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libraw_r >= $LIBRAW_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBRAW_LIBS=`$PKG_CONFIG --libs "libraw_r >= $LIBRAW_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBRAW_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libraw_r >= $LIBRAW_REQUIRED" 2>&1` else LIBRAW_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libraw_r >= $LIBRAW_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBRAW_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libraw_r >= $LIBRAW_REQUIRED) were not met: $LIBRAW_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBRAW_CFLAGS and LIBRAW_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBRAW_CFLAGS and LIBRAW_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LIBRAW_CFLAGS=$pkg_cv_LIBRAW_CFLAGS LIBRAW_LIBS=$pkg_cv_LIBRAW_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XEXT" >&5 $as_echo_n "checking for XEXT... " >&6; } if test -n "$XEXT_CFLAGS"; then pkg_cv_XEXT_CFLAGS="$XEXT_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext >= \$XEXT_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "xext >= $XEXT_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XEXT_CFLAGS=`$PKG_CONFIG --cflags "xext >= $XEXT_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$XEXT_LIBS"; then pkg_cv_XEXT_LIBS="$XEXT_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"xext >= \$XEXT_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "xext >= $XEXT_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_XEXT_LIBS=`$PKG_CONFIG --libs "xext >= $XEXT_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then XEXT_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "xext >= $XEXT_REQUIRED" 2>&1` else XEXT_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "xext >= $XEXT_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$XEXT_PKG_ERRORS" >&5 have_xext=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_xext=no else XEXT_CFLAGS=$pkg_cv_XEXT_CFLAGS XEXT_LIBS=$pkg_cv_XEXT_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_xext=yes fi if test "$have_xext" = "yes"; then cat >>confdefs.h <<_ACEOF #define HAVE_XEXT /**/ _ACEOF fi # Check whether --enable-schemas-compile was given. if test "${enable_schemas_compile+set}" = set; then : enableval=$enable_schemas_compile; case ${enableval} in yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; *) as_fn_error $? "bad value ${enableval} for --enable-schemas-compile" "$LINENO" 5 ;; esac fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.16 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi gsettingsschemadir=${datadir}/glib-2.0/schemas if test x$cross_compiling != xyes; then GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` else # Extract the first word of "glib-compile-schemas", so it can be a program name with args. set dummy glib-compile-schemas; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GLIB_COMPILE_SCHEMAS+:} false; then : $as_echo_n "(cached) " >&6 else case $GLIB_COMPILE_SCHEMAS in [\\/]* | ?:[\\/]*) ac_cv_path_GLIB_COMPILE_SCHEMAS="$GLIB_COMPILE_SCHEMAS" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GLIB_COMPILE_SCHEMAS="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GLIB_COMPILE_SCHEMAS=$ac_cv_path_GLIB_COMPILE_SCHEMAS if test -n "$GLIB_COMPILE_SCHEMAS"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GLIB_COMPILE_SCHEMAS" >&5 $as_echo "$GLIB_COMPILE_SCHEMAS" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then as_fn_error $? "glib-compile-schemas not found." "$LINENO" 5 else : fi GSETTINGS_RULES=' .PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas mostlyclean-am: clean-gsettings-schemas gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) %.gschema.valid: %.gschema.xml $(gsettings__enum_file) $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch $@ all-am: $(gsettings_SCHEMAS:.xml=.valid) uninstall-am: uninstall-gsettings-schemas install-data-am: install-gsettings-schemas .SECONDARY: $(gsettings_SCHEMAS) install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) @$(NORMAL_INSTALL) if test -n "$^"; then \ test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ fi uninstall-gsettings-schemas: @$(NORMAL_UNINSTALL) @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ test -n "$$files" || exit 0; \ echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) clean-gsettings-schemas: rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) ifdef gsettings_ENUM_NAMESPACE $(gsettings__enum_file): $(gsettings_ENUM_FILES) $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" $^ > $@.tmp && mv $@.tmp $@ endif ' # Extract the first word of "gtkdoc-check", so it can be a program name with args. set dummy gtkdoc-check; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GTKDOC_CHECK+:} false; then : $as_echo_n "(cached) " >&6 else case $GTKDOC_CHECK in [\\/]* | ?:[\\/]*) ac_cv_path_GTKDOC_CHECK="$GTKDOC_CHECK" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GTKDOC_CHECK="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GTKDOC_CHECK=$ac_cv_path_GTKDOC_CHECK if test -n "$GTKDOC_CHECK"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_CHECK" >&5 $as_echo "$GTKDOC_CHECK" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi for ac_prog in gtkdoc-rebase do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GTKDOC_REBASE+:} false; then : $as_echo_n "(cached) " >&6 else case $GTKDOC_REBASE in [\\/]* | ?:[\\/]*) ac_cv_path_GTKDOC_REBASE="$GTKDOC_REBASE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GTKDOC_REBASE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GTKDOC_REBASE=$ac_cv_path_GTKDOC_REBASE if test -n "$GTKDOC_REBASE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_REBASE" >&5 $as_echo "$GTKDOC_REBASE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$GTKDOC_REBASE" && break done test -n "$GTKDOC_REBASE" || GTKDOC_REBASE="true" # Extract the first word of "gtkdoc-mkpdf", so it can be a program name with args. set dummy gtkdoc-mkpdf; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GTKDOC_MKPDF+:} false; then : $as_echo_n "(cached) " >&6 else case $GTKDOC_MKPDF in [\\/]* | ?:[\\/]*) ac_cv_path_GTKDOC_MKPDF="$GTKDOC_MKPDF" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GTKDOC_MKPDF="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi GTKDOC_MKPDF=$ac_cv_path_GTKDOC_MKPDF if test -n "$GTKDOC_MKPDF"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTKDOC_MKPDF" >&5 $as_echo "$GTKDOC_MKPDF" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Check whether --with-html-dir was given. if test "${with_html_dir+set}" = set; then : withval=$with_html_dir; else with_html_dir='${datadir}/gtk-doc/html' fi HTML_DIR="$with_html_dir" # Check whether --enable-gtk-doc was given. if test "${enable_gtk_doc+set}" = set; then : enableval=$enable_gtk_doc; else enable_gtk_doc=no fi if test x$enable_gtk_doc = xyes; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gtk-doc >= 1.10\""; } >&5 ($PKG_CONFIG --exists --print-errors "gtk-doc >= 1.10") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : else as_fn_error $? "You need to have gtk-doc >= 1.10 installed to build $PACKAGE_NAME" "$LINENO" 5 fi if test "x$PACKAGE_NAME" != "xglib"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTKDOC_DEPS" >&5 $as_echo_n "checking for GTKDOC_DEPS... " >&6; } if test -n "$GTKDOC_DEPS_CFLAGS"; then pkg_cv_GTKDOC_DEPS_CFLAGS="$GTKDOC_DEPS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTKDOC_DEPS_CFLAGS=`$PKG_CONFIG --cflags "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GTKDOC_DEPS_LIBS"; then pkg_cv_GTKDOC_DEPS_LIBS="$GTKDOC_DEPS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GTKDOC_DEPS_LIBS=`$PKG_CONFIG --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>&1` else GTKDOC_DEPS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GTKDOC_DEPS_PKG_ERRORS" >&5 : elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } : else GTKDOC_DEPS_CFLAGS=$pkg_cv_GTKDOC_DEPS_CFLAGS GTKDOC_DEPS_LIBS=$pkg_cv_GTKDOC_DEPS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build gtk-doc documentation" >&5 $as_echo_n "checking whether to build gtk-doc documentation... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_gtk_doc" >&5 $as_echo "$enable_gtk_doc" >&6; } # Check whether --enable-gtk-doc-html was given. if test "${enable_gtk_doc_html+set}" = set; then : enableval=$enable_gtk_doc_html; else enable_gtk_doc_html=yes fi # Check whether --enable-gtk-doc-pdf was given. if test "${enable_gtk_doc_pdf+set}" = set; then : enableval=$enable_gtk_doc_pdf; else enable_gtk_doc_pdf=no fi if test -z "$GTKDOC_MKPDF"; then enable_gtk_doc_pdf=no fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi if test x$enable_gtk_doc = xyes; then ENABLE_GTK_DOC_TRUE= ENABLE_GTK_DOC_FALSE='#' else ENABLE_GTK_DOC_TRUE='#' ENABLE_GTK_DOC_FALSE= fi if test x$enable_gtk_doc_html = xyes; then GTK_DOC_BUILD_HTML_TRUE= GTK_DOC_BUILD_HTML_FALSE='#' else GTK_DOC_BUILD_HTML_TRUE='#' GTK_DOC_BUILD_HTML_FALSE= fi if test x$enable_gtk_doc_pdf = xyes; then GTK_DOC_BUILD_PDF_TRUE= GTK_DOC_BUILD_PDF_FALSE='#' else GTK_DOC_BUILD_PDF_TRUE='#' GTK_DOC_BUILD_PDF_FALSE= fi if test -n "$LIBTOOL"; then GTK_DOC_USE_LIBTOOL_TRUE= GTK_DOC_USE_LIBTOOL_FALSE='#' else GTK_DOC_USE_LIBTOOL_TRUE='#' GTK_DOC_USE_LIBTOOL_FALSE= fi if test -n "$GTKDOC_REBASE"; then GTK_DOC_USE_REBASE_TRUE= GTK_DOC_USE_REBASE_FALSE='#' else GTK_DOC_USE_REBASE_TRUE='#' GTK_DOC_USE_REBASE_FALSE= fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GOBJECT_INTROSPECTION" >&5 $as_echo_n "checking for GOBJECT_INTROSPECTION... " >&6; } if test -n "$GOBJECT_INTROSPECTION_CFLAGS"; then pkg_cv_GOBJECT_INTROSPECTION_CFLAGS="$GOBJECT_INTROSPECTION_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= \$GOBJECT_INTROSPECTION_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GOBJECT_INTROSPECTION_CFLAGS=`$PKG_CONFIG --cflags "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GOBJECT_INTROSPECTION_LIBS"; then pkg_cv_GOBJECT_INTROSPECTION_LIBS="$GOBJECT_INTROSPECTION_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gobject-introspection-1.0 >= \$GOBJECT_INTROSPECTION_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GOBJECT_INTROSPECTION_LIBS=`$PKG_CONFIG --libs "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GOBJECT_INTROSPECTION_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED" 2>&1` else GOBJECT_INTROSPECTION_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GOBJECT_INTROSPECTION_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED) were not met: $GOBJECT_INTROSPECTION_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GOBJECT_INTROSPECTION_CFLAGS and GOBJECT_INTROSPECTION_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GOBJECT_INTROSPECTION_CFLAGS and GOBJECT_INTROSPECTION_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GOBJECT_INTROSPECTION_CFLAGS=$pkg_cv_GOBJECT_INTROSPECTION_CFLAGS GOBJECT_INTROSPECTION_LIBS=$pkg_cv_GOBJECT_INTROSPECTION_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi G_IR_SCANNER=$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0) G_IR_COMPILER=$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0) pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBPEAS" >&5 $as_echo_n "checking for LIBPEAS... " >&6; } if test -n "$LIBPEAS_CFLAGS"; then pkg_cv_LIBPEAS_CFLAGS="$LIBPEAS_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpeas-1.0 >= \$LIBPEAS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpeas-1.0 >= $LIBPEAS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPEAS_CFLAGS=`$PKG_CONFIG --cflags "libpeas-1.0 >= $LIBPEAS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBPEAS_LIBS"; then pkg_cv_LIBPEAS_LIBS="$LIBPEAS_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpeas-1.0 >= \$LIBPEAS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpeas-1.0 >= $LIBPEAS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPEAS_LIBS=`$PKG_CONFIG --libs "libpeas-1.0 >= $LIBPEAS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBPEAS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libpeas-1.0 >= $LIBPEAS_REQUIRED" 2>&1` else LIBPEAS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libpeas-1.0 >= $LIBPEAS_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBPEAS_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libpeas-1.0 >= $LIBPEAS_REQUIRED) were not met: $LIBPEAS_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBPEAS_CFLAGS and LIBPEAS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBPEAS_CFLAGS and LIBPEAS_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LIBPEAS_CFLAGS=$pkg_cv_LIBPEAS_CFLAGS LIBPEAS_LIBS=$pkg_cv_LIBPEAS_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBPEAS_UI" >&5 $as_echo_n "checking for LIBPEAS_UI... " >&6; } if test -n "$LIBPEAS_UI_CFLAGS"; then pkg_cv_LIBPEAS_UI_CFLAGS="$LIBPEAS_UI_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpeas-gtk-1.0 >= \$LIBPEAS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPEAS_UI_CFLAGS=`$PKG_CONFIG --cflags "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBPEAS_UI_LIBS"; then pkg_cv_LIBPEAS_UI_LIBS="$LIBPEAS_UI_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libpeas-gtk-1.0 >= \$LIBPEAS_REQUIRED\""; } >&5 ($PKG_CONFIG --exists --print-errors "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBPEAS_UI_LIBS=`$PKG_CONFIG --libs "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBPEAS_UI_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED" 2>&1` else LIBPEAS_UI_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBPEAS_UI_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED) were not met: $LIBPEAS_UI_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBPEAS_UI_CFLAGS and LIBPEAS_UI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBPEAS_UI_CFLAGS and LIBPEAS_UI_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else LIBPEAS_UI_CFLAGS=$pkg_cv_LIBPEAS_UI_CFLAGS LIBPEAS_UI_LIBS=$pkg_cv_LIBPEAS_UI_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi # Check whether --enable-werror was given. if test "${enable_werror+set}" = set; then : enableval=$enable_werror; set_werror="$enableval" else if test -d $srcdir/.git; then is_git_version=true set_werror=yes else set_werror=no fi fi # List of warnings that are not relevant / wanted # Don't care about C++ compiler compat dontwarn="$dontwarn -Wc++-compat" dontwarn="$dontwarn -Wabi" dontwarn="$dontwarn -Wdeprecated" # Don't care about ancient C standard compat dontwarn="$dontwarn -Wtraditional" # Don't care about ancient C standard compat dontwarn="$dontwarn -Wtraditional-conversion" # Ignore warnings in /usr/include dontwarn="$dontwarn -Wsystem-headers" # Happy for compiler to add struct padding dontwarn="$dontwarn -Wpadded" # GCC very confused with -O2 dontwarn="$dontwarn -Wunreachable-code" # Broken gexiv2 pkg-config file dontwarn="$dontwarn -Wmissing-include-dirs" # We need to use long long in many places dontwarn="$dontwarn -Wlong-long" # We don't care about c90 rules dontwarn="$dontwarn -Wdeclaration-after-statement" # Need to allow some explicit bad casts dontwarn="$dontwarn -Wcast-qual" # entangle_session_next_filename dontwarn="$dontwarn -Wformat-nonliteral" # Get all possible GCC warnings if test -n "$GCC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is supported" >&5 $as_echo_n "checking whether -Wno-missing-field-initializers is supported... " >&6; } if ${gl_cv_cc_nomfi_supported+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_nomfi_supported=yes else gl_cv_cc_nomfi_supported=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_supported" >&5 $as_echo "$gl_cv_cc_nomfi_supported" >&6; } if test "$gl_cv_cc_nomfi_supported" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -Wno-missing-field-initializers is needed" >&5 $as_echo_n "checking whether -Wno-missing-field-initializers is needed... " >&6; } if ${gl_cv_cc_nomfi_needed+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ void f (void) { typedef struct { int a; int b; } s_t; s_t s1 = { 0, }; } int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : gl_cv_cc_nomfi_needed=no else gl_cv_cc_nomfi_needed=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext CFLAGS="$gl_save_CFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_cc_nomfi_needed" >&5 $as_echo "$gl_cv_cc_nomfi_needed" >&6; } fi fi gl_manywarn_set= for gl_manywarn_item in \ -Wall \ -W \ -Wformat-y2k \ -Wformat-nonliteral \ -Wformat-security \ -Winit-self \ -Wmissing-include-dirs \ -Wswitch-default \ -Wswitch-enum \ -Wunused \ -Wunknown-pragmas \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wsystem-headers \ -Wfloat-equal \ -Wtraditional \ -Wtraditional-conversion \ -Wdeclaration-after-statement \ -Wundef \ -Wshadow \ -Wunsafe-loop-optimizations \ -Wpointer-arith \ -Wbad-function-cast \ -Wc++-compat \ -Wcast-qual \ -Wcast-align \ -Wwrite-strings \ -Wconversion \ -Wsign-conversion \ -Wlogical-op \ -Waggregate-return \ -Wstrict-prototypes \ -Wold-style-definition \ -Wmissing-prototypes \ -Wmissing-declarations \ -Wmissing-noreturn \ -Wmissing-format-attribute \ -Wpacked \ -Wpadded \ -Wredundant-decls \ -Wnested-externs \ -Wunreachable-code \ -Winline \ -Winvalid-pch \ -Wlong-long \ -Wvla \ -Wvolatile-register-var \ -Wdisabled-optimization \ -Wstack-protector \ -Woverlength-strings \ -Wbuiltin-macro-redefined \ -Wmudflap \ -Wpacked-bitfield-compat \ -Wsync-nand \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # The following are not documented in the manual but are included in # output from gcc --help=warnings. for gl_manywarn_item in \ -Wattributes \ -Wcoverage-mismatch \ -Wmultichar \ -Wunused-macros \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # Disable the missing-field-initializers warning if needed if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" fi maybewarn=$gl_manywarn_set # Remove the ones we don't want, blacklisted earlier gl_warn_set= set x $maybewarn; shift for gl_warn_item do case " $dontwarn " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done wantwarn=$gl_warn_set # Check for $CC support of each warning for w in $wantwarn; do as_gl_Warn=`$as_echo "gl_cv_warn_$w" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles $w" >&5 $as_echo_n "checking whether compiler handles $w... " >&6; } if eval \${$as_gl_Warn+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} $w" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : eval "$as_gl_Warn=yes" else eval "$as_gl_Warn=no" fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi eval ac_res=\$$as_gl_Warn { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_gl_Warn"\" = x"yes"; then : as_fn_append WARN_CFLAGS " $w" fi done # GNULIB uses '-W' (aka -Wextra) which includes a bunch of stuff. # Unfortunately, this means you can't simply use '-Wsign-compare' # with gl_MANYWARN_COMPLEMENT # So we have -W enabled, and then have to explicitly turn off... { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-sign-compare" >&5 $as_echo_n "checking whether compiler handles -Wno-sign-compare... " >&6; } if ${gl_cv_warn__Wno_sign_compare+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-sign-compare" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_sign_compare=yes else gl_cv_warn__Wno_sign_compare=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_sign_compare" >&5 $as_echo "$gl_cv_warn__Wno_sign_compare" >&6; } if test "x$gl_cv_warn__Wno_sign_compare" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-sign-compare" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-sign-conversion" >&5 $as_echo_n "checking whether compiler handles -Wno-sign-conversion... " >&6; } if ${gl_cv_warn__Wno_sign_conversion+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-sign-conversion" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_sign_conversion=yes else gl_cv_warn__Wno_sign_conversion=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_sign_conversion" >&5 $as_echo "$gl_cv_warn__Wno_sign_conversion" >&6; } if test "x$gl_cv_warn__Wno_sign_conversion" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-sign-conversion" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-conversion" >&5 $as_echo_n "checking whether compiler handles -Wno-conversion... " >&6; } if ${gl_cv_warn__Wno_conversion+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-conversion" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_conversion=yes else gl_cv_warn__Wno_conversion=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_conversion" >&5 $as_echo "$gl_cv_warn__Wno_conversion" >&6; } if test "x$gl_cv_warn__Wno_conversion" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-conversion" fi # GNULIB expects this to be part of -Wc++-compat, but we turn # that one off, so we need to manually enable this again { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wjump-misses-init" >&5 $as_echo_n "checking whether compiler handles -Wjump-misses-init... " >&6; } if ${gl_cv_warn__Wjump_misses_init+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wjump-misses-init" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wjump_misses_init=yes else gl_cv_warn__Wjump_misses_init=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wjump_misses_init" >&5 $as_echo "$gl_cv_warn__Wjump_misses_init" >&6; } if test "x$gl_cv_warn__Wjump_misses_init" = xyes; then : as_fn_append WARN_CFLAGS " -Wjump-misses-init" fi # This should be < 256 really. Currently we're down to 4096, # but using 1024 bytes sized buffers (mostly for virStrerror) # stops us from going down further { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wframe-larger-than=40096" >&5 $as_echo_n "checking whether compiler handles -Wframe-larger-than=40096... " >&6; } if ${gl_cv_warn__Wframe_larger_than_40096+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wframe-larger-than=40096" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wframe_larger_than_40096=yes else gl_cv_warn__Wframe_larger_than_40096=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wframe_larger_than_40096" >&5 $as_echo "$gl_cv_warn__Wframe_larger_than_40096" >&6; } if test "x$gl_cv_warn__Wframe_larger_than_40096" = xyes; then : as_fn_append WARN_CFLAGS " -Wframe-larger-than=40096" fi # Extra special flags { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wp,-D_FORTIFY_SOURCE=2" >&5 $as_echo_n "checking whether compiler handles -Wp,-D_FORTIFY_SOURCE=2... " >&6; } if ${gl_cv_warn__Wp__D_FORTIFY_SOURCE_2+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wp,-D_FORTIFY_SOURCE=2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wp__D_FORTIFY_SOURCE_2=yes else gl_cv_warn__Wp__D_FORTIFY_SOURCE_2=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wp__D_FORTIFY_SOURCE_2" >&5 $as_echo "$gl_cv_warn__Wp__D_FORTIFY_SOURCE_2" >&6; } if test "x$gl_cv_warn__Wp__D_FORTIFY_SOURCE_2" = xyes; then : as_fn_append WARN_CFLAGS " -Wp,-D_FORTIFY_SOURCE=2" fi case $host in *-*-linux*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fstack-protector-all" >&5 $as_echo_n "checking whether compiler handles -fstack-protector-all... " >&6; } if ${gl_cv_warn__fstack_protector_all+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fstack-protector-all" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fstack_protector_all=yes else gl_cv_warn__fstack_protector_all=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fstack_protector_all" >&5 $as_echo "$gl_cv_warn__fstack_protector_all" >&6; } if test "x$gl_cv_warn__fstack_protector_all" = xyes; then : as_fn_append WARN_CFLAGS " -fstack-protector-all" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles --param=ssp-buffer-size=4" >&5 $as_echo_n "checking whether compiler handles --param=ssp-buffer-size=4... " >&6; } if ${gl_cv_warn___param_ssp_buffer_size_4+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} --param=ssp-buffer-size=4" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn___param_ssp_buffer_size_4=yes else gl_cv_warn___param_ssp_buffer_size_4=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn___param_ssp_buffer_size_4" >&5 $as_echo "$gl_cv_warn___param_ssp_buffer_size_4" >&6; } if test "x$gl_cv_warn___param_ssp_buffer_size_4" = xyes; then : as_fn_append WARN_CFLAGS " --param=ssp-buffer-size=4" fi ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fexceptions" >&5 $as_echo_n "checking whether compiler handles -fexceptions... " >&6; } if ${gl_cv_warn__fexceptions+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fexceptions" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fexceptions=yes else gl_cv_warn__fexceptions=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fexceptions" >&5 $as_echo "$gl_cv_warn__fexceptions" >&6; } if test "x$gl_cv_warn__fexceptions" = xyes; then : as_fn_append WARN_CFLAGS " -fexceptions" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fasynchronous-unwind-tables" >&5 $as_echo_n "checking whether compiler handles -fasynchronous-unwind-tables... " >&6; } if ${gl_cv_warn__fasynchronous_unwind_tables+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fasynchronous-unwind-tables" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fasynchronous_unwind_tables=yes else gl_cv_warn__fasynchronous_unwind_tables=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fasynchronous_unwind_tables" >&5 $as_echo "$gl_cv_warn__fasynchronous_unwind_tables" >&6; } if test "x$gl_cv_warn__fasynchronous_unwind_tables" = xyes; then : as_fn_append WARN_CFLAGS " -fasynchronous-unwind-tables" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fdiagnostics-show-option" >&5 $as_echo_n "checking whether compiler handles -fdiagnostics-show-option... " >&6; } if ${gl_cv_warn__fdiagnostics_show_option+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fdiagnostics-show-option" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fdiagnostics_show_option=yes else gl_cv_warn__fdiagnostics_show_option=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fdiagnostics_show_option" >&5 $as_echo "$gl_cv_warn__fdiagnostics_show_option" >&6; } if test "x$gl_cv_warn__fdiagnostics_show_option" = xyes; then : as_fn_append WARN_CFLAGS " -fdiagnostics-show-option" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -funit-at-a-time" >&5 $as_echo_n "checking whether compiler handles -funit-at-a-time... " >&6; } if ${gl_cv_warn__funit_at_a_time+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -funit-at-a-time" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__funit_at_a_time=yes else gl_cv_warn__funit_at_a_time=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__funit_at_a_time" >&5 $as_echo "$gl_cv_warn__funit_at_a_time" >&6; } if test "x$gl_cv_warn__funit_at_a_time" = xyes; then : as_fn_append WARN_CFLAGS " -funit-at-a-time" fi # Need -fipa-pure-const in order to make -Wsuggest-attribute=pure # fire even without -O. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -fipa-pure-const" >&5 $as_echo_n "checking whether compiler handles -fipa-pure-const... " >&6; } if ${gl_cv_warn__fipa_pure_const+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -fipa-pure-const" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__fipa_pure_const=yes else gl_cv_warn__fipa_pure_const=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__fipa_pure_const" >&5 $as_echo "$gl_cv_warn__fipa_pure_const" >&6; } if test "x$gl_cv_warn__fipa_pure_const" = xyes; then : as_fn_append WARN_CFLAGS " -fipa-pure-const" fi # We should eventually enable this { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-suggest-attribute=pure" >&5 $as_echo_n "checking whether compiler handles -Wno-suggest-attribute=pure... " >&6; } if ${gl_cv_warn__Wno_suggest_attribute_pure+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-suggest-attribute=pure" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_suggest_attribute_pure=yes else gl_cv_warn__Wno_suggest_attribute_pure=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_suggest_attribute_pure" >&5 $as_echo "$gl_cv_warn__Wno_suggest_attribute_pure" >&6; } if test "x$gl_cv_warn__Wno_suggest_attribute_pure" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-suggest-attribute=pure" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Wno-suggest-attribute=const" >&5 $as_echo_n "checking whether compiler handles -Wno-suggest-attribute=const... " >&6; } if ${gl_cv_warn__Wno_suggest_attribute_const+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Wno-suggest-attribute=const" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Wno_suggest_attribute_const=yes else gl_cv_warn__Wno_suggest_attribute_const=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Wno_suggest_attribute_const" >&5 $as_echo "$gl_cv_warn__Wno_suggest_attribute_const" >&6; } if test "x$gl_cv_warn__Wno_suggest_attribute_const" = xyes; then : as_fn_append WARN_CFLAGS " -Wno-suggest-attribute=const" fi if test "$set_werror" = "yes" then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler handles -Werror" >&5 $as_echo_n "checking whether compiler handles -Werror... " >&6; } if ${gl_cv_warn__Werror+:} false; then : $as_echo_n "(cached) " >&6 else gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} -Werror" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : gl_cv_warn__Werror=yes else gl_cv_warn__Werror=no fi rm -f conftest.err conftest.i conftest.$ac_ext CPPFLAGS="$gl_save_CPPFLAGS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn__Werror" >&5 $as_echo "$gl_cv_warn__Werror" >&6; } if test "x$gl_cv_warn__Werror" = xyes; then : as_fn_append WARN_CFLAGS " -Werror" fi fi WARN_LDFLAGS=$WARN_CFLAGS GETTEXT_PACKAGE=entangle cat >>confdefs.h <<_ACEOF #define GETTEXT_PACKAGE "$GETTEXT_PACKAGE" _ACEOF for ac_header in locale.h do : ac_fn_c_check_header_mongrel "$LINENO" "locale.h" "ac_cv_header_locale_h" "$ac_includes_default" if test "x$ac_cv_header_locale_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LOCALE_H 1 _ACEOF fi done if test $ac_cv_header_locale_h = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LC_MESSAGES" >&5 $as_echo_n "checking for LC_MESSAGES... " >&6; } if ${am_cv_val_LC_MESSAGES+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return LC_MESSAGES ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : am_cv_val_LC_MESSAGES=yes else am_cv_val_LC_MESSAGES=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_val_LC_MESSAGES" >&5 $as_echo "$am_cv_val_LC_MESSAGES" >&6; } if test $am_cv_val_LC_MESSAGES = yes; then $as_echo "#define HAVE_LC_MESSAGES 1" >>confdefs.h fi fi USE_NLS=yes gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= ac_fn_c_check_header_mongrel "$LINENO" "libintl.h" "ac_cv_header_libintl_h" "$ac_includes_default" if test "x$ac_cv_header_libintl_h" = xyes; then : gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in libc" >&5 $as_echo_n "checking for ngettext in libc... " >&6; } if ${gt_cv_func_ngettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !ngettext ("","", 1) ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_ngettext_libc=yes else gt_cv_func_ngettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_ngettext_libc" >&5 $as_echo "$gt_cv_func_ngettext_libc" >&6; } if test "$gt_cv_func_ngettext_libc" = "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in libc" >&5 $as_echo_n "checking for dgettext in libc... " >&6; } if ${gt_cv_func_dgettext_libc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { return !dgettext ("","") ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : gt_cv_func_dgettext_libc=yes else gt_cv_func_dgettext_libc=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $gt_cv_func_dgettext_libc" >&5 $as_echo "$gt_cv_func_dgettext_libc" >&6; } fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for bindtextdomain in -lintl" >&5 $as_echo_n "checking for bindtextdomain in -lintl... " >&6; } if ${ac_cv_lib_intl_bindtextdomain+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char bindtextdomain (); int main () { return bindtextdomain (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_bindtextdomain=yes else ac_cv_lib_intl_bindtextdomain=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_bindtextdomain" >&5 $as_echo "$ac_cv_lib_intl_bindtextdomain" >&6; } if test "x$ac_cv_lib_intl_bindtextdomain" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 $as_echo_n "checking for dgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dgettext (); int main () { return dgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dgettext=yes else ac_cv_lib_intl_dgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 $as_echo "$ac_cv_lib_intl_dgettext" >&6; } if test "x$ac_cv_lib_intl_dgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes fi fi fi if test "$gt_cv_func_dgettext_libintl" != "yes" ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking if -liconv is needed to use gettext" >&5 $as_echo_n "checking if -liconv is needed to use gettext... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: " >&5 $as_echo "" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ngettext in -lintl" >&5 $as_echo_n "checking for ngettext in -lintl... " >&6; } if ${ac_cv_lib_intl_ngettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ngettext (); int main () { return ngettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_ngettext=yes else ac_cv_lib_intl_ngettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_ngettext" >&5 $as_echo "$ac_cv_lib_intl_ngettext" >&6; } if test "x$ac_cv_lib_intl_ngettext" = xyes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dcgettext in -lintl" >&5 $as_echo_n "checking for dcgettext in -lintl... " >&6; } if ${ac_cv_lib_intl_dcgettext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lintl -liconv $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dcgettext (); int main () { return dcgettext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_intl_dcgettext=yes else ac_cv_lib_intl_dcgettext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dcgettext" >&5 $as_echo "$ac_cv_lib_intl_dcgettext" >&6; } if test "x$ac_cv_lib_intl_dcgettext" = xyes; then : gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv else : fi else : fi fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset for ac_func in bind_textdomain_codeset do : ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BIND_TEXTDOMAIN_CODESET 1 _ACEOF fi done LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then $as_echo "#define HAVE_GETTEXT 1" >>confdefs.h # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case "$MSGFMT" in /*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then ac_cv_path_MSGFMT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no" ;; esac fi MSGFMT="$ac_cv_path_MSGFMT" if test "$MSGFMT" != "no"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" for ac_func in dcgettext do : ac_fn_c_check_func "$LINENO" "dcgettext" "ac_cv_func_dcgettext" if test "x$ac_cv_func_dcgettext" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DCGETTEXT 1 _ACEOF fi done MSGFMT_OPTS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking if msgfmt accepts -c" >&5 $as_echo_n "checking if msgfmt accepts -c... " >&6; } cat >conftest.foo <<_ACEOF msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" _ACEOF if { { $as_echo "$as_me:${as_lineno-$LINENO}: \$MSGFMT -c -o /dev/null conftest.foo"; } >&5 ($MSGFMT -c -o /dev/null conftest.foo) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then MSGFMT_OPTS=-c; { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } echo "$as_me: failed input was:" >&5 sed 's/^/| /' conftest.foo >&5 fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case "$XGETTEXT" in /*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in $PATH; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then ac_cv_path_XGETTEXT="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":" ;; esac fi XGETTEXT="$ac_cv_path_XGETTEXT" if test "$XGETTEXT" != ":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : CATOBJEXT=.gmo DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : CATOBJEXT=.gmo DATADIRNAME=share else CATOBJEXT=.mo DATADIRNAME=lib fi ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi fi if test "$gt_cv_have_gettext" = "yes" ; then $as_echo "#define ENABLE_NLS 1" >>confdefs.h fi if test "$XGETTEXT" != ":"; then if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else { $as_echo "$as_me:${as_lineno-$LINENO}: result: found xgettext program is not GNU xgettext; ignore it" >&5 $as_echo "found xgettext program is not GNU xgettext; ignore it" >&6; } XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po ac_config_commands="$ac_config_commands default-1" for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5 $as_echo_n "checking for catalogs to be installed... " >&6; } NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5 $as_echo "$LINGUAS" >&6; } fi if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5 $as_echo_n "checking whether NLS is requested... " >&6; } # Check whether --enable-nls was given. if test "${enable_nls+set}" = set; then : enableval=$enable_nls; USE_NLS=$enableval else USE_NLS=yes fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_NLS" >&5 $as_echo "$USE_NLS" >&6; } case "$am__api_version" in 1.01234) as_fn_error $? "Automake 1.5 or newer is required to use intltool" "$LINENO" 5 ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo 0.35.0 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "0.35.0"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for intltool >= 0.35.0" >&5 $as_echo_n "checking for intltool >= 0.35.0... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_APPLIED_VERSION found" >&5 $as_echo "$INTLTOOL_APPLIED_VERSION found" >&6; } test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || as_fn_error $? "Your intltool is too old. You need intltool 0.35.0 or later." "$LINENO" 5 fi # Extract the first word of "intltool-update", so it can be a program name with args. set dummy intltool-update; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_UPDATE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_UPDATE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_UPDATE="$INTLTOOL_UPDATE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_UPDATE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_UPDATE=$ac_cv_path_INTLTOOL_UPDATE if test -n "$INTLTOOL_UPDATE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_UPDATE" >&5 $as_echo "$INTLTOOL_UPDATE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-merge", so it can be a program name with args. set dummy intltool-merge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_MERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_MERGE in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_MERGE="$INTLTOOL_MERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_MERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_MERGE=$ac_cv_path_INTLTOOL_MERGE if test -n "$INTLTOOL_MERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_MERGE" >&5 $as_echo "$INTLTOOL_MERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "intltool-extract", so it can be a program name with args. set dummy intltool-extract; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_EXTRACT+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_EXTRACT in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_EXTRACT="$INTLTOOL_EXTRACT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_EXTRACT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_EXTRACT=$ac_cv_path_INTLTOOL_EXTRACT if test -n "$INTLTOOL_EXTRACT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_EXTRACT" >&5 $as_echo "$INTLTOOL_EXTRACT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then as_fn_error $? "The intltool scripts were not found. Please install intltool." "$LINENO" 5 fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " $@;' INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< $@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< $@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.$$RANDOM && mkdir $$_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u $$_it_tmp_dir $< $@ && rmdir $$_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@' # Check the gettext tools to make sure they are GNU # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_XGETTEXT+:} false; then : $as_echo_n "(cached) " >&6 else case $XGETTEXT in [\\/]* | ?:[\\/]*) ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_XGETTEXT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi XGETTEXT=$ac_cv_path_XGETTEXT if test -n "$XGETTEXT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $XGETTEXT" >&5 $as_echo "$XGETTEXT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGMERGE+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGMERGE in [\\/]* | ?:[\\/]*) ac_cv_path_MSGMERGE="$MSGMERGE" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGMERGE="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGMERGE=$ac_cv_path_MSGMERGE if test -n "$MSGMERGE"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGMERGE" >&5 $as_echo "$MSGMERGE" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_MSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $MSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_MSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi MSGFMT=$ac_cv_path_MSGFMT if test -n "$MSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MSGFMT" >&5 $as_echo "$MSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_GMSGFMT+:} false; then : $as_echo_n "(cached) " >&6 else case $GMSGFMT in [\\/]* | ?:[\\/]*) ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT" ;; esac fi GMSGFMT=$ac_cv_path_GMSGFMT if test -n "$GMSGFMT"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GMSGFMT" >&5 $as_echo "$GMSGFMT" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then as_fn_error $? "GNU gettext tools not found; required for intltool" "$LINENO" 5 fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_INTLTOOL_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $INTLTOOL_PERL in [\\/]* | ?:[\\/]*) ac_cv_path_INTLTOOL_PERL="$INTLTOOL_PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then ac_cv_path_INTLTOOL_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi INTLTOOL_PERL=$ac_cv_path_INTLTOOL_PERL if test -n "$INTLTOOL_PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INTLTOOL_PERL" >&5 $as_echo "$INTLTOOL_PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test -z "$INTLTOOL_PERL"; then as_fn_error $? "perl not found" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for perl >= 5.8.1" >&5 $as_echo_n "checking for perl >= 5.8.1... " >&6; } $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then as_fn_error $? "perl 5.8.1 is required for intltool" "$LINENO" 5 else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $IT_PERL_VERSION" >&5 $as_echo "$IT_PERL_VERSION" >&6; } fi if test "x" != "xno-xml"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XML::Parser" >&5 $as_echo_n "checking for XML::Parser... " >&6; } if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5 $as_echo "ok" >&6; } else as_fn_error $? "XML::Parser perl module is required for intltool" "$LINENO" 5 fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : DATADIRNAME=share else case $host in *-*-solaris*) ac_fn_c_check_func "$LINENO" "bind_textdomain_codeset" "ac_cv_func_bind_textdomain_codeset" if test "x$ac_cv_func_bind_textdomain_codeset" = xyes; then : DATADIRNAME=share else DATADIRNAME=lib fi ;; *) DATADIRNAME=lib ;; esac fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile ac_config_links="$ac_config_links $GNUmakefile:$GNUmakefile" ac_config_files="$ac_config_files Makefile entangle.spec src/Makefile src/icons/Makefile src/icons/128x128/Makefile src/icons/128x128/actions/Makefile src/icons/16x16/Makefile src/icons/16x16/actions/Makefile src/icons/22x22/Makefile src/icons/22x22/actions/Makefile src/icons/32x32/Makefile src/icons/32x32/actions/Makefile src/icons/48x48/Makefile src/icons/48x48/actions/Makefile src/icons/64x64/Makefile src/icons/64x64/actions/Makefile po/Makefile.in docs/Makefile docs/man/Makefile docs/man/en/Makefile docs/reference/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs { $as_echo "$as_me:${as_lineno-$LINENO}: checking that generated files are newer than configure" >&5 $as_echo_n "checking that generated files are newer than configure... " >&6; } if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: done" >&5 $as_echo "done" >&6; } if test -n "$EXEEXT"; then am__EXEEXT_TRUE= am__EXEEXT_FALSE='#' else am__EXEEXT_TRUE='#' am__EXEEXT_FALSE= fi if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then as_fn_error $? "conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${ENABLE_GTK_DOC_TRUE}" && test -z "${ENABLE_GTK_DOC_FALSE}"; then as_fn_error $? "conditional \"ENABLE_GTK_DOC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GTK_DOC_BUILD_HTML_TRUE}" && test -z "${GTK_DOC_BUILD_HTML_FALSE}"; then as_fn_error $? "conditional \"GTK_DOC_BUILD_HTML\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GTK_DOC_BUILD_PDF_TRUE}" && test -z "${GTK_DOC_BUILD_PDF_FALSE}"; then as_fn_error $? "conditional \"GTK_DOC_BUILD_PDF\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GTK_DOC_USE_LIBTOOL_TRUE}" && test -z "${GTK_DOC_USE_LIBTOOL_FALSE}"; then as_fn_error $? "conditional \"GTK_DOC_USE_LIBTOOL\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi if test -z "${GTK_DOC_USE_REBASE_TRUE}" && test -z "${GTK_DOC_USE_REBASE_FALSE}"; then as_fn_error $? "conditional \"GTK_DOC_USE_REBASE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi ac_config_commands="$ac_config_commands po/stamp-it" : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -pR'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -pR' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -pR' fi else as_ln_s='cp -pR' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi # as_fn_executable_p FILE # ----------------------- # Test if FILE is an executable regular file. as_fn_executable_p () { test -f "$1" && test -x "$1" } # as_fn_executable_p as_test_x='test -x' as_executable_p=as_fn_executable_p # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by entangle $as_me 0.5.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_links="$ac_config_links" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration links: $config_links Configuration commands: $config_commands Report bugs to the package provider." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ entangle config.status 0.5.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Copyright (C) 2012 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' AWK='$AWK' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`' macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`' enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`' enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`' pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`' enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`' SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`' ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`' PATH_SEPARATOR='`$ECHO "$PATH_SEPARATOR" | $SED "$delay_single_quote_subst"`' host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`' host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`' host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`' build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`' build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`' build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`' SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`' Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`' GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`' EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`' FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`' LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`' NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`' LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`' max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`' ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`' exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`' lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`' lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`' lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`' lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_quote_subst"`' lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`' reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`' reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`' OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`' deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`' file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`' file_magic_glob='`$ECHO "$file_magic_glob" | $SED "$delay_single_quote_subst"`' want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`' DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`' sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`' AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`' AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`' archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`' STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`' RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`' old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`' old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`' old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`' lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`' CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`' CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`' compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`' GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`' lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`' nm_file_list_spec='`$ECHO "$nm_file_list_spec" | $SED "$delay_single_quote_subst"`' lt_sysroot='`$ECHO "$lt_sysroot" | $SED "$delay_single_quote_subst"`' objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`' MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`' lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`' lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`' need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`' MANIFEST_TOOL='`$ECHO "$MANIFEST_TOOL" | $SED "$delay_single_quote_subst"`' DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`' NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`' LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`' OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`' OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`' libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`' shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`' extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`' enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`' export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`' whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`' compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`' old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`' old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`' archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`' archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`' module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`' module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`' with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`' allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`' no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`' hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`' hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`' hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`' hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`' hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`' hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`' hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`' inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`' link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`' always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`' export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`' exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`' include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`' prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`' postlink_cmds='`$ECHO "$postlink_cmds" | $SED "$delay_single_quote_subst"`' file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`' variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`' need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`' need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`' version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`' runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`' shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`' libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`' library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`' soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`' install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`' postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`' postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`' finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`' finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`' hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`' sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`' sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`' hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`' enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`' enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`' enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`' old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`' striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`' LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } # Quote evaled strings. for var in SHELL \ ECHO \ PATH_SEPARATOR \ SED \ GREP \ EGREP \ FGREP \ LD \ NM \ LN_S \ lt_SP2NL \ lt_NL2SP \ reload_flag \ OBJDUMP \ deplibs_check_method \ file_magic_cmd \ file_magic_glob \ want_nocaseglob \ DLLTOOL \ sharedlib_from_linklib_cmd \ AR \ AR_FLAGS \ archiver_list_spec \ STRIP \ RANLIB \ CC \ CFLAGS \ compiler \ lt_cv_sys_global_symbol_pipe \ lt_cv_sys_global_symbol_to_cdecl \ lt_cv_sys_global_symbol_to_c_name_address \ lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \ nm_file_list_spec \ lt_prog_compiler_no_builtin_flag \ lt_prog_compiler_pic \ lt_prog_compiler_wl \ lt_prog_compiler_static \ lt_cv_prog_compiler_c_o \ need_locks \ MANIFEST_TOOL \ DSYMUTIL \ NMEDIT \ LIPO \ OTOOL \ OTOOL64 \ shrext_cmds \ export_dynamic_flag_spec \ whole_archive_flag_spec \ compiler_needs_object \ with_gnu_ld \ allow_undefined_flag \ no_undefined_flag \ hardcode_libdir_flag_spec \ hardcode_libdir_separator \ exclude_expsyms \ include_expsyms \ file_list_spec \ variables_saved_for_relink \ libname_spec \ library_names_spec \ soname_spec \ install_override_mode \ finish_eval \ old_striplib \ striplib; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in reload_cmds \ old_postinstall_cmds \ old_postuninstall_cmds \ old_archive_cmds \ extract_expsyms_cmds \ old_archive_from_new_cmds \ old_archive_from_expsyms_cmds \ archive_cmds \ archive_expsym_cmds \ module_cmds \ module_expsym_cmds \ export_symbols_cmds \ prelink_cmds \ postlink_cmds \ postinstall_cmds \ postuninstall_cmds \ finish_cmds \ sys_lib_search_path_spec \ sys_lib_dlsearch_path_spec; do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[\\\\\\\`\\"\\\$]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done ac_aux_dir='$ac_aux_dir' xsi_shell='$xsi_shell' lt_shell_append='$lt_shell_append' # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile' GNUmakefile=$GNUmakefile _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;; "default-1") CONFIG_COMMANDS="$CONFIG_COMMANDS default-1" ;; "$GNUmakefile") CONFIG_LINKS="$CONFIG_LINKS $GNUmakefile:$GNUmakefile" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "entangle.spec") CONFIG_FILES="$CONFIG_FILES entangle.spec" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/icons/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/Makefile" ;; "src/icons/128x128/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/128x128/Makefile" ;; "src/icons/128x128/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/128x128/actions/Makefile" ;; "src/icons/16x16/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/16x16/Makefile" ;; "src/icons/16x16/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/16x16/actions/Makefile" ;; "src/icons/22x22/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/22x22/Makefile" ;; "src/icons/22x22/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/22x22/actions/Makefile" ;; "src/icons/32x32/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/32x32/Makefile" ;; "src/icons/32x32/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/32x32/actions/Makefile" ;; "src/icons/48x48/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/48x48/Makefile" ;; "src/icons/48x48/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/48x48/actions/Makefile" ;; "src/icons/64x64/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/64x64/Makefile" ;; "src/icons/64x64/actions/Makefile") CONFIG_FILES="$CONFIG_FILES src/icons/64x64/actions/Makefile" ;; "po/Makefile.in") CONFIG_FILES="$CONFIG_FILES po/Makefile.in" ;; "docs/Makefile") CONFIG_FILES="$CONFIG_FILES docs/Makefile" ;; "docs/man/Makefile") CONFIG_FILES="$CONFIG_FILES docs/man/Makefile" ;; "docs/man/en/Makefile") CONFIG_FILES="$CONFIG_FILES docs/man/en/Makefile" ;; "docs/reference/Makefile") CONFIG_FILES="$CONFIG_FILES docs/reference/Makefile" ;; "po/stamp-it") CONFIG_COMMANDS="$CONFIG_COMMANDS po/stamp-it" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_LINKS+set}" = set || CONFIG_LINKS=$config_links test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS :L $CONFIG_LINKS :C $CONFIG_COMMANDS" shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi # Compute "$ac_file"'s index in $config_headers. _am_arg="$ac_file" _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`$as_dirname -- "$_am_arg" || $as_expr X"$_am_arg" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$_am_arg" : 'X\(//\)[^/]' \| \ X"$_am_arg" : 'X\(//\)$' \| \ X"$_am_arg" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$_am_arg" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :L) # # CONFIG_LINK # if test "$ac_source" = "$ac_file" && test "$srcdir" = '.'; then : else # Prefer the file from the source tree if names are identical. if test "$ac_source" = "$ac_file" || test ! -r "$ac_source"; then ac_source=$srcdir/$ac_source fi { $as_echo "$as_me:${as_lineno-$LINENO}: linking $ac_source to $ac_file" >&5 $as_echo "$as_me: linking $ac_source to $ac_file" >&6;} if test ! -r "$ac_source"; then as_fn_error $? "$ac_source: file not found" "$LINENO" 5 fi rm -f "$ac_file" # Try a relative symlink, then a hard link, then a copy. case $ac_source in [\\/$]* | ?:[\\/]* ) ac_rel_source=$ac_source ;; *) ac_rel_source=$ac_top_build_prefix$ac_source ;; esac ln -s "$ac_rel_source" "$ac_file" 2>/dev/null || ln "$ac_source" "$ac_file" 2>/dev/null || cp -p "$ac_source" "$ac_file" || as_fn_error $? "cannot link or copy $ac_source to $ac_file" "$LINENO" 5 fi ;; :C) { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5 $as_echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || { # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir=$dirpart/$fdir; as_fn_mkdir_p # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ;; "libtool":C) # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # The names of the tagged configurations supported by this script. available_tags="" # ### BEGIN LIBTOOL CONFIG # Which release of libtool.m4 was used? macro_version=$macro_version macro_revision=$macro_revision # Whether or not to build static libraries. build_old_libs=$enable_static # Whether or not to build shared libraries. build_libtool_libs=$enable_shared # What type of objects to build. pic_mode=$pic_mode # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # Shell to use when invoking shell scripts. SHELL=$lt_SHELL # An echo program that protects backslashes. ECHO=$lt_ECHO # The PATH separator for the build system. PATH_SEPARATOR=$lt_PATH_SEPARATOR # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # A sed program that does not truncate output. SED=$lt_SED # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="\$SED -e 1s/^X//" # A grep program that handles long lines. GREP=$lt_GREP # An ERE matcher. EGREP=$lt_EGREP # A literal string matcher. FGREP=$lt_FGREP # A BSD- or MS-compatible name lister. NM=$lt_NM # Whether we need soft or hard links. LN_S=$lt_LN_S # What is the maximum length of a command? max_cmd_len=$max_cmd_len # Object file suffix (normally "o"). objext=$ac_objext # Executable file suffix (normally ""). exeext=$exeext # whether the shell understands "unset". lt_unset=$lt_unset # turn spaces into newlines. SP2NL=$lt_lt_SP2NL # turn newlines into spaces. NL2SP=$lt_lt_NL2SP # convert \$build file names to \$host format. to_host_file_cmd=$lt_cv_to_host_file_cmd # convert \$build files to toolchain format. to_tool_file_cmd=$lt_cv_to_tool_file_cmd # An object symbol dumper. OBJDUMP=$lt_OBJDUMP # Method to check whether dependent libraries are shared objects. deplibs_check_method=$lt_deplibs_check_method # Command to use when deplibs_check_method = "file_magic". file_magic_cmd=$lt_file_magic_cmd # How to find potential files when deplibs_check_method = "file_magic". file_magic_glob=$lt_file_magic_glob # Find potential files using nocaseglob when deplibs_check_method = "file_magic". want_nocaseglob=$lt_want_nocaseglob # DLL creation program. DLLTOOL=$lt_DLLTOOL # Command to associate shared and link libraries. sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd # The archiver. AR=$lt_AR # Flags to create an archive. AR_FLAGS=$lt_AR_FLAGS # How to feed a file listing to the archiver. archiver_list_spec=$lt_archiver_list_spec # A symbol stripping program. STRIP=$lt_STRIP # Commands used to install an old-style archive. RANLIB=$lt_RANLIB old_postinstall_cmds=$lt_old_postinstall_cmds old_postuninstall_cmds=$lt_old_postuninstall_cmds # Whether to use a lock for old archive extraction. lock_old_archive_extraction=$lock_old_archive_extraction # A C compiler. LTCC=$lt_CC # LTCC compiler flags. LTCFLAGS=$lt_CFLAGS # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe # Transform the output of nm in a proper C declaration. global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl # Transform the output of nm in a C name address pair. global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address # Transform the output of nm in a C name address pair when lib prefix is needed. global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix # Specify filename containing input files for \$NM. nm_file_list_spec=$lt_nm_file_list_spec # The root where to search for dependent libraries,and in which our libraries should be installed. lt_sysroot=$lt_sysroot # The name of the directory that contains temporary libtool files. objdir=$objdir # Used to examine libraries when file_magic_cmd begins with "file". MAGIC_CMD=$MAGIC_CMD # Must we lock files when doing compilation? need_locks=$lt_need_locks # Manifest tool. MANIFEST_TOOL=$lt_MANIFEST_TOOL # Tool to manipulate archived DWARF debug symbol files on Mac OS X. DSYMUTIL=$lt_DSYMUTIL # Tool to change global to local symbols on Mac OS X. NMEDIT=$lt_NMEDIT # Tool to manipulate fat objects and archives on Mac OS X. LIPO=$lt_LIPO # ldd/readelf like tool for Mach-O binaries on Mac OS X. OTOOL=$lt_OTOOL # ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4. OTOOL64=$lt_OTOOL64 # Old archive suffix (normally "a"). libext=$libext # Shared library suffix (normally ".so"). shrext_cmds=$lt_shrext_cmds # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds=$lt_extract_expsyms_cmds # Variables whose values should be saved in libtool wrapper scripts and # restored at link time. variables_saved_for_relink=$lt_variables_saved_for_relink # Do we need the "lib" prefix for modules? need_lib_prefix=$need_lib_prefix # Do we need a version for libraries? need_version=$need_version # Library versioning type. version_type=$version_type # Shared library runtime path variable. runpath_var=$runpath_var # Shared library path variable. shlibpath_var=$shlibpath_var # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=$shlibpath_overrides_runpath # Format of library name prefix. libname_spec=$lt_libname_spec # List of archive names. First name is the real one, the rest are links. # The last name is the one that the linker finds with -lNAME library_names_spec=$lt_library_names_spec # The coded name of the library, if different from the real name. soname_spec=$lt_soname_spec # Permission mode override for installation of shared libraries. install_override_mode=$lt_install_override_mode # Command to use after installation of a shared archive. postinstall_cmds=$lt_postinstall_cmds # Command to use after uninstallation of a shared archive. postuninstall_cmds=$lt_postuninstall_cmds # Commands used to finish a libtool library installation in a directory. finish_cmds=$lt_finish_cmds # As "finish_cmds", except a single script fragment to be evaled but # not shown. finish_eval=$lt_finish_eval # Whether we should hardcode library paths into libraries. hardcode_into_libs=$hardcode_into_libs # Compile-time system search path for libraries. sys_lib_search_path_spec=$lt_sys_lib_search_path_spec # Run-time system search path for libraries. sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec # Whether dlopen is supported. dlopen_support=$enable_dlopen # Whether dlopen of programs is supported. dlopen_self=$enable_dlopen_self # Whether dlopen of statically linked programs is supported. dlopen_self_static=$enable_dlopen_self_static # Commands to strip libraries. old_striplib=$lt_old_striplib striplib=$lt_striplib # The linker used to build libraries. LD=$lt_LD # How to create reloadable object files. reload_flag=$lt_reload_flag reload_cmds=$lt_reload_cmds # Commands used to build an old-style archive. old_archive_cmds=$lt_old_archive_cmds # A language specific compiler. CC=$lt_compiler # Is the compiler the GNU compiler? with_gcc=$GCC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic # How to pass a linker flag through the compiler. wl=$lt_lt_prog_compiler_wl # Compiler flag to prevent dynamic linking. link_static_flag=$lt_lt_prog_compiler_static # Does compiler simultaneously support -c and -o options? compiler_c_o=$lt_lt_cv_prog_compiler_c_o # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static. allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Whether the compiler copes with passing no objects directly. compiler_needs_object=$lt_compiler_needs_object # Create an old-style archive from a shared archive. old_archive_from_new_cmds=$lt_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds # Commands used to build a loadable module if different from building # a shared archive. module_cmds=$lt_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # Whether we are building with GNU ld or not. with_gnu_ld=$lt_with_gnu_ld # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag=$lt_allow_undefined_flag # Flag that enforces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # Flag to hardcode \$libdir into a binary during linking. # This must work even if \$libdir does not exist hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec # Whether we need a single "-rpath" flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary. hardcode_direct=$hardcode_direct # Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes # DIR into the resulting binary and the resulting library dependency is # "absolute",i.e impossible to change by setting \${shlibpath_var} if the # library is relocated. hardcode_direct_absolute=$hardcode_direct_absolute # Set to "yes" if using the -LDIR flag during linking hardcodes DIR # into the resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR # into the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # Set to "yes" if building a shared library automatically hardcodes DIR # into the library and all subsequent libraries and executables linked # against it. hardcode_automatic=$hardcode_automatic # Set to yes if linker adds runtime paths of dependent libraries # to runtime path list. inherit_rpath=$inherit_rpath # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=$link_all_deplibs # Set to "yes" if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # Symbols that should not be listed in the preloaded symbols. exclude_expsyms=$lt_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # Commands necessary for linking programs (against libraries) with templates. prelink_cmds=$lt_prelink_cmds # Commands necessary for finishing linking programs. postlink_cmds=$lt_postlink_cmds # Specify filename containing input files. file_list_spec=$lt_file_list_spec # How to hardcode a shared library path into an executable. hardcode_action=$hardcode_action # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac ltmain="$ac_aux_dir/ltmain.sh" # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) if test x"$xsi_shell" = xyes; then sed -e '/^func_dirname ()$/,/^} # func_dirname /c\ func_dirname ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ } # Extended-shell func_dirname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_basename ()$/,/^} # func_basename /c\ func_basename ()\ {\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_dirname_and_basename ()$/,/^} # func_dirname_and_basename /c\ func_dirname_and_basename ()\ {\ \ case ${1} in\ \ */*) func_dirname_result="${1%/*}${2}" ;;\ \ * ) func_dirname_result="${3}" ;;\ \ esac\ \ func_basename_result="${1##*/}"\ } # Extended-shell func_dirname_and_basename implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_stripname ()$/,/^} # func_stripname /c\ func_stripname ()\ {\ \ # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are\ \ # positional parameters, so assign one to ordinary parameter first.\ \ func_stripname_result=${3}\ \ func_stripname_result=${func_stripname_result#"${1}"}\ \ func_stripname_result=${func_stripname_result%"${2}"}\ } # Extended-shell func_stripname implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_long_opt ()$/,/^} # func_split_long_opt /c\ func_split_long_opt ()\ {\ \ func_split_long_opt_name=${1%%=*}\ \ func_split_long_opt_arg=${1#*=}\ } # Extended-shell func_split_long_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_split_short_opt ()$/,/^} # func_split_short_opt /c\ func_split_short_opt ()\ {\ \ func_split_short_opt_arg=${1#??}\ \ func_split_short_opt_name=${1%"$func_split_short_opt_arg"}\ } # Extended-shell func_split_short_opt implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_lo2o ()$/,/^} # func_lo2o /c\ func_lo2o ()\ {\ \ case ${1} in\ \ *.lo) func_lo2o_result=${1%.lo}.${objext} ;;\ \ *) func_lo2o_result=${1} ;;\ \ esac\ } # Extended-shell func_lo2o implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_xform ()$/,/^} # func_xform /c\ func_xform ()\ {\ func_xform_result=${1%.*}.lo\ } # Extended-shell func_xform implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_arith ()$/,/^} # func_arith /c\ func_arith ()\ {\ func_arith_result=$(( $* ))\ } # Extended-shell func_arith implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_len ()$/,/^} # func_len /c\ func_len ()\ {\ func_len_result=${#1}\ } # Extended-shell func_len implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$lt_shell_append" = xyes; then sed -e '/^func_append ()$/,/^} # func_append /c\ func_append ()\ {\ eval "${1}+=\\${2}"\ } # Extended-shell func_append implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: sed -e '/^func_append_quoted ()$/,/^} # func_append_quoted /c\ func_append_quoted ()\ {\ \ func_quote_for_eval "${2}"\ \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"\ } # Extended-shell func_append_quoted implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([a-zA-Z_]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Unable to substitute extended shell functions in $ofile" >&5 $as_echo "$as_me: WARNING: Unable to substitute extended shell functions in $ofile" >&2;} fi mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ;; "default-1":C) case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac ;; "po/stamp-it":C) if ! grep "^# INTLTOOL_MAKEFILE$" "po/Makefile.in" > /dev/null ; then as_fn_error $? "po/Makefile.in.in was not created by intltoolize." "$LINENO" 5 fi rm -f "po/stamp-it" "po/stamp-it.tmp" "po/POTFILES" "po/Makefile.tmp" >"po/stamp-it.tmp" sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/po/POTFILES.in" | sed '$!s/$/ \\/' >"po/POTFILES" sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r po/POTFILES } ' "po/Makefile.in" >"po/Makefile" rm -f "po/Makefile.tmp" mv "po/stamp-it.tmp" "po/stamp-it" ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi # Need to eval twice, to ensure we fully subsitute out all path variables rawdatadir=`eval "echo $datadir"` rawdatadir=`eval "echo $rawdatadir"` searchdirs="/usr/share:/usr/local/share" test -n "$XDG_DATA_DIRS" && searchdirs="$searchdirs:$XDG_DATA_DIRS" found=0 oldIFS=$IFS IFS=: for i in $searchdirs do test "$i" = "$rawdatadir" && found=1 done IFS=$oldIFS if test "$found" = "0" then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GSettings schemas will be installed under:" >&5 $as_echo "$as_me: WARNING: GSettings schemas will be installed under:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $rawdatadir" >&5 $as_echo "$as_me: WARNING: $rawdatadir" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: GSettings will only look for configuration file schemas under:" >&5 $as_echo "$as_me: WARNING: GSettings will only look for configuration file schemas under:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $searchdirs" >&5 $as_echo "$as_me: WARNING: $searchdirs" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: If you continue with this install location for schemas, you" >&5 $as_echo "$as_me: WARNING: If you continue with this install location for schemas, you" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: should set the following environment variable:" >&5 $as_echo "$as_me: WARNING: should set the following environment variable:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: XDG_DATA_DIRS=$rawdatadir:$searchdirs" >&5 $as_echo "$as_me: WARNING: XDG_DATA_DIRS=$rawdatadir:$searchdirs" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING:" >&5 $as_echo "$as_me: WARNING:" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: If XDG_DATA_DIRS is not set, Entangle will attempt to enable" >&5 $as_echo "$as_me: WARNING: If XDG_DATA_DIRS is not set, Entangle will attempt to enable" >&6;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: a workaround on startup to avoid crashes" >&5 $as_echo "$as_me: WARNING: a workaround on startup to avoid crashes" >&6;} fi entangle-0.5.4/Makefile.in0000664000000000000000000007201512253420720012255 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/configure $(am__configure_deps) \ $(srcdir)/config.h.in $(srcdir)/entangle.spec.in COPYING \ compile config.guess config.sub install-sh missing ltmain.sh ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = entangle.spec CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ cscope distdir dist dist-all distcheck am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \ $(LISP)config.h.in # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags CSCOPE = cscope DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ if test -d "$(distdir)"; then \ find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -rf "$(distdir)" \ || { sleep 5 && rm -rf "$(distdir)"; }; \ else :; fi am__post_remove_distdir = $(am__remove_distdir) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best DIST_TARGETS = dist-gzip distuninstallcheck_listfiles = find . -type f -print am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src po docs ACLOCAL_AMFLAGS = -I m4 # XXX figure out why these aren't detected by git.mk GITIGNOREFILES = \ aclocal.m4 \ entangle-*.tar.gz \ compile \ config.guess \ config.h.in \ config.sub \ depcomp \ install-sh \ missing \ ltmain.sh \ gtk-doc.make \ m4/gtk-doc.m4 \ m4/libtool.m4 \ m4/ltversion.m4 \ m4/ltoptions.m4 \ m4/ltsugar.m4 \ m4/lt~obsolete.m4 \ INSTALL EXTRA_DIST = \ $(PACKAGE).spec \ $(PACKAGE).spec.in \ GNUmakefile \ cfg.mk \ AUTHORS.in \ maint.mk \ $(NULL) MAINTAINERCLEANFILES = ChangeLog AUTHORS DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: Makefile @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu'; \ $(am__cd) $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) $(am__cd) $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) $(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) $(am__aclocal_m4_deps): config.h: stamp-h1 @if test ! -f $@; then rm -f stamp-h1; else :; fi @if test ! -f $@; then $(MAKE) $(AM_MAKEFLAGS) stamp-h1; else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) ($(am__cd) $(top_srcdir) && $(AUTOHEADER)) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 entangle.spec: $(top_builddir)/config.status $(srcdir)/entangle.spec.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool config.lt # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscope: cscope.files test ! -s cscope.files \ || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS) clean-cscope: -rm -f cscope.files cscope.files: clean-cscope cscopelist cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags -rm -f cscope.out cscope.in.out cscope.po.out cscope.files distdir: $(DISTFILES) $(am__remove_distdir) test -d "$(distdir)" || mkdir "$(distdir)" @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -test -n "$(am__skip_mode_fix)" \ || find "$(distdir)" -type d ! -perm -755 \ -exec chmod u+rwx,go+rx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r "$(distdir)" dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__post_remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 $(am__post_remove_distdir) dist-lzip: distdir tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz $(am__post_remove_distdir) dist-xz: distdir tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz $(am__post_remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__post_remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__post_remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__post_remove_distdir) dist dist-all: $(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:' $(am__post_remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.lz*) \ lzip -dc $(distdir).tar.lz | $(am__untar) ;;\ *.tar.xz*) \ xz -dc $(distdir).tar.xz | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir) chmod u+w $(distdir) mkdir $(distdir)/_build $(distdir)/_inst chmod a-w $(distdir) test -d $(distdir)/_build || exit 0; \ dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && am__cwd=`pwd` \ && $(am__cd) $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(AM_DISTCHECK_CONFIGURE_FLAGS) \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \ && cd "$$am__cwd" \ || exit 1 $(am__post_remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @test -n '$(distuninstallcheck_dir)' || { \ echo 'ERROR: trying to run $@ with an empty' \ '$$(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ $(am__cd) '$(distuninstallcheck_dir)' || { \ echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \ exit 1; \ }; \ test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) all install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \ am--refresh check check-am clean clean-cscope clean-generic \ clean-libtool cscope cscopelist-am ctags ctags-am dist \ dist-all dist-bzip2 dist-gzip dist-hook dist-lzip dist-shar \ dist-tarZ dist-xz dist-zip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-am uninstall uninstall-am dist-hook: gen-ChangeLog gen-AUTHORS .PHONY: gen-ChangeLog gen-AUTHORS gen-ChangeLog: if test -d .git; then \ $(top_srcdir)/build-aux/gitlog-to-changelog \ > $(distdir)/cl-t; \ rm -f $(distdir)/ChangeLog; \ mv $(distdir)/cl-t $(distdir)/ChangeLog; \ fi gen-AUTHORS: $(AM_V_GEN)if test -d $(srcdir)/.git; then \ out="`cd $(srcdir) && git log --pretty=format:'%aN <%aE>' | sort -u`" && \ perl -p -e "s/#authorslist#// and print '$$out'" \ < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \ mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS ; \ fi -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/AUTHORS0000664000000000000000000000106312253421055011255 00000000000000 Entangle Authors ================ Entangle is written and maintained by: Daniel P. Berrange With further contributions received from: Cristian Marchi Daniel Berrange Daniel P. Berrange Jehan Jesper Pedersen Jesper Pedersen Simon Booth Thilo Bangert berrange ...send patches to get your name here... -- End of authors entangle-0.5.4/config.sub0000755000000000000000000010531512253420720012171 00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-04-24' # This file 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 3 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # Please send patches with a ChangeLog entry to config-patches@gnu.org. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \ knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; android-linux) os=-linux-android basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze*) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*178) os=-lynxos178 ;; -lynx*5) os=-lynxos5 ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | aarch64 | aarch64_be \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arceb \ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \ | avr | avr32 \ | be32 | be64 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | epiphany \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | hexagon \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | le32 | le64 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipsr5900 | mipsr5900el \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nds32 | nds32le | nds32be \ | nios | nios2 | nios2eb | nios2el \ | ns16k | ns32k \ | open8 \ | or1k | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle \ | pyramid \ | rl78 | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu \ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \ | ubicom32 \ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \ | we32k \ | x86 | xc16x | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; c54x) basic_machine=tic54x-unknown ;; c55x) basic_machine=tic55x-unknown ;; c6x) basic_machine=tic6x-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip) basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; strongarm | thumb | xscale) basic_machine=arm-unknown ;; xgate) basic_machine=$basic_machine-unknown os=-none ;; xscaleeb) basic_machine=armeb-unknown ;; xscaleel) basic_machine=armel-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | aarch64-* | aarch64_be-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | be32-* | be64-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | hexagon-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | le32-* | le64-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | microblaze-* | microblazeel-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipsr5900-* | mipsr5900el-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nds32-* | nds32le-* | nds32be-* \ | nios-* | nios2-* | nios2eb-* | nios2el-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | open8-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \ | pyramid-* \ | rl78-* | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \ | tahoe-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile*-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \ | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c54x-*) basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c55x-*) basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c6x-*) basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'` ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16 | cr16-*) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze*) basic_machine=microblaze-xilinx ;; mingw64) basic_machine=x86_64-pc os=-mingw64 ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; msys) basic_machine=i386-pc os=-msys ;; mvs) basic_machine=i370-ibm os=-mvs ;; nacl) basic_machine=le32-unknown os=-nacl ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; neo-tandem) basic_machine=neo-tandem ;; nse-tandem) basic_machine=nse-tandem ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc | ppcbe) basic_machine=powerpc-unknown ;; ppc-* | ppcbe-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos | rdos64) basic_machine=x86_64-pc os=-rdos ;; rdos32) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; strongarm-* | thumb-*) basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'` ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tile*) basic_machine=$basic_machine-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; xscale-* | xscalee[bl]-*) basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'` ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* | -plan9* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -bitrig* | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \ | -linux-newlib* | -linux-musl* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; hexagon-*) os=-elf ;; tic54x-*) os=-coff ;; tic55x-*) os=-coff ;; tic6x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or1k-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: entangle-0.5.4/ChangeLog0000664000000000000000000015750412253421055011773 000000000000002013-12-15 Daniel P. Berrange Update for 0.5.4 release Keep the progress/cancel toolbar permanently visible The preview API for Canon cameras triggers progress bar updates. Since previews are taken many times a second this causes the progress bar to show/hide very frequently which is unusable. Instead of showing/hiding toolbar controls just keep them visible all the time and tweak sensitivity when required Fixes bug: #21246 Add some API docs with gir annotations Fix leak of image when exiting preview mode 2013-11-27 Daniel P. Berrange Fix bracket whitespace usage Import bracket-spacing.pl script from libvirt for validating the whitespace around brackets and semicolons 2013-11-24 Daniel P. Berrange Remove GTK2 compat code Entangle is GTK3 only so we can remove the GTK2 compat code from the auto-drawer related classes. 2013-11-24 Daniel P. Berrange Move and rename auto-drawer classes Move the auto-drawer classes into the main directory. Change the naming convention to follow normal GTK practice. 2013-11-24 Daniel P. Berrange Improve ability to control manual focus Make the , and . key accelerators to very fine grained focus control (64 steps), and allow < and > to do coarse grained focus control (512 steps) Fixes bug #21101 Fix missing break in focus key accelerators The switch block handling key accelerators was missing break statements in the focus code. This focus out was always cancelled out by a focus in. Reduce intermediate layer opacity to 30% To prevent previous images being washed out too quickly reduce the opacity of intermediate layers to 30% instead of 50%. Fixes bug #21288 Increase opacity of top level image when onion skinning Make the top level image stand out more by increasing the opacity to 65% instead of 50%. Fixes bug #21288 Remove unused variable in key release handler 2013-11-23 Daniel P. Berrange Introduce menu items for capture/preview Add menu items for the capture/preview operations with visible key shortcut accelerators. Remove the hand-crafted shortcut code. 2013-11-19 Jehan Fix onion skinning in preview mode. The dimension of a preview are usually smaller than actual images. We take care of this case by scaling buffers to the same size before display. Fixes bug #21254 2013-11-13 Jehan Do not ever set empty tooltips on capture and preview buttons. Fixes bug #21249 Display the currently selected image when cancelling preview. Currently on preview cancel, the last preview image would keep displayed until you select a thumbnail. Instead let's redisplay the currently selected image directly. Also prevent any race condition by not displaying a preview image if the preview mode is already cancelled. Fixes bug #21253 Onion skinning in preview mode should show start at the selected image. Currently onion skinning adds the images *before* the selected one. But in preview mode, it does not make sense. You want to start to layer from the selected one, included. Fixes bug #21255 Switch gexiv2 include to use gexiv2/gexiv2.h The current pkg-config file for gexiv2 adds a cflag of -I$prefix/gexiv2 but this is already broken, since the gexiv2/gexiv2.h file includes other files using a gexiv2/gexiv2-xxxx.h path. As such current releases can only be used if installed in /usr which means the default include path works. Future releases of gexiv2 fix the pkg-config file and will require use of gexiv2/gexiv2.h Fixes bug #21260 2013-11-01 Daniel P. Berrange Move connect/disconnect item to dedicated menu Create a top level "Camera" menu and move the "Connect and "Disconnect" items to the new menu. Rename all .xml files to .ui Make all window classes inherit Gtk classes Instead of having all the entangle window classes inherit from GObject, make them inherit from the Gtk class that corresponds to the type of window in the Gtk Builder file. Use a hack whereby the Gtk Builder file primary window class name is replaced by the entangle class name before being loaded. Introduce a EntangleWindow class to handle passing of the GtkBUilder object into the class for init purposes. 2013-10-24 Daniel P. Berrange Add an appdata XML file for gnome software center http://people.freedesktop.org/~hughsient/appdata/ 2013-08-30 Daniel P. Berrange Don't use ::PACKAGE:: in desktop file The executable name is not required to be the same as the autoconf package name, so just hardcode 'entangle' in the desktop file. Fix memory leak in generating image thumbnals Fix code for generating thumbnails from raw files to not leak reference count on pixbuf. Ensure thumbnail directory exists Before trying to save a thumbnail, ensure the cache directory exists. 2013-08-28 Daniel P. Berrange Update for 0.5.3 release Add note about release naming scheme Hookup to readonly control state changes Connect the frontend controls to the notify::readonly signal to ensure that readonly state changes are propagated to the UI controls 2013-08-27 Daniel P. Berrange Fix thread safety of control update The refresh of values for controls often runs in background threads. This causes thread safety issues for the GTK controls which connect to signals in this controls. Fix variable names in EntangleImage class s/picker/image/ in several methods Fix memory leak in pixbuf loader Previous commit fad10008099e015aba3bacc383345a210519bdbd fixed a double unref in one scenario, but introduced a memory leak in another scenario. The unref must be moved inside the 'if (dest == src)' block to fix both problems. 2013-08-24 Daniel P. Berrange Remove Encoding key from desktop file The Encoding key is no longer required in desktop files, since they are mandated to all use UTF-8 Fixes bug #20419 Switch to use gsettings autoconf rule Switch to using the GLIB_GSETTINGS autoconf rule to create the make rules. This adds a '--disable-schemas-compile' arg to configure, which distro packagers should utilize. Fixes bug #20223 2013-08-22 Daniel P. Berrange Re-position tooltip over items Ensure the tooltip positions itself over the item that it is related to 2013-08-22 Jesper Pedersen Remove unused adjust_wrap_width method The adjust_wrap_width method in the session browser no longer does anything useful, since the filename was removed. Delete the code. Move file name to tooltip To allow more room for the image, remove the filename from the session browser and use a tooltip instead. 2013-08-17 Daniel P. Berrange Update to 0.5.2 release Remove use of 'document_mode' field in raw file generation LibRaw >= 0.15 has removed the 'document_mode' field, so we must stop using it in Entangle. Fortunately it wasn't doing anything important for us. Remove trailing whitespace Switch to automatically generated AUTHORS file Refresh translations from transifex 2013-08-13 Daniel P. Berrange Make metadata query robust to missing metadata To avoid displaying garbage when exif data is unset, change to explicitly query whether the metadata tag is set before asking for the value. Ensure camera progress functions run in main thread GTK APIs must only be used from the main thread, so the camera progress functions must use an idle callback to switch to the main thread. Skip redraw of items without size allocated In the session browser, it is possible for the item draw routine to be invoked before a width/height has been set. This makes pixman rather unhappy, so skip the drawing operation in this case Preserve scrollbar offsets when switching images When cycling back & forth between images when auto-scale is not set, preserve the scrollbar offsets. Fix double unref of pixbuf when rotating Re-arrange nesting of image display To prevent the image statusbar being resized to fit in the image scrolled window, re-arrange the nesting of image display. This puts the statusbar outside the scrolled window. Bug #20429 Fix args to gtk_grid_attach 2013-08-09 Daniel P. Berrange Use GtkGrid instead of GtkTable if available For GTK >= 3.2.0 we can use GtkGrid for layout instead of the deprecated GtkTable Remove use of deprecated GStaticMutex The entangle_camera_is_mounted method can only be called from the main thread now, so does not need mutex protection. Fix enablement of -Werror 2013-07-09 Daniel P. Berrange Add README for translators Direct translators towards Transifex 2013-07-08 Daniel P. Berrange Refresh translations from transifex 2013-04-24 Daniel P. Berrange Ensure every event is emitted in main thread Ensure that the pixbuf loader emits events in the main thread, allowing all calls to gdk threads enter/leave to be removed Add note about 'h' key for histrogram mode toggle Refresh translations from transifex 2013-04-24 Jesper Pedersen Add support for linear histogram Add a config option to allow switching between liner and logarithmic histrogram rendering 2013-04-09 Daniel P. Berrange Disable static libraries build 2013-04-09 Simon Booth remove several unused variables. Fix variables initialised twice. 2013-04-02 Daniel P. Berrange Remove leftover g_printerr statements 2013-04-01 Daniel P. Berrange Refresh translations from transifex Apply orientation from EXIF data to images If GTK fails to apply any orientation data from the image file, then fallback to applying orientation data from the exif metadata block Set prefs before loading session Starting up the session was loaded before the preferences were applied. Thus, the first image loaded would be processed using the wrong settings. 2013-04-01 Jesper Pedersen Try to extract preview/thumbnail from raw files The exiv2 data stream doesn't always contain good thumbnails for raw files. Try to extract a preview/thumbnail from the raw file first, then try exiv2, and finally fallback to resizing the main image Set sane default values for processing raw files Set some default parameters for libraw so that it processes files using the typical camera defaults. This should give better results, particularly with Canon raw files. Ensure check for raw files is case insensitive When checking the filename extension to identify raw files, convert the filename to lowercase first, to ensure the check is case insensitive Only import known image extension in the session Instead of importing all files to a session, only import files whose extension is found in a whitelist. This ensures we only get image files loaded Fix aperture and shutter speed metadata in status bar Split histogram into RGB colour channels Instead of drawing a single histogram for the overall intensity, draw separate graphs for each RGB colour channel. Also draw a small 4x4 grid overlay. 2013-03-12 Daniel P. Berrange Update for 0.5.1 release Refresh translations from transifex 2013-03-02 Daniel P. Berrange Refresh translations from transifex 2013-03-02 Cristian Marchi Add initial Italian translation Add missing translation markers on some strings 2013-02-22 Daniel P. Berrange Add support for manual focus control during preview Add support for autofocus during preview End preview by toggling viewfinder action If possible, use the view finder control to turn off preview mode, otherwise fallback to cpaturing an image Remove left over variable from gphoto 2.5 compat fix Remove debug line Add method to query if viewfinder control is possible Fix previous methods for autofocus/manualfocus/viewfinder control Filter control sections when loading instead of displaying Make EntangleCamera filter the sections, instead of the EntangleControlPanel, since some sections are getting formal APIs in the camera class Add APIs for viewfinder/autofocus/manualfocus control 2013-02-21 Daniel P. Berrange Avoid warnings about deprecated mutex/condition var functions In recent glib2 releases several mutex/condition var functions are deprecated. Add some macro wrappers to avoid the warnings Conditionally use new style gphoto callbacks In gphoto >= 2.5 many callbacks changed from 'char *fmt, va_args *' to just 'char *msg'. Conditionally use the right signature based on version 2012-12-16 Daniel P. Berrange Update for 0.5.0 release Fix man page target name Fix docs generation Add LibRaw to list of deps in README Refresh translations Add hack to delete both images when exiting preview Since there is no way to exit preview mode, we must take a shot and then delete it. If the capture mode is raw+jpeg we must take care to delete both images that are captured Fix session filename generation to cope with dual-format capture When the camera captures raw+jpeg formats at the same time, both images must be saved with the same filename prefix Rewrite overlay display to be more efficient Instead of creating one cairo surface per image and overlaying them during the draw event, overlay the images directly into a single cairo surface. 2012-12-09 Daniel P. Berrange Tweak debugging in event logging Fix updating of range controls Fix typo which continually reset range controls back to their original value 2012-12-05 Daniel P. Berrange Add support for onion skin preferences Add ability to render an "onion skin" from a list of images Extend the image display widget to take a list of images. Then render an "onion skin" overlay with partial opacity. In the case of a list with 1 entry, the behaviour is as before. Change way image pixbufs are cleared Instead of trying to track which image is used in popups, just make use of the ref counting in the image loader. Add "unload" signals to the image loader to enable detection of when last use is released. Sort images by name instead of modified date Ensure camera is disconnected on window close/app exit When hiding a camera manager window, disassociate the camera, so it gets closed cleanly, otherwise some Canon cameras will hang. 2012-11-28 Daniel P. Berrange Reindent to normalize whitespace 2012-11-22 Daniel P. Berrange Fix deadlock unmounting camera at startup The startup code should be using gdk_threads_{enter,leave} since we make use of threads. When umounting a camera we entered a recursive main loop. This caused GDK to try to unlock a mutex that was never locked, corrupting mutex state. The result was a later hang next time GDK tried to lock the mutex. We can't acquire the mutex in the activate callback, since that can be called from scenarios where the lock is already held. Thus we move our code into the startup method instead and just make activate do a window show. 2012-11-21 Daniel P. Berrange Fix mistake in function prototype name 2012-09-18 Daniel P. Berrange Refresh translations 2012-09-16 Daniel P. Berrange Add preference to control use of embedded image preview for raw files Load raw files using LibRaw Add support for using LibRaw to load raw files. Use the embedded preview, rather than processing the entire RAW data. Add some more comments to thumbnail loader code 2012-09-12 Daniel P. Berrange Fix typo in man page name 2012-09-06 Daniel P. Berrange Update NEWS for 0.4.1 release Allow camera to be NULL Re-add 9a977e23d9f399b8ae2afab98cddec0022e5a276 accidentally reverted Remove bogus assertion check Control histogram height to match default icon panel height Use 'src' from finish callback, since priv->camera might be NULL When saving camera controls using an async callback, make sure the callback uses the passed in 'src' parameter instead of relying on priv->camera which may now be NULL Allow camera to be NULL in control panel Avoid GTK assertion if min=max The GTK range widgets can't cope with the (entirely reasonable) scenario where the min value == max value. Hack a workaround for this by increasing the max value by 1.0 and setting the control readonly instead 2012-09-02 Daniel P. Berrange Fix unref of cairo surface object in image display Add accelerators for menu options Add further protection in API calls 2012-09-01 Daniel P. Berrange Add man page and a few misc fixes Add a man page based on the one in bug 20061 Add g_return_if_fail checks to various methods in frontend code Remove tabs from previous commit Create display of supported camera models Use gphoto to object a list of supported cameras and introduce a new dialog for showing them. Fixes bug #19953 Remove obsolete GTK 2.x conditionals Since we require GTK >= 3.0, we can remove conditionals based on GTK 2.x Fix build on GTK < 3.4 The GDK_SCROLL_SMOOTH constant is only available in GTK >= 3.4 Bug #19918 Rename 'index' variable to 'idx' to avoid symbol clash There is a global function called 'index' in some headers, so local variables should not use the same name. Bug #19918 Change gfloat to gdouble in image display There is some inconsistent use of gfloat vs gdouble in files. Switch to using gdouble in the image display to address this. Bug #20122 Fix some data types to use the glib variants Fix aspect ratio string->double conversion to be locale-indepedent The strtod() function has variable meaning for '.' according to the locale. This caused the aspect ratio conversions to go wrong. Switch to using g_ascii_strtod() instead. Bug #19929 2012-08-31 Daniel P. Berrange Add object type checking to all backend public APIs 2012-08-30 Daniel P. Berrange Add missing include of locale.h Fix memory handling when updating plugins 2012-08-16 Daniel P. Berrange Maintain plugin list in preferences & load them on startup Introduce a new preference which stores the list of plugins which are loaded. Use the PeasGtkPluginEngine widget to allow the user to enable/disable plugins Load Peas introspection data The Peas library requires that its GObject Introspection metadata is loaded prior to searching for plugins 2012-08-16 Daniel P. Berrange Add support for displaying an image histogram in the control panel The control panel is changed to be always visible even when no camera is connected. This is to allow it to display the histogram for the selected image 2012-08-12 Daniel P. Berrange Don't clear image pixbuf while a popup is still open Ensure popup-close signal is always invoked in all code paths Fix drag popup when image is already selected If the image was already selected in the session browser, then a drag would not be initialized. Use key press handler in session browser If the key release handler is used in session browser for procesing keys, then some parent handler might take action based on the key press event before we get a chance to Fix widget leak when closing image popup When the EntangleImagePopup class was unref'd the GtkWindow still remained in existance. Fix this by destroying the window in the popup finalize method Fix memory leak when displaying image popup If the image already has an active popup, attempting to display it again will leak a reference count Keep toolbar dir in sync with current session dir Close all image popups when changing session Clear cached image pixbuf when unselecting image When the current image is selected, set its pixbuf to NULL 2012-07-08 Daniel P. Berrange Ensure RPM builds are verbose Add mouse scroll support to session browser widget Fix return type of mouse press handler Release 0.4.0 Add missing RPM BR on intltool. Remove duplicate image Refresh translations Fix syntax check errors Add custom icons for capture/preview Introduce custom icons for capture & preview buttons Add ability to synchronize shooting between windows Move the 'New window' menu item to a new "Windows" menu, and introduce a "Synchronize windows" menu item to sync capture and preview Re-enable drag for popups Re-enable code for D-N-D creation of image popups Add popup menu in session browser Add a popup menu in the session browser which can be used for deleteing unwanted images, and opening images in external applications Merge 'new session' and 'open session' into 'select session' Since the "Open Folder" widget is capable of creating folders, there is no compelling reason for a separate "New folder" widget. Merge them into one and use a popup menu in the toolbar for selecting folder Add grid lines mode quarters Add another grid lines mode splitting the screen into quarters Add missing property handling Fix missing property handling for 'img-mask-enabled' Enable rendering of focus point / grid lines during preview Honour the preferences for focus point / grid lines during preview mode preferences for focus point / grid lines Add preferences to control whether the focus point and grid lines are displayed during preview mode Add ability to draw grid lines in image display Enhance EntangleImageDisplay to enable it to rendere a set of grid liens, using various different policies Add ability to draw a focus point in the image display Enhance the EntangleImageDisplay widget to render a center focus point square 2012-07-02 Daniel P. Berrange Add ability to blank screen while capturing images Add a new preference to control screen blanking. If enabled, the screen will be blanked via DPMS Standby mode while the image is captured, and unblanked afterwards. Any mouse or keyboard movement will also unblank the screen early. Add APIs for screen blanking via X11 DPMS extension Fix two horrible memory leaks of EntangleImage The preview code would leak every single frame captured during preview. The browser code would leak every single image in each folder opened Update RPM spec to add new images 2012-07-01 Daniel P. Berrange Fix misc syntax-check problems Add missing imageviewer icons Rewrite session browser widget Stop playing hacks with the GtkIconView class since it is frequently breaking and does not render in the desired style Replace with a custom written widget, derived from the GtkIconView code, but set to only render everything in one single row Fix update of mask opacity property Fix type of aspect ratio property The aspect ratio property was mistakenly declared as an int instead of a string. Don't fill thumbnail edges with black Set thumbnail edges to be transparent to allow widget background colour to show Ensure UI updates when aspect ratio preferences are changed Allow aspect ratio mask to be toggled on/off more easily Instead of overloading the 'aspect-ratio' preference to '' to signify disabled mask, use an explicit 'mask-enabled' pref. Also allow the key 'm' to toggle it on/off Add some key shortcuts for common operations Allow use of keys - 's' - trigger the shutter - 'p' - toggle 'live view' preview - 'esc' - cancel the current operation 2012-06-21 Daniel P. Berrange Fix notification of preference changes Add preferences for configuring image mask aspect ratio Add preferences for setting aspect ratio for image mask, and its opacity. Also add UI for controlling it 2012-06-19 Daniel P. Berrange Extend EntangleImageDisplay to support aspect ratio masks Allow the image display to mask off the borders of the displayed image to simulate cropping to an alternate aspect ratio 2012-04-30 Daniel P. Berrange Add preference for auto-connect of cameras Allow automatic connection at startup to be disabled via a preference. Also rename 'folders' to 'capture' in glade Auto-connect to all cameras on startup 2012-04-25 Daniel P. Berrange Add support for multiple windows Rename EntangleContext to EntangleApplication Nothing in the backend needs to the EntangleContext, so rename it to EntangleApplication and make it subclass GtkApplication Move camera list population code out of EntangleContext Update file header comments Properly use GtkApplication by registering windows Add missing impl of entangle_context_get_application Update for 0.3.3 release Remove tabs & exclude .icc files from whitespace check Fix test for glib-compile-schemas We can't assume pkg-config gives us back the fully qualfied path for glib-compile-schemas, it might just be the binary name Add new translation files 2012-04-25 Daniel P. Berrange Refresh translations 2012-04-16 Daniel P. Berrange Add --system arg support to autogen.sh Fix compat with glib < 2.32 2012-04-16 Daniel P. Berrange Re-enable double buffering of image display widget to avoid flickr in preview mode Fix construction of session browser The GtkIconView class does certain stuff in a constructor rather than its init method. Thus we need to override the latter to avoid out of order initialization of the icon view parent Fix debugging with newer glib which doesn't enable debug by default Remove use of deprecated style/size APIs in ovBox Replace gtk_main_quit with g_application_quit Replace usage of gdk_display_get_pointer API Replace gtk_widget_get_pointer API usage Replace box with hbox widget Replace gdk_cursor_unref with g_object_unref Replace vbox with box and hscale with scale widgets Remove calls to gdk lock/unlock when running application GtkApplication takes care of automatically locking/unlocking the GDK global mutex when required. Thus we should not be holding the GDK lock when invoking g_application_run Replace gdk_pixbuf_unref with g_object_unref Reported-by: Glenn Greenfield 2012-04-04 Daniel P. Berrange Only enable -Werror on builds from GIT 2012-04-03 Daniel P. Berrange Update for 0.3.2 release Refresh translations 2012-04-01 Daniel P. Berrange Include translations in RPM Refresh translations Mark New Session & Open Session menu labels for translation Cleanup indentation 2012-04-01 Daniel P. Berrange Add _(...) around all translatable strings 2012-02-16 Daniel P. Berrange Mark license & website as non-translatable & refresh po files 2012-02-16 Daniel P. Berrange Add transifex configuration file Import initial translations 2012-02-15 Daniel P. Berrange Update git ignore files Add missing m4 macros for compile warnings 2012-02-15 Daniel P. Berrange Initial pot file Import GNULIB syntax check rules Add trailing blanks Add missing Remove redundant const Add GtkBuilder files to POTFILES.in Remove 'the the' typo Tweak copyright line Update AUTHORS file & set a mailmap Set locale at startup Death to all TABs Add basics for i18n 2012-02-13 Daniel P. Berrange Release 0.3.1 Update copyright dates Add workaround for missing GSettings schemas during startup 2012-02-12 Daniel P. Berrange Fix initial control panel sensitivity Avoid running multiple event monitoring threads Fix thread locking in status bar hide Avoid infinite loop of preview errors Avoid double-free of GError after connect failure Fix some crashes during camera disconnect Use a dedicated struct to store task info 2012-02-10 Daniel P. Berrange Rename async method handlers to use a _finish prefix Switch over to GNULIBs compiler warning system Fix misc compile warnings Fix NULL pointer updating widget sensitivity Readd AC_OUTPUT, accidentally removed earlier Remove compiled schema file in RPM install 2012-01-11 Daniel P. Berrange Update README notes 2011-12-05 Daniel P. Berrange Add explicit test for glib-compile-schemas & install schemas Add a test for glib-compile-schemas existing, since some people may have the pkg-config file, but not the binary. Also add a warning about the install location Cleanup pkg config checks in configure.ac & fix peas variables 2011-12-05 Daniel P. Berrange Fix crash in handling combo lists where option is NULL 2011-11-28 Daniel P. Berrange Update for 0.3.0 release Require gphoto2 >= 2.4.11 since earlier versions are buggy Remove explicit include of glib/gthread.h Rewrite session loading using GIO & filter non-file types Add autobuild extra_release in RPM release field Fix paths for loading XML builder files Switch to automatically generate sections with gtk-doc Update news file with info about forthcoming release 2011-11-27 Daniel P. Berrange Fix thread locking when updating controls Workaround 100% cpu burn due to GVolumeMonitor object unref Wire up support for refreshing settings from camera Make control refresh/load & camera connect/disconnect async Don't clear image display when disconnecting camera Avoid deadlock on camera disconnect & reset meter 2011-11-26 Daniel P. Berrange Tweak styling of control panel Add preferences for continuous preview & non-delete of files Rework the way settings are handled Remove the "picture folder" setting, adding a "last session" parameter which is preserved across restarts. Add setters for all preferences. 2011-11-22 Daniel P. Berrange Fix deadlock updating controls while progress update is occuring Update camera info dialog & remove resize grip Change display of control panel Fix locking when updating controls Remove camera actions and other PTP properties to make UI more practical Remove info hint from image display which duplicates metadata display Add display of metadata for selected image Integrate with GExiv2 to extract metadata 2011-11-20 Daniel P. Berrange Setup transient window hints Remove EntangleAppDisplay class and rename EntangleApp to EntangleContext Remove obsolete deps from RPM spec Fix leaks in preferences code & initialization of RGB path Remove HAL support & make peas/introspection compulsory Convert from GConf to GSettings 2011-11-17 Daniel P. Berrange Fix locking when updating controls Change to perform continuous monitoring and expose preview button Fix thread safety when creating color transforms Fix crash destroying camera object after disconnecting Remove camera schedular classes Remove camera scheduler from control panel Replace use of camera schedular with async calls Add async versions of preview/capture APIs & convert tasks to async capture Add async variant of camera file delete method & use in tasks Don't send preview images through pixbuf loaders * backend/entangle-pixbuf-loader.c: Reject requests to handle images without a filename * frontend/entangle-camera-manager.c: Don't send preview images through pixbuf loaders Revert 26f0c06dc1d817c2f01e6cc5f09e23636eac44d0 Don't set a fake filename for in-memory images Remove leftover debug Convert camera file download to an async method Replace job condition with a job mutex for greater fairness 2011-11-15 Daniel P. Berrange Fix check for local copy of sRGB.icc Make colour profile class threadsafe and avoid crash if loading profile fails 2011-10-10 Daniel P. Berrange Add mutex locking to EntangleCamera To avoid for safer multithreaded access, introduce a mutex to prevent EntangleCamera. When calling into slow gphoto APIs, drop the mutex, but keep a job lock via a condition variable Ensure EntangleImage always has a non-NLL filename To avoid crashes in the pixbuf loader in preview mode, ensure that the image always has a non-null filename Add GError arg to entangle_camera_connect 2011-08-22 Daniel P. Berrange Add note about the license & source of the logo file The logo was obtained from http://www.openclipart.org/detail/20295/camera-lens-by-rg1024-20295 which Open Clip Art makes available under the public domain https://creativecommons.org/publicdomain/zero/1.0/ 2011-06-28 Daniel P. Berrange Convert from Glade to GtkBuilder Convert code fromm GTK2 to GTK3 Update to replace all APIS removed in GTK2. Replace use of libunique/startup with GtkApplication 2011-02-14 Daniel P. Berrange Fixes to ensure it builds when GTK is sealed 2011-02-11 Daniel P. Berrange Refactor image loading code to allow easier access to pixbuf Directly associate the loaded GdkPixbuf with the EntangleImage object. This allows multiple UI widget to directly access the pixbuf without all of them needing to know about the EntangleImageLoader class. The EntangleCameraManager class is now in charge of loading/unloading the pixbufs 2011-02-04 Daniel P. Berrange Acquire GDK lock before processing camera disconnect The camera-removed signal is emitted without GDK locks held. * frontend/entangle-app-display.c: Hold GDK lock before disconnecting camera from UI Avoid crash on camera disconnect The camera schedular thread make continue to run for a short while after setting the 'quit' flag. Use a condition variable to ensure we wait until it has shutdown before closing the camera * backend/entangle-camera-scheduler.c: Wait for thread to finish before returning * frontend/entangle-camera-manager.c: Release GDK lock before disconnecting camera to avoid deadlock 2010-10-06 Daniel P. Berrange Update to cope with cameras which have no controls Some camera drivers claim to support controls, but then don't return any. This updates the UI code to cope with this situation instead of crashing * frontend/entangle-camera-manager.c: Hide controls panel and disable settings menu/toolbutton if no controls are available * frontend/entangle-control-panel.c, frontend/entangle-control-panel.h: Export a property if there are any visible controls 2010-09-19 Daniel P. Berrange Remove website which is now hosted under wordpress 2010-09-17 Daniel P. Berrange Update for 0.2.0 release * NEWS: Notes about major changes * configure.ac: Update version number Update to require libpeas 0.5.5 * configure.ac: Update to 0.5.5 peas, s/peas-ui/peas-gtk/ * entangle.spec.in: Require libpeas-devel >= 0.5.5 * src/backend/entangle-app.c, src/backend/entangle-app.c: API changes for libpeas 0.5.5 2010-09-15 Daniel P. Berrange Ensure filename extension is always lowercase Some cameras return an uppercase filename. Convert to lowercase at all times Add support for unmounting camera when connecting Use GIO to unmount the camera if it is in use by gvfs. 2010-09-14 Daniel P. Berrange Remove EntangleParams class that required GPhoto gir hack The GPhoto-2.0.gir hack is required because EntangleParams exposes some libgphoto2 typedefs in a public struct. By removing this class and moving the objects into the private impl, the GIR hack is no longer required Port over to use libpeas for plugins Remove all custom plugin handling code. Replace with (optional) use of libpeas. 2010-07-22 Daniel P. Berrange Adapt to cope with cameras which don't support events The non-PTP drivers do not support event notifications. Adapt the event flush/wait code to avoid failing in these scenarios, since capture still works fine 2010-07-19 Daniel P. Berrange Use GError APis for reporting capture failure Wire up GError for capture, preview, download, delete and event wait operations. Display error to user if task fails. Log all gphoto detailed error messages. Fix infinite loop waiting for events Fix an unknown event occurs the loop could potentially go on forever. Track wallclock time to ensure an absolute upper bound on waiting for events Set worker to NULL when exiting When the worker thread exits it is important to set priv->worker to NULL to ensure other methods see it is not running 2010-06-13 Daniel P. Berrange Make a sane implementation of the preview function Replace the 'cancelled' method on the progress interface, with a GInterface. Add a 'confirmable' GInterface. Re-write the preview task to use the confirmable interface to trigger capture. Fixup exiting of live view when cancelling preview. Disable image hint when fullscreen mode 2010-06-07 Thilo Bangert Fix DESTDIR handling in install-data-local rule 2010-06-07 Daniel P. Berrange Fix assumption about some udev parameters always being present If certain udev parameters were missing (aka NULL) then the device monitor code would crash with a NULL pointer dereference. Ignore any events where one of our desired parameters is NULL to avoid crashing Update RPM spec with feedback from Fedora review 2010-04-08 Daniel Berrange Add link to download area Bump release to 0.1.0 & other release prep work * AUTHORS, NEWS: Fill out basic info. * Makefile.am, gitlog-to-changelog: Setup ChangeLog to be autogenerated from GIT logs. * configure.ac Bump release to 0.1.0 Fix tagline in about dialog Fix bug in thread locking upon error scenarios When breaking out of the task loop it is neccesary to reacquire the lock. 2010-04-07 Daniel Berrange Fix hang when changing configuration values The camera schedular thread runs continuously in the background waiting for events. It is thus neccessary to pause this background thread whenever updating a control value in the foreground thread. 2010-04-05 Daniel Berrange Add filename labels in session browser & image info popup Fix thumbnail orientation Fix logic bug that broke thumbnail resizing Set widget readonly state on camera controls GPhoto now has an API for discovering whether a camera control is readonly. This can be used to set the GTK widget to be non sensitive 2010-04-04 Daniel Berrange Rewrite filename generation code to preserve original extension Rewrite the session filename generation code to preserve the original filename extension as provided by the camera/gphoto. ie stop giving raw files a .jpeg extension ! Add & ignore GP_EVENT_CAPTURE_COMPLETE to prevent bogus failures 2010-04-02 Daniel Berrange Allow presentation mode to set monitor to diplay on The view menu gets popupulated with a list of named monitors in the screen. The presentation mode can be switched between the different monitors. Fullscreen also now hides the menubar 2010-03-31 Daniel Berrange Add a real presentation mode Add a real presentation mode where the only thing visible is the image display window, in fullscreen. Use proper glib API for finding user pictures directory Port to gudev library Use the gudev library for monitoring devices in preference to HAL, where available Fix 100% cpu loop on camera disconnect & potential crash When the camera disconnects care must be taken that all camera functions return false and not try to access a NULL gphoto camera object. The background event loop must also check for a disconnected camera and not spin 100% cpu waiting for events that will never arrive Fix thread safety in task-end callback & disconnect camera The task-end callback invokes GTK functions and is emitted from a background thread, thus it must be protected by the GDK threads lock. When the camera is removed from the camera manager, the camera must be switched to disconnected state 2010-03-30 Daniel Berrange Rename Capa -> Entangle Renaming the project from "Capa" to "Entangle". This renames all files with 'capa' in the name, and changes all source code symbols and strings to match. 2010-03-18 Daniel P. Berrange Add cast from gsize to int to avoid printf warning 2010-03-15 Daniel P. Berrange Readd port property mistakenly removed 2010-03-14 Daniel P. Berrange Add initial impl of gconf configuration store 2010-03-13 Daniel P. Berrange Add setters/getters for control panel, session browser & camera manager objects 2010-03-12 Daniel P. Berrange Remove all unneccessary G_OBJECT casts Add getter/setters for image display object properties Add setter for camera file mimetype Add setters/getters for camera info object Add setters/getters to pixbuf loader object Add getter & setter for camera progress property Standard naming convention for "getters" on camera class Cache camera docs to avoid possible thread race condition The gphoto library must only be used from one thread at once for absolute safety, so camera driver/manual/summary strings should be cached just in case Fix session changing code The session changing code was setting a property which no longer exists on the camera class 2010-03-06 Daniel P. Berrange Fix printf format specifier Basic framework for new config management system * backend/capa-config-entry.h, backend/capa-config-entry.c: Object for a single configuration value * backend/capa-config-set.h, backend/capa-config-set.c: Object for a group of configuration values * backend/capa-config-store.c, backend/capa-config-store.c: Backing store for all configuration values 2010-02-15 Daniel P. Berrange Switch capture/preview/monitor over to scheduler task & rip out old code The old threads code from the camera class is ripped out. The camera manager frontend now triggers all operations via the new camera scheduler object. Add progress debug logging on control building process Fix typo in object class name Camera execution script and task system To make the capture process more flexible, the hardcoded preview, monitor & capture threads need to be moved out of the camera class. This commit introduces a general purpose camera scheduler that runs in a background thread monitoring for events. It then accepts queuing of tasks to execute. Tasks are provided for the basic operations. 2010-02-14 Daniel P. Berrange Refactor camera capture routines to prepare for scripts Introduce an explicit object for representing a file on the camera. Separate out methods for capturing, downloading & deleting files from the camera. Rewrite existing background threads to use the new APIs. 2010-01-13 Daniel P. Berrange Don't abort monitoring when getting an unexpected event 2010-01-12 berrange Ignore Makefile.am file 2010-01-12 Daniel P. Berrange Merge CapaPluginBase into CapaPlugin inteface The CapaPlugin interface was not serving any useful purpose. This change merges the CapaPluginBase abstract class into CapaPlugin removing the interface 2010-01-11 Daniel P. Berrange Fix gint64 printf format specifier for x86_64 Can't assume that gint64 format specific is %llu on x86_64. GLib provides a portable macro G_GUINT64_FORMAT so use that instead. 2010-01-10 Daniel P. Berrange Rename all source files added 'capa-' prefix Avoid potential include file namespace problems by adding a 'capa-' prefix to all source files Integrate with gtk-doc for API reference generation Remove auto-generated INSTALL file Move debug variables out of main.c into separate debug.c In order for gtk-doc to link to the library for scanning, it is neccessary to move the debug flags into a separate file. Rename some methods in CapaApp and annotate for introspection data The introspection transfer mode was incorrect for methods in CapaApp, so they had to be annotated. The getters are also renamed to add 'get_' prefix. 2010-01-09 Daniel P. Berrange Turn off colour profile debugging 2010-01-03 Daniel P. Berrange Pass the 'CapaPlugin' instance to the plugin activate methods The plugin may need to know its base directory in order to load other assets such as images. To allow for this, it is neccessary to pass the CapaPlugin instance into the plugin's activate/deactive methods Switch UI out of operation mode when camera is removed The current camera may be removed from the manager window while an operation is in progress (particularly when monitoring for new images in the background). In this case it is neccessary to toggle the 'inOperation' flag to update the UI Remove obsolete, unused 'camera-progress' window definition The camera progress window was removed in a previous commit, the progress display being incorporated into the main manager window. The glade definition of the 'camera-progress' window is thus obsolete & unused. Fix crash in background thread when progress monitor is removed When disconnecting the UI from a camera, there may still be a background job active using the progress monitor. Therefore it is neccessary to include checks for NULL on the progress object Disconnect camera from display when camera is removed When a camera is removed, and it matches the camera currently opened in the display, it must be removed, disabling the UI. Make 'CapaAppDisplay' inherit from 'CapaApp' The plugins get given a handle to a 'CapaApp' instance. By making the CapaAppDisplay type inherit from 'CapaApp', they can get access to the UI objects Clarify warning text when camera cannot be connected to Fix missing word in camera picker warning message * src/capa.glade: Add missing 'when' in warning message 2009-12-29 Daniel P. Berrange Include a relative timestamp in log messages Basic UI for plugin preferences / management 2009-12-28 Daniel P. Berrange Javascript plugins based on GJS runtime Rename GIR data to use initial caps as per GObject standards Preliminary plugin script with dlopen() 2009-12-12 Daniel P. Berrange Update screenshots to reflect current UI design 2009-12-06 Daniel P. Berrange Update the website content to match current reality Re-order buttons on toolbar to move important ones to the left Merge capture/preview/monitor tool buttons into one Declutter the toolbar slightly by merging the separate buttons for capture/preview/montior into one button with a drop down menu. This will also allow scripts to populate the menu with other options like timed/sequenced shooting Pull the progress display into the toolbar instead of popup window 2009-12-05 Daniel P. Berrange Misc enhancements to colour management * Auto-rebuild colour transform when preferences change * Fix crash when a profile is NULL * Honour requested rendering intent Auto apply any orientation info when displaying images/thumbnails 2009-12-04 Daniel P. Berrange Fix build ordering dependancy for generated enums Remove obsolete comment and class variable Introduce an async thumbnail loader Subclass pixbuf loader to provide a thumbnail loader. Attempts to following the thumbnail spec for caching thumbnails http://jens.triq.net/thumbnail-spec/index.html Pull most of image loader out into a abstract pixbuf loader base Introduce a CapaPixbufLoader base class which does most of the image loading work. This will allow a subclass for doing thumbnail generation/loading to reuse most functionality. 2009-12-02 Daniel P. Berrange Integrate with libunique to ensure we're always a single-instance app Integrate with startup notification library Turn camera manager window into a singleton Always display the camera manager window, even if no camera is present. Fix bugs in disconnecting from camera. Automatically connect to the camera if exactly one is found If there is only a choice of one single camera, then we will automatically connect to it when starting up,instead of showing the camera picker dialog. 2009-11-29 Daniel P. Berrange Introduce a background image loader for main image display Use a thread pool to load images in the background without blocking the main UI. Wire the thread loader into the main image display panel 2009-11-28 Daniel P. Berrange Wire up preferences to GConf for persistent storage Apply changes to preferences from editor form Add missing ref count in previous commit Apply colour profile transform according to configured preferences 2009-11-27 Daniel P. Berrange Tiny whitespace tweak Create a preferences dialog 2009-11-09 Daniel P. Berrange Initial support for ICC profile conversion of images when displayed Adds basic support for applying ICC profiles to captured images when displayed in the main image viewer. Needs to be hooked up to preferences to control rendering intent and ICC filenames * capa.spec.in: Add BuildRequires: lcms-devel * configure.ac: Add pkgconfig check for lcms * src/Makefile.am: Add lcms linker/cflags * src/backend/colour-profile.c, src/backend/colour-profile.h: Add an object for representing a colour profile * src/frontend/camera-manager.c: Quick nasty hack to apply a profile 2009-10-20 Daniel P. Berrange Really fix threading issues * src/backend/camera.h, src/backend/camera.c: Add thread funcs to be registered, and call when emitting signals froma thread. Remove idle func hack which was useless * src/frontend/camera-manager.c: Register gdk thread funcs with camera class. * src/main.c: Enter threads before running main loop Auto-select latest image in session browser * src/frontend/session-browser.c: Automatically select the latest image added to list 2009-10-20 Daniel Berrange Fix XML comment syntax * src/gphoto-2.0.gir: Fix comment syntax 2009-10-19 Daniel P. Berrange Use a server-side pixmap for image display to make expose events fast Rendering directly from a client side pixbuf made for very slow expose events. Use a pixmap to cache the data for fast rendering * frontend/image-display.c: Add a pixmap cache 2009-10-19 Daniel Berrange Add GObject introspection support * capa.spec.in: Add deps on gobject-introspection-devel, gir-repository-devel * configure.ac: Check for gobject introspection * src/Makefile.am: Add rules for building tpyelib/gir data * src/main.c: Add --introspect-dump arg * src/gphoto-2.0.gir: Add stub for gphoto2 structs 2009-10-19 Daniel P. Berrange Remove all polaroids when closing camera window 2009-10-18 Daniel P. Berrange Move capa_session_add call to a idle func to avoid thread safety problem Add missing ref count increment on preferences class Refresh session browser when changing camera session Kill all tabs, mass ident & add emacs magic to prevent their return Turn CapaApp into a proper GObject class Change to use a toggle button/menu for showing/hiding camera settings Wire up new/open session menus/toolbuttons Change default filename pattern to JPEG Fix session directory creation 2009-10-06 Daniel P. Berrange Wire up changes to settings propagating back to camera Initialize control objects with current values & update display 2009-10-05 Daniel P. Berrange Add tear off image "polaroids" for thumbnails Sort thumbnails based on last modified date Refresh session thumbnail browser when session gets a new file Control monitor button visibility correctly. 2009-10-04 Daniel P. Berrange Use jquery fancybox for pretty screenshot browsing Fix RPM spec build / install / dist rules Add many screenshots, tweak styles & make it render with IE7 Add a few tooltips to the main camera window Flesh out basic website pages a little more Add PNG icons for windows in all recommended sizes Add a dummy field to private struct to avoid gobject assertion Fix type name for progress object Standardize header file style Add #include to all files Convert over to glib logging instead of fprintf Fix mistaken unref calls in finalizer Add custom control objects for each type of data 2009-10-03 Daniel P. Berrange Use widget info for tooltip Add basic widget infrastructure for displaying camera controls Load image into main display when session browser entry is selected Add stupidly inefficient thumbnail loading as temporary demo Add the start of a proper icon display for session images Add add/remove signals to session object Add support for monitoring & autodownloading images triggered from camera Fix padding in main split panels Add code for generating unique, incrementing filenames for sessions Move background thread over to camera class. Use session/images classes Add basic classes for managing images and sessions 2009-10-01 Daniel P. Berrange Fix property name for preferences Don't reference pixbuf in expose handler if its NULL Add desktopfile and RPM spec and look for glade in install path 2009-09-30 Daniel P. Berrange Started a preference modules More work on website style/content 2009-09-28 Daniel P. Berrange Tweak website navigation content Start work on a basic set of webpages 2009-09-27 Daniel P. Berrange Turn camera list into a gobject. Refresh list in-place & emit signals Auto-refresh device list when usb devs are hotplugged/unplugged Control UI sensitivity based on camera capabilities Add check that camera succesfully connected Fix leak of glade objects in finalizers Wire up a help about dialog Fix up handling of close / delete events on windows Fix many memory leaks and add image preview 2009-09-26 Daniel P. Berrange Fix memory leak in camera picker cell renderer Basic wiring up of quit/disconnect menus & manager window delete Wire up menu items for zoom / fullscreen Wire up fullscreen toolbar button Add a custom scalable image display widget. Default to 'best fit' 2009-09-25 Daniel P. Berrange Fix crash when closing camera info dialogs Add ability to cancel progress operations Add progress display when capturing images since it can be very slow Convert CapaCamera into a GObject to get ref counting Split out compile of frontend and backend Split the frontend and backend out into separate build libraries. This ensures only the backend can use libgphoto2 directly and that the backend doesn't accidentally end up depending on frontend Use a private params context per camera object Make a note of why we skip the camera called usb: 2009-09-20 Daniel P. Berrange Wire up basic code for extracting list of controls from camera Boilerplate classes for settings management Add copyright headers to all source files Crude experiment making the 'capture' button work Add about dialog and camera information display Tweak git ignore rules Fix compile warnings & add warning message if no cameras are found Add autotools magic Initial commit of codebase entangle-0.5.4/entangle.spec.in0000664000000000000000000000614112253420651013266 00000000000000# -*- rpm-spec -*- Summary: Tethered shooting & control of digital cameras Name: entangle Version: @VERSION@ Release: 1%{?dist}%{?extra_release} License: GPLv3+ Group: Applications/Multimedia Source: http://entangle-photo.org/download/sources/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://entangle-photo.org/ BuildRequires: glib2-devel >= 2.26.0 BuildRequires: gtk3-devel >= 3.0 BuildRequires: libgphoto2-devel >= 2.4.11 BuildRequires: libgudev1-devel >= 145 BuildRequires: dbus-glib-devel >= 0.60 BuildRequires: lcms-devel >= 1.18 BuildRequires: gobject-introspection-devel BuildRequires: libpeas-devel >= 0.5.5 BuildRequires: libgexiv2-devel >= 0.2.2 BuildRequires: intltool BuildRequires: libX11-devel BuildRequires: libXext-devel >= 1.3.0 BuildRequires: LibRaw-devel >= 0.9.0 Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description Entangle is an application which uses GTK and libgphoto2 to provide a graphical interface for tethered photography with digital cameras. It includes control over camera shooting and configuration settings and 'hands off' shooting directly from the controlling computer. %prep %setup -q %build %configure --disable-schemas-compile make %{?_smp_mflags} V=1 %install rm -fr %{buildroot} make install DESTDIR=$RPM_BUILD_ROOT rm -rf %{buildroot}%{_datadir}/%{name}/website %find_lang %{name} %clean rm -fr %{buildroot} %post update-desktop-database %{_datadir}/applications glib-compile-schemas /usr/share/glib-2.0/schemas ||: %postun update-desktop-database %{_datadir}/applications glib-compile-schemas /usr/share/glib-2.0/schemas ||: %files -f %{name}.lang %defattr(-, root, root) %doc README COPYING AUTHORS NEWS ChangeLog %{_bindir}/entangle %{_mandir}/man1/entangle.1* %{_datadir}/%{name}/%{name}-camera-info.ui %{_datadir}/%{name}/%{name}-camera-manager.ui %{_datadir}/%{name}/%{name}-camera-picker.ui %{_datadir}/%{name}/%{name}-camera-support.ui %{_datadir}/%{name}/%{name}-help-about.ui %{_datadir}/%{name}/%{name}-image-popup.ui %{_datadir}/%{name}/%{name}-preferences-display.ui %{_datadir}/%{name}/%{name}-16x16.png %{_datadir}/%{name}/%{name}-32x32.png %{_datadir}/%{name}/%{name}-48x48.png %{_datadir}/%{name}/%{name}-64x64.png %{_datadir}/%{name}/%{name}-128x128.png %{_datadir}/%{name}/%{name}-256x256.png %{_datadir}/%{name}/%{name}.svg %{_datadir}/%{name}/icons %{_datadir}/%{name}/plugins.png %{_datadir}/%{name}/plugins-22.png %{_datadir}/%{name}/capture.png %{_datadir}/%{name}/capture-22.png %{_datadir}/%{name}/color-management.png %{_datadir}/%{name}/color-management-22.png %{_datadir}/%{name}/interface.png %{_datadir}/%{name}/interface-22.png %{_datadir}/%{name}/imageviewer.png %{_datadir}/%{name}/imageviewer-22.png %{_datadir}/%{name}/sRGB.icc %{_datadir}/gtk-doc/html/Entangle %{_datadir}/applications/%{name}.desktop %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/glib-2.0/schemas/org.entangle-photo.manager.gschema.xml %{_datadir}/gir-1.0/Entangle-0.1.gir %{_libdir}/girepository-1.0/Entangle-0.1.typelib %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugins %dir %{_datadir}/%{name}/plugins %changelog entangle-0.5.4/README0000664000000000000000000000565612253420651011102 00000000000000 Entangle: Tethered Camera Control & Capture =========================================== Entangle is an application which uses GTK and libgphoto2 to provide a graphical interface for tethered photography with digital cameras. It includes control over camera shooting and configuration settings and 'hands off' shooting directly from the controlling computer. Installation ------------ The libvirt-sandbox package uses GNU autotools, so the build install process follows the standard process documented in the INSTALL file. As a quick start you can do ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var --libdir=/usr/lib make sudo make install Or to install into a private user specific location ./configure --prefix=$HOME/libvirt-sandbox make make install NB, if not installing in /usr, you need to set the XDG_DATA_DIRS env variable to point to the data directory, eg in the above example use: XDG_DATA_DIRS=/usr/share:/usr/local/share:$HOME/libvirt-sandbox/share export XDG_DATA_DIRS OS distro packagers should use the --disable-schemas-compile arg to configure to skip the compilation stage for schema files if installing to the /usr prefix Building entangle requires the following external packages to be present glib2 >= 2.26.0 gdk-pixbf >= 2.12.0 gtk3 >= 3.0.0 libgphoto2 >= 2.4.11 gudev >= 145 dbus-glib >= 0.60 gobject-introspection >= 0.9.3 lcms >= 1.18 libpeas >= 0.5.5 gexiv2 >= 0.2.2 LibRaw >= 0.9.0 Communication ------------- To communicate with the development team, or to post patches there is a technical mailing list: https://mail.gna.org/listinfo/entangle-devel/ Bugs found when using an OS distribution's binary packages should be reported to the OS vendors' own bug tracker first. Otherwise they can be reported to https://gna.org/bugs/?group=entangle The latest libvirt-sandbox code can be found in GIT at: https://gitorious.org/entangle/entangle For further information visit http://entangle-photo.org/ Translators please see po/README.I18N for more guidance. UI shortcuts ------------ There are a number of shortcuts available for common operations - 's' - Trigger the shutter, to shoot a picture - 'p' - Toggle 'live view' preview mode - 'esc' - Cancel the current operation - 'm' - Toggle aspect ratio image mask - 'h' - Toggle linear / logarithmic histogram - 'a' - Drive autofocus during preview - ',' or '.' - Drive manual focus during preview (fine control) - '<' or '>' - Drive manual focus during preview (coarse control) License ------- Entangle is distributed under the terms of the GNU GPL v3+, except for the Logo which is under the Creative Commons 1.0 Public Domain Dedication. Please see the COPYING file for the complete GPLv3+ license terms, or visit . -- End entangle-0.5.4/m4/0000775000000000000000000000000012253421052010602 500000000000000entangle-0.5.4/m4/entangle-compile-warnings.m40000664000000000000000000000734412253420651016051 00000000000000dnl dnl Enable all known GCC compiler warnings, except for those dnl we can't yet cope with dnl AC_DEFUN([ENTANGLE_COMPILE_WARNINGS],[ dnl ****************************** dnl More compiler warnings dnl ****************************** AC_ARG_ENABLE([werror], AS_HELP_STRING([--enable-werror], [Use -Werror (if supported)]), [set_werror="$enableval"], [if test -d $srcdir/.git; then is_git_version=true set_werror=yes else set_werror=no fi]) # List of warnings that are not relevant / wanted # Don't care about C++ compiler compat dontwarn="$dontwarn -Wc++-compat" dontwarn="$dontwarn -Wabi" dontwarn="$dontwarn -Wdeprecated" # Don't care about ancient C standard compat dontwarn="$dontwarn -Wtraditional" # Don't care about ancient C standard compat dontwarn="$dontwarn -Wtraditional-conversion" # Ignore warnings in /usr/include dontwarn="$dontwarn -Wsystem-headers" # Happy for compiler to add struct padding dontwarn="$dontwarn -Wpadded" # GCC very confused with -O2 dontwarn="$dontwarn -Wunreachable-code" # Broken gexiv2 pkg-config file dontwarn="$dontwarn -Wmissing-include-dirs" # We need to use long long in many places dontwarn="$dontwarn -Wlong-long" # We don't care about c90 rules dontwarn="$dontwarn -Wdeclaration-after-statement" # Need to allow some explicit bad casts dontwarn="$dontwarn -Wcast-qual" # entangle_session_next_filename dontwarn="$dontwarn -Wformat-nonliteral" # Get all possible GCC warnings gl_MANYWARN_ALL_GCC([maybewarn]) # Remove the ones we don't want, blacklisted earlier gl_MANYWARN_COMPLEMENT([wantwarn], [$maybewarn], [$dontwarn]) # Check for $CC support of each warning for w in $wantwarn; do gl_WARN_ADD([$w]) done # GNULIB uses '-W' (aka -Wextra) which includes a bunch of stuff. # Unfortunately, this means you can't simply use '-Wsign-compare' # with gl_MANYWARN_COMPLEMENT # So we have -W enabled, and then have to explicitly turn off... gl_WARN_ADD([-Wno-sign-compare]) gl_WARN_ADD([-Wno-sign-conversion]) gl_WARN_ADD([-Wno-conversion]) # GNULIB expects this to be part of -Wc++-compat, but we turn # that one off, so we need to manually enable this again gl_WARN_ADD([-Wjump-misses-init]) # This should be < 256 really. Currently we're down to 4096, # but using 1024 bytes sized buffers (mostly for virStrerror) # stops us from going down further gl_WARN_ADD([-Wframe-larger-than=40096]) # Extra special flags gl_WARN_ADD([-Wp,-D_FORTIFY_SOURCE=2]) dnl -fstack-protector stuff passes gl_WARN_ADD with gcc dnl on Mingw32, but fails when actually used case $host in *-*-linux*) dnl Fedora only uses -fstack-protector, but doesn't seem to dnl be great overhead in adding -fstack-protector-all instead dnl gl_WARN_ADD([-fstack-protector]) gl_WARN_ADD([-fstack-protector-all]) gl_WARN_ADD([--param=ssp-buffer-size=4]) ;; esac gl_WARN_ADD([-fexceptions]) gl_WARN_ADD([-fasynchronous-unwind-tables]) gl_WARN_ADD([-fdiagnostics-show-option]) gl_WARN_ADD([-funit-at-a-time]) # Need -fipa-pure-const in order to make -Wsuggest-attribute=pure # fire even without -O. gl_WARN_ADD([-fipa-pure-const]) # We should eventually enable this gl_WARN_ADD([-Wno-suggest-attribute=pure]) gl_WARN_ADD([-Wno-suggest-attribute=const]) if test "$set_werror" = "yes" then gl_WARN_ADD([-Werror]) fi WARN_LDFLAGS=$WARN_CFLAGS AC_SUBST([WARN_CFLAGS]) AC_SUBST([WARN_LDFLAGS]) ]) entangle-0.5.4/m4/ltoptions.m40000644000000000000000000003007312253420677013034 00000000000000# Helper functions for option handling. -*- Autoconf -*- # # Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation, # Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 7 ltoptions.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) # _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) # ------------------------------------------ m4_define([_LT_MANGLE_OPTION], [[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) # _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) # --------------------------------------- # Set option OPTION-NAME for macro MACRO-NAME, and if there is a # matching handler defined, dispatch to it. Other OPTION-NAMEs are # saved as a flag. m4_define([_LT_SET_OPTION], [m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), _LT_MANGLE_DEFUN([$1], [$2]), [m4_warning([Unknown $1 option `$2'])])[]dnl ]) # _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) # ------------------------------------------------------------ # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. m4_define([_LT_IF_OPTION], [m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) # _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) # ------------------------------------------------------- # Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME # are set. m4_define([_LT_UNLESS_OPTIONS], [m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), [m4_define([$0_found])])])[]dnl m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 ])[]dnl ]) # _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) # ---------------------------------------- # OPTION-LIST is a space-separated list of Libtool options associated # with MACRO-NAME. If any OPTION has a matching handler declared with # LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about # the unknown option and exit. m4_defun([_LT_SET_OPTIONS], [# Set options m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), [_LT_SET_OPTION([$1], _LT_Option)]) m4_if([$1],[LT_INIT],[ dnl dnl Simply set some default values (i.e off) if boolean options were not dnl specified: _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no ]) _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no ]) dnl dnl If no reference was made to various pairs of opposing options, then dnl we run the default mode handler for the pair. For example, if neither dnl `shared' nor `disable-shared' was passed, we enable building of shared dnl archives by default: _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], [_LT_ENABLE_FAST_INSTALL]) ]) ])# _LT_SET_OPTIONS ## --------------------------------- ## ## Macros to handle LT_INIT options. ## ## --------------------------------- ## # _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) # ----------------------------------------- m4_define([_LT_MANGLE_DEFUN], [[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) # LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) # ----------------------------------------------- m4_define([LT_OPTION_DEFINE], [m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl ])# LT_OPTION_DEFINE # dlopen # ------ LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes ]) AU_DEFUN([AC_LIBTOOL_DLOPEN], [_LT_SET_OPTION([LT_INIT], [dlopen]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `dlopen' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) # win32-dll # --------- # Declare package support for building win32 dll's. LT_OPTION_DEFINE([LT_INIT], [win32-dll], [enable_win32_dll=yes case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*) AC_CHECK_TOOL(AS, as, false) AC_CHECK_TOOL(DLLTOOL, dlltool, false) AC_CHECK_TOOL(OBJDUMP, objdump, false) ;; esac test -z "$AS" && AS=as _LT_DECL([], [AS], [1], [Assembler program])dnl test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program])dnl test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [Object dumper program])dnl ])# win32-dll AU_DEFUN([AC_LIBTOOL_WIN32_DLL], [AC_REQUIRE([AC_CANONICAL_HOST])dnl _LT_SET_OPTION([LT_INIT], [win32-dll]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `win32-dll' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) # _LT_ENABLE_SHARED([DEFAULT]) # ---------------------------- # implement the --enable-shared flag, and supports the `shared' and # `disable-shared' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_SHARED], [m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([shared], [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_shared=yes ;; no) enable_shared=no ;; *) enable_shared=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_shared=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) _LT_DECL([build_libtool_libs], [enable_shared], [0], [Whether or not to build shared libraries]) ])# _LT_ENABLE_SHARED LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) # Old names: AC_DEFUN([AC_ENABLE_SHARED], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) ]) AC_DEFUN([AC_DISABLE_SHARED], [_LT_SET_OPTION([LT_INIT], [disable-shared]) ]) AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_SHARED], []) dnl AC_DEFUN([AM_DISABLE_SHARED], []) # _LT_ENABLE_STATIC([DEFAULT]) # ---------------------------- # implement the --enable-static flag, and support the `static' and # `disable-static' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_STATIC], [m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([static], [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_static=yes ;; no) enable_static=no ;; *) enable_static=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_static=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_static=]_LT_ENABLE_STATIC_DEFAULT) _LT_DECL([build_old_libs], [enable_static], [0], [Whether or not to build static libraries]) ])# _LT_ENABLE_STATIC LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) # Old names: AC_DEFUN([AC_ENABLE_STATIC], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) ]) AC_DEFUN([AC_DISABLE_STATIC], [_LT_SET_OPTION([LT_INIT], [disable-static]) ]) AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_ENABLE_STATIC], []) dnl AC_DEFUN([AM_DISABLE_STATIC], []) # _LT_ENABLE_FAST_INSTALL([DEFAULT]) # ---------------------------------- # implement the --enable-fast-install flag, and support the `fast-install' # and `disable-fast-install' LT_INIT options. # DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. m4_define([_LT_ENABLE_FAST_INSTALL], [m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl AC_ARG_ENABLE([fast-install], [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], [p=${PACKAGE-default} case $enableval in yes) enable_fast_install=yes ;; no) enable_fast_install=no ;; *) enable_fast_install=no # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for pkg in $enableval; do IFS="$lt_save_ifs" if test "X$pkg" = "X$p"; then enable_fast_install=yes fi done IFS="$lt_save_ifs" ;; esac], [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) _LT_DECL([fast_install], [enable_fast_install], [0], [Whether or not to optimize for fast installation])dnl ])# _LT_ENABLE_FAST_INSTALL LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) # Old names: AU_DEFUN([AC_ENABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `fast-install' option into LT_INIT's first parameter.]) ]) AU_DEFUN([AC_DISABLE_FAST_INSTALL], [_LT_SET_OPTION([LT_INIT], [disable-fast-install]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `disable-fast-install' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) # _LT_WITH_PIC([MODE]) # -------------------- # implement the --with-pic flag, and support the `pic-only' and `no-pic' # LT_INIT options. # MODE is either `yes' or `no'. If omitted, it defaults to `both'. m4_define([_LT_WITH_PIC], [AC_ARG_WITH([pic], [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@], [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], [lt_p=${PACKAGE-default} case $withval in yes|no) pic_mode=$withval ;; *) pic_mode=default # Look at the argument we got. We use all the common list separators. lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," for lt_pkg in $withval; do IFS="$lt_save_ifs" if test "X$lt_pkg" = "X$lt_p"; then pic_mode=yes fi done IFS="$lt_save_ifs" ;; esac], [pic_mode=default]) test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) _LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl ])# _LT_WITH_PIC LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) # Old name: AU_DEFUN([AC_LIBTOOL_PICMODE], [_LT_SET_OPTION([LT_INIT], [pic-only]) AC_DIAGNOSE([obsolete], [$0: Remove this warning and the call to _LT_SET_OPTION when you put the `pic-only' option into LT_INIT's first parameter.]) ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) ## ----------------- ## ## LTDL_INIT Options ## ## ----------------- ## m4_define([_LTDL_MODE], []) LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], [m4_define([_LTDL_MODE], [nonrecursive])]) LT_OPTION_DEFINE([LTDL_INIT], [recursive], [m4_define([_LTDL_MODE], [recursive])]) LT_OPTION_DEFINE([LTDL_INIT], [subproject], [m4_define([_LTDL_MODE], [subproject])]) m4_define([_LTDL_TYPE], []) LT_OPTION_DEFINE([LTDL_INIT], [installable], [m4_define([_LTDL_TYPE], [installable])]) LT_OPTION_DEFINE([LTDL_INIT], [convenience], [m4_define([_LTDL_TYPE], [convenience])]) entangle-0.5.4/m4/manywarnings.m40000664000000000000000000001116012253420651013504 00000000000000# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # manywarnings.m4 serial 1 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # gl_MANYWARN_COMPLEMENT(OUTVAR, LISTVAR, REMOVEVAR) # -------------------------------------------------- # Copy LISTVAR to OUTVAR except for the entries in REMOVEVAR. # Elements separated by whitespace. In set logic terms, the function # does OUTVAR = LISTVAR \ REMOVEVAR. AC_DEFUN([gl_MANYWARN_COMPLEMENT], [ gl_warn_set= set x $2; shift for gl_warn_item do case " $3 " in *" $gl_warn_item "*) ;; *) gl_warn_set="$gl_warn_set $gl_warn_item" ;; esac done $1=$gl_warn_set ]) # gl_MANYWARN_ALL_GCC(VARIABLE) # ----------------------------- # Add all documented GCC (currently as per version 4.4) warning # parameters to variable VARIABLE. Note that you need to test them # using gl_WARN_ADD if you want to make sure your gcc understands it. AC_DEFUN([gl_MANYWARN_ALL_GCC], [ dnl First, check if -Wno-missing-field-initializers is needed. dnl -Wmissing-field-initializers is implied by -W, but that issues dnl warnings with GCC version before 4.7, for the common idiom dnl of initializing types on the stack to zero, using { 0, } AC_REQUIRE([AC_PROG_CC]) if test -n "$GCC"; then dnl First, check -W -Werror -Wno-missing-field-initializers is supported dnl with the current $CC $CFLAGS $CPPFLAGS. AC_MSG_CHECKING([whether -Wno-missing-field-initializers is supported]) AC_CACHE_VAL([gl_cv_cc_nomfi_supported], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror -Wno-missing-field-initializers" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [gl_cv_cc_nomfi_supported=yes], [gl_cv_cc_nomfi_supported=no]) CFLAGS="$gl_save_CFLAGS"]) AC_MSG_RESULT([$gl_cv_cc_nomfi_supported]) if test "$gl_cv_cc_nomfi_supported" = yes; then dnl Now check whether -Wno-missing-field-initializers is needed dnl for the { 0, } construct. AC_MSG_CHECKING([whether -Wno-missing-field-initializers is needed]) AC_CACHE_VAL([gl_cv_cc_nomfi_needed], [ gl_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -W -Werror" AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [[void f (void) { typedef struct { int a; int b; } s_t; s_t s1 = { 0, }; } ]], [[]])], [gl_cv_cc_nomfi_needed=no], [gl_cv_cc_nomfi_needed=yes]) CFLAGS="$gl_save_CFLAGS" ]) AC_MSG_RESULT([$gl_cv_cc_nomfi_needed]) fi fi gl_manywarn_set= for gl_manywarn_item in \ -Wall \ -W \ -Wformat-y2k \ -Wformat-nonliteral \ -Wformat-security \ -Winit-self \ -Wmissing-include-dirs \ -Wswitch-default \ -Wswitch-enum \ -Wunused \ -Wunknown-pragmas \ -Wstrict-aliasing \ -Wstrict-overflow \ -Wsystem-headers \ -Wfloat-equal \ -Wtraditional \ -Wtraditional-conversion \ -Wdeclaration-after-statement \ -Wundef \ -Wshadow \ -Wunsafe-loop-optimizations \ -Wpointer-arith \ -Wbad-function-cast \ -Wc++-compat \ -Wcast-qual \ -Wcast-align \ -Wwrite-strings \ -Wconversion \ -Wsign-conversion \ -Wlogical-op \ -Waggregate-return \ -Wstrict-prototypes \ -Wold-style-definition \ -Wmissing-prototypes \ -Wmissing-declarations \ -Wmissing-noreturn \ -Wmissing-format-attribute \ -Wpacked \ -Wpadded \ -Wredundant-decls \ -Wnested-externs \ -Wunreachable-code \ -Winline \ -Winvalid-pch \ -Wlong-long \ -Wvla \ -Wvolatile-register-var \ -Wdisabled-optimization \ -Wstack-protector \ -Woverlength-strings \ -Wbuiltin-macro-redefined \ -Wmudflap \ -Wpacked-bitfield-compat \ -Wsync-nand \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # The following are not documented in the manual but are included in # output from gcc --help=warnings. for gl_manywarn_item in \ -Wattributes \ -Wcoverage-mismatch \ -Wmultichar \ -Wunused-macros \ ; do gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item" done # Disable the missing-field-initializers warning if needed if test "$gl_cv_cc_nomfi_needed" = yes; then gl_manywarn_set="$gl_manywarn_set -Wno-missing-field-initializers" fi $1=$gl_manywarn_set ]) entangle-0.5.4/m4/libtool.m40000644000000000000000000105756012253420677012460 00000000000000# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. m4_define([_LT_COPYING], [dnl # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, # 2006, 2007, 2008, 2009, 2010, 2011 Free Software # Foundation, Inc. # Written by Gordon Matzigkeit, 1996 # # This file is part of GNU Libtool. # # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, or # obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. ]) # serial 57 LT_INIT # LT_PREREQ(VERSION) # ------------------ # Complain and exit if this libtool version is less that VERSION. m4_defun([LT_PREREQ], [m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, [m4_default([$3], [m4_fatal([Libtool version $1 or higher is required], 63)])], [$2])]) # _LT_CHECK_BUILDDIR # ------------------ # Complain if the absolute build directory name contains unusual characters m4_defun([_LT_CHECK_BUILDDIR], [case `pwd` in *\ * | *\ *) AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; esac ]) # LT_INIT([OPTIONS]) # ------------------ AC_DEFUN([LT_INIT], [AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl AC_BEFORE([$0], [LT_LANG])dnl AC_BEFORE([$0], [LT_OUTPUT])dnl AC_BEFORE([$0], [LTDL_INIT])dnl m4_require([_LT_CHECK_BUILDDIR])dnl dnl Autoconf doesn't catch unexpanded LT_ macros by default: m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 dnl unless we require an AC_DEFUNed macro: AC_REQUIRE([LTOPTIONS_VERSION])dnl AC_REQUIRE([LTSUGAR_VERSION])dnl AC_REQUIRE([LTVERSION_VERSION])dnl AC_REQUIRE([LTOBSOLETE_VERSION])dnl m4_require([_LT_PROG_LTMAIN])dnl _LT_SHELL_INIT([SHELL=${CONFIG_SHELL-/bin/sh}]) dnl Parse OPTIONS _LT_SET_OPTIONS([$0], [$1]) # This can be used to rebuild libtool when needed LIBTOOL_DEPS="$ltmain" # Always use our own libtool. LIBTOOL='$(SHELL) $(top_builddir)/libtool' AC_SUBST(LIBTOOL)dnl _LT_SETUP # Only expand once: m4_define([LT_INIT]) ])# LT_INIT # Old names: AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PROG_LIBTOOL], []) dnl AC_DEFUN([AM_PROG_LIBTOOL], []) # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. m4_defun([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"` ]) # _LT_FILEUTILS_DEFAULTS # ---------------------- # It is okay to use these file commands and assume they have been set # sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. m4_defun([_LT_FILEUTILS_DEFAULTS], [: ${CP="cp -f"} : ${MV="mv -f"} : ${RM="rm -f"} ])# _LT_FILEUTILS_DEFAULTS # _LT_SETUP # --------- m4_defun([_LT_SETUP], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_REQUIRE([_LT_PREPARE_SED_QUOTE_VARS])dnl AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH])dnl _LT_DECL([], [PATH_SEPARATOR], [1], [The PATH separator for the build system])dnl dnl _LT_DECL([], [host_alias], [0], [The host system])dnl _LT_DECL([], [host], [0])dnl _LT_DECL([], [host_os], [0])dnl dnl _LT_DECL([], [build_alias], [0], [The build system])dnl _LT_DECL([], [build], [0])dnl _LT_DECL([], [build_os], [0])dnl dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl dnl AC_REQUIRE([AC_PROG_LN_S])dnl test -z "$LN_S" && LN_S="ln -s" _LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl dnl AC_REQUIRE([LT_CMD_MAX_LEN])dnl _LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl _LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl m4_require([_LT_CMD_RELOAD])dnl m4_require([_LT_CHECK_MAGIC_METHOD])dnl m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl m4_require([_LT_CMD_OLD_ARCHIVE])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_WITH_SYSROOT])dnl _LT_CONFIG_LIBTOOL_INIT([ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes INIT. if test -n "\${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi ]) if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi _LT_CHECK_OBJDIR m4_require([_LT_TAG_COMPILER])dnl case $host_os in aix3*) # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi ;; esac # Global variables: ofile=libtool can_build_shared=yes # All known linkers require a `.a' archive for static linking (except MSVC, # which needs '.lib'). libext=a with_gnu_ld="$lt_cv_prog_gnu_ld" old_CC="$CC" old_CFLAGS="$CFLAGS" # Set sane defaults for various variables test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$LD" && LD=ld test -z "$ac_objext" && ac_objext=o _LT_CC_BASENAME([$compiler]) # Only perform the check for file, if the check method requires it test -z "$MAGIC_CMD" && MAGIC_CMD=file case $deplibs_check_method in file_magic*) if test "$file_magic_cmd" = '$MAGIC_CMD'; then _LT_PATH_MAGIC fi ;; esac # Use C for the default configuration in the libtool script LT_SUPPORTED_TAG([CC]) _LT_LANG_C_CONFIG _LT_LANG_DEFAULT_CONFIG _LT_CONFIG_COMMANDS ])# _LT_SETUP # _LT_PREPARE_SED_QUOTE_VARS # -------------------------- # Define a few sed substitution that help us do robust quoting. m4_defun([_LT_PREPARE_SED_QUOTE_VARS], [# Backslashify metacharacters that are still active within # double-quoted strings. sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\([["`\\]]\)/\\\1/g' # Sed substitution to delay expansion of an escaped shell variable in a # double_quote_subst'ed string. delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' # Sed substitution to delay expansion of an escaped single quote. delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' # Sed substitution to avoid accidental globbing in evaled expressions no_glob_subst='s/\*/\\\*/g' ]) # _LT_PROG_LTMAIN # --------------- # Note that this code is called both from `configure', and `config.status' # now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, # `config.status' has no value for ac_aux_dir unless we are using Automake, # so we pass a copy along to make sure it has a sensible value anyway. m4_defun([_LT_PROG_LTMAIN], [m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl _LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) ltmain="$ac_aux_dir/ltmain.sh" ])# _LT_PROG_LTMAIN ## ------------------------------------- ## ## Accumulate code for creating libtool. ## ## ------------------------------------- ## # So that we can recreate a full libtool script including additional # tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS # in macros and then make a single call at the end using the `libtool' # label. # _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) # ---------------------------------------- # Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL_INIT], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_INIT], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_INIT]) # _LT_CONFIG_LIBTOOL([COMMANDS]) # ------------------------------ # Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. m4_define([_LT_CONFIG_LIBTOOL], [m4_ifval([$1], [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], [$1 ])])]) # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) # _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) # ----------------------------------------------------- m4_defun([_LT_CONFIG_SAVE_COMMANDS], [_LT_CONFIG_LIBTOOL([$1]) _LT_CONFIG_LIBTOOL_INIT([$2]) ]) # _LT_FORMAT_COMMENT([COMMENT]) # ----------------------------- # Add leading comment marks to the start of each line, and a trailing # full-stop to the whole comment if one is not present already. m4_define([_LT_FORMAT_COMMENT], [m4_ifval([$1], [ m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) )]) ## ------------------------ ## ## FIXME: Eliminate VARNAME ## ## ------------------------ ## # _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) # ------------------------------------------------------------------- # CONFIGNAME is the name given to the value in the libtool script. # VARNAME is the (base) name used in the configure script. # VALUE may be 0, 1 or 2 for a computed quote escaped value based on # VARNAME. Any other value will be used directly. m4_define([_LT_DECL], [lt_if_append_uniq([lt_decl_varnames], [$2], [, ], [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], [m4_ifval([$1], [$1], [$2])]) lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) m4_ifval([$4], [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) lt_dict_add_subkey([lt_decl_dict], [$2], [tagged?], [m4_ifval([$5], [yes], [no])])]) ]) # _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) # -------------------------------------------------------- m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) # lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_tag_varnames], [_lt_decl_filter([tagged?], [yes], $@)]) # _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) # --------------------------------------------------------- m4_define([_lt_decl_filter], [m4_case([$#], [0], [m4_fatal([$0: too few arguments: $#])], [1], [m4_fatal([$0: too few arguments: $#: $1])], [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], [lt_dict_filter([lt_decl_dict], $@)])[]dnl ]) # lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) # -------------------------------------------------- m4_define([lt_decl_quote_varnames], [_lt_decl_filter([value], [1], $@)]) # lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_dquote_varnames], [_lt_decl_filter([value], [2], $@)]) # lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) # --------------------------------------------------- m4_define([lt_decl_varnames_tagged], [m4_assert([$# <= 2])dnl _$0(m4_quote(m4_default([$1], [[, ]])), m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) m4_define([_lt_decl_varnames_tagged], [m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) # lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) # ------------------------------------------------ m4_define([lt_decl_all_varnames], [_$0(m4_quote(m4_default([$1], [[, ]])), m4_if([$2], [], m4_quote(lt_decl_varnames), m4_quote(m4_shift($@))))[]dnl ]) m4_define([_lt_decl_all_varnames], [lt_join($@, lt_decl_varnames_tagged([$1], lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl ]) # _LT_CONFIG_STATUS_DECLARE([VARNAME]) # ------------------------------------ # Quote a variable value, and forward it to `config.status' so that its # declaration there will have the same value as in `configure'. VARNAME # must have a single quote delimited value for this to work. m4_define([_LT_CONFIG_STATUS_DECLARE], [$1='`$ECHO "$][$1" | $SED "$delay_single_quote_subst"`']) # _LT_CONFIG_STATUS_DECLARATIONS # ------------------------------ # We delimit libtool config variables with single quotes, so when # we write them to config.status, we have to be sure to quote all # embedded single quotes properly. In configure, this macro expands # each variable declared with _LT_DECL (and _LT_TAGDECL) into: # # ='`$ECHO "$" | $SED "$delay_single_quote_subst"`' m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], [m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAGS # ---------------- # Output comment and list of tags supported by the script m4_defun([_LT_LIBTOOL_TAGS], [_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl available_tags="_LT_TAGS"dnl ]) # _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) # ----------------------------------- # Extract the dictionary values for VARNAME (optionally with TAG) and # expand to a commented shell variable setting: # # # Some comment about what VAR is for. # visible_name=$lt_internal_name m4_define([_LT_LIBTOOL_DECLARE], [_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [description])))[]dnl m4_pushdef([_libtool_name], m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), [0], [_libtool_name=[$]$1], [1], [_libtool_name=$lt_[]$1], [2], [_libtool_name=$lt_[]$1], [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl ]) # _LT_LIBTOOL_CONFIG_VARS # ----------------------- # Produce commented declarations of non-tagged libtool config variables # suitable for insertion in the LIBTOOL CONFIG section of the `libtool' # script. Tagged libtool config variables (even for the LIBTOOL CONFIG # section) are produced by _LT_LIBTOOL_TAG_VARS. m4_defun([_LT_LIBTOOL_CONFIG_VARS], [m4_foreach([_lt_var], m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) # _LT_LIBTOOL_TAG_VARS(TAG) # ------------------------- m4_define([_LT_LIBTOOL_TAG_VARS], [m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) # _LT_TAGVAR(VARNAME, [TAGNAME]) # ------------------------------ m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) # _LT_CONFIG_COMMANDS # ------------------- # Send accumulated output to $CONFIG_STATUS. Thanks to the lists of # variables for single and double quote escaping we saved from calls # to _LT_DECL, we can put quote escaped variables declarations # into `config.status', and then the shell code to quote escape them in # for loops in `config.status'. Finally, any additional code accumulated # from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. m4_defun([_LT_CONFIG_COMMANDS], [AC_PROVIDE_IFELSE([LT_OUTPUT], dnl If the libtool generation code has been placed in $CONFIG_LT, dnl instead of duplicating it all over again into config.status, dnl then we will have config.status run $CONFIG_LT later, so it dnl needs to know what name is stored there: [AC_CONFIG_COMMANDS([libtool], [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], dnl If the libtool generation code is destined for config.status, dnl expand the accumulated commands and init code now: [AC_CONFIG_COMMANDS([libtool], [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) ])#_LT_CONFIG_COMMANDS # Initialize. m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], [ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH sed_quote_subst='$sed_quote_subst' double_quote_subst='$double_quote_subst' delay_variable_subst='$delay_variable_subst' _LT_CONFIG_STATUS_DECLARATIONS LTCC='$LTCC' LTCFLAGS='$LTCFLAGS' compiler='$compiler_DEFAULT' # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$[]1 _LTECHO_EOF' } # Quote evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_quote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done # Double-quote double-evaled strings. for var in lt_decl_all_varnames([[ \ ]], lt_decl_dquote_varnames); do case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in *[[\\\\\\\`\\"\\\$]]*) eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" ;; *) eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" ;; esac done _LT_OUTPUT_LIBTOOL_INIT ]) # _LT_GENERATED_FILE_INIT(FILE, [COMMENT]) # ------------------------------------ # Generate a child script FILE with all initialization necessary to # reuse the environment learned by the parent script, and make the # file executable. If COMMENT is supplied, it is inserted after the # `#!' sequence but before initialization text begins. After this # macro, additional text can be appended to FILE to form the body of # the child script. The macro ends with non-zero status if the # file could not be fully written (such as if the disk is full). m4_ifdef([AS_INIT_GENERATED], [m4_defun([_LT_GENERATED_FILE_INIT],[AS_INIT_GENERATED($@)])], [m4_defun([_LT_GENERATED_FILE_INIT], [m4_require([AS_PREPARE])]dnl [m4_pushdef([AS_MESSAGE_LOG_FD])]dnl [lt_write_fail=0 cat >$1 <<_ASEOF || lt_write_fail=1 #! $SHELL # Generated by $as_me. $2 SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$1 <<\_ASEOF || lt_write_fail=1 AS_SHELL_SANITIZE _AS_PREPARE exec AS_MESSAGE_FD>&1 _ASEOF test $lt_write_fail = 0 && chmod +x $1[]dnl m4_popdef([AS_MESSAGE_LOG_FD])])])# _LT_GENERATED_FILE_INIT # LT_OUTPUT # --------- # This macro allows early generation of the libtool script (before # AC_OUTPUT is called), incase it is used in configure for compilation # tests. AC_DEFUN([LT_OUTPUT], [: ${CONFIG_LT=./config.lt} AC_MSG_NOTICE([creating $CONFIG_LT]) _LT_GENERATED_FILE_INIT(["$CONFIG_LT"], [# Run this file to recreate a libtool stub with the current configuration.]) cat >>"$CONFIG_LT" <<\_LTEOF lt_cl_silent=false exec AS_MESSAGE_LOG_FD>>config.log { echo AS_BOX([Running $as_me.]) } >&AS_MESSAGE_LOG_FD lt_cl_help="\ \`$as_me' creates a local libtool stub from the current configuration, for use in further configure time tests before the real libtool is generated. Usage: $[0] [[OPTIONS]] -h, --help print this help, then exit -V, --version print version number, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files Report bugs to ." lt_cl_version="\ m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) configured by $[0], generated by m4_PACKAGE_STRING. Copyright (C) 2011 Free Software Foundation, Inc. This config.lt script is free software; the Free Software Foundation gives unlimited permision to copy, distribute and modify it." while test $[#] != 0 do case $[1] in --version | --v* | -V ) echo "$lt_cl_version"; exit 0 ;; --help | --h* | -h ) echo "$lt_cl_help"; exit 0 ;; --debug | --d* | -d ) debug=: ;; --quiet | --q* | --silent | --s* | -q ) lt_cl_silent=: ;; -*) AC_MSG_ERROR([unrecognized option: $[1] Try \`$[0] --help' for more information.]) ;; *) AC_MSG_ERROR([unrecognized argument: $[1] Try \`$[0] --help' for more information.]) ;; esac shift done if $lt_cl_silent; then exec AS_MESSAGE_FD>/dev/null fi _LTEOF cat >>"$CONFIG_LT" <<_LTEOF _LT_OUTPUT_LIBTOOL_COMMANDS_INIT _LTEOF cat >>"$CONFIG_LT" <<\_LTEOF AC_MSG_NOTICE([creating $ofile]) _LT_OUTPUT_LIBTOOL_COMMANDS AS_EXIT(0) _LTEOF chmod +x "$CONFIG_LT" # configure is writing to config.log, but config.lt does its own redirection, # appending to config.log, which fails on DOS, as config.log is still kept # open by configure. Here we exec the FD to /dev/null, effectively closing # config.log, so it can be properly (re)opened and appended to by config.lt. lt_cl_success=: test "$silent" = yes && lt_config_lt_args="$lt_config_lt_args --quiet" exec AS_MESSAGE_LOG_FD>/dev/null $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false exec AS_MESSAGE_LOG_FD>>config.log $lt_cl_success || AS_EXIT(1) ])# LT_OUTPUT # _LT_CONFIG(TAG) # --------------- # If TAG is the built-in tag, create an initial libtool script with a # default configuration from the untagged config vars. Otherwise add code # to config.status for appending the configuration named by TAG from the # matching tagged config vars. m4_defun([_LT_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_CONFIG_SAVE_COMMANDS([ m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl m4_if(_LT_TAG, [C], [ # See if we are running on zsh, and set the options which allow our # commands through without removal of \ escapes. if test -n "${ZSH_VERSION+set}" ; then setopt NO_GLOB_SUBST fi cfgfile="${ofile}T" trap "$RM \"$cfgfile\"; exit 1" 1 2 15 $RM "$cfgfile" cat <<_LT_EOF >> "$cfgfile" #! $SHELL # `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. # Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION # Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: # NOTE: Changes made to this file will be lost: look at ltmain.sh. # _LT_COPYING _LT_LIBTOOL_TAGS # ### BEGIN LIBTOOL CONFIG _LT_LIBTOOL_CONFIG_VARS _LT_LIBTOOL_TAG_VARS # ### END LIBTOOL CONFIG _LT_EOF case $host_os in aix3*) cat <<\_LT_EOF >> "$cfgfile" # AIX sometimes has problems with the GCC collect2 program. For some # reason, if we set the COLLECT_NAMES environment variable, the problems # vanish in a puff of smoke. if test "X${COLLECT_NAMES+set}" != Xset; then COLLECT_NAMES= export COLLECT_NAMES fi _LT_EOF ;; esac _LT_PROG_LTMAIN # We use sed instead of cat because bash on DJGPP gets confused if # if finds mixed CR/LF and LF-only lines. Since sed operates in # text mode, it properly converts lines to CR/LF. This bash problem # is reportedly fixed, but why not run on old versions too? sed '$q' "$ltmain" >> "$cfgfile" \ || (rm -f "$cfgfile"; exit 1) _LT_PROG_REPLACE_SHELLFNS mv -f "$cfgfile" "$ofile" || (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") chmod +x "$ofile" ], [cat <<_LT_EOF >> "$ofile" dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded dnl in a comment (ie after a #). # ### BEGIN LIBTOOL TAG CONFIG: $1 _LT_LIBTOOL_TAG_VARS(_LT_TAG) # ### END LIBTOOL TAG CONFIG: $1 _LT_EOF ])dnl /m4_if ], [m4_if([$1], [], [ PACKAGE='$PACKAGE' VERSION='$VERSION' TIMESTAMP='$TIMESTAMP' RM='$RM' ofile='$ofile'], []) ])dnl /_LT_CONFIG_SAVE_COMMANDS ])# _LT_CONFIG # LT_SUPPORTED_TAG(TAG) # --------------------- # Trace this macro to discover what tags are supported by the libtool # --tag option, using: # autoconf --trace 'LT_SUPPORTED_TAG:$1' AC_DEFUN([LT_SUPPORTED_TAG], []) # C support is built-in for now m4_define([_LT_LANG_C_enabled], []) m4_define([_LT_TAGS], []) # LT_LANG(LANG) # ------------- # Enable libtool support for the given language if not already enabled. AC_DEFUN([LT_LANG], [AC_BEFORE([$0], [LT_OUTPUT])dnl m4_case([$1], [C], [_LT_LANG(C)], [C++], [_LT_LANG(CXX)], [Go], [_LT_LANG(GO)], [Java], [_LT_LANG(GCJ)], [Fortran 77], [_LT_LANG(F77)], [Fortran], [_LT_LANG(FC)], [Windows Resource], [_LT_LANG(RC)], [m4_ifdef([_LT_LANG_]$1[_CONFIG], [_LT_LANG($1)], [m4_fatal([$0: unsupported language: "$1"])])])dnl ])# LT_LANG # _LT_LANG(LANGNAME) # ------------------ m4_defun([_LT_LANG], [m4_ifdef([_LT_LANG_]$1[_enabled], [], [LT_SUPPORTED_TAG([$1])dnl m4_append([_LT_TAGS], [$1 ])dnl m4_define([_LT_LANG_]$1[_enabled], [])dnl _LT_LANG_$1_CONFIG($1)])dnl ])# _LT_LANG m4_ifndef([AC_PROG_GO], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_GO. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_GO], [AC_LANG_PUSH(Go)dnl AC_ARG_VAR([GOC], [Go compiler command])dnl AC_ARG_VAR([GOFLAGS], [Go compiler flags])dnl _AC_ARG_VAR_LDFLAGS()dnl AC_CHECK_TOOL(GOC, gccgo) if test -z "$GOC"; then if test -n "$ac_tool_prefix"; then AC_CHECK_PROG(GOC, [${ac_tool_prefix}gccgo], [${ac_tool_prefix}gccgo]) fi fi if test -z "$GOC"; then AC_CHECK_PROG(GOC, gccgo, gccgo, false) fi ])#m4_defun ])#m4_ifndef # _LT_LANG_DEFAULT_CONFIG # ----------------------- m4_defun([_LT_LANG_DEFAULT_CONFIG], [AC_PROVIDE_IFELSE([AC_PROG_CXX], [LT_LANG(CXX)], [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) AC_PROVIDE_IFELSE([AC_PROG_F77], [LT_LANG(F77)], [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) AC_PROVIDE_IFELSE([AC_PROG_FC], [LT_LANG(FC)], [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal dnl pulling things in needlessly. AC_PROVIDE_IFELSE([AC_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], [LT_LANG(GCJ)], [AC_PROVIDE_IFELSE([LT_PROG_GCJ], [LT_LANG(GCJ)], [m4_ifdef([AC_PROG_GCJ], [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([A][M_PROG_GCJ], [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) m4_ifdef([LT_PROG_GCJ], [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) AC_PROVIDE_IFELSE([AC_PROG_GO], [LT_LANG(GO)], [m4_define([AC_PROG_GO], defn([AC_PROG_GO])[LT_LANG(GO)])]) AC_PROVIDE_IFELSE([LT_PROG_RC], [LT_LANG(RC)], [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) ])# _LT_LANG_DEFAULT_CONFIG # Obsolete macros: AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) AU_DEFUN([AC_LIBTOOL_RC], [LT_LANG(Windows Resource)]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_CXX], []) dnl AC_DEFUN([AC_LIBTOOL_F77], []) dnl AC_DEFUN([AC_LIBTOOL_FC], []) dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) dnl AC_DEFUN([AC_LIBTOOL_RC], []) # _LT_TAG_COMPILER # ---------------- m4_defun([_LT_TAG_COMPILER], [AC_REQUIRE([AC_PROG_CC])dnl _LT_DECL([LTCC], [CC], [1], [A C compiler])dnl _LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl _LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl _LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_TAG_COMPILER # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. m4_defun([_LT_COMPILER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $RM conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. m4_defun([_LT_LINKER_BOILERPLATE], [m4_require([_LT_DECL_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $RM -r conftest* ])# _LT_LINKER_BOILERPLATE # _LT_REQUIRED_DARWIN_CHECKS # ------------------------- m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ case $host_os in rhapsody* | darwin*) AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) AC_CHECK_TOOL([LIPO], [lipo], [:]) AC_CHECK_TOOL([OTOOL], [otool], [:]) AC_CHECK_TOOL([OTOOL64], [otool64], [:]) _LT_DECL([], [DSYMUTIL], [1], [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) _LT_DECL([], [NMEDIT], [1], [Tool to change global to local symbols on Mac OS X]) _LT_DECL([], [LIPO], [1], [Tool to manipulate fat objects and archives on Mac OS X]) _LT_DECL([], [OTOOL], [1], [ldd/readelf like tool for Mach-O binaries on Mac OS X]) _LT_DECL([], [OTOOL64], [1], [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], [lt_cv_apple_cc_single_mod=no if test -z "${LT_MULTI_MODULE}"; then # By default we will add the -single_module flag. You can override # by either setting the environment variable LT_MULTI_MODULE # non-empty at configure time, or by adding -multi_module to the # link flags. rm -rf libconftest.dylib* echo "int foo(void){return 1;}" > conftest.c echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ -dynamiclib -Wl,-single_module conftest.c 2>conftest.err _lt_result=$? # If there is a non-empty error log, and "single_module" # appears in it, assume the flag caused a linker warning if test -s conftest.err && $GREP single_module conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD # Otherwise, if the output was created with a 0 exit code from # the compiler, it worked. elif test -f libconftest.dylib && test $_lt_result -eq 0; then lt_cv_apple_cc_single_mod=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -rf libconftest.dylib* rm -f conftest.* fi]) AC_CACHE_CHECK([for -exported_symbols_list linker flag], [lt_cv_ld_exported_symbols_list], [lt_cv_ld_exported_symbols_list=no save_LDFLAGS=$LDFLAGS echo "_main" > conftest.sym LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [lt_cv_ld_exported_symbols_list=yes], [lt_cv_ld_exported_symbols_list=no]) LDFLAGS="$save_LDFLAGS" ]) AC_CACHE_CHECK([for -force_load linker flag],[lt_cv_ld_force_load], [lt_cv_ld_force_load=no cat > conftest.c << _LT_EOF int forced_loaded() { return 2;} _LT_EOF echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD $AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD $RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD cat > conftest.c << _LT_EOF int main() { return 0;} _LT_EOF echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err _lt_result=$? if test -s conftest.err && $GREP force_load conftest.err; then cat conftest.err >&AS_MESSAGE_LOG_FD elif test -f conftest && test $_lt_result -eq 0 && $GREP forced_load conftest >/dev/null 2>&1 ; then lt_cv_ld_force_load=yes else cat conftest.err >&AS_MESSAGE_LOG_FD fi rm -f conftest.err libconftest.a conftest conftest.c rm -rf conftest.dSYM ]) case $host_os in rhapsody* | darwin1.[[012]]) _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; darwin1.*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; darwin*) # darwin 5.x on # if running on 10.5 or later, the deployment target defaults # to the OS version, if on x86, and 10.4, the deployment # target defaults to 10.4. Don't you love it? case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; 10.[[012]]*) _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; esac ;; esac if test "$lt_cv_apple_cc_single_mod" = "yes"; then _lt_dar_single_mod='$single_module' fi if test "$lt_cv_ld_exported_symbols_list" = "yes"; then _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' else _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' fi if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then _lt_dsymutil='~$DSYMUTIL $lib || :' else _lt_dsymutil= fi ;; esac ]) # _LT_DARWIN_LINKER_FEATURES([TAG]) # --------------------------------- # Checks for linker and compiler features on darwin m4_defun([_LT_DARWIN_LINKER_FEATURES], [ m4_require([_LT_REQUIRED_DARWIN_CHECKS]) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported if test "$lt_cv_ld_force_load" = "yes"; then _LT_TAGVAR(whole_archive_flag_spec, $1)='`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`' m4_case([$1], [F77], [_LT_TAGVAR(compiler_needs_object, $1)=yes], [FC], [_LT_TAGVAR(compiler_needs_object, $1)=yes]) else _LT_TAGVAR(whole_archive_flag_spec, $1)='' fi _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" case $cc_basename in ifort*) _lt_dar_can_shared=yes ;; *) _lt_dar_can_shared=$GCC ;; esac if test "$_lt_dar_can_shared" = "yes"; then output_verbose_link_cmd=func_echo_all _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" m4_if([$1], [CXX], [ if test "$lt_cv_apple_cc_single_mod" != "yes"; then _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" fi ],[]) else _LT_TAGVAR(ld_shlibs, $1)=no fi ]) # _LT_SYS_MODULE_PATH_AIX([TAGNAME]) # ---------------------------------- # Links a minimal program and checks the executable # for the system default hardcoded library path. In most cases, # this is /usr/lib:/lib, but when the MPI compilers are used # the location of the communication and MPI libs are included too. # If we don't find anything, use the default library path according # to the aix ld manual. # Store the results from the different compilers for each TAGNAME. # Allow to override them for all tags through lt_cv_aix_libpath. m4_defun([_LT_SYS_MODULE_PATH_AIX], [m4_require([_LT_DECL_SED])dnl if test "${lt_cv_aix_libpath+set}" = set; then aix_libpath=$lt_cv_aix_libpath else AC_CACHE_VAL([_LT_TAGVAR([lt_cv_aix_libpath_], [$1])], [AC_LINK_IFELSE([AC_LANG_PROGRAM],[ lt_aix_libpath_sed='[ /Import File Strings/,/^$/ { /^0/ { s/^0 *\([^ ]*\) *$/\1/ p } }]' _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # Check for a 64-bit object if we didn't find anything. if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` fi],[]) if test -z "$_LT_TAGVAR([lt_cv_aix_libpath_], [$1])"; then _LT_TAGVAR([lt_cv_aix_libpath_], [$1])="/usr/lib:/lib" fi ]) aix_libpath=$_LT_TAGVAR([lt_cv_aix_libpath_], [$1]) fi ])# _LT_SYS_MODULE_PATH_AIX # _LT_SHELL_INIT(ARG) # ------------------- m4_define([_LT_SHELL_INIT], [m4_divert_text([M4SH-INIT], [$1 ])])# _LT_SHELL_INIT # _LT_PROG_ECHO_BACKSLASH # ----------------------- # Find how we can fake an echo command that does not interpret backslash. # In particular, with Autoconf 2.60 or later we add some code to the start # of the generated configure script which will find a shell with a builtin # printf (which we can use as an echo command). m4_defun([_LT_PROG_ECHO_BACKSLASH], [ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO AC_MSG_CHECKING([how to print strings]) # Test print first, because it will be a builtin if present. if test "X`( print -r -- -n ) 2>/dev/null`" = X-n && \ test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='print -r --' elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then ECHO='printf %s\n' else # Use this function as a fallback that always works. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $[]1 _LTECHO_EOF' } ECHO='func_fallback_echo' fi # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } case "$ECHO" in printf*) AC_MSG_RESULT([printf]) ;; print*) AC_MSG_RESULT([print -r]) ;; *) AC_MSG_RESULT([cat]) ;; esac m4_ifdef([_AS_DETECT_SUGGESTED], [_AS_DETECT_SUGGESTED([ test -n "${ZSH_VERSION+set}${BASH_VERSION+set}" || ( ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO PATH=/empty FPATH=/empty; export PATH FPATH test "X`printf %s $ECHO`" = "X$ECHO" \ || test "X`print -r -- $ECHO`" = "X$ECHO" )])]) _LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes]) ])# _LT_PROG_ECHO_BACKSLASH # _LT_WITH_SYSROOT # ---------------- AC_DEFUN([_LT_WITH_SYSROOT], [AC_MSG_CHECKING([for sysroot]) AC_ARG_WITH([sysroot], [ --with-sysroot[=DIR] Search for dependent libraries within DIR (or the compiler's sysroot if not specified).], [], [with_sysroot=no]) dnl lt_sysroot will always be passed unquoted. We quote it here dnl in case the user passed a directory name. lt_sysroot= case ${with_sysroot} in #( yes) if test "$GCC" = yes; then lt_sysroot=`$CC --print-sysroot 2>/dev/null` fi ;; #( /*) lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"` ;; #( no|'') ;; #( *) AC_MSG_RESULT([${with_sysroot}]) AC_MSG_ERROR([The sysroot must be an absolute path.]) ;; esac AC_MSG_RESULT([${lt_sysroot:-no}]) _LT_DECL([], [lt_sysroot], [0], [The root where to search for ]dnl [dependent libraries, and in which our libraries should be installed.])]) # _LT_ENABLE_LOCK # --------------- m4_defun([_LT_ENABLE_LOCK], [AC_ARG_ENABLE([libtool-lock], [AS_HELP_STRING([--disable-libtool-lock], [avoid locking (might break parallel builds)])]) test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Some flags need to be propagated to the compiler or linker for good # libtool support. case $host in ia64-*-hpux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.$ac_objext` in *ELF-32*) HPUX_IA64_MODE="32" ;; *ELF-64*) HPUX_IA64_MODE="64" ;; esac fi rm -rf conftest* ;; *-*-irix6*) # Find out which ABI we are using. echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then if test "$lt_cv_prog_gnu_ld" = yes; then case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -melf32bsmip" ;; *N32*) LD="${LD-ld} -melf32bmipn32" ;; *64-bit*) LD="${LD-ld} -melf64bmip" ;; esac else case `/usr/bin/file conftest.$ac_objext` in *32-bit*) LD="${LD-ld} -32" ;; *N32*) LD="${LD-ld} -n32" ;; *64-bit*) LD="${LD-ld} -64" ;; esac fi fi rm -rf conftest* ;; x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \ s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; powerpcle-*linux*) LD="${LD-ld} -m elf32lppclinux" ;; powerpc-*linux*) LD="${LD-ld} -m elf32ppclinux" ;; s390x-*linux*) LD="${LD-ld} -m elf_s390" ;; sparc64-*linux*) LD="${LD-ld} -m elf32_sparc" ;; esac ;; *64-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_x86_64" ;; powerpcle-*linux*) LD="${LD-ld} -m elf64lppc" ;; powerpc-*linux*) LD="${LD-ld} -m elf64ppc" ;; s390*-*linux*|s390*-*tpf*) LD="${LD-ld} -m elf64_s390" ;; sparc*-*linux*) LD="${LD-ld} -m elf64_sparc" ;; esac ;; esac fi rm -rf conftest* ;; *-*-sco3.2v5*) # On SCO OpenServer 5, we need -belf to get full-featured binaries. SAVE_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -belf" AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, [AC_LANG_PUSH(C) AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) AC_LANG_POP]) if test x"$lt_cv_cc_needs_belf" != x"yes"; then # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf CFLAGS="$SAVE_CFLAGS" fi ;; *-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if AC_TRY_EVAL(ac_compile); then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) case $host in i?86-*-solaris*) LD="${LD-ld} -m elf_x86_64" ;; sparc*-*-solaris*) LD="${LD-ld} -m elf64_sparc" ;; esac # GNU ld 2.21 introduced _sol2 emulations. Use them if available. if ${LD-ld} -V | grep _sol2 >/dev/null 2>&1; then LD="${LD-ld}_sol2" fi ;; *) if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then LD="${LD-ld} -64" fi ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" ])# _LT_ENABLE_LOCK # _LT_PROG_AR # ----------- m4_defun([_LT_PROG_AR], [AC_CHECK_TOOLS(AR, [ar], false) : ${AR=ar} : ${AR_FLAGS=cru} _LT_DECL([], [AR], [1], [The archiver]) _LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive]) AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file], [lt_cv_ar_at_file=no AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [echo conftest.$ac_objext > conftest.lst lt_ar_try='$AR $AR_FLAGS libconftest.a @conftest.lst >&AS_MESSAGE_LOG_FD' AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -eq 0; then # Ensure the archiver fails upon bogus file names. rm -f conftest.$ac_objext libconftest.a AC_TRY_EVAL([lt_ar_try]) if test "$ac_status" -ne 0; then lt_cv_ar_at_file=@ fi fi rm -f conftest.* libconftest.a ]) ]) if test "x$lt_cv_ar_at_file" = xno; then archiver_list_spec= else archiver_list_spec=$lt_cv_ar_at_file fi _LT_DECL([], [archiver_list_spec], [1], [How to feed a file listing to the archiver]) ])# _LT_PROG_AR # _LT_CMD_OLD_ARCHIVE # ------------------- m4_defun([_LT_CMD_OLD_ARCHIVE], [_LT_PROG_AR AC_CHECK_TOOL(STRIP, strip, :) test -z "$STRIP" && STRIP=: _LT_DECL([], [STRIP], [1], [A symbol stripping program]) AC_CHECK_TOOL(RANLIB, ranlib, :) test -z "$RANLIB" && RANLIB=: _LT_DECL([], [RANLIB], [1], [Commands used to install an old-style archive]) # Determine commands to create old-style static archives. old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' old_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib" fi case $host_os in darwin*) lock_old_archive_extraction=yes ;; *) lock_old_archive_extraction=no ;; esac _LT_DECL([], [old_postinstall_cmds], [2]) _LT_DECL([], [old_postuninstall_cmds], [2]) _LT_TAGDECL([], [old_archive_cmds], [2], [Commands used to build an old-style archive]) _LT_DECL([], [lock_old_archive_extraction], [0], [Whether to use a lock for old archive extraction]) ])# _LT_CMD_OLD_ARCHIVE # _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------------------- # Check whether the given compiler option works AC_DEFUN([_LT_COMPILER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$3" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. # The option is referenced via a variable to avoid confusing sed. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi $RM conftest* ]) if test x"[$]$2" = xyes; then m4_if([$5], , :, [$5]) else m4_if([$6], , :, [$6]) fi ])# _LT_COMPILER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) # _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, # [ACTION-SUCCESS], [ACTION-FAILURE]) # ---------------------------------------------------- # Check whether the given linker option works AC_DEFUN([_LT_LINKER_OPTION], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker can only warn and ignore the option if not recognized # So say no if there are warnings if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi else $2=yes fi fi $RM -r conftest* LDFLAGS="$save_LDFLAGS" ]) if test x"[$]$2" = xyes; then m4_if([$4], , :, [$4]) else m4_if([$5], , :, [$5]) fi ])# _LT_LINKER_OPTION # Old name: AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) # LT_CMD_MAX_LEN #--------------- AC_DEFUN([LT_CMD_MAX_LEN], [AC_REQUIRE([AC_CANONICAL_HOST])dnl # find the maximum length of command line arguments AC_MSG_CHECKING([the maximum length of command line arguments]) AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl i=0 teststring="ABCD" case $build_os in msdosdjgpp*) # On DJGPP, this test can blow up pretty badly due to problems in libc # (any single argument exceeding 2000 bytes causes a buffer overrun # during glob expansion). Even if it were fixed, the result of this # check would be larger than it should be. lt_cv_sys_max_cmd_len=12288; # 12K is about right ;; gnu*) # Under GNU Hurd, this test is not required because there is # no limit to the length of command line arguments. # Libtool will interpret -1 as no limit whatsoever lt_cv_sys_max_cmd_len=-1; ;; cygwin* | mingw* | cegcc*) # On Win9x/ME, this test blows up -- it succeeds, but takes # about 5 minutes as the teststring grows exponentially. # Worse, since 9x/ME are not pre-emptively multitasking, # you end up with a "frozen" computer, even though with patience # the test eventually succeeds (with a max line length of 256k). # Instead, let's just punt: use the minimum linelength reported by # all of the supported platforms: 8192 (on NT/2K/XP). lt_cv_sys_max_cmd_len=8192; ;; mint*) # On MiNT this can take a long time and run out of memory. lt_cv_sys_max_cmd_len=8192; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; os2*) # The test takes a long time on OS/2. lt_cv_sys_max_cmd_len=8192 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else # Make teststring a little bigger before we do anything with it. # a 1K string should be a reasonable start. for i in 1 2 3 4 5 6 7 8 ; do teststring=$teststring$teststring done SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. while { test "X"`env echo "$teststring$teststring" 2>/dev/null` \ = "X$teststring$teststring"; } >/dev/null 2>&1 && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done # Only check the string length outside the loop. lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` teststring= # Add a significant safety factor because C++ compilers can tack on # massive amounts of additional arguments before passing them to the # linker. It appears as though 1/2 is a usable value. lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` fi ;; esac ]) if test -n $lt_cv_sys_max_cmd_len ; then AC_MSG_RESULT($lt_cv_sys_max_cmd_len) else AC_MSG_RESULT(none) fi max_cmd_len=$lt_cv_sys_max_cmd_len _LT_DECL([], [max_cmd_len], [0], [What is the maximum length of a command?]) ])# LT_CMD_MAX_LEN # Old name: AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) # _LT_HEADER_DLFCN # ---------------- m4_defun([_LT_HEADER_DLFCN], [AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl ])# _LT_HEADER_DLFCN # _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) # ---------------------------------------------------------------- m4_defun([_LT_TRY_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "$cross_compiling" = yes; then : [$4] else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF [#line $LINENO "configure" #include "confdefs.h" #if HAVE_DLFCN_H #include #endif #include #ifdef RTLD_GLOBAL # define LT_DLGLOBAL RTLD_GLOBAL #else # ifdef DL_GLOBAL # define LT_DLGLOBAL DL_GLOBAL # else # define LT_DLGLOBAL 0 # endif #endif /* We may have to define LT_DLLAZY_OR_NOW in the command line if we find out it does not work in some platform. */ #ifndef LT_DLLAZY_OR_NOW # ifdef RTLD_LAZY # define LT_DLLAZY_OR_NOW RTLD_LAZY # else # ifdef DL_LAZY # define LT_DLLAZY_OR_NOW DL_LAZY # else # ifdef RTLD_NOW # define LT_DLLAZY_OR_NOW RTLD_NOW # else # ifdef DL_NOW # define LT_DLLAZY_OR_NOW DL_NOW # else # define LT_DLLAZY_OR_NOW 0 # endif # endif # endif # endif #endif /* When -fvisbility=hidden is used, assume the code has been annotated correspondingly for the symbols needed. */ #if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3)) int fnord () __attribute__((visibility("default"))); #endif int fnord () { return 42; } int main () { void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); int status = $lt_dlunknown; if (self) { if (dlsym (self,"fnord")) status = $lt_dlno_uscore; else { if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; else puts (dlerror ()); } /* dlclose (self); */ } else puts (dlerror ()); return status; }] _LT_EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed $3 fi fi rm -fr conftest* ])# _LT_TRY_DLOPEN_SELF # LT_SYS_DLOPEN_SELF # ------------------ AC_DEFUN([LT_SYS_DLOPEN_SELF], [m4_require([_LT_HEADER_DLFCN])dnl if test "x$enable_dlopen" != xyes; then enable_dlopen=unknown enable_dlopen_self=unknown enable_dlopen_self_static=unknown else lt_cv_dlopen=no lt_cv_dlopen_libs= case $host_os in beos*) lt_cv_dlopen="load_add_on" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ;; mingw* | pw32* | cegcc*) lt_cv_dlopen="LoadLibrary" lt_cv_dlopen_libs= ;; cygwin*) lt_cv_dlopen="dlopen" lt_cv_dlopen_libs= ;; darwin*) # if libdl is installed we need to link against it AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes ]) ;; *) AC_CHECK_FUNC([shl_load], [lt_cv_dlopen="shl_load"], [AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], [AC_CHECK_FUNC([dlopen], [lt_cv_dlopen="dlopen"], [AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) ]) ]) ]) ]) ]) ;; esac if test "x$lt_cv_dlopen" != xno; then enable_dlopen=yes else enable_dlopen=no fi case $lt_cv_dlopen in dlopen) save_CPPFLAGS="$CPPFLAGS" test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" AC_CACHE_CHECK([whether a program can dlopen itself], lt_cv_dlopen_self, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) ]) if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_TRY_DLOPEN_SELF( lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) ]) fi CPPFLAGS="$save_CPPFLAGS" LDFLAGS="$save_LDFLAGS" LIBS="$save_LIBS" ;; esac case $lt_cv_dlopen_self in yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; *) enable_dlopen_self=unknown ;; esac case $lt_cv_dlopen_self_static in yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; *) enable_dlopen_self_static=unknown ;; esac fi _LT_DECL([dlopen_support], [enable_dlopen], [0], [Whether dlopen is supported]) _LT_DECL([dlopen_self], [enable_dlopen_self], [0], [Whether dlopen of programs is supported]) _LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], [Whether dlopen of statically linked programs is supported]) ])# LT_SYS_DLOPEN_SELF # Old name: AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) # _LT_COMPILER_C_O([TAGNAME]) # --------------------------- # Check to see if options -c and -o are simultaneously supported by compiler. # This macro does not hard code the compiler like AC_PROG_CC_C_O. m4_defun([_LT_COMPILER_C_O], [m4_require([_LT_DECL_SED])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no $RM -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-o out/conftest2.$ac_objext" # Insert the option either (1) after the last *FLAGS variable, or # (2) before a word containing "conftest.", or (3) at the end. # Note that $ac_compile itself does not contain backslashes and begins # with a dollar sign (not a hyphen), so the echo should work correctly. lt_compile=`echo "$ac_compile" | $SED \ -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&AS_MESSAGE_LOG_FD echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $RM conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files $RM out/* && rmdir out cd .. $RM -r conftest $RM conftest* ]) _LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], [Does compiler simultaneously support -c and -o options?]) ])# _LT_COMPILER_C_O # _LT_COMPILER_FILE_LOCKS([TAGNAME]) # ---------------------------------- # Check to see if we can do hard links to lock some files if needed m4_defun([_LT_COMPILER_FILE_LOCKS], [m4_require([_LT_ENABLE_LOCK])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl _LT_COMPILER_C_O([$1]) hard_links="nottested" if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user AC_MSG_CHECKING([if we can lock with hard links]) hard_links=yes $RM conftest* ln conftest.a conftest.b 2>/dev/null && hard_links=no touch conftest.a ln conftest.a conftest.b 2>&5 || hard_links=no ln conftest.a conftest.b 2>/dev/null && hard_links=no AC_MSG_RESULT([$hard_links]) if test "$hard_links" = no; then AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) need_locks=warn fi else need_locks=no fi _LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) ])# _LT_COMPILER_FILE_LOCKS # _LT_CHECK_OBJDIR # ---------------- m4_defun([_LT_CHECK_OBJDIR], [AC_CACHE_CHECK([for objdir], [lt_cv_objdir], [rm -f .libs 2>/dev/null mkdir .libs 2>/dev/null if test -d .libs; then lt_cv_objdir=.libs else # MS-DOS does not allow filenames that begin with a dot. lt_cv_objdir=_libs fi rmdir .libs 2>/dev/null]) objdir=$lt_cv_objdir _LT_DECL([], [objdir], [0], [The name of the directory that contains temporary libtool files])dnl m4_pattern_allow([LT_OBJDIR])dnl AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", [Define to the sub-directory in which libtool stores uninstalled libraries.]) ])# _LT_CHECK_OBJDIR # _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) # -------------------------------------- # Check hardcoding attributes. m4_defun([_LT_LINKER_HARDCODE_LIBPATH], [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_TAGVAR(hardcode_action, $1)= if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || test -n "$_LT_TAGVAR(runpath_var, $1)" || test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existent directories. if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && # If the only mechanism to avoid hardcoding is shlibpath_var, we # have to relink, otherwise we might link with an installed library # when we should be linking with a yet-to-be-installed one ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then # Linking always hardcodes the temporary library directory. _LT_TAGVAR(hardcode_action, $1)=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. _LT_TAGVAR(hardcode_action, $1)=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. _LT_TAGVAR(hardcode_action, $1)=unsupported fi AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then # Fast installation is not supported enable_fast_install=no elif test "$shlibpath_overrides_runpath" = yes || test "$enable_shared" = no; then # Fast installation is not necessary enable_fast_install=needless fi _LT_TAGDECL([], [hardcode_action], [0], [How to hardcode a shared library path into an executable]) ])# _LT_LINKER_HARDCODE_LIBPATH # _LT_CMD_STRIPLIB # ---------------- m4_defun([_LT_CMD_STRIPLIB], [m4_require([_LT_DECL_EGREP]) striplib= old_striplib= AC_MSG_CHECKING([whether stripping libraries is possible]) if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" test -z "$striplib" && striplib="$STRIP --strip-unneeded" AC_MSG_RESULT([yes]) else # FIXME - insert some real tests, host_os isn't really good enough case $host_os in darwin*) if test -n "$STRIP" ; then striplib="$STRIP -x" old_striplib="$STRIP -S" AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) fi ;; *) AC_MSG_RESULT([no]) ;; esac fi _LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) _LT_DECL([], [striplib], [1]) ])# _LT_CMD_STRIPLIB # _LT_SYS_DYNAMIC_LINKER([TAG]) # ----------------------------- # PORTME Fill in your ld.so characteristics m4_defun([_LT_SYS_DYNAMIC_LINKER], [AC_REQUIRE([AC_CANONICAL_HOST])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_OBJDUMP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CHECK_SHELL_FEATURES])dnl AC_MSG_CHECKING([dynamic linker characteristics]) m4_if([$1], [], [ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac case $host_os in mingw* | cegcc*) lt_sed_strip_eq="s,=\([[A-Za-z]]:\),\1,g" ;; *) lt_sed_strip_eq="s,=/,/,g" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq` case $lt_search_path_spec in *\;*) # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'` ;; *) lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"` ;; esac # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` # AWK program above erroneously prepends '/' to C:/dos/paths # for these hosts. case $host_os in mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\ $SED 's,/\([[A-Za-z]]:\),\1,g'` ;; esac sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".so" postinstall_cmds= postuninstall_cmds= finish_cmds= finish_eval= shlibpath_var= shlibpath_overrides_runpath=unknown version_type=none dynamic_linker="$host_os ld.so" sys_lib_dlsearch_path_spec="/lib /usr/lib" need_lib_prefix=unknown hardcode_into_libs=no # when you set need_version to no, make sure it does not cause -set_version # flags to be left without arguments need_version=unknown case $host_os in aix3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' shlibpath_var=LIBPATH # AIX 3 has no versioning support, so we append a major version to the name. soname_spec='${libname}${release}${shared_ext}$major' ;; aix[[4-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no hardcode_into_libs=yes if test "$host_cpu" = ia64; then # AIX 5 supports IA64 library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH else # With GCC up to 2.95.x, collect2 would create an import file # for dependence libraries. The import file would start with # the line `#! .'. This would cause the generated library to # depend on `.', always an invalid library. This was fixed in # development snapshots of GCC prior to 3.0. case $host_os in aix4 | aix4.[[01]] | aix4.[[01]].*) if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' echo ' yes ' echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then : else can_build_shared=no fi ;; esac # AIX (on Power*) has no versioning support, so currently we can not hardcode correct # soname into executable. Probably we can add versioning support to # collect2, so additional links can be useful in future. if test "$aix_use_runtimelinking" = yes; then # If using run time linking (on AIX 4.2 or later) use lib.so # instead of lib.a to let people know that these are not # typical AIX shared libraries. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' else # We preserve .a as extension for shared libraries through AIX4.2 # and later when we are not doing run time linking. library_names_spec='${libname}${release}.a $libname.a' soname_spec='${libname}${release}${shared_ext}$major' fi shlibpath_var=LIBPATH fi ;; amigaos*) case $host_cpu in powerpc) # Since July 2007 AmigaOS4 officially supports .so libraries. # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' ;; m68k) library_names_spec='$libname.ixlibrary $libname.a' # Create ${libname}_ixlibrary.a entries in /sys/libs. finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' ;; esac ;; beos*) library_names_spec='${libname}${shared_ext}' dynamic_linker="$host_os ld.so" shlibpath_var=LIBRARY_PATH ;; bsdi[[45]]*) version_type=linux # correct to gnu/linux during the next big refactor need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" # the default ld.so.conf also contains /usr/contrib/lib and # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow # libtool to hard-code these into programs ;; cygwin* | mingw* | pw32* | cegcc*) version_type=windows shrext_cmds=".dll" need_version=no need_lib_prefix=no case $GCC,$cc_basename in yes,*) # gcc library_names_spec='$libname.dll.a' # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname~ chmod a+x \$dldir/$dlname~ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; fi' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes case $host_os in cygwin*) # Cygwin DLLs use 'cyg' prefix rather than 'lib' soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"]) ;; mingw* | cegcc*) # MinGW DLLs use traditional 'lib' prefix soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; pw32*) # pw32 DLLs use 'pw' prefix rather than 'lib' library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' ;; esac dynamic_linker='Win32 ld.exe' ;; *,cl*) # Native MSVC libname_spec='$name' soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' library_names_spec='${libname}.dll.lib' case $build_os in mingw*) sys_lib_search_path_spec= lt_save_ifs=$IFS IFS=';' for lt_path in $LIB do IFS=$lt_save_ifs # Let DOS variable expansion print the short 8.3 style file name. lt_path=`cd "$lt_path" 2>/dev/null && cmd //C "for %i in (".") do @echo %~si"` sys_lib_search_path_spec="$sys_lib_search_path_spec $lt_path" done IFS=$lt_save_ifs # Convert to MSYS style. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'` ;; cygwin*) # Convert to unix form, then to dos form, then back to unix form # but this time dos style (no spaces!) so that the unix form looks # like /cygdrive/c/PROGRA~1:/cygdr... sys_lib_search_path_spec=`cygpath --path --unix "$LIB"` sys_lib_search_path_spec=`cygpath --path --dos "$sys_lib_search_path_spec" 2>/dev/null` sys_lib_search_path_spec=`cygpath --path --unix "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` ;; *) sys_lib_search_path_spec="$LIB" if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then # It is most probably a Windows format PATH. sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` else sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # FIXME: find the short name or the path components, as spaces are # common. (e.g. "Program Files" -> "PROGRA~1") ;; esac # DLL is installed to $(libdir)/../bin by postinstall_cmds postinstall_cmds='base_file=`basename \${file}`~ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ dldir=$destdir/`dirname \$dlpath`~ test -d \$dldir || mkdir -p \$dldir~ $install_prog $dir/$dlname \$dldir/$dlname' postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ dlpath=$dir/\$dldll~ $RM \$dlpath' shlibpath_overrides_runpath=yes dynamic_linker='Win32 link.exe' ;; *) # Assume MSVC wrapper library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' dynamic_linker='Win32 ld.exe' ;; esac # FIXME: first we should search . and the directory the executable is in shlibpath_var=PATH ;; darwin* | rhapsody*) dynamic_linker="$host_os dyld" version_type=darwin need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' soname_spec='${libname}${release}${major}$shared_ext' shlibpath_overrides_runpath=yes shlibpath_var=DYLD_LIBRARY_PATH shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' ;; dgux*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[23]].*) objformat=aout ;; *) objformat=elf ;; esac fi version_type=freebsd-$objformat case $version_type in freebsd-elf*) library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' need_version=no need_lib_prefix=no ;; freebsd-*) library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' need_version=yes ;; esac shlibpath_var=LD_LIBRARY_PATH case $host_os in freebsd2.*) shlibpath_overrides_runpath=yes ;; freebsd3.[[01]]* | freebsdelf3.[[01]]*) shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; esac ;; gnu*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; haiku*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no dynamic_linker="$host_os runtime_loader" library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LIBRARY_PATH shlibpath_overrides_runpath=yes sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib' hardcode_into_libs=yes ;; hpux9* | hpux10* | hpux11*) # Give a soname corresponding to the major version so that dld.sl refuses to # link against other versions. version_type=sunos need_lib_prefix=no need_version=no case $host_cpu in ia64*) shrext_cmds='.so' hardcode_into_libs=yes dynamic_linker="$host_os dld.so" shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' if test "X$HPUX_IA64_MODE" = X32; then sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" else sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" fi sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; hppa*64*) shrext_cmds='.sl' hardcode_into_libs=yes dynamic_linker="$host_os dld.sl" shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec ;; *) shrext_cmds='.sl' dynamic_linker="$host_os dld.sl" shlibpath_var=SHLIB_PATH shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' ;; esac # HP-UX runs *really* slowly unless shared libraries are mode 555, ... postinstall_cmds='chmod 555 $lib' # or fails outright, so override atomically: install_override_mode=555 ;; interix[[3-9]]*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; *) if test "$lt_cv_prog_gnu_ld" = yes; then version_type=linux # correct to gnu/linux during the next big refactor else version_type=irix fi ;; esac need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' case $host_os in irix5* | nonstopux*) libsuff= shlibsuff= ;; *) case $LD in # libtool.m4 will add one of these switches to LD *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") libsuff= shlibsuff= libmagic=32-bit;; *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") libsuff=32 shlibsuff=N32 libmagic=N32;; *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") libsuff=64 shlibsuff=64 libmagic=64-bit;; *) libsuff= shlibsuff= libmagic=never-match;; esac ;; esac shlibpath_var=LD_LIBRARY${shlibsuff}_PATH shlibpath_overrides_runpath=no sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" hardcode_into_libs=yes ;; # No shared lib support for Linux oldld, aout, or coff. linux*oldld* | linux*aout* | linux*coff*) dynamic_linker=no ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # Some binutils ld are patched to set DT_RUNPATH AC_CACHE_VAL([lt_cv_shlibpath_overrides_runpath], [lt_cv_shlibpath_overrides_runpath=no save_LDFLAGS=$LDFLAGS save_libdir=$libdir eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], [lt_cv_shlibpath_overrides_runpath=yes])]) LDFLAGS=$save_LDFLAGS libdir=$save_libdir ]) shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath # This implies no fast_install, which is unacceptable. # Some rework will be needed to allow for fast_install # before this can be enabled. hardcode_into_libs=yes # Add ABI-specific directories to the system library path. sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib" # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra" fi # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the # GNU dynamic linker. Since this was broken with cross compilers, # most powerpc-linux boxes support dynamic linking these days and # people can always --disable-shared, the test was removed, and we # assume the GNU/Linux dynamic linker is in use. dynamic_linker='GNU/Linux ld.so' ;; netbsd*) version_type=sunos need_lib_prefix=no need_version=no if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' dynamic_linker='NetBSD (a.out) ld.so' else library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' dynamic_linker='NetBSD ld.elf_so' fi shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; newsos6) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes ;; *nto* | *qnx*) version_type=qnx need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes dynamic_linker='ldqnx.so' ;; openbsd*) version_type=sunos sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then case $host_os in openbsd2.[[89]] | openbsd2.[[89]].*) shlibpath_overrides_runpath=no ;; *) shlibpath_overrides_runpath=yes ;; esac else shlibpath_overrides_runpath=yes fi ;; os2*) libname_spec='$name' shrext_cmds=".dll" need_lib_prefix=no library_names_spec='$libname${shared_ext} $libname.a' dynamic_linker='OS/2 ld.exe' shlibpath_var=LIBPATH ;; osf3* | osf4* | osf5*) version_type=osf need_lib_prefix=no need_version=no soname_spec='${libname}${release}${shared_ext}$major' library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; rdos*) dynamic_linker=no ;; solaris*) version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes # ldd complains unless libraries are executable postinstall_cmds='chmod +x $lib' ;; sunos4*) version_type=sunos library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes if test "$with_gnu_ld" = yes; then need_lib_prefix=no fi need_version=yes ;; sysv4 | sysv4.3*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH case $host_vendor in sni) shlibpath_overrides_runpath=no need_lib_prefix=no runpath_var=LD_RUN_PATH ;; siemens) need_lib_prefix=no ;; motorola) need_lib_prefix=no need_version=no shlibpath_overrides_runpath=no sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' ;; esac ;; sysv4*MP*) if test -d /usr/nec ;then version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' soname_spec='$libname${shared_ext}.$major' shlibpath_var=LD_LIBRARY_PATH fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=yes hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; tpf*) # TPF is a cross-target only. Preferred cross-host = GNU/Linux. version_type=linux # correct to gnu/linux during the next big refactor need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; uts4*) version_type=linux # correct to gnu/linux during the next big refactor library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH ;; *) dynamic_linker=no ;; esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no variables_saved_for_relink="PATH $shlibpath_var $runpath_var" if test "$GCC" = yes; then variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" fi if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" fi if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" fi _LT_DECL([], [variables_saved_for_relink], [1], [Variables whose values should be saved in libtool wrapper scripts and restored at link time]) _LT_DECL([], [need_lib_prefix], [0], [Do we need the "lib" prefix for modules?]) _LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) _LT_DECL([], [version_type], [0], [Library versioning type]) _LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) _LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) _LT_DECL([], [shlibpath_overrides_runpath], [0], [Is shlibpath searched before the hard-coded library search path?]) _LT_DECL([], [libname_spec], [1], [Format of library name prefix]) _LT_DECL([], [library_names_spec], [1], [[List of archive names. First name is the real one, the rest are links. The last name is the one that the linker finds with -lNAME]]) _LT_DECL([], [soname_spec], [1], [[The coded name of the library, if different from the real name]]) _LT_DECL([], [install_override_mode], [1], [Permission mode override for installation of shared libraries]) _LT_DECL([], [postinstall_cmds], [2], [Command to use after installation of a shared archive]) _LT_DECL([], [postuninstall_cmds], [2], [Command to use after uninstallation of a shared archive]) _LT_DECL([], [finish_cmds], [2], [Commands used to finish a libtool library installation in a directory]) _LT_DECL([], [finish_eval], [1], [[As "finish_cmds", except a single script fragment to be evaled but not shown]]) _LT_DECL([], [hardcode_into_libs], [0], [Whether we should hardcode library paths into libraries]) _LT_DECL([], [sys_lib_search_path_spec], [2], [Compile-time system search path for libraries]) _LT_DECL([], [sys_lib_dlsearch_path_spec], [2], [Run-time system search path for libraries]) ])# _LT_SYS_DYNAMIC_LINKER # _LT_PATH_TOOL_PREFIX(TOOL) # -------------------------- # find a file program which can recognize shared library AC_DEFUN([_LT_PATH_TOOL_PREFIX], [m4_require([_LT_DECL_EGREP])dnl AC_MSG_CHECKING([for $1]) AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, [case $MAGIC_CMD in [[\\/*] | ?:[\\/]*]) lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. ;; *) lt_save_MAGIC_CMD="$MAGIC_CMD" lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR dnl $ac_dummy forces splitting on constant user-supplied paths. dnl POSIX.2 word splitting is done only on the output of word expansions, dnl not every word. This closes a longstanding sh security hole. ac_dummy="m4_if([$2], , $PATH, [$2])" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$1; then lt_cv_path_MAGIC_CMD="$ac_dir/$1" if test -n "$file_magic_test_file"; then case $deplibs_check_method in "file_magic "*) file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | $EGREP "$file_magic_regex" > /dev/null; then : else cat <<_LT_EOF 1>&2 *** Warning: the command libtool uses to detect shared libraries, *** $file_magic_cmd, produces output that libtool cannot recognize. *** The result is that libtool may fail to recognize shared libraries *** as such. This will affect the creation of libtool libraries that *** depend on shared libraries, but programs linked with such libtool *** libraries will work regardless of this problem. Nevertheless, you *** may want to report the problem to your system manager and/or to *** bug-libtool@gnu.org _LT_EOF fi ;; esac fi break fi done IFS="$lt_save_ifs" MAGIC_CMD="$lt_save_MAGIC_CMD" ;; esac]) MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then AC_MSG_RESULT($MAGIC_CMD) else AC_MSG_RESULT(no) fi _LT_DECL([], [MAGIC_CMD], [0], [Used to examine libraries when file_magic_cmd begins with "file"])dnl ])# _LT_PATH_TOOL_PREFIX # Old name: AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) # _LT_PATH_MAGIC # -------------- # find a file program which can recognize a shared library m4_defun([_LT_PATH_MAGIC], [_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) else MAGIC_CMD=: fi fi ])# _LT_PATH_MAGIC # LT_PATH_LD # ---------- # find the pathname to the GNU or non-GNU linker AC_DEFUN([LT_PATH_LD], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PROG_ECHO_BACKSLASH])dnl AC_ARG_WITH([gnu-ld], [AS_HELP_STRING([--with-gnu-ld], [assume the C compiler uses GNU ld @<:@default=no@:>@])], [test "$withval" = no || with_gnu_ld=yes], [with_gnu_ld=no])dnl ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. AC_MSG_CHECKING([for ld used by $CC]) case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; *) ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; esac case $ac_prog in # Accept absolute paths. [[\\/]]* | ?:[[\\/]]*) re_direlt='/[[^/]][[^/]]*/\.\./' # Canonicalize the pathname of ld ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` done test -z "$LD" && LD="$ac_prog" ;; "") # If it fails, then pretend we aren't using GCC. ac_prog=ld ;; *) # If it is relative, then search for the first ld in PATH. with_gnu_ld=unknown ;; esac elif test "$with_gnu_ld" = yes; then AC_MSG_CHECKING([for GNU ld]) else AC_MSG_CHECKING([for non-GNU ld]) fi AC_CACHE_VAL(lt_cv_path_LD, [if test -z "$LD"; then lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then lt_cv_path_LD="$ac_dir/$ac_prog" # Check to see if the program is GNU ld. I'd rather use --version, # but apparently some variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else # Keep this pattern in sync with the one in func_win32_libid. lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; cegcc*) # use the weaker test based on 'objdump'. See mingw*. lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' lt_cv_file_magic_cmd='$OBJDUMP -f' ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then case $host_cpu in i*86 ) # Not sure whether the presence of OpenBSD here was a mistake. # Let's accept both of them until this is cleared up. lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` ;; esac else lt_cv_deplibs_check_method=pass_all fi ;; gnu*) lt_cv_deplibs_check_method=pass_all ;; haiku*) lt_cv_deplibs_check_method=pass_all ;; hpux10.20* | hpux11*) lt_cv_file_magic_cmd=/usr/bin/file case $host_cpu in ia64*) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so ;; hppa*64*) [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'] lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl ;; *) lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]]\.[[0-9]]) shared library' lt_cv_file_magic_test_file=/usr/lib/libc.sl ;; esac ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be glibc/ELF. linux* | k*bsd*-gnu | kopensolaris*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' fi ;; newos6*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' lt_cv_file_magic_cmd=/usr/bin/file lt_cv_file_magic_test_file=/usr/lib/libnls.so ;; *nto* | *qnx*) lt_cv_deplibs_check_method=pass_all ;; openbsd*) if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` ;; ncr) lt_cv_deplibs_check_method=pass_all ;; sequent) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' ;; sni) lt_cv_file_magic_cmd='/bin/file' lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" lt_cv_file_magic_test_file=/lib/libc.so ;; siemens) lt_cv_deplibs_check_method=pass_all ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; tpf*) lt_cv_deplibs_check_method=pass_all ;; esac ]) file_magic_glob= want_nocaseglob=no if test "$build" = "$host"; then case $host_os in mingw* | pw32*) if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then want_nocaseglob=yes else file_magic_glob=`echo aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ | $SED -e "s/\(..\)/s\/[[\1]]\/[[\1]]\/g;/g"` fi ;; esac fi file_magic_cmd=$lt_cv_file_magic_cmd deplibs_check_method=$lt_cv_deplibs_check_method test -z "$deplibs_check_method" && deplibs_check_method=unknown _LT_DECL([], [deplibs_check_method], [1], [Method to check whether dependent libraries are shared objects]) _LT_DECL([], [file_magic_cmd], [1], [Command to use when deplibs_check_method = "file_magic"]) _LT_DECL([], [file_magic_glob], [1], [How to find potential files when deplibs_check_method = "file_magic"]) _LT_DECL([], [want_nocaseglob], [1], [Find potential files using nocaseglob when deplibs_check_method = "file_magic"]) ])# _LT_CHECK_MAGIC_METHOD # LT_PATH_NM # ---------- # find the pathname to a BSD- or MS-compatible name lister AC_DEFUN([LT_PATH_NM], [AC_REQUIRE([AC_PROG_CC])dnl AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, [if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_nm" if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then # Check to see if the nm accepts a BSD-compat flag. # Adding the `sed 1q' prevents false positives on HP-UX, which says: # nm: unknown option "B" ignored # Tru64's nm complains that /dev/null is an invalid object file case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in */dev/null* | *'Invalid file or object type'*) lt_cv_path_NM="$tmp_nm -B" break ;; *) case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in */dev/null*) lt_cv_path_NM="$tmp_nm -p" break ;; *) lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but continue # so that we can try to find one that supports BSD flags ;; esac ;; esac fi done IFS="$lt_save_ifs" done : ${lt_cv_path_NM=no} fi]) if test "$lt_cv_path_NM" != "no"; then NM="$lt_cv_path_NM" else # Didn't find any BSD compatible name lister, look for dumpbin. if test -n "$DUMPBIN"; then : # Let the user override the test. else AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :) case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in *COFF*) DUMPBIN="$DUMPBIN -symbols" ;; *) DUMPBIN=: ;; esac fi AC_SUBST([DUMPBIN]) if test "$DUMPBIN" != ":"; then NM="$DUMPBIN" fi fi test -z "$NM" && NM=nm AC_SUBST([NM]) _LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], [lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&AS_MESSAGE_LOG_FD) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&AS_MESSAGE_LOG_FD (eval echo "\"\$as_me:$LINENO: output\"" >&AS_MESSAGE_LOG_FD) cat conftest.out >&AS_MESSAGE_LOG_FD if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" fi rm -f conftest*]) ])# LT_PATH_NM # Old names: AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AM_PROG_NM], []) dnl AC_DEFUN([AC_PROG_NM], []) # _LT_CHECK_SHAREDLIB_FROM_LINKLIB # -------------------------------- # how to determine the name of the shared library # associated with a specific link library. # -- PORTME fill in with the dynamic library characteristics m4_defun([_LT_CHECK_SHAREDLIB_FROM_LINKLIB], [m4_require([_LT_DECL_EGREP]) m4_require([_LT_DECL_OBJDUMP]) m4_require([_LT_DECL_DLLTOOL]) AC_CACHE_CHECK([how to associate runtime and link libraries], lt_cv_sharedlib_from_linklib_cmd, [lt_cv_sharedlib_from_linklib_cmd='unknown' case $host_os in cygwin* | mingw* | pw32* | cegcc*) # two different shell functions defined in ltmain.sh # decide which to use based on capabilities of $DLLTOOL case `$DLLTOOL --help 2>&1` in *--identify-strict*) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib ;; *) lt_cv_sharedlib_from_linklib_cmd=func_cygming_dll_for_implib_fallback ;; esac ;; *) # fallback: assume linklib IS sharedlib lt_cv_sharedlib_from_linklib_cmd="$ECHO" ;; esac ]) sharedlib_from_linklib_cmd=$lt_cv_sharedlib_from_linklib_cmd test -z "$sharedlib_from_linklib_cmd" && sharedlib_from_linklib_cmd=$ECHO _LT_DECL([], [sharedlib_from_linklib_cmd], [1], [Command to associate shared and link libraries]) ])# _LT_CHECK_SHAREDLIB_FROM_LINKLIB # _LT_PATH_MANIFEST_TOOL # ---------------------- # locate the manifest tool m4_defun([_LT_PATH_MANIFEST_TOOL], [AC_CHECK_TOOL(MANIFEST_TOOL, mt, :) test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool], [lt_cv_path_mainfest_tool=no echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD $MANIFEST_TOOL '-?' 2>conftest.err > conftest.out cat conftest.err >&AS_MESSAGE_LOG_FD if $GREP 'Manifest Tool' conftest.out > /dev/null; then lt_cv_path_mainfest_tool=yes fi rm -f conftest*]) if test "x$lt_cv_path_mainfest_tool" != xyes; then MANIFEST_TOOL=: fi _LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl ])# _LT_PATH_MANIFEST_TOOL # LT_LIB_M # -------- # check for math library AC_DEFUN([LT_LIB_M], [AC_REQUIRE([AC_CANONICAL_HOST])dnl LIBM= case $host in *-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*) # These system don't have libm, or don't need it ;; *-ncr-sysv4.3*) AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") ;; *) AC_CHECK_LIB(m, cos, LIBM="-lm") ;; esac AC_SUBST([LIBM]) ])# LT_LIB_M # Old name: AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([AC_CHECK_LIBM], []) # _LT_COMPILER_NO_RTTI([TAGNAME]) # ------------------------------- m4_defun([_LT_COMPILER_NO_RTTI], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= if test "$GCC" = yes; then case $cc_basename in nvcc*) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -Xcompiler -fno-builtin' ;; *) _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' ;; esac _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], lt_cv_prog_compiler_rtti_exceptions, [-fno-rtti -fno-exceptions], [], [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) fi _LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], [Compiler flag to turn off builtin functions]) ])# _LT_COMPILER_NO_RTTI # _LT_CMD_GLOBAL_SYMBOLS # ---------------------- m4_defun([_LT_CMD_GLOBAL_SYMBOLS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([LT_PATH_NM])dnl AC_REQUIRE([LT_PATH_LD])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_TAG_COMPILER])dnl # Check for command to grab the raw symbol name followed by C symbol from nm. AC_MSG_CHECKING([command to parse $NM output from $compiler object]) AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], [ # These are sane defaults that work on at least a few old systems. # [They come from Ultrix. What could be older than Ultrix?!! ;)] # Character class describing NM global symbol codes. symcode='[[BCDEGRST]]' # Regexp to match symbols that can be accessed directly from C. sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' # Define system-specific variables. case $host_os in aix*) symcode='[[BCDT]]' ;; cygwin* | mingw* | pw32* | cegcc*) symcode='[[ABCDGISTW]]' ;; hpux*) if test "$host_cpu" = ia64; then symcode='[[ABCDEGRST]]' fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; sysv4) symcode='[[DFNSTU]]' ;; esac # If we're using GNU nm, then use its standard symbol codes. case `$NM -V 2>&1` in *GNU* | *'with BFD'*) symcode='[[ABCDGIRSTW]]' ;; esac # Transform an extracted symbol line into a proper C declaration. # Some systems (esp. on ia64) link data and code symbols differently, # so use this general approach. lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" # Transform an extracted symbol line into symbol name and symbol address lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\)[[ ]]*$/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" # Handle CRLF in mingw tool chain opt_cr= case $build_os in mingw*) opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp ;; esac # Try without a prefix underscore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # Write the raw and C identifiers. if test "$lt_cv_nm_interface" = "MS dumpbin"; then # Fake it for dumpbin and say T for any non-static function # and D for any global variable. # Also find C++ and __fastcall symbols from MSVC++, # which start with @ or ?. lt_cv_sys_global_symbol_pipe="$AWK ['"\ " {last_section=section; section=\$ 3};"\ " /^COFF SYMBOL TABLE/{for(i in hide) delete hide[i]};"\ " /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ " \$ 0!~/External *\|/{next};"\ " / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ " {if(hide[section]) next};"\ " {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ " {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ " s[1]~/^[@?]/{print s[1], s[1]; next};"\ " s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ " ' prfx=^$ac_symprfx]" else lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" fi lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'" # Check to see that the pipe works correctly. pipe_works=no rm -f conftest* cat > conftest.$ac_ext <<_LT_EOF #ifdef __cplusplus extern "C" { #endif char nm_test_var; void nm_test_func(void); void nm_test_func(void){} #ifdef __cplusplus } #endif int main(){nm_test_var='a';nm_test_func();return(0);} _LT_EOF if AC_TRY_EVAL(ac_compile); then # Now try to grab the symbols. nlist=conftest.nm if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then # Try sorting and uniquifying the output. if sort "$nlist" | uniq > "$nlist"T; then mv -f "$nlist"T "$nlist" else rm -f "$nlist"T fi # Make sure that we snagged all the symbols we need. if $GREP ' nm_test_var$' "$nlist" >/dev/null; then if $GREP ' nm_test_func$' "$nlist" >/dev/null; then cat <<_LT_EOF > conftest.$ac_ext /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT@&t@_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT@&t@_DLSYM_CONST #else # define LT@&t@_DLSYM_CONST const #endif #ifdef __cplusplus extern "C" { #endif _LT_EOF # Now generate the symbol file. eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' cat <<_LT_EOF >> conftest.$ac_ext /* The mapping between symbol names and symbols. */ LT@&t@_DLSYM_CONST struct { const char *name; void *address; } lt__PROGRAM__LTX_preloaded_symbols[[]] = { { "@PROGRAM@", (void *) 0 }, _LT_EOF $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext cat <<\_LT_EOF >> conftest.$ac_ext {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt__PROGRAM__LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif _LT_EOF # Now try linking the two files. mv conftest.$ac_objext conftstm.$ac_objext lt_globsym_save_LIBS=$LIBS lt_globsym_save_CFLAGS=$CFLAGS LIBS="conftstm.$ac_objext" CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then pipe_works=yes fi LIBS=$lt_globsym_save_LIBS CFLAGS=$lt_globsym_save_CFLAGS else echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD fi else echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD cat conftest.$ac_ext >&5 fi rm -rf conftest* conftst* # Do not use the global_symbol_pipe unless it works. if test "$pipe_works" = yes; then break else lt_cv_sys_global_symbol_pipe= fi done ]) if test -z "$lt_cv_sys_global_symbol_pipe"; then lt_cv_sys_global_symbol_to_cdecl= fi if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then AC_MSG_RESULT(failed) else AC_MSG_RESULT(ok) fi # Response file support. if test "$lt_cv_nm_interface" = "MS dumpbin"; then nm_file_list_spec='@' elif $NM --help 2>/dev/null | grep '[[@]]FILE' >/dev/null; then nm_file_list_spec='@' fi _LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], [Take the output of nm and produce a listing of raw symbols and C names]) _LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], [Transform the output of nm in a proper C declaration]) _LT_DECL([global_symbol_to_c_name_address], [lt_cv_sys_global_symbol_to_c_name_address], [1], [Transform the output of nm in a C name address pair]) _LT_DECL([global_symbol_to_c_name_address_lib_prefix], [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], [Transform the output of nm in a C name address pair when lib prefix is needed]) _LT_DECL([], [nm_file_list_spec], [1], [Specify filename containing input files for $NM]) ]) # _LT_CMD_GLOBAL_SYMBOLS # _LT_COMPILER_PIC([TAGNAME]) # --------------------------- m4_defun([_LT_COMPILER_PIC], [m4_require([_LT_TAG_COMPILER])dnl _LT_TAGVAR(lt_prog_compiler_wl, $1)= _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)= m4_if([$1], [CXX], [ # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac else case $host_os in aix[[4-9]]*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" ;; esac ;; mingw* | cygwin* | os2* | pw32* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; dgux*) case $cc_basename in ec++*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; ghcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; ecpc* ) # old Intel C++ for x86_64 which still supported -KPIC. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; icpc* ) # Intel C++, used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; pgCC* | pgcpp*) # Portland Group C++ compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xlc* | xlC* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL 8.0, 9.0 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd*) ;; *qnx* | *nto*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; cxx*) # Digital/Compaq C++ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. _LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; lcc*) # Lucid _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' ;; *) ;; esac ;; vxworks*) ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ], [ if test "$GCC" = yes; then _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; m68k) # FIXME: we need at least 68020 code to build shared libraries, but # adding the `-m68020' flag to GCC prevents building anything better, # like `-m68040'. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; esac ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; haiku*) # PIC is the default for Haiku. # The "-static" flag exists, but is broken. _LT_TAGVAR(lt_prog_compiler_static, $1)= ;; hpux*) # PIC is the default for 64-bit PA HP-UX, but not for 32-bit # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag # sets the default TLS model and affects inlining. case $host_cpu in hppa*64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no enable_shared=no ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic fi ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' ;; esac case $cc_basename in nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Xlinker ' if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_TAGVAR(lt_prog_compiler_pic, $1)="-Xcompiler $_LT_TAGVAR(lt_prog_compiler_pic, $1)" fi ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' else _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; mingw* | cygwin* | pw32* | os2* | cegcc*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). m4_if([$1], [GCJ], [], [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) ;; hpux9* | hpux10* | hpux11*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but # not for PA HP-UX. case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # PIC (with -KPIC) is the default. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in # old Intel for x86_64 which still supported -KPIC. ecc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # icc used to be incompatible with GCC. # ICC 10 doesn't accept -KPIC any more. icc* | ifort*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; # Lahey Fortran 8.1. lf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' ;; nagfor*) # NAG Fortran compiler _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,-Wl,,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; ccc*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All Alpha code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; xl* | bgxl* | bgf* | mpixl*) # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='' ;; *Sun\ F* | *Sun*Fortran*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' ;; *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; *Intel*\ [[CF]]*Compiler*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' ;; *Portland\ Group*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; esac ;; esac ;; newsos6) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *nto* | *qnx*) # QNX uses GNU C++, but need to define -shared option too, otherwise # it will coredump. _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' ;; osf3* | osf4* | osf5*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' # All OSF/1 code is PIC. _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; rdos*) _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95* | sunf77* | sunf90* | sunf95*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; sunos4*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; unicos*) _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; uts4*) _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; *) _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; esac fi ]) case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) _LT_TAGVAR(lt_prog_compiler_pic, $1)= ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" ;; esac AC_CACHE_CHECK([for $compiler option to produce PIC], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)], [_LT_TAGVAR(lt_cv_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) _LT_TAGVAR(lt_prog_compiler_pic, $1)=$_LT_TAGVAR(lt_cv_prog_compiler_pic, $1) # # Check to make sure the PIC flag actually works. # if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in "" | " "*) ;; *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; esac], [_LT_TAGVAR(lt_prog_compiler_pic, $1)= _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) fi _LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], [Additional compiler flags for building library objects]) _LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], [How to pass a linker flag through the compiler]) # # Check to make sure the static flag actually works. # wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" _LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) _LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], [Compiler flag to prevent dynamic linking]) ])# _LT_COMPILER_PIC # _LT_LINKER_SHLIBS([TAGNAME]) # ---------------------------- # See if the linker supports building shared libraries. m4_defun([_LT_LINKER_SHLIBS], [AC_REQUIRE([LT_PATH_LD])dnl AC_REQUIRE([LT_PATH_NM])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_DECL_SED])dnl m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl m4_require([_LT_TAG_COMPILER])dnl AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) m4_if([$1], [CXX], [ _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] case $host_os in aix[[4-9]]*) # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global defined # symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" ;; cygwin* | mingw* | cegcc*) case $cc_basename in cl*) _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] ;; esac ;; *) _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac ], [ runpath_var= _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_cmds, $1)= _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(old_archive_from_new_cmds, $1)= _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= _LT_TAGVAR(thread_safe_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= # include_expsyms should be a list of space-separated symbols to be *always* # included in the symbol list _LT_TAGVAR(include_expsyms, $1)= # exclude_expsyms can be an extended regexp of symbols to exclude # it will be wrapped by ` (' and `)$', so one must not match beginning or # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', # as well as any symbol that contains `d'. _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out # platforms (ab)use it in PIC code, but their linkers get confused if # the symbol is explicitly referenced. Since portable code cannot # rely on this symbol name, it's probably fine to never include it in # preloaded symbol tables. # Exclude shared library initialization/finalization symbols. dnl Note also adjust exclude_expsyms for C++ above. extract_expsyms_cmds= case $host_os in cygwin* | mingw* | pw32* | cegcc*) # FIXME: the MSVC++ port hasn't been tested in a loooong time # When not using gcc, we currently assume that we are using # Microsoft Visual C++. if test "$GCC" != yes; then with_gnu_ld=no fi ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac _LT_TAGVAR(ld_shlibs, $1)=yes # On some targets, GNU ld is compatible enough with the native linker # that we're better off using the native interface for both. lt_use_gnu_ld_interface=no if test "$with_gnu_ld" = yes; then case $host_os in aix*) # The AIX port of GNU ld has always aspired to compatibility # with the native linker. However, as the warning in the GNU ld # block says, versions before 2.19.5* couldn't really create working # shared libraries, regardless of the interface used. case `$LD -v 2>&1` in *\ \(GNU\ Binutils\)\ 2.19.5*) ;; *\ \(GNU\ Binutils\)\ 2.[[2-9]]*) ;; *\ \(GNU\ Binutils\)\ [[3-9]]*) ;; *) lt_use_gnu_ld_interface=yes ;; esac ;; *) lt_use_gnu_ld_interface=yes ;; esac fi if test "$lt_use_gnu_ld_interface" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # ancient GNU ld didn't support --whole-archive et. al. if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi supports_anon_versioning=no case `$LD -v 2>&1` in *GNU\ gold*) supports_anon_versioning=yes ;; *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # See if GNU ld supports shared libraries. case $host_os in aix[[3-9]]*) # On AIX/PPC, the GNU linker is very broken if test "$host_cpu" != ia64; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: the GNU linker, at least up to release 2.19, is reported *** to be unable to reliably create shared libraries on AIX. *** Therefore, libtool is disabling shared libraries support. If you *** really care for shared libraries, you may want to install binutils *** 2.20 or above, or modify your PATH so that a non-GNU linker is found. *** You will then need to restart the configuration process. _LT_EOF fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; cygwin* | mingw* | pw32* | cegcc*) # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' _LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname'] if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu) tmp_diet=no if test "$host_os" = linux-dietlibc; then case $cc_basename in diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) esac fi if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ && test "$tmp_diet" = no then tmp_addflag=' $pic_flag' tmp_sharedflag='-shared' case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95* | pgfortran*) # Portland Group f77 and f90 compilers _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; lf95*) # Lahey Fortran 8.1 _LT_TAGVAR(whole_archive_flag_spec, $1)= tmp_sharedflag='--shared' ;; xl[[cC]]* | bgxl[[cC]]* | mpixl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) tmp_sharedflag='-qmkshrobj' tmp_addflag= ;; nvcc*) # Cuda Compiler Driver 2.2 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; esac _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi case $cc_basename in xlf* | bgf* | bgxlf* | mpixlf*) # IBM XL Fortran 10.1 on PPC cannot create shared libs itself _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' fi ;; esac else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: The releases 2.8.* of the GNU linker cannot reliably *** create shared libraries on Solaris systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.9.1 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; sunos4*) _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then runpath_var= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_TAGVAR(hardcode_minus_L, $1)=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_TAGVAR(hardcode_direct, $1)=unsupported fi ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else # If we're using GNU nm, then we don't want the "-C" option. # -C means demangle to AIX nm, but means don't demangle with GNU nm # Also, AIX nm treats weak defined symbols like other global # defined symbols, whereas GNU nm marks them as "W". if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' else _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GCC" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) case $host_cpu in powerpc) # see comment about AmigaOS4 .so support _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='' ;; m68k) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac ;; bsdi[[45]]*) _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; cygwin* | mingw* | pw32* | cegcc*) # When not using gcc, we currently assume that we are using # Microsoft Visual C++. # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. case $cc_basename in cl*) # Native MSVC _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then sed -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else sed -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes _LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*' _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1,DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # Assume MSVC wrapper _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' # FIXME: Should let the user specify the lib program. _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor # support. Future versions do this automatically, but an explicit c++rt0.o # does not break anything, and helps significantly (at the cost of a little # extra space). freebsd2.2*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2.*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; hpux9*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; hpux10*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes fi ;; hpux11*) if test "$GCC" = yes && test "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) m4_if($1, [], [ # Older versions of the 11.00 compiler do not understand -b yet # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does) _LT_LINKER_OPTION([if $CC understands -b], _LT_TAGVAR(lt_cv_prog_compiler__b, $1), [-b], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'], [_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'])], [_LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags']) ;; esac fi if test "$with_gnu_ld" = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. _LT_TAGVAR(hardcode_minus_L, $1)=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' # Try to use the -exported_symbol ld option, if it does not # work, assume that -exports_file does not work either and # implicitly export all symbols. # This should be the same for all languages, so no per-tag cache variable. AC_CACHE_CHECK([whether the $host_os linker accepts -exported_symbol], [lt_cv_irix_exported_symbol], [save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" AC_LINK_IFELSE( [AC_LANG_SOURCE( [AC_LANG_CASE([C], [[int foo (void) { return 0; }]], [C++], [[int foo (void) { return 0; }]], [Fortran 77], [[ subroutine foo end]], [Fortran], [[ subroutine foo end]])])], [lt_cv_irix_exported_symbol=yes], [lt_cv_irix_exported_symbol=no]) LDFLAGS="$save_LDFLAGS"]) if test "$lt_cv_irix_exported_symbol" = yes; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' fi else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes _LT_TAGVAR(link_all_deplibs, $1)=yes ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; newsos6) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *nto* | *qnx*) ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else case $host_os in openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; os2*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' else _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' # Both c and cxx compiler support -rpath directly _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' fi _LT_TAGVAR(archive_cmds_need_lc, $1)='no' _LT_TAGVAR(hardcode_libdir_separator, $1)=: ;; solaris*) _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' if test "$GCC" = yes; then wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' else case `$CC -V 2>&1` in *"Compilers 5.0"*) wlarc='' _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' ;; *) wlarc='${wl}' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' ;; esac fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes ;; sunos4*) if test "x$host_vendor" = xsequent; then # Use $CC to link under sequent, because it throws in some extra .o # files that make .init and .fini sections work. _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4) case $host_vendor in sni) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' _LT_TAGVAR(hardcode_direct, $1)=no ;; motorola) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; sysv4.3*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes _LT_TAGVAR(ld_shlibs, $1)=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(ld_shlibs, $1)=no ;; esac if test x$host_vendor = xsni; then case $host in sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' ;; esac fi fi ]) AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld _LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl _LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl _LT_DECL([], [extract_expsyms_cmds], [2], [The commands to extract the exported symbol list from a shared archive]) # # Do we need to explicitly link libc? # case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in x|xyes) # Assume -lc should be added _LT_TAGVAR(archive_cmds_need_lc, $1)=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $_LT_TAGVAR(archive_cmds, $1) in *'~'*) # FIXME: we may have to deal with multi-command sequences. ;; '$CC '*) # Test whether the compiler implicitly links with -lc since on some # systems, -lgcc has to come before -lc. If gcc already passes -lc # to ld, don't add -lc before -lgcc. AC_CACHE_CHECK([whether -lc should be explicitly linked in], [lt_cv_]_LT_TAGVAR(archive_cmds_need_lc, $1), [$RM conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if AC_TRY_EVAL(ac_compile) 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) _LT_TAGVAR(allow_undefined_flag, $1)= if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) then lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=no else lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1)=yes fi _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $RM conftest* ]) _LT_TAGVAR(archive_cmds_need_lc, $1)=$lt_cv_[]_LT_TAGVAR(archive_cmds_need_lc, $1) ;; esac fi ;; esac _LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], [Whether or not to add -lc for building shared libraries]) _LT_TAGDECL([allow_libtool_libs_with_static_runtimes], [enable_shared_with_static_runtimes], [0], [Whether or not to disallow shared libs when runtime libs are static]) _LT_TAGDECL([], [export_dynamic_flag_spec], [1], [Compiler flag to allow reflexive dlopens]) _LT_TAGDECL([], [whole_archive_flag_spec], [1], [Compiler flag to generate shared objects directly from archives]) _LT_TAGDECL([], [compiler_needs_object], [1], [Whether the compiler copes with passing no objects directly]) _LT_TAGDECL([], [old_archive_from_new_cmds], [2], [Create an old-style archive from a shared archive]) _LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], [Create a temporary old-style archive to link instead of a shared archive]) _LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) _LT_TAGDECL([], [archive_expsym_cmds], [2]) _LT_TAGDECL([], [module_cmds], [2], [Commands used to build a loadable module if different from building a shared archive.]) _LT_TAGDECL([], [module_expsym_cmds], [2]) _LT_TAGDECL([], [with_gnu_ld], [1], [Whether we are building with GNU ld or not]) _LT_TAGDECL([], [allow_undefined_flag], [1], [Flag that allows shared libraries with undefined symbols to be built]) _LT_TAGDECL([], [no_undefined_flag], [1], [Flag that enforces no undefined symbols]) _LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], [Flag to hardcode $libdir into a binary during linking. This must work even if $libdir does not exist]) _LT_TAGDECL([], [hardcode_libdir_separator], [1], [Whether we need a single "-rpath" flag with a separated argument]) _LT_TAGDECL([], [hardcode_direct], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_direct_absolute], [0], [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the resulting binary and the resulting library dependency is "absolute", i.e impossible to change by setting ${shlibpath_var} if the library is relocated]) _LT_TAGDECL([], [hardcode_minus_L], [0], [Set to "yes" if using the -LDIR flag during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_shlibpath_var], [0], [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into the resulting binary]) _LT_TAGDECL([], [hardcode_automatic], [0], [Set to "yes" if building a shared library automatically hardcodes DIR into the library and all subsequent libraries and executables linked against it]) _LT_TAGDECL([], [inherit_rpath], [0], [Set to yes if linker adds runtime paths of dependent libraries to runtime path list]) _LT_TAGDECL([], [link_all_deplibs], [0], [Whether libtool must link a program against all its dependency libraries]) _LT_TAGDECL([], [always_export_symbols], [0], [Set to "yes" if exported symbols are required]) _LT_TAGDECL([], [export_symbols_cmds], [2], [The commands to list exported symbols]) _LT_TAGDECL([], [exclude_expsyms], [1], [Symbols that should not be listed in the preloaded symbols]) _LT_TAGDECL([], [include_expsyms], [1], [Symbols that must always be exported]) _LT_TAGDECL([], [prelink_cmds], [2], [Commands necessary for linking programs (against libraries) with templates]) _LT_TAGDECL([], [postlink_cmds], [2], [Commands necessary for finishing linking programs]) _LT_TAGDECL([], [file_list_spec], [1], [Specify filename containing input files]) dnl FIXME: Not yet implemented dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], dnl [Compiler flag to generate thread safe objects]) ])# _LT_LINKER_SHLIBS # _LT_LANG_C_CONFIG([TAG]) # ------------------------ # Ensure that the configuration variables for a C compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_C_CONFIG], [m4_require([_LT_DECL_EGREP])dnl lt_save_CC="$CC" AC_LANG_PUSH(C) # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_TAG_COMPILER # Save the default compiler, since it gets overwritten when the other # tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. compiler_DEFAULT=$CC # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) LT_SYS_DLOPEN_SELF _LT_CMD_STRIPLIB # Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_CONFIG($1) fi AC_LANG_POP CC="$lt_save_CC" ])# _LT_LANG_C_CONFIG # _LT_LANG_CXX_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a C++ compiler are suitably # defined. These variables are subsequently used by _LT_CONFIG to write # the compiler configuration to `libtool'. m4_defun([_LT_LANG_CXX_CONFIG], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl m4_require([_LT_DECL_EGREP])dnl m4_require([_LT_PATH_MANIFEST_TOOL])dnl if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP else _lt_caught_CXX_error=yes fi AC_LANG_PUSH(C++) _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(compiler_needs_object, $1)=no _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the CXX compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_caught_CXX_error" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_LD=$LD lt_save_GCC=$GCC GCC=$GXX lt_save_with_gnu_ld=$with_gnu_ld lt_save_path_LD=$lt_cv_path_LD if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} CFLAGS=$CXXFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then # We don't want -fno-exception when compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' else _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration LT_PATH_LD # Check if GNU C++ uses GNU ld as the underlying linker, since the # archiving commands below assume that GNU ld is being used. if test "$with_gnu_ld" = yes; then _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # If archive_cmds runs LD, not CC, wlarc should be empty # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to # investigate it a little bit more. (MM) wlarc='${wl}' # ancient GNU ld didn't support --whole-archive et. al. if eval "`$CC -print-prog-name=ld` --help 2>&1" | $GREP 'no-whole-archive' > /dev/null; then _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else _LT_TAGVAR(whole_archive_flag_spec, $1)= fi else with_gnu_ld=no wlarc= # A generic and very simple default shared library creation # command for GNU C++ for the case where it uses the native # linker, instead of GNU ld. If possible, this setting should # overridden to take advantage of the native linker features on # the platform it is being used on. _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' fi # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else GXX=no with_gnu_ld=no wlarc= fi # PORTME: fill in a description of your system's C++ link characteristics AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) _LT_TAGVAR(ld_shlibs, $1)=yes case $host_os in aix3*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aix[[4-9]]*) if test "$host_cpu" = ia64; then # On IA64, the linker does run time linking by default, so we don't # have to do anything special. aix_use_runtimelinking=no exp_sym_flag='-Bexport' no_entry_flag="" else aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac exp_sym_flag='-bexport' no_entry_flag='-bnoentry' fi # When large executables or shared objects are built, AIX ld can # have problems creating the table of contents. If linking a library # or program results in "error TOC overflow" add -mminimal-toc to # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. _LT_TAGVAR(archive_cmds, $1)='' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' if test "$GXX" = yes; then case $host_os in aix4.[[012]]|aix4.[[012]].*) # We only want to do this on AIX 4.2 and lower, the check # below for broken collect2 doesn't work under 4.3+ collect2name=`${CC} -print-prog-name=collect2` if test -f "$collect2name" && strings "$collect2name" | $GREP resolve_lib_name >/dev/null then # We have reworked collect2 : else # We have old collect2 _LT_TAGVAR(hardcode_direct, $1)=unsupported # It fails to find uninstalled libraries when the uninstalled # path is not listed in the libpath. Setting hardcode_minus_L # to unsupported forces relinking _LT_TAGVAR(hardcode_minus_L, $1)=yes _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)= fi esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi else # not using gcc if test "$host_cpu" = ia64; then # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to # export. _LT_TAGVAR(always_export_symbols, $1)=yes if test "$aix_use_runtimelinking" = yes; then # Warning - without using the other runtime loading flags (-brtl), # -berok will link without error, but may produce a broken library. _LT_TAGVAR(allow_undefined_flag, $1)='-berok' # Determine the default libpath from the value encoded in an empty # executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an # empty executable. _LT_SYS_MODULE_PATH_AIX([$1]) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" # Warning - without using the other run time loading flags, # -berok will link without error, but may produce a broken library. _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' if test "$with_gnu_ld" = yes; then # We only use this code for GNU lds that support --whole-archive. _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' else # Exported symbols can be pulled into shared objects from archives _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' fi _LT_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared # libraries. _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then _LT_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; cygwin* | mingw* | pw32* | cegcc*) case $GXX,$cc_basename in ,cl* | no,cl*) # Native MSVC # hardcode_libdir_flag_spec is actually meaningless, as there is # no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=yes _LT_TAGVAR(file_list_spec, $1)='@' # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-dll~linknames=' _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then $SED -n -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' -e '1\\\!p' < $export_symbols > $output_objdir/$soname.exp; else $SED -e 's/\\\\\\\(.*\\\\\\\)/-link\\\ -EXPORT:\\\\\\\1/' < $export_symbols > $output_objdir/$soname.exp; fi~ $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~ linknames=' # The linker will not automatically build a static lib if we build a DLL. # _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes # Don't use ranlib _LT_TAGVAR(old_postinstall_cmds, $1)='chmod 644 $oldlib' _LT_TAGVAR(postlink_cmds, $1)='lt_outputfile="@OUTPUT@"~ lt_tool_outputfile="@TOOL_OUTPUT@"~ case $lt_outputfile in *.exe|*.EXE) ;; *) lt_outputfile="$lt_outputfile.exe" lt_tool_outputfile="$lt_tool_outputfile.exe" ;; esac~ func_to_tool_file "$lt_outputfile"~ if test "$MANIFEST_TOOL" != ":" && test -f "$lt_outputfile.manifest"; then $MANIFEST_TOOL -manifest "$lt_tool_outputfile.manifest" -outputresource:"$lt_tool_outputfile" || exit 1; $RM "$lt_outputfile.manifest"; fi' ;; *) # g++ # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-all-symbols' _LT_TAGVAR(allow_undefined_flag, $1)=unsupported _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then cp $export_symbols $output_objdir/$soname.def; else echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; darwin* | rhapsody*) _LT_DARWIN_LINKER_FEATURES($1) ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; freebsd2.*) # C++ shared libraries reported to be fairly broken before # switch to ELF _LT_TAGVAR(ld_shlibs, $1)=no ;; freebsd-elf*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions _LT_TAGVAR(ld_shlibs, $1)=yes ;; gnu*) ;; haiku*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(link_all_deplibs, $1)=yes ;; hpux9*) _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, # but as the default # location of the library. ;; esac case $cc_basename in CC*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; aCC*) case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in hppa*64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' # Archives containing C++ object files must be created using # "CC -ar", where "CC" is the IRIX C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib' fi fi _LT_TAGVAR(link_all_deplibs, $1)=yes ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: _LT_TAGVAR(inherit_rpath, $1)=yes ;; linux* | k*bsd*-gnu | kopensolaris*-gnu) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc* | ecpc* ) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC* | pgcpp*) # Portland Group C++ compiler case `$CC -V` in *pgCC\ [[1-5]].* | *pgcpp\ [[1-5]].*) _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ compile_command="$compile_command `find $tpldir -name \*.o | sort | $NL2SP`"' _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | sort | $NL2SP`~ $RANLIB $oldlib' _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ rm -rf $tpldir~ $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | sort | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; *) # Version 6 and above use weak symbols _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "X$list" | $Xsed' ;; xl* | mpixl* | bgxl*) # IBM XL 8.0 on PPC, with GNU ld _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test "x$supports_anon_versioning" = xyes; then _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ echo "local: *; };" >> $output_objdir/$libname.ver~ $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive' _LT_TAGVAR(compiler_needs_object, $1)=yes # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; m88k*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; netbsd*) if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no fi # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; *nto* | *qnx*) _LT_TAGVAR(ld_shlibs, $1)=yes ;; openbsd2*) # C++ shared libraries are fairly broken _LT_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_TAGVAR(hardcode_direct, $1)=yes _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=yes _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd=func_echo_all else _LT_TAGVAR(ld_shlibs, $1)=no fi ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) # Kuck and Associates, Inc. (KAI) C++ Compiler # KCC will only create a shared library if the output file # ends with ".so" (or ".sl" for HP-UX), so rename the library # to its proper name (with version) after linking. _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Archives containing C++ object files must be created using # the KAI C++ compiler. case $host in osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; esac ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; cxx*) case $host in osf3*) _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && func_echo_all "${wl}-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' ;; *) _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ echo "-hidden">> $lib.exp~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~ $RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' ;; esac _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. # # There doesn't appear to be a way to prevent this compiler from # explicitly linking system object files so we need to strip them # from the output so that they don't get included in the library # dependencies. output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`func_echo_all "$templist" | $SED "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"' ;; *) if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' case $host in osf3*) _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' ;; esac _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=: # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # Sun C++ 4.2, 5.x and Centerline C++ _LT_TAGVAR(archive_cmds_need_lc,$1)=yes _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_TAGVAR(hardcode_shlibpath_var, $1)=no case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' ;; esac _LT_TAGVAR(link_all_deplibs, $1)=yes output_verbose_link_cmd='func_echo_all' # Archives containing C++ object files must be created using # "CC -xar", where "CC" is the Sun C++ compiler. This is # necessary to make sure instantiated templates are included # in the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' if $CC --version | $GREP -v '^2\.7' > /dev/null; then _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' else # g++ 2.7 appears to require `-G' NOT `-shared' on this # platform. _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' # Commands to make compiler produce verbose output that lists # what "hidden" libraries, object files and flags are used when # linking a shared library. output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"' fi _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' _LT_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_TAGVAR(link_all_deplibs, $1)=yes _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(old_archive_cmds, $1)='$CC -Tprelink_objects $oldobjs~ '"$_LT_TAGVAR(old_archive_cmds, $1)" _LT_TAGVAR(reload_cmds, $1)='$CC -Tprelink_objects $reload_objs~ '"$_LT_TAGVAR(reload_cmds, $1)" ;; *) _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; *) # FIXME: insert proper C++ library support _LT_TAGVAR(ld_shlibs, $1)=no ;; esac AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no _LT_TAGVAR(GCC, $1)="$GXX" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS LDCXX=$LD LD=$lt_save_LD GCC=$lt_save_GCC with_gnu_ld=$lt_save_with_gnu_ld lt_cv_path_LDCXX=$lt_cv_path_LD lt_cv_path_LD=$lt_save_path_LD lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld fi # test "$_lt_caught_CXX_error" != yes AC_LANG_POP ])# _LT_LANG_CXX_CONFIG # _LT_FUNC_STRIPNAME_CNF # ---------------------- # func_stripname_cnf prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # # This function is identical to the (non-XSI) version of func_stripname, # except this one can be used by m4 code that may be executed by configure, # rather than the libtool script. m4_defun([_LT_FUNC_STRIPNAME_CNF],[dnl AC_REQUIRE([_LT_DECL_SED]) AC_REQUIRE([_LT_PROG_ECHO_BACKSLASH]) func_stripname_cnf () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname_cnf ])# _LT_FUNC_STRIPNAME_CNF # _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) # --------------------------------- # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary # objects, libraries and library flags. m4_defun([_LT_SYS_HIDDEN_LIBDEPS], [m4_require([_LT_FILEUTILS_DEFAULTS])dnl AC_REQUIRE([_LT_FUNC_STRIPNAME_CNF])dnl # Dependencies to place before and after the object being linked: _LT_TAGVAR(predep_objects, $1)= _LT_TAGVAR(postdep_objects, $1)= _LT_TAGVAR(predeps, $1)= _LT_TAGVAR(postdeps, $1)= _LT_TAGVAR(compiler_lib_search_path, $1)= dnl we can't use the lt_simple_compile_test_code here, dnl because it contains code intended for an executable, dnl not a library. It's possible we should let each dnl tag define a new lt_????_link_test_code variable, dnl but it's only used here... m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF int a; void foo (void) { a = 0; } _LT_EOF ], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF class Foo { public: Foo (void) { a = 0; } private: int a; }; _LT_EOF ], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer*4 a a=0 return end _LT_EOF ], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF subroutine foo implicit none integer a a=0 return end _LT_EOF ], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF public class foo { private int a; public void bar (void) { a = 0; } }; _LT_EOF ], [$1], [GO], [cat > conftest.$ac_ext <<_LT_EOF package foo func foo() { } _LT_EOF ]) _lt_libdeps_save_CFLAGS=$CFLAGS case "$CC $CFLAGS " in #( *\ -flto*\ *) CFLAGS="$CFLAGS -fno-lto" ;; *\ -fwhopr*\ *) CFLAGS="$CFLAGS -fno-whopr" ;; *\ -fuse-linker-plugin*\ *) CFLAGS="$CFLAGS -fno-use-linker-plugin" ;; esac dnl Parse the compiler output and extract the necessary dnl objects, libraries and library flags. if AC_TRY_EVAL(ac_compile); then # Parse the compiler output and extract the necessary # objects, libraries and library flags. # Sentinel used to keep track of whether or not we are before # the conftest object file. pre_test_object_deps_done=no for p in `eval "$output_verbose_link_cmd"`; do case ${prev}${p} in -L* | -R* | -l*) # Some compilers place space between "-{L,R}" and the path. # Remove the space. if test $p = "-L" || test $p = "-R"; then prev=$p continue fi # Expand the sysroot to ease extracting the directories later. if test -z "$prev"; then case $p in -L*) func_stripname_cnf '-L' '' "$p"; prev=-L; p=$func_stripname_result ;; -R*) func_stripname_cnf '-R' '' "$p"; prev=-R; p=$func_stripname_result ;; -l*) func_stripname_cnf '-l' '' "$p"; prev=-l; p=$func_stripname_result ;; esac fi case $p in =*) func_stripname_cnf '=' '' "$p"; p=$lt_sysroot$func_stripname_result ;; esac if test "$pre_test_object_deps_done" = no; then case ${prev} in -L | -R) # Internal compiler library paths should come after those # provided the user. The postdeps already come after the # user supplied libs so there is no need to process them. if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" else _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" fi ;; # The "-l" case would never come before the object being # linked, so don't bother handling this case. esac else if test -z "$_LT_TAGVAR(postdeps, $1)"; then _LT_TAGVAR(postdeps, $1)="${prev}${p}" else _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" fi fi prev= ;; *.lto.$objext) ;; # Ignore GCC LTO objects *.$objext) # This assumes that the test object file only shows up # once in the compiler output. if test "$p" = "conftest.$objext"; then pre_test_object_deps_done=yes continue fi if test "$pre_test_object_deps_done" = no; then if test -z "$_LT_TAGVAR(predep_objects, $1)"; then _LT_TAGVAR(predep_objects, $1)="$p" else _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" fi else if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then _LT_TAGVAR(postdep_objects, $1)="$p" else _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling $1 test program" fi $RM -f confest.$objext CFLAGS=$_lt_libdeps_save_CFLAGS # PORTME: override above test on systems where it is broken m4_if([$1], [CXX], [case $host_os in interix[[3-9]]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. _LT_TAGVAR(predep_objects,$1)= _LT_TAGVAR(postdep_objects,$1)= _LT_TAGVAR(postdeps,$1)= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC* | sunCC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) case " $_LT_TAGVAR(postdeps, $1) " in *" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; esac _LT_TAGVAR(compiler_lib_search_dirs, $1)= if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` fi _LT_TAGDECL([], [compiler_lib_search_dirs], [1], [The directories searched by this compiler when creating a shared library]) _LT_TAGDECL([], [predep_objects], [1], [Dependencies to place before and after the objects being linked to create a shared library]) _LT_TAGDECL([], [postdep_objects], [1]) _LT_TAGDECL([], [predeps], [1]) _LT_TAGDECL([], [postdeps], [1]) _LT_TAGDECL([], [compiler_lib_search_path], [1], [The library search path used internally by the compiler when linking a shared library]) ])# _LT_SYS_HIDDEN_LIBDEPS # _LT_LANG_F77_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for a Fortran 77 compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_F77_CONFIG], [AC_LANG_PUSH(Fortran 77) if test -z "$F77" || test "X$F77" = "Xno"; then _lt_disable_F77=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the F77 compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_F77" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${F77-"f77"} CFLAGS=$FFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) GCC=$G77 if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$G77" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC="$lt_save_CC" CFLAGS="$lt_save_CFLAGS" fi # test "$_lt_disable_F77" != yes AC_LANG_POP ])# _LT_LANG_F77_CONFIG # _LT_LANG_FC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for a Fortran compiler are # suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_FC_CONFIG], [AC_LANG_PUSH(Fortran) if test -z "$FC" || test "X$FC" = "Xno"; then _lt_disable_FC=yes fi _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(allow_undefined_flag, $1)= _LT_TAGVAR(always_export_symbols, $1)=no _LT_TAGVAR(archive_expsym_cmds, $1)= _LT_TAGVAR(export_dynamic_flag_spec, $1)= _LT_TAGVAR(hardcode_direct, $1)=no _LT_TAGVAR(hardcode_direct_absolute, $1)=no _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_TAGVAR(hardcode_libdir_separator, $1)= _LT_TAGVAR(hardcode_minus_L, $1)=no _LT_TAGVAR(hardcode_automatic, $1)=no _LT_TAGVAR(inherit_rpath, $1)=no _LT_TAGVAR(module_cmds, $1)= _LT_TAGVAR(module_expsym_cmds, $1)= _LT_TAGVAR(link_all_deplibs, $1)=unknown _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds _LT_TAGVAR(no_undefined_flag, $1)= _LT_TAGVAR(whole_archive_flag_spec, $1)= _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no # Source file extension for fc test sources. ac_ext=${ac_fc_srcext-f} # Object file extension for compiled fc test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # No sense in running all these tests if we already determined that # the FC compiler isn't working. Some variables (like enable_shared) # are currently assumed to apply to all compilers on this platform, # and will be corrupted by setting them based on a non-working compiler. if test "$_lt_disable_FC" != yes; then # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_GCC=$GCC lt_save_CFLAGS=$CFLAGS CC=${FC-"f95"} CFLAGS=$FCFLAGS compiler=$CC GCC=$ac_cv_fc_compiler_gnu _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) if test -n "$compiler"; then AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) AC_MSG_CHECKING([whether to build shared libraries]) test "$can_build_shared" = "no" && enable_shared=no # On AIX, shared libraries and static libraries use the same namespace, and # are all built from PIC. case $host_os in aix3*) test "$enable_shared" = yes && enable_static=no if test -n "$RANLIB"; then archive_cmds="$archive_cmds~\$RANLIB \$lib" postinstall_cmds='$RANLIB $lib' fi ;; aix[[4-9]]*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac AC_MSG_RESULT([$enable_shared]) AC_MSG_CHECKING([whether to build static libraries]) # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" _LT_TAGVAR(LD, $1)="$LD" ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... _LT_SYS_HIDDEN_LIBDEPS($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_SYS_DYNAMIC_LINKER($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi # test -n "$compiler" GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS fi # test "$_lt_disable_FC" != yes AC_LANG_POP ])# _LT_LANG_FC_CONFIG # _LT_LANG_GCJ_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Java Compiler compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GCJ_CONFIG], [AC_REQUIRE([LT_PROG_GCJ])dnl AC_LANG_SAVE # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GCJ-"gcj"} CFLAGS=$GCJFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GCJ_CONFIG # _LT_LANG_GO_CONFIG([TAG]) # -------------------------- # Ensure that the configuration variables for the GNU Go compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_GO_CONFIG], [AC_REQUIRE([LT_PROG_GO])dnl AC_LANG_SAVE # Source file extension for Go test sources. ac_ext=go # Object file extension for compiled Go test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="package main; func main() { }" # Code to be used in simple link tests lt_simple_link_test_code='package main; func main() { }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC=$CC lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC=yes CC=${GOC-"gccgo"} CFLAGS=$GOFLAGS compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_TAGVAR(LD, $1)="$LD" _LT_CC_BASENAME([$compiler]) # Go did not exist at the time GCC didn't implicitly link libc in. _LT_TAGVAR(archive_cmds_need_lc, $1)=no _LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds _LT_TAGVAR(reload_flag, $1)=$reload_flag _LT_TAGVAR(reload_cmds, $1)=$reload_cmds ## CAVEAT EMPTOR: ## There is no encapsulation within the following macros, do not change ## the running order or otherwise move them around unless you know exactly ## what you are doing... if test -n "$compiler"; then _LT_COMPILER_NO_RTTI($1) _LT_COMPILER_PIC($1) _LT_COMPILER_C_O($1) _LT_COMPILER_FILE_LOCKS($1) _LT_LINKER_SHLIBS($1) _LT_LINKER_HARDCODE_LIBPATH($1) _LT_CONFIG($1) fi AC_LANG_RESTORE GCC=$lt_save_GCC CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_GO_CONFIG # _LT_LANG_RC_CONFIG([TAG]) # ------------------------- # Ensure that the configuration variables for the Windows resource compiler # are suitably defined. These variables are subsequently used by _LT_CONFIG # to write the compiler configuration to `libtool'. m4_defun([_LT_LANG_RC_CONFIG], [AC_REQUIRE([LT_PROG_RC])dnl AC_LANG_SAVE # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o _LT_TAGVAR(objext, $1)=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # Code to be used in simple link tests lt_simple_link_test_code="$lt_simple_compile_test_code" # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_TAG_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" lt_save_CFLAGS=$CFLAGS lt_save_GCC=$GCC GCC= CC=${RC-"windres"} CFLAGS= compiler=$CC _LT_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes if test -n "$compiler"; then : _LT_CONFIG($1) fi GCC=$lt_save_GCC AC_LANG_RESTORE CC=$lt_save_CC CFLAGS=$lt_save_CFLAGS ])# _LT_LANG_RC_CONFIG # LT_PROG_GCJ # ----------- AC_DEFUN([LT_PROG_GCJ], [m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], [AC_CHECK_TOOL(GCJ, gcj,) test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" AC_SUBST(GCJFLAGS)])])[]dnl ]) # Old name: AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_GCJ], []) # LT_PROG_GO # ---------- AC_DEFUN([LT_PROG_GO], [AC_CHECK_TOOL(GOC, gccgo,) ]) # LT_PROG_RC # ---------- AC_DEFUN([LT_PROG_RC], [AC_CHECK_TOOL(RC, windres,) ]) # Old name: AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_RC], []) # _LT_DECL_EGREP # -------------- # If we don't have a new enough Autoconf to choose the best grep # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_EGREP], [AC_REQUIRE([AC_PROG_EGREP])dnl AC_REQUIRE([AC_PROG_FGREP])dnl test -z "$GREP" && GREP=grep _LT_DECL([], [GREP], [1], [A grep program that handles long lines]) _LT_DECL([], [EGREP], [1], [An ERE matcher]) _LT_DECL([], [FGREP], [1], [A literal string matcher]) dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too AC_SUBST([GREP]) ]) # _LT_DECL_OBJDUMP # -------------- # If we don't have a new enough Autoconf to choose the best objdump # available, choose the one first in the user's PATH. m4_defun([_LT_DECL_OBJDUMP], [AC_CHECK_TOOL(OBJDUMP, objdump, false) test -z "$OBJDUMP" && OBJDUMP=objdump _LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) AC_SUBST([OBJDUMP]) ]) # _LT_DECL_DLLTOOL # ---------------- # Ensure DLLTOOL variable is set. m4_defun([_LT_DECL_DLLTOOL], [AC_CHECK_TOOL(DLLTOOL, dlltool, false) test -z "$DLLTOOL" && DLLTOOL=dlltool _LT_DECL([], [DLLTOOL], [1], [DLL creation program]) AC_SUBST([DLLTOOL]) ]) # _LT_DECL_SED # ------------ # Check for a fully-functional sed program, that truncates # as few characters as possible. Prefer GNU sed if found. m4_defun([_LT_DECL_SED], [AC_PROG_SED test -z "$SED" && SED=sed Xsed="$SED -e 1s/^X//" _LT_DECL([], [SED], [1], [A sed program that does not truncate output]) _LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], [Sed that helps us avoid accidentally triggering echo(1) options like -n]) ])# _LT_DECL_SED m4_ifndef([AC_PROG_SED], [ ############################################################ # NOTE: This macro has been submitted for inclusion into # # GNU Autoconf as AC_PROG_SED. When it is available in # # a released version of Autoconf we should remove this # # macro and use it instead. # ############################################################ m4_defun([AC_PROG_SED], [AC_MSG_CHECKING([for a sed that does not truncate output]) AC_CACHE_VAL(lt_cv_path_SED, [# Loop through the user's path and test for sed and gsed. # Then use that list of sed's as ones to test for truncation. as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for lt_ac_prog in sed gsed; do for ac_exec_ext in '' $ac_executable_extensions; do if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" fi done done done IFS=$as_save_IFS lt_ac_max=0 lt_ac_count=0 # Add /usr/xpg4/bin/sed as it is typically found on Solaris # along with /bin/sed that truncates output. for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do test ! -f $lt_ac_sed && continue cat /dev/null > conftest.in lt_ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >conftest.in # Check for GNU sed and select it if it is found. if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then lt_cv_path_SED=$lt_ac_sed break fi while true; do cat conftest.in conftest.in >conftest.tmp mv conftest.tmp conftest.in cp conftest.in conftest.nl echo >>conftest.nl $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break cmp -s conftest.out conftest.nl || break # 10000 chars as input seems more than enough test $lt_ac_count -gt 10 && break lt_ac_count=`expr $lt_ac_count + 1` if test $lt_ac_count -gt $lt_ac_max; then lt_ac_max=$lt_ac_count lt_cv_path_SED=$lt_ac_sed fi done done ]) SED=$lt_cv_path_SED AC_SUBST([SED]) AC_MSG_RESULT([$SED]) ])#AC_PROG_SED ])#m4_ifndef # Old name: AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) dnl aclocal-1.4 backwards compatibility: dnl AC_DEFUN([LT_AC_PROG_SED], []) # _LT_CHECK_SHELL_FEATURES # ------------------------ # Find out whether the shell is Bourne or XSI compatible, # or has some other useful features. m4_defun([_LT_CHECK_SHELL_FEATURES], [AC_MSG_CHECKING([whether the shell understands some XSI constructs]) # Try some XSI features xsi_shell=no ( _lt_dummy="a/b/c" test "${_lt_dummy##*/},${_lt_dummy%/*},${_lt_dummy#??}"${_lt_dummy%"$_lt_dummy"}, \ = c,a/b,b/c, \ && eval 'test $(( 1 + 1 )) -eq 2 \ && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ && xsi_shell=yes AC_MSG_RESULT([$xsi_shell]) _LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) AC_MSG_CHECKING([whether the shell understands "+="]) lt_shell_append=no ( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ >/dev/null 2>&1 \ && lt_shell_append=yes AC_MSG_RESULT([$lt_shell_append]) _LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then lt_unset=unset else lt_unset=false fi _LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl # test EBCDIC or ASCII case `echo X|tr X '\101'` in A) # ASCII based system # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr lt_SP2NL='tr \040 \012' lt_NL2SP='tr \015\012 \040\040' ;; *) # EBCDIC based system lt_SP2NL='tr \100 \n' lt_NL2SP='tr \r\n \100\100' ;; esac _LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl _LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl ])# _LT_CHECK_SHELL_FEATURES # _LT_PROG_FUNCTION_REPLACE (FUNCNAME, REPLACEMENT-BODY) # ------------------------------------------------------ # In `$cfgfile', look for function FUNCNAME delimited by `^FUNCNAME ()$' and # '^} FUNCNAME ', and replace its body with REPLACEMENT-BODY. m4_defun([_LT_PROG_FUNCTION_REPLACE], [dnl { sed -e '/^$1 ()$/,/^} # $1 /c\ $1 ()\ {\ m4_bpatsubsts([$2], [$], [\\], [^\([ ]\)], [\\\1]) } # Extended-shell $1 implementation' "$cfgfile" > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: ]) # _LT_PROG_REPLACE_SHELLFNS # ------------------------- # Replace existing portable implementations of several shell functions with # equivalent extended shell implementations where those features are available.. m4_defun([_LT_PROG_REPLACE_SHELLFNS], [if test x"$xsi_shell" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_dirname], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_basename], [dnl func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_dirname_and_basename], [dnl case ${1} in */*) func_dirname_result="${1%/*}${2}" ;; * ) func_dirname_result="${3}" ;; esac func_basename_result="${1##*/}"]) _LT_PROG_FUNCTION_REPLACE([func_stripname], [dnl # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are # positional parameters, so assign one to ordinary parameter first. func_stripname_result=${3} func_stripname_result=${func_stripname_result#"${1}"} func_stripname_result=${func_stripname_result%"${2}"}]) _LT_PROG_FUNCTION_REPLACE([func_split_long_opt], [dnl func_split_long_opt_name=${1%%=*} func_split_long_opt_arg=${1#*=}]) _LT_PROG_FUNCTION_REPLACE([func_split_short_opt], [dnl func_split_short_opt_arg=${1#??} func_split_short_opt_name=${1%"$func_split_short_opt_arg"}]) _LT_PROG_FUNCTION_REPLACE([func_lo2o], [dnl case ${1} in *.lo) func_lo2o_result=${1%.lo}.${objext} ;; *) func_lo2o_result=${1} ;; esac]) _LT_PROG_FUNCTION_REPLACE([func_xform], [ func_xform_result=${1%.*}.lo]) _LT_PROG_FUNCTION_REPLACE([func_arith], [ func_arith_result=$(( $[*] ))]) _LT_PROG_FUNCTION_REPLACE([func_len], [ func_len_result=${#1}]) fi if test x"$lt_shell_append" = xyes; then _LT_PROG_FUNCTION_REPLACE([func_append], [ eval "${1}+=\\${2}"]) _LT_PROG_FUNCTION_REPLACE([func_append_quoted], [dnl func_quote_for_eval "${2}" dnl m4 expansion turns \\\\ into \\, and then the shell eval turns that into \ eval "${1}+=\\\\ \\$func_quote_for_eval_result"]) # Save a `func_append' function call where possible by direct use of '+=' sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1+="%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: else # Save a `func_append' function call even when '+=' is not available sed -e 's%func_append \([[a-zA-Z_]]\{1,\}\) "%\1="$\1%g' $cfgfile > $cfgfile.tmp \ && mv -f "$cfgfile.tmp" "$cfgfile" \ || (rm -f "$cfgfile" && cp "$cfgfile.tmp" "$cfgfile" && rm -f "$cfgfile.tmp") test 0 -eq $? || _lt_function_replace_fail=: fi if test x"$_lt_function_replace_fail" = x":"; then AC_MSG_WARN([Unable to substitute extended shell functions in $ofile]) fi ]) # _LT_PATH_CONVERSION_FUNCTIONS # ----------------------------- # Determine which file name conversion functions should be used by # func_to_host_file (and, implicitly, by func_to_host_path). These are needed # for certain cross-compile configurations and native mingw. m4_defun([_LT_PATH_CONVERSION_FUNCTIONS], [AC_REQUIRE([AC_CANONICAL_HOST])dnl AC_REQUIRE([AC_CANONICAL_BUILD])dnl AC_MSG_CHECKING([how to convert $build file names to $host format]) AC_CACHE_VAL(lt_cv_to_host_file_cmd, [case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32 ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_cygwin_to_w32 ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_w32 ;; esac ;; *-*-cygwin* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin ;; *-*-cygwin* ) lt_cv_to_host_file_cmd=func_convert_file_noop ;; * ) # otherwise, assume *nix lt_cv_to_host_file_cmd=func_convert_file_nix_to_cygwin ;; esac ;; * ) # unhandled hosts (and "normal" native builds) lt_cv_to_host_file_cmd=func_convert_file_noop ;; esac ]) to_host_file_cmd=$lt_cv_to_host_file_cmd AC_MSG_RESULT([$lt_cv_to_host_file_cmd]) _LT_DECL([to_host_file_cmd], [lt_cv_to_host_file_cmd], [0], [convert $build file names to $host format])dnl AC_MSG_CHECKING([how to convert $build file names to toolchain format]) AC_CACHE_VAL(lt_cv_to_tool_file_cmd, [#assume ordinary cross tools, or native build. lt_cv_to_tool_file_cmd=func_convert_file_noop case $host in *-*-mingw* ) case $build in *-*-mingw* ) # actually msys lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32 ;; esac ;; esac ]) to_tool_file_cmd=$lt_cv_to_tool_file_cmd AC_MSG_RESULT([$lt_cv_to_tool_file_cmd]) _LT_DECL([to_tool_file_cmd], [lt_cv_to_tool_file_cmd], [0], [convert $build files to toolchain format])dnl ])# _LT_PATH_CONVERSION_FUNCTIONS entangle-0.5.4/m4/lt~obsolete.m40000644000000000000000000001375612253420700013347 00000000000000# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004. # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 5 lt~obsolete.m4 # These exist entirely to fool aclocal when bootstrapping libtool. # # In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) # which have later been changed to m4_define as they aren't part of the # exported API, or moved to Autoconf or Automake where they belong. # # The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN # in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us # using a macro with the same name in our local m4/libtool.m4 it'll # pull the old libtool.m4 in (it doesn't see our shiny new m4_define # and doesn't know about Autoconf macros at all.) # # So we provide this file, which has a silly filename so it's always # included after everything else. This provides aclocal with the # AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything # because those macros already exist, or will be overwritten later. # We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. # # Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. # Yes, that means every name once taken will need to remain here until # we give up compatibility with versions before 1.7, at which point # we need to keep only those names which we still refer to. # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) m4_ifndef([_LT_REQUIRED_DARWIN_CHECKS], [AC_DEFUN([_LT_REQUIRED_DARWIN_CHECKS])]) m4_ifndef([_LT_AC_PROG_CXXCPP], [AC_DEFUN([_LT_AC_PROG_CXXCPP])]) m4_ifndef([_LT_PREPARE_SED_QUOTE_VARS], [AC_DEFUN([_LT_PREPARE_SED_QUOTE_VARS])]) m4_ifndef([_LT_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_PROG_ECHO_BACKSLASH])]) m4_ifndef([_LT_PROG_F77], [AC_DEFUN([_LT_PROG_F77])]) m4_ifndef([_LT_PROG_FC], [AC_DEFUN([_LT_PROG_FC])]) m4_ifndef([_LT_PROG_CXX], [AC_DEFUN([_LT_PROG_CXX])]) entangle-0.5.4/m4/warnings.m40000664000000000000000000000300112253420651012612 00000000000000# -*- buffer-read-only: t -*- vi: set ro: # DO NOT EDIT! GENERATED AUTOMATICALLY! # warnings.m4 serial 5 dnl Copyright (C) 2008-2011 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl From Simon Josefsson # gl_AS_VAR_APPEND(VAR, VALUE) # ---------------------------- # Provide the functionality of AS_VAR_APPEND if Autoconf does not have it. m4_ifdef([AS_VAR_APPEND], [m4_copy([AS_VAR_APPEND], [gl_AS_VAR_APPEND])], [m4_define([gl_AS_VAR_APPEND], [AS_VAR_SET([$1], [AS_VAR_GET([$1])$2])])]) # gl_WARN_ADD(PARAMETER, [VARIABLE = WARN_CFLAGS]) # ------------------------------------------------ # Adds parameter to WARN_CFLAGS if the compiler supports it. For example, # gl_WARN_ADD([-Wparentheses]). AC_DEFUN([gl_WARN_ADD], dnl FIXME: gl_Warn must be used unquoted until we can assume dnl autoconf 2.64 or newer. [AS_VAR_PUSHDEF([gl_Warn], [gl_cv_warn_$1])dnl AC_CACHE_CHECK([whether compiler handles $1], m4_defn([gl_Warn]), [ gl_save_CPPFLAGS="$CPPFLAGS" CPPFLAGS="${CPPFLAGS} $1" AC_PREPROC_IFELSE([AC_LANG_PROGRAM([])], [AS_VAR_SET(gl_Warn, [yes])], [AS_VAR_SET(gl_Warn, [no])]) CPPFLAGS="$gl_save_CPPFLAGS" ]) AS_VAR_IF(gl_Warn, [yes], [gl_AS_VAR_APPEND(m4_if([$2], [], [[WARN_CFLAGS]], [[$2]]), [" $1"])]) AS_VAR_POPDEF([gl_Warn])dnl m4_ifval([$2], [AS_LITERAL_IF([$2], [AC_SUBST([$2])], [])])dnl ]) entangle-0.5.4/m4/gtk-doc.m40000644000000000000000000000477212062651145012332 00000000000000dnl -*- mode: autoconf -*- # serial 1 dnl Usage: dnl GTK_DOC_CHECK([minimum-gtk-doc-version]) AC_DEFUN([GTK_DOC_CHECK], [ AC_REQUIRE([PKG_PROG_PKG_CONFIG]) AC_BEFORE([AC_PROG_LIBTOOL],[$0])dnl setup libtool first AC_BEFORE([AM_PROG_LIBTOOL],[$0])dnl setup libtool first dnl check for tools we added during development AC_PATH_PROG([GTKDOC_CHECK],[gtkdoc-check]) AC_PATH_PROGS([GTKDOC_REBASE],[gtkdoc-rebase],[true]) AC_PATH_PROG([GTKDOC_MKPDF],[gtkdoc-mkpdf]) dnl for overriding the documentation installation directory AC_ARG_WITH([html-dir], AS_HELP_STRING([--with-html-dir=PATH], [path to installed docs]),, [with_html_dir='${datadir}/gtk-doc/html']) HTML_DIR="$with_html_dir" AC_SUBST([HTML_DIR]) dnl enable/disable documentation building AC_ARG_ENABLE([gtk-doc], AS_HELP_STRING([--enable-gtk-doc], [use gtk-doc to build documentation [[default=no]]]),, [enable_gtk_doc=no]) if test x$enable_gtk_doc = xyes; then ifelse([$1],[], [PKG_CHECK_EXISTS([gtk-doc],, AC_MSG_ERROR([gtk-doc not installed and --enable-gtk-doc requested]))], [PKG_CHECK_EXISTS([gtk-doc >= $1],, AC_MSG_ERROR([You need to have gtk-doc >= $1 installed to build $PACKAGE_NAME]))]) dnl don't check for glib if we build glib if test "x$PACKAGE_NAME" != "xglib"; then dnl don't fail if someone does not have glib PKG_CHECK_MODULES(GTKDOC_DEPS, glib-2.0 >= 2.10.0 gobject-2.0 >= 2.10.0,,[:]) fi fi AC_MSG_CHECKING([whether to build gtk-doc documentation]) AC_MSG_RESULT($enable_gtk_doc) dnl enable/disable output formats AC_ARG_ENABLE([gtk-doc-html], AS_HELP_STRING([--enable-gtk-doc-html], [build documentation in html format [[default=yes]]]),, [enable_gtk_doc_html=yes]) AC_ARG_ENABLE([gtk-doc-pdf], AS_HELP_STRING([--enable-gtk-doc-pdf], [build documentation in pdf format [[default=no]]]),, [enable_gtk_doc_pdf=no]) if test -z "$GTKDOC_MKPDF"; then enable_gtk_doc_pdf=no fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) AM_CONDITIONAL([ENABLE_GTK_DOC], [test x$enable_gtk_doc = xyes]) AM_CONDITIONAL([GTK_DOC_BUILD_HTML], [test x$enable_gtk_doc_html = xyes]) AM_CONDITIONAL([GTK_DOC_BUILD_PDF], [test x$enable_gtk_doc_pdf = xyes]) AM_CONDITIONAL([GTK_DOC_USE_LIBTOOL], [test -n "$LIBTOOL"]) AM_CONDITIONAL([GTK_DOC_USE_REBASE], [test -n "$GTKDOC_REBASE"]) ]) entangle-0.5.4/m4/ltsugar.m40000644000000000000000000001042412253420677012460 00000000000000# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- # # Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. # Written by Gary V. Vaughan, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # serial 6 ltsugar.m4 # This is to help aclocal find these macros, as it can't see m4_define. AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) # lt_join(SEP, ARG1, [ARG2...]) # ----------------------------- # Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their # associated separator. # Needed until we can rely on m4_join from Autoconf 2.62, since all earlier # versions in m4sugar had bugs. m4_define([lt_join], [m4_if([$#], [1], [], [$#], [2], [[$2]], [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) m4_define([_lt_join], [m4_if([$#$2], [2], [], [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) # lt_car(LIST) # lt_cdr(LIST) # ------------ # Manipulate m4 lists. # These macros are necessary as long as will still need to support # Autoconf-2.59 which quotes differently. m4_define([lt_car], [[$1]]) m4_define([lt_cdr], [m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], [$#], 1, [], [m4_dquote(m4_shift($@))])]) m4_define([lt_unquote], $1) # lt_append(MACRO-NAME, STRING, [SEPARATOR]) # ------------------------------------------ # Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. # Note that neither SEPARATOR nor STRING are expanded; they are appended # to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). # No SEPARATOR is output if MACRO-NAME was previously undefined (different # than defined and empty). # # This macro is needed until we can rely on Autoconf 2.62, since earlier # versions of m4sugar mistakenly expanded SEPARATOR but not STRING. m4_define([lt_append], [m4_define([$1], m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) # lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) # ---------------------------------------------------------- # Produce a SEP delimited list of all paired combinations of elements of # PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list # has the form PREFIXmINFIXSUFFIXn. # Needed until we can rely on m4_combine added in Autoconf 2.62. m4_define([lt_combine], [m4_if(m4_eval([$# > 3]), [1], [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl [[m4_foreach([_Lt_prefix], [$2], [m4_foreach([_Lt_suffix], ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) # lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) # ----------------------------------------------------------------------- # Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited # by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. m4_define([lt_if_append_uniq], [m4_ifdef([$1], [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], [lt_append([$1], [$2], [$3])$4], [$5])], [lt_append([$1], [$2], [$3])$4])]) # lt_dict_add(DICT, KEY, VALUE) # ----------------------------- m4_define([lt_dict_add], [m4_define([$1($2)], [$3])]) # lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) # -------------------------------------------- m4_define([lt_dict_add_subkey], [m4_define([$1($2:$3)], [$4])]) # lt_dict_fetch(DICT, KEY, [SUBKEY]) # ---------------------------------- m4_define([lt_dict_fetch], [m4_ifval([$3], m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) # lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) # ----------------------------------------------------------------- m4_define([lt_if_dict_fetch], [m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], [$5], [$6])]) # lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) # -------------------------------------------------------------- m4_define([lt_dict_filter], [m4_if([$5], [], [], [lt_join(m4_quote(m4_default([$4], [[, ]])), lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl ]) entangle-0.5.4/m4/intltool.m40000644000000000000000000002772412105306711012642 00000000000000## intltool.m4 - Configure intltool for the target system. -*-Shell-script-*- ## Copyright (C) 2001 Eazel, Inc. ## Author: Maciej Stachowiak ## Kenneth Christiansen ## ## 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. ## ## You should have received a copy of the GNU General Public License ## along with this program; if not, write to the Free Software ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ## ## As a special exception to the GNU General Public License, if you ## distribute this file as part of a program that contains a ## configuration script generated by Autoconf, you may include it under ## the same distribution terms that you use for the rest of that program. dnl IT_PROG_INTLTOOL([MINIMUM-VERSION], [no-xml]) # serial 42 IT_PROG_INTLTOOL AC_DEFUN([IT_PROG_INTLTOOL], [ AC_PREREQ([2.50])dnl AC_REQUIRE([AM_NLS])dnl case "$am__api_version" in 1.[01234]) AC_MSG_ERROR([Automake 1.5 or newer is required to use intltool]) ;; *) ;; esac INTLTOOL_REQUIRED_VERSION_AS_INT=`echo $1 | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` INTLTOOL_APPLIED_VERSION=`intltool-update --version | head -1 | cut -d" " -f3` INTLTOOL_APPLIED_VERSION_AS_INT=`echo $INTLTOOL_APPLIED_VERSION | awk -F. '{ print $ 1 * 1000 + $ 2 * 100 + $ 3; }'` if test -n "$1"; then AC_MSG_CHECKING([for intltool >= $1]) AC_MSG_RESULT([$INTLTOOL_APPLIED_VERSION found]) test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge "$INTLTOOL_REQUIRED_VERSION_AS_INT" || AC_MSG_ERROR([Your intltool is too old. You need intltool $1 or later.]) fi AC_PATH_PROG(INTLTOOL_UPDATE, [intltool-update]) AC_PATH_PROG(INTLTOOL_MERGE, [intltool-merge]) AC_PATH_PROG(INTLTOOL_EXTRACT, [intltool-extract]) if test -z "$INTLTOOL_UPDATE" -o -z "$INTLTOOL_MERGE" -o -z "$INTLTOOL_EXTRACT"; then AC_MSG_ERROR([The intltool scripts were not found. Please install intltool.]) fi if test -z "$AM_DEFAULT_VERBOSITY"; then AM_DEFAULT_VERBOSITY=1 fi AC_SUBST([AM_DEFAULT_VERBOSITY]) INTLTOOL_V_MERGE='$(INTLTOOL__v_MERGE_$(V))' INTLTOOL__v_MERGE_='$(INTLTOOL__v_MERGE_$(AM_DEFAULT_VERBOSITY))' INTLTOOL__v_MERGE_0='@echo " ITMRG " [$]@;' AC_SUBST(INTLTOOL_V_MERGE) AC_SUBST(INTLTOOL__v_MERGE_) AC_SUBST(INTLTOOL__v_MERGE_0) INTLTOOL_V_MERGE_OPTIONS='$(intltool__v_merge_options_$(V))' intltool__v_merge_options_='$(intltool__v_merge_options_$(AM_DEFAULT_VERBOSITY))' intltool__v_merge_options_0='-q' AC_SUBST(INTLTOOL_V_MERGE_OPTIONS) AC_SUBST(intltool__v_merge_options_) AC_SUBST(intltool__v_merge_options_0) INTLTOOL_DESKTOP_RULE='%.desktop: %.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_DIRECTORY_RULE='%.directory: %.directory.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KEYS_RULE='%.keys: %.keys.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -k -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_PROP_RULE='%.prop: %.prop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_OAF_RULE='%.oaf: %.oaf.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -p $(top_srcdir)/po $< [$]@' INTLTOOL_PONG_RULE='%.pong: %.pong.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVER_RULE='%.server: %.server.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -o -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SHEET_RULE='%.sheet: %.sheet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SOUNDLIST_RULE='%.soundlist: %.soundlist.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_UI_RULE='%.ui: %.ui.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_XML_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' if test "$INTLTOOL_APPLIED_VERSION_AS_INT" -ge 5000; then INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u --no-translations $< [$]@' else INTLTOOL_XML_NOMERGE_RULE='%.xml: %.xml.in $(INTLTOOL_MERGE) ; $(INTLTOOL_V_MERGE)_it_tmp_dir=tmp.intltool.[$][$]RANDOM && mkdir [$][$]_it_tmp_dir && LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u [$][$]_it_tmp_dir $< [$]@ && rmdir [$][$]_it_tmp_dir' fi INTLTOOL_XAM_RULE='%.xam: %.xml.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_KBD_RULE='%.kbd: %.kbd.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -m -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_CAVES_RULE='%.caves: %.caves.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SCHEMAS_RULE='%.schemas: %.schemas.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -s -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_THEME_RULE='%.theme: %.theme.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_SERVICE_RULE='%.service: %.service.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' INTLTOOL_POLICY_RULE='%.policy: %.policy.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; $(INTLTOOL_V_MERGE)LC_ALL=C $(INTLTOOL_MERGE) $(INTLTOOL_V_MERGE_OPTIONS) -x -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< [$]@' _IT_SUBST(INTLTOOL_DESKTOP_RULE) _IT_SUBST(INTLTOOL_DIRECTORY_RULE) _IT_SUBST(INTLTOOL_KEYS_RULE) _IT_SUBST(INTLTOOL_PROP_RULE) _IT_SUBST(INTLTOOL_OAF_RULE) _IT_SUBST(INTLTOOL_PONG_RULE) _IT_SUBST(INTLTOOL_SERVER_RULE) _IT_SUBST(INTLTOOL_SHEET_RULE) _IT_SUBST(INTLTOOL_SOUNDLIST_RULE) _IT_SUBST(INTLTOOL_UI_RULE) _IT_SUBST(INTLTOOL_XAM_RULE) _IT_SUBST(INTLTOOL_KBD_RULE) _IT_SUBST(INTLTOOL_XML_RULE) _IT_SUBST(INTLTOOL_XML_NOMERGE_RULE) _IT_SUBST(INTLTOOL_CAVES_RULE) _IT_SUBST(INTLTOOL_SCHEMAS_RULE) _IT_SUBST(INTLTOOL_THEME_RULE) _IT_SUBST(INTLTOOL_SERVICE_RULE) _IT_SUBST(INTLTOOL_POLICY_RULE) # Check the gettext tools to make sure they are GNU AC_PATH_PROG(XGETTEXT, xgettext) AC_PATH_PROG(MSGMERGE, msgmerge) AC_PATH_PROG(MSGFMT, msgfmt) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) if test -z "$XGETTEXT" -o -z "$MSGMERGE" -o -z "$MSGFMT"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi xgversion="`$XGETTEXT --version|grep '(GNU ' 2> /dev/null`" mmversion="`$MSGMERGE --version|grep '(GNU ' 2> /dev/null`" mfversion="`$MSGFMT --version|grep '(GNU ' 2> /dev/null`" if test -z "$xgversion" -o -z "$mmversion" -o -z "$mfversion"; then AC_MSG_ERROR([GNU gettext tools not found; required for intltool]) fi AC_PATH_PROG(INTLTOOL_PERL, perl) if test -z "$INTLTOOL_PERL"; then AC_MSG_ERROR([perl not found]) fi AC_MSG_CHECKING([for perl >= 5.8.1]) $INTLTOOL_PERL -e "use 5.8.1;" > /dev/null 2>&1 if test $? -ne 0; then AC_MSG_ERROR([perl 5.8.1 is required for intltool]) else IT_PERL_VERSION=`$INTLTOOL_PERL -e "printf '%vd', $^V"` AC_MSG_RESULT([$IT_PERL_VERSION]) fi if test "x$2" != "xno-xml"; then AC_MSG_CHECKING([for XML::Parser]) if `$INTLTOOL_PERL -e "require XML::Parser" 2>/dev/null`; then AC_MSG_RESULT([ok]) else AC_MSG_ERROR([XML::Parser perl module is required for intltool]) fi fi # Substitute ALL_LINGUAS so we can use it in po/Makefile AC_SUBST(ALL_LINGUAS) # Set DATADIRNAME correctly if it is not set yet # (copied from glib-gettext.m4) if test -z "$DATADIRNAME"; then AC_LINK_IFELSE( [AC_LANG_PROGRAM([[]], [[extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr]])], [DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share dnl in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [DATADIRNAME=share], [DATADIRNAME=lib]) ;; *) [DATADIRNAME=lib] ;; esac]) fi AC_SUBST(DATADIRNAME) IT_PO_SUBDIR([po]) ]) # IT_PO_SUBDIR(DIRNAME) # --------------------- # All po subdirs have to be declared with this macro; the subdir "po" is # declared by IT_PROG_INTLTOOL. # AC_DEFUN([IT_PO_SUBDIR], [AC_PREREQ([2.53])dnl We use ac_top_srcdir inside AC_CONFIG_COMMANDS. dnl dnl The following CONFIG_COMMANDS should be executed at the very end dnl of config.status. AC_CONFIG_COMMANDS_PRE([ AC_CONFIG_COMMANDS([$1/stamp-it], [ if [ ! grep "^# INTLTOOL_MAKEFILE$" "$1/Makefile.in" > /dev/null ]; then AC_MSG_ERROR([$1/Makefile.in.in was not created by intltoolize.]) fi rm -f "$1/stamp-it" "$1/stamp-it.tmp" "$1/POTFILES" "$1/Makefile.tmp" >"$1/stamp-it.tmp" [sed '/^#/d s/^[[].*] *// /^[ ]*$/d '"s|^| $ac_top_srcdir/|" \ "$srcdir/$1/POTFILES.in" | sed '$!s/$/ \\/' >"$1/POTFILES" ] [sed '/^POTFILES =/,/[^\\]$/ { /^POTFILES =/!d r $1/POTFILES } ' "$1/Makefile.in" >"$1/Makefile"] rm -f "$1/Makefile.tmp" mv "$1/stamp-it.tmp" "$1/stamp-it" ]) ])dnl ]) # _IT_SUBST(VARIABLE) # ------------------- # Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST # AC_DEFUN([_IT_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # deprecated macros AU_ALIAS([AC_PROG_INTLTOOL], [IT_PROG_INTLTOOL]) # A hint is needed for aclocal from Automake <= 1.9.4: # AC_DEFUN([AC_PROG_INTLTOOL], ...) entangle-0.5.4/m4/ltversion.m40000644000000000000000000000126212253420700013007 00000000000000# ltversion.m4 -- version numbers -*- Autoconf -*- # # Copyright (C) 2004 Free Software Foundation, Inc. # Written by Scott James Remnant, 2004 # # This file is free software; the Free Software Foundation gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. # @configure_input@ # serial 3337 ltversion.m4 # This file is part of GNU Libtool m4_define([LT_PACKAGE_VERSION], [2.4.2]) m4_define([LT_PACKAGE_REVISION], [1.3337]) AC_DEFUN([LTVERSION_VERSION], [macro_version='2.4.2' macro_revision='1.3337' _LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) _LT_DECL(, macro_revision, 0) ]) entangle-0.5.4/compile0000755000000000000000000001624512253420720011567 00000000000000#! /bin/sh # Wrapper for compilers which do not understand '-c -o'. scriptversion=2012-10-14.11; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # Written by Tom Tromey . # # 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, 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. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # This file is maintained in Automake, please report # bugs to or send patches to # . nl=' ' # We need space, tab and new line, in precisely that order. Quoting is # there to prevent tools from complaining about whitespace usage. IFS=" "" $nl" file_conv= # func_file_conv build_file lazy # Convert a $build file to $host form and store it in $file # Currently only supports Windows hosts. If the determined conversion # type is listed in (the comma separated) LAZY, no conversion will # take place. func_file_conv () { file=$1 case $file in / | /[!/]*) # absolute file, and not a UNC file if test -z "$file_conv"; then # lazily determine how to convert abs files case `uname -s` in MINGW*) file_conv=mingw ;; CYGWIN*) file_conv=cygwin ;; *) file_conv=wine ;; esac fi case $file_conv/,$2, in *,$file_conv,*) ;; mingw/*) file=`cmd //C echo "$file " | sed -e 's/"\(.*\) " *$/\1/'` ;; cygwin/*) file=`cygpath -m "$file" || echo "$file"` ;; wine/*) file=`winepath -w "$file" || echo "$file"` ;; esac ;; esac } # func_cl_dashL linkdir # Make cl look for libraries in LINKDIR func_cl_dashL () { func_file_conv "$1" if test -z "$lib_path"; then lib_path=$file else lib_path="$lib_path;$file" fi linker_opts="$linker_opts -LIBPATH:$file" } # func_cl_dashl library # Do a library search-path lookup for cl func_cl_dashl () { lib=$1 found=no save_IFS=$IFS IFS=';' for dir in $lib_path $LIB do IFS=$save_IFS if $shared && test -f "$dir/$lib.dll.lib"; then found=yes lib=$dir/$lib.dll.lib break fi if test -f "$dir/$lib.lib"; then found=yes lib=$dir/$lib.lib break fi if test -f "$dir/lib$lib.a"; then found=yes lib=$dir/lib$lib.a break fi done IFS=$save_IFS if test "$found" != yes; then lib=$lib.lib fi } # func_cl_wrapper cl arg... # Adjust compile command to suit cl func_cl_wrapper () { # Assume a capable shell lib_path= shared=: linker_opts= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. eat=1 case $2 in *.o | *.[oO][bB][jJ]) func_file_conv "$2" set x "$@" -Fo"$file" shift ;; *) func_file_conv "$2" set x "$@" -Fe"$file" shift ;; esac ;; -I) eat=1 func_file_conv "$2" mingw set x "$@" -I"$file" shift ;; -I*) func_file_conv "${1#-I}" mingw set x "$@" -I"$file" shift ;; -l) eat=1 func_cl_dashl "$2" set x "$@" "$lib" shift ;; -l*) func_cl_dashl "${1#-l}" set x "$@" "$lib" shift ;; -L) eat=1 func_cl_dashL "$2" ;; -L*) func_cl_dashL "${1#-L}" ;; -static) shared=false ;; -Wl,*) arg=${1#-Wl,} save_ifs="$IFS"; IFS=',' for flag in $arg; do IFS="$save_ifs" linker_opts="$linker_opts $flag" done IFS="$save_ifs" ;; -Xlinker) eat=1 linker_opts="$linker_opts $2" ;; -*) set x "$@" "$1" shift ;; *.cc | *.CC | *.cxx | *.CXX | *.[cC]++) func_file_conv "$1" set x "$@" -Tp"$file" shift ;; *.c | *.cpp | *.CPP | *.lib | *.LIB | *.Lib | *.OBJ | *.obj | *.[oO]) func_file_conv "$1" mingw set x "$@" "$file" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -n "$linker_opts"; then linker_opts="-link$linker_opts" fi exec "$@" $linker_opts exit 1 } eat= case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: compile [--help] [--version] PROGRAM [ARGS] Wrapper for compilers which do not understand '-c -o'. Remove '-o dest.o' from ARGS, run PROGRAM with the remaining arguments, and rename the output as expected. If you are trying to build a whole package this is not the right script to run: please start by reading the file 'INSTALL'. Report bugs to . EOF exit $? ;; -v | --v*) echo "compile $scriptversion" exit $? ;; cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) func_cl_wrapper "$@" # Doesn't return... ;; esac ofile= cfile= for arg do if test -n "$eat"; then eat= else case $1 in -o) # configure might choose to run compile as 'compile cc -o foo foo.c'. # So we strip '-o arg' only if arg is an object. eat=1 case $2 in *.o | *.obj) ofile=$2 ;; *) set x "$@" -o "$2" shift ;; esac ;; *.c) cfile=$1 set x "$@" "$1" shift ;; *) set x "$@" "$1" shift ;; esac fi shift done if test -z "$ofile" || test -z "$cfile"; then # If no '-o' option was seen then we might have been invoked from a # pattern rule where we don't need one. That is ok -- this is a # normal compilation that the losing compiler can handle. If no # '.c' file was seen then we are probably linking. That is also # ok. exec "$@" fi # Name of file we expect compiler to create. cofile=`echo "$cfile" | sed 's|^.*[\\/]||; s|^[a-zA-Z]:||; s/\.c$/.o/'` # Create the lock directory. # Note: use '[/\\:.-]' here to ensure that we don't use the same name # that we are using for the .o file. Also, base the name on the expected # object file name, since that is what matters with a parallel build. lockdir=`echo "$cofile" | sed -e 's|[/\\:.-]|_|g'`.d while true; do if mkdir "$lockdir" >/dev/null 2>&1; then break fi sleep 1 done # FIXME: race condition here if user kills between mkdir and trap. trap "rmdir '$lockdir'; exit 1" 1 2 15 # Run the compile. "$@" ret=$? if test -f "$cofile"; then test "$cofile" = "$ofile" || mv "$cofile" "$ofile" elif test -f "${cofile}bj"; then test "${cofile}bj" = "$ofile" || mv "${cofile}bj" "$ofile" fi rmdir "$lockdir" exit $ret # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: entangle-0.5.4/GNUmakefile0000664000000000000000000001131612253420651012262 00000000000000# Having a separate GNUmakefile lets me `include' the dynamically # generated rules created via cfg.mk (package-local configuration) # as well as maint.mk (generic maintainer rules). # This makefile is used only if you run GNU Make. # It is necessary if you want to build targets usually of interest # only to the maintainer. # Copyright (C) 2001, 2003, 2006-2011 Free Software Foundation, Inc. # 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 3 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. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # Systems where /bin/sh is not the default shell need this. The $(shell) # command below won't work with e.g. stock DOS/Windows shells. ifeq ($(wildcard /bin/s[h]),/bin/sh) SHELL = /bin/sh else # will be used only with the next shell-test line, then overwritten # by a configured-in value SHELL = sh endif # If the user runs GNU make but has not yet run ./configure, # give them a diagnostic. _have-Makefile := $(shell test -f Makefile && echo yes) ifeq ($(_have-Makefile),yes) # Make tar archive easier to reproduce. export TAR_OPTIONS = --owner=0 --group=0 --numeric-owner # Allow the user to add to this in the Makefile. ALL_RECURSIVE_TARGETS = include Makefile # Some projects override e.g., _autoreconf here. -include $(srcdir)/cfg.mk # Allow cfg.mk to override these. _build-aux ?= build-aux _autoreconf ?= autoreconf -v include $(srcdir)/maint.mk # Ensure that $(VERSION) is up to date for dist-related targets, but not # for others: rerunning autoreconf and recompiling everything isn't cheap. _have-git-version-gen := \ $(shell test -f $(srcdir)/$(_build-aux)/git-version-gen && echo yes) ifeq ($(_have-git-version-gen)0,yes$(MAKELEVEL)) _is-dist-target ?= $(filter-out %clean, \ $(filter maintainer-% dist% alpha beta stable,$(MAKECMDGOALS))) _is-install-target ?= $(filter-out %check, $(filter install%,$(MAKECMDGOALS))) ifneq (,$(_is-dist-target)$(_is-install-target)) _curr-ver := $(shell cd $(srcdir) \ && $(_build-aux)/git-version-gen \ .tarball-version \ $(git-version-gen-tag-sed-script)) ifneq ($(_curr-ver),$(VERSION)) ifeq ($(_curr-ver),UNKNOWN) $(info WARNING: unable to verify if $(VERSION) is the correct version) else ifneq (,$(_is-install-target)) # GNU Coding Standards state that 'make install' should not cause # recompilation after 'make all'. But as long as changing the version # string alters config.h, the cost of having 'make all' always have an # up-to-date version is prohibitive. So, as a compromise, we merely # warn when installing a version string that is out of date; the user # should run 'autoreconf' (or something like 'make distcheck') to # fix the version, 'make all' to propagate it, then 'make install'. $(info WARNING: version string $(VERSION) is out of date;) $(info run '$(MAKE) _version' to fix it) else $(info INFO: running autoreconf for new version string: $(_curr-ver)) GNUmakefile: _version touch GNUmakefile endif endif endif endif endif .PHONY: _version _version: cd $(srcdir) && rm -rf autom4te.cache .version && $(_autoreconf) $(MAKE) $(AM_MAKEFLAGS) Makefile else .DEFAULT_GOAL := abort-due-to-no-makefile srcdir = . # The package can override .DEFAULT_GOAL to run actions like autoreconf. -include ./cfg.mk include ./maint.mk ifeq ($(.DEFAULT_GOAL),abort-due-to-no-makefile) $(MAKECMDGOALS): abort-due-to-no-makefile endif abort-due-to-no-makefile: @echo There seems to be no Makefile in this directory. 1>&2 @echo "You must run ./configure before running \`make'." 1>&2 @exit 1 endif # Tell version 3.79 and up of GNU make to not build goals in this # directory in parallel, in case someone tries to build multiple # targets, and one of them can cause a recursive target to be invoked. # Only set this if Automake doesn't provide it. AM_RECURSIVE_TARGETS ?= $(RECURSIVE_TARGETS:-recursive=) \ $(RECURSIVE_CLEAN_TARGETS:-recursive=) \ dist distcheck tags ctags ALL_RECURSIVE_TARGETS += $(AM_RECURSIVE_TARGETS) ifneq ($(word 2, $(MAKECMDGOALS)), ) ifneq ($(filter $(ALL_RECURSIVE_TARGETS), $(MAKECMDGOALS)), ) .NOTPARALLEL: endif endif entangle-0.5.4/depcomp0000755000000000000000000005601612253420721011567 00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2013-05-30.07; # UTC # Copyright (C) 1999-2013 Free Software Foundation, Inc. # 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, 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. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Alexandre Oliva . case $1 in '') echo "$0: No command. Try '$0 --help' for more information." 1>&2 exit 1; ;; -h | --h*) cat <<\EOF Usage: depcomp [--help] [--version] PROGRAM [ARGS] Run PROGRAMS ARGS to compile a file, generating dependencies as side-effects. Environment variables: depmode Dependency tracking mode. source Source file read by 'PROGRAMS ARGS'. object Object file output by 'PROGRAMS ARGS'. DEPDIR directory where to store dependencies. depfile Dependency file to output. tmpdepfile Temporary file to use when outputting dependencies. libtool Whether libtool is used (yes/no). Report bugs to . EOF exit $? ;; -v | --v*) echo "depcomp $scriptversion" exit $? ;; esac # Get the directory component of the given path, and save it in the # global variables '$dir'. Note that this directory component will # be either empty or ending with a '/' character. This is deliberate. set_dir_from () { case $1 in */*) dir=`echo "$1" | sed -e 's|/[^/]*$|/|'`;; *) dir=;; esac } # Get the suffix-stripped basename of the given path, and save it the # global variable '$base'. set_base_from () { base=`echo "$1" | sed -e 's|^.*/||' -e 's/\.[^.]*$//'` } # If no dependency file was actually created by the compiler invocation, # we still have to create a dummy depfile, to avoid errors with the # Makefile "include basename.Plo" scheme. make_dummy_depfile () { echo "#dummy" > "$depfile" } # Factor out some common post-processing of the generated depfile. # Requires the auxiliary global variable '$tmpdepfile' to be set. aix_post_process_depfile () { # If the compiler actually managed to produce a dependency file, # post-process it. if test -f "$tmpdepfile"; then # Each line is of the form 'foo.o: dependency.h'. # Do two passes, one to just change these to # $object: dependency.h # and one to simply output # dependency.h: # which is needed to avoid the deleted-header problem. { sed -e "s,^.*\.[$lower]*:,$object:," < "$tmpdepfile" sed -e "s,^.*\.[$lower]*:[$tab ]*,," -e 's,$,:,' < "$tmpdepfile" } > "$depfile" rm -f "$tmpdepfile" else make_dummy_depfile fi } # A tabulation character. tab=' ' # A newline character. nl=' ' # Character ranges might be problematic outside the C locale. # These definitions help. upper=ABCDEFGHIJKLMNOPQRSTUVWXYZ lower=abcdefghijklmnopqrstuvwxyz digits=0123456789 alpha=${upper}${lower} if test -z "$depmode" || test -z "$source" || test -z "$object"; then echo "depcomp: Variables source, object and depmode must be set" 1>&2 exit 1 fi # Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po. depfile=${depfile-`echo "$object" | sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`} tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`} rm -f "$tmpdepfile" # Avoid interferences from the environment. gccflag= dashmflag= # Some modes work just like other modes, but use different flags. We # parameterize here, but still list the modes in the big case below, # to make depend.m4 easier to write. Note that we *cannot* use a case # here, because this file can only contain one case statement. if test "$depmode" = hp; then # HP compiler uses -M and no extra arg. gccflag=-M depmode=gcc fi if test "$depmode" = dashXmstdout; then # This is just like dashmstdout with a different argument. dashmflag=-xM depmode=dashmstdout fi cygpath_u="cygpath -u -f -" if test "$depmode" = msvcmsys; then # This is just like msvisualcpp but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvisualcpp fi if test "$depmode" = msvc7msys; then # This is just like msvc7 but w/o cygpath translation. # Just convert the backslash-escaped backslashes to single forward # slashes to satisfy depend.m4 cygpath_u='sed s,\\\\,/,g' depmode=msvc7 fi if test "$depmode" = xlc; then # IBM C/C++ Compilers xlc/xlC can output gcc-like dependency information. gccflag=-qmakedep=gcc,-MF depmode=gcc fi case "$depmode" in gcc3) ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi mv "$tmpdepfile" "$depfile" ;; gcc) ## Note that this doesn't just cater to obsosete pre-3.x GCC compilers. ## but also to in-use compilers like IMB xlc/xlC and the HP C compiler. ## (see the conditional assignment to $gccflag above). ## There are various ways to get dependency output from gcc. Here's ## why we pick this rather obscure method: ## - Don't want to use -MD because we'd like the dependencies to end ## up in a subdir. Having to rename by hand is ugly. ## (We might end up doing this anyway to support other compilers.) ## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like ## -MM, not -M (despite what the docs say). Also, it might not be ## supported by the other compilers which use the 'gcc' depmode. ## - Using -M directly means running the compiler twice (even worse ## than renaming). if test -z "$gccflag"; then gccflag=-MD, fi "$@" -Wp,"$gccflag$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The second -e expression handles DOS-style file names with drive # letters. sed -e 's/^[^:]*: / /' \ -e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile" ## This next piece of magic avoids the "deleted header file" problem. ## The problem is that when a header file which appears in a .P file ## is deleted, the dependency causes make to die (because there is ## typically no way to rebuild the header). We avoid this by adding ## dummy dependencies for each header file. Too bad gcc doesn't do ## this for us directly. ## Some versions of gcc put a space before the ':'. On the theory ## that the space means something, we add a space to the output as ## well. hp depmode also adds that space, but also prefixes the VPATH ## to the object. Take care to not repeat it in the output. ## Some versions of the HPUX 10.20 sed can't process this invocation ## correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e "s|.*$object$||" -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; sgi) if test "$libtool" = yes; then "$@" "-Wp,-MDupdate,$tmpdepfile" else "$@" -MDupdate "$tmpdepfile" fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files echo "$object : \\" > "$depfile" # Clip off the initial element (the dependent). Don't try to be # clever and replace this with sed code, as IRIX sed won't handle # lines with more than a fixed number of characters (4096 in # IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines; # the IRIX cc adds comments like '#:fec' to the end of the # dependency line. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' \ | tr "$nl" ' ' >> "$depfile" echo >> "$depfile" # The second pass generates a dummy entry for each header file. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \ >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" ;; xlc) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; aix) # The C for AIX Compiler uses -M and outputs the dependencies # in a .u file. In older versions, this file always lives in the # current directory. Also, the AIX compiler puts '$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.u tmpdepfile2=$base.u tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else tmpdepfile1=$dir$base.u tmpdepfile2=$dir$base.u tmpdepfile3=$dir$base.u "$@" -M fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done aix_post_process_depfile ;; tcc) # tcc (Tiny C Compiler) understand '-MD -MF file' since version 0.9.26 # FIXME: That version still under development at the moment of writing. # Make that this statement remains true also for stable, released # versions. # It will wrap lines (doesn't matter whether long or short) with a # trailing '\', as in: # # foo.o : \ # foo.c \ # foo.h \ # # It will put a trailing '\' even on the last line, and will use leading # spaces rather than leading tabs (at least since its commit 0394caf7 # "Emit spaces for -MD"). "$@" -MD -MF "$tmpdepfile" stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each non-empty line is of the form 'foo.o : \' or ' dep.h \'. # We have to change lines of the first kind to '$object: \'. sed -e "s|.*:|$object :|" < "$tmpdepfile" > "$depfile" # And for each line of the second kind, we have to emit a 'dep.h:' # dummy dependency, to avoid the deleted-header problem. sed -n -e 's|^ *\(.*\) *\\$|\1:|p' < "$tmpdepfile" >> "$depfile" rm -f "$tmpdepfile" ;; ## The order of this option in the case statement is important, since the ## shell code in configure will try each of these formats in the order ## listed in this file. A plain '-MD' option would be understood by many ## compilers, so we must ensure this comes after the gcc and icc options. pgcc) # Portland's C compiler understands '-MD'. # Will always output deps to 'file.d' where file is the root name of the # source file under compilation, even if file resides in a subdirectory. # The object file name does not affect the name of the '.d' file. # pgcc 10.2 will output # foo.o: sub/foo.c sub/foo.h # and will wrap long lines using '\' : # foo.o: sub/foo.c ... \ # sub/foo.h ... \ # ... set_dir_from "$object" # Use the source, not the object, to determine the base name, since # that's sadly what pgcc will do too. set_base_from "$source" tmpdepfile=$base.d # For projects that build the same source file twice into different object # files, the pgcc approach of using the *source* file root name can cause # problems in parallel builds. Use a locking strategy to avoid stomping on # the same $tmpdepfile. lockdir=$base.d-lock trap " echo '$0: caught signal, cleaning up...' >&2 rmdir '$lockdir' exit 1 " 1 2 13 15 numtries=100 i=$numtries while test $i -gt 0; do # mkdir is a portable test-and-set. if mkdir "$lockdir" 2>/dev/null; then # This process acquired the lock. "$@" -MD stat=$? # Release the lock. rmdir "$lockdir" break else # If the lock is being held by a different process, wait # until the winning process is done or we timeout. while test -d "$lockdir" && test $i -gt 0; do sleep 1 i=`expr $i - 1` done fi i=`expr $i - 1` done trap - 1 2 13 15 if test $i -le 0; then echo "$0: failed to acquire lock after $numtries attempts" >&2 echo "$0: check lockdir '$lockdir'" >&2 exit 1 fi if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" # Each line is of the form `foo.o: dependent.h', # or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this invocation # correctly. Breaking it into two sed invocations is a workaround. sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[$lower]*:,$object:," "$tmpdepfile" > "$depfile" # Add 'dependent.h:' lines. sed -ne '2,${ s/^ *// s/ \\*$// s/$/:/ p }' "$tmpdepfile" >> "$depfile" else make_dummy_depfile fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. 'cc -MD -o foo.o ...' puts the dependencies into 'foo.o.d'. # At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put # dependencies in 'foo.d' instead, so we check for that too. # Subdirectories are respected. set_dir_from "$object" set_base_from "$object" if test "$libtool" = yes; then # Libtool generates 2 separate objects for the 2 libraries. These # two compilations output dependencies in $dir.libs/$base.o.d and # in $dir$base.o.d. We have to check for both files, because # one of the two compilations can be disabled. We should prefer # $dir$base.o.d over $dir.libs/$base.o.d because the latter is # automatically cleaned when .libs/ is deleted, while ignoring # the former would cause a distcleancheck panic. tmpdepfile1=$dir$base.o.d # libtool 1.5 tmpdepfile2=$dir.libs/$base.o.d # Likewise. tmpdepfile3=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d tmpdepfile3=$dir$base.d "$@" -MD fi stat=$? if test $stat -ne 0; then rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" do test -f "$tmpdepfile" && break done # Same post-processing that is required for AIX mode. aix_post_process_depfile ;; msvc7) if test "$libtool" = yes; then showIncludes=-Wc,-showIncludes else showIncludes=-showIncludes fi "$@" $showIncludes > "$tmpdepfile" stat=$? grep -v '^Note: including file: ' "$tmpdepfile" if test $stat -ne 0; then rm -f "$tmpdepfile" exit $stat fi rm -f "$depfile" echo "$object : \\" > "$depfile" # The first sed program below extracts the file names and escapes # backslashes for cygpath. The second sed program outputs the file # name when reading, but also accumulates all include files in the # hold buffer in order to output them again at the end. This only # works with sed implementations that can handle large buffers. sed < "$tmpdepfile" -n ' /^Note: including file: *\(.*\)/ { s//\1/ s/\\/\\\\/g p }' | $cygpath_u | sort -u | sed -n ' s/ /\\ /g s/\(.*\)/'"$tab"'\1 \\/p s/.\(.*\) \\/\1:/ H $ { s/.*/'"$tab"'/ G p }' >> "$depfile" echo >> "$depfile" # make sure the fragment doesn't end with a backslash rm -f "$tmpdepfile" ;; msvc7msys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; #nosideeffect) # This comment above is used by automake to tell side-effect # dependency tracking mechanisms from slower ones. dashmstdout) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout, regardless of -o. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done test -z "$dashmflag" && dashmflag=-M # Require at least two characters before searching for ':' # in the target name. This is to cope with DOS-style filenames: # a dependency such as 'c:/foo/bar' could be seen as target 'c' otherwise. "$@" $dashmflag | sed "s|^[$tab ]*[^:$tab ][^:][^:]*:[$tab ]*|$object: |" > "$tmpdepfile" rm -f "$depfile" cat < "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process this sed invocation # correctly. Breaking it into two sed invocations is a workaround. tr ' ' "$nl" < "$tmpdepfile" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; dashXmstdout) # This case only exists to satisfy depend.m4. It is never actually # run, as this mode is specially recognized in the preamble. exit 1 ;; makedepend) "$@" || exit $? # Remove any Libtool call if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # X makedepend shift cleared=no eat=no for arg do case $cleared in no) set ""; shift cleared=yes ;; esac if test $eat = yes; then eat=no continue fi case "$arg" in -D*|-I*) set fnord "$@" "$arg"; shift ;; # Strip any option that makedepend may not understand. Remove # the object too, otherwise makedepend will parse it as a source file. -arch) eat=yes ;; -*|$object) ;; *) set fnord "$@" "$arg"; shift ;; esac done obj_suffix=`echo "$object" | sed 's/^.*\././'` touch "$tmpdepfile" ${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@" rm -f "$depfile" # makedepend may prepend the VPATH from the source file name to the object. # No need to regex-escape $object, excess matching of '.' is harmless. sed "s|^.*\($object *:\)|\1|" "$tmpdepfile" > "$depfile" # Some versions of the HPUX 10.20 sed can't process the last invocation # correctly. Breaking it into two sed invocations is a workaround. sed '1,2d' "$tmpdepfile" \ | tr ' ' "$nl" \ | sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' \ | sed -e 's/$/ :/' >> "$depfile" rm -f "$tmpdepfile" "$tmpdepfile".bak ;; cpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi # Remove '-o $object'. IFS=" " for arg do case $arg in -o) shift ;; $object) shift ;; *) set fnord "$@" "$arg" shift # fnord shift # $arg ;; esac done "$@" -E \ | sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" cat < "$tmpdepfile" >> "$depfile" sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile" rm -f "$tmpdepfile" ;; msvisualcpp) # Important note: in order to support this mode, a compiler *must* # always write the preprocessed file to stdout. "$@" || exit $? # Remove the call to Libtool. if test "$libtool" = yes; then while test "X$1" != 'X--mode=compile'; do shift done shift fi IFS=" " for arg do case "$arg" in -o) shift ;; $object) shift ;; "-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI") set fnord "$@" shift shift ;; *) set fnord "$@" "$arg" shift shift ;; esac done "$@" -E 2>/dev/null | sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::\1:p' | $cygpath_u | sort -u > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::'"$tab"'\1 \\:p' >> "$depfile" echo "$tab" >> "$depfile" sed < "$tmpdepfile" -n -e 's% %\\ %g' -e '/^\(.*\)$/ s::\1\::p' >> "$depfile" rm -f "$tmpdepfile" ;; msvcmsys) # This case exists only to let depend.m4 do its work. It works by # looking at the text of this script. This case will never be run, # since it is checked for above. exit 1 ;; none) exec "$@" ;; *) echo "Unknown depmode $depmode" 1>&2 exit 1 ;; esac exit 0 # Local Variables: # mode: shell-script # sh-indentation: 2 # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: entangle-0.5.4/AUTHORS.in0000664000000000000000000000037412253420651011667 00000000000000 Entangle Authors ================ Entangle is written and maintained by: Daniel P. Berrange With further contributions received from: #authorslist# ...send patches to get your name here... -- End of authors entangle-0.5.4/COPYING0000664000000000000000000010451312253420651011245 00000000000000 GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) 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 3 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. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . entangle-0.5.4/config.h.in0000664000000000000000000000453612253420716012243 00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* always defined to indicate that i18n is enabled */ #undef ENABLE_NLS /* GETTEXT package name */ #undef GETTEXT_PACKAGE /* Define to 1 if you have the `bind_textdomain_codeset' function. */ #undef HAVE_BIND_TEXTDOMAIN_CODESET /* Define to 1 if you have the `dcgettext' function. */ #undef HAVE_DCGETTEXT /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define if the GNU gettext() function is already present or preinstalled. */ #undef HAVE_GETTEXT /* whether we're building libgphoto >= 2.5 */ #undef HAVE_GPHOTO25 /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define if your file defines LC_MESSAGES. */ #undef HAVE_LC_MESSAGES /* Define to 1 if you have the header file. */ #undef HAVE_LOCALE_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Use Xext library */ #undef HAVE_XEXT /* Define to the sub-directory in which libtool stores uninstalled libraries. */ #undef LT_OBJDIR /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION entangle-0.5.4/ltmain.sh0000644000000000000000000105152212253420677012042 00000000000000 # libtool (GNU libtool) 2.4.2 # Written by Gordon Matzigkeit , 1996 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, # 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc. # This is free software; see the source for copying conditions. There is NO # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # GNU Libtool 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. # # As a special exception to the GNU General Public License, # if you distribute this file as part of a program or library that # is built using GNU Libtool, you may include this file under the # same distribution terms that you use for the rest of that program. # # GNU Libtool 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. # # You should have received a copy of the GNU General Public License # along with GNU Libtool; see the file COPYING. If not, a copy # can be downloaded from http://www.gnu.org/licenses/gpl.html, # or obtained by writing to the Free Software Foundation, Inc., # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # Usage: $progname [OPTION]... [MODE-ARG]... # # Provide generalized library-building support services. # # --config show all configuration variables # --debug enable verbose shell tracing # -n, --dry-run display commands without modifying any files # --features display basic configuration information and exit # --mode=MODE use operation mode MODE # --preserve-dup-deps don't remove duplicate dependency libraries # --quiet, --silent don't print informational messages # --no-quiet, --no-silent # print informational messages (default) # --no-warn don't display warning messages # --tag=TAG use configuration variables from tag TAG # -v, --verbose print more informational messages than default # --no-verbose don't print the extra informational messages # --version print version information # -h, --help, --help-all print short, long, or detailed help message # # MODE must be one of the following: # # clean remove files from the build directory # compile compile a source file into a libtool object # execute automatically set library path, then run a program # finish complete the installation of libtool libraries # install install libraries or executables # link create a library or an executable # uninstall remove libraries from an installed directory # # MODE-ARGS vary depending on the MODE. When passed as first option, # `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # Try `$progname --help --mode=MODE' for a more detailed description of MODE. # # When reporting a bug, please describe a test case to reproduce it and # include the following information: # # host-triplet: $host # shell: $SHELL # compiler: $LTCC # compiler flags: $LTCFLAGS # linker: $LD (gnu? $with_gnu_ld) # $progname: (GNU libtool) 2.4.2 # automake: $automake_version # autoconf: $autoconf_version # # Report bugs to . # GNU libtool home page: . # General help using GNU software: . PROGRAM=libtool PACKAGE=libtool VERSION=2.4.2 TIMESTAMP="" package_revision=1.3337 # Be Bourne compatible if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF $1 _LTECHO_EOF' } # NLS nuisances: We save the old values to restore during execute mode. lt_user_locale= lt_safe_locale= for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${$lt_var+set}\" = set; then save_$lt_var=\$$lt_var $lt_var=C export $lt_var lt_user_locale=\"$lt_var=\\\$save_\$lt_var; \$lt_user_locale\" lt_safe_locale=\"$lt_var=C; \$lt_safe_locale\" fi" done LC_ALL=C LANGUAGE=C export LANGUAGE LC_ALL $lt_unset CDPATH # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" : ${CP="cp -f"} test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'} : ${MAKE="make"} : ${MKDIR="mkdir"} : ${MV="mv -f"} : ${RM="rm -f"} : ${SHELL="${CONFIG_SHELL-/bin/sh}"} : ${Xsed="$SED -e 1s/^X//"} # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 EXIT_MISMATCH=63 # $? = 63 is used to indicate version mismatch to missing. EXIT_SKIP=77 # $? = 77 is used to indicate a skipped test to automake. exit_status=$EXIT_SUCCESS # Make sure IFS has a sensible default lt_nl=' ' IFS=" $lt_nl" dirname="s,/[^/]*$,," basename="s,^.*/,," # func_dirname file append nondir_replacement # Compute the dirname of FILE. If nonempty, add APPEND to the result, # otherwise set result to NONDIR_REPLACEMENT. func_dirname () { func_dirname_result=`$ECHO "${1}" | $SED "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi } # func_dirname may be replaced by extended shell implementation # func_basename file func_basename () { func_basename_result=`$ECHO "${1}" | $SED "$basename"` } # func_basename may be replaced by extended shell implementation # func_dirname_and_basename file append nondir_replacement # perform func_basename and func_dirname in a single function # call: # dirname: Compute the dirname of FILE. If nonempty, # add APPEND to the result, otherwise set result # to NONDIR_REPLACEMENT. # value returned in "$func_dirname_result" # basename: Compute filename of FILE. # value retuned in "$func_basename_result" # Implementation must be kept synchronized with func_dirname # and func_basename. For efficiency, we do not delegate to # those functions but instead duplicate the functionality here. func_dirname_and_basename () { # Extract subdirectory from the argument. func_dirname_result=`$ECHO "${1}" | $SED -e "$dirname"` if test "X$func_dirname_result" = "X${1}"; then func_dirname_result="${3}" else func_dirname_result="$func_dirname_result${2}" fi func_basename_result=`$ECHO "${1}" | $SED -e "$basename"` } # func_dirname_and_basename may be replaced by extended shell implementation # func_stripname prefix suffix name # strip PREFIX and SUFFIX off of NAME. # PREFIX and SUFFIX must not contain globbing or regex special # characters, hashes, percent signs, but SUFFIX may contain a leading # dot (in which case that matches only a dot). # func_strip_suffix prefix name func_stripname () { case ${2} in .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;; *) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;; esac } # func_stripname may be replaced by extended shell implementation # These SED scripts presuppose an absolute path with a trailing slash. pathcar='s,^/\([^/]*\).*$,\1,' pathcdr='s,^/[^/]*,,' removedotparts=':dotsl s@/\./@/@g t dotsl s,/\.$,/,' collapseslashes='s@/\{1,\}@/@g' finalslash='s,/*$,/,' # func_normal_abspath PATH # Remove doubled-up and trailing slashes, "." path components, # and cancel out any ".." path components in PATH after making # it an absolute path. # value returned in "$func_normal_abspath_result" func_normal_abspath () { # Start from root dir and reassemble the path. func_normal_abspath_result= func_normal_abspath_tpath=$1 func_normal_abspath_altnamespace= case $func_normal_abspath_tpath in "") # Empty path, that just means $cwd. func_stripname '' '/' "`pwd`" func_normal_abspath_result=$func_stripname_result return ;; # The next three entries are used to spot a run of precisely # two leading slashes without using negated character classes; # we take advantage of case's first-match behaviour. ///*) # Unusual form of absolute path, do nothing. ;; //*) # Not necessarily an ordinary path; POSIX reserves leading '//' # and for example Cygwin uses it to access remote file shares # over CIFS/SMB, so we conserve a leading double slash if found. func_normal_abspath_altnamespace=/ ;; /*) # Absolute path, do nothing. ;; *) # Relative path, prepend $cwd. func_normal_abspath_tpath=`pwd`/$func_normal_abspath_tpath ;; esac # Cancel out all the simple stuff to save iterations. We also want # the path to end with a slash for ease of parsing, so make sure # there is one (and only one) here. func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$removedotparts" -e "$collapseslashes" -e "$finalslash"` while :; do # Processed it all yet? if test "$func_normal_abspath_tpath" = / ; then # If we ascended to the root using ".." the result may be empty now. if test -z "$func_normal_abspath_result" ; then func_normal_abspath_result=/ fi break fi func_normal_abspath_tcomponent=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcar"` func_normal_abspath_tpath=`$ECHO "$func_normal_abspath_tpath" | $SED \ -e "$pathcdr"` # Figure out what to do with it case $func_normal_abspath_tcomponent in "") # Trailing empty path component, ignore it. ;; ..) # Parent dir; strip last assembled component from result. func_dirname "$func_normal_abspath_result" func_normal_abspath_result=$func_dirname_result ;; *) # Actual path component, append it. func_normal_abspath_result=$func_normal_abspath_result/$func_normal_abspath_tcomponent ;; esac done # Restore leading double-slash if one was found on entry. func_normal_abspath_result=$func_normal_abspath_altnamespace$func_normal_abspath_result } # func_relative_path SRCDIR DSTDIR # generates a relative path from SRCDIR to DSTDIR, with a trailing # slash if non-empty, suitable for immediately appending a filename # without needing to append a separator. # value returned in "$func_relative_path_result" func_relative_path () { func_relative_path_result= func_normal_abspath "$1" func_relative_path_tlibdir=$func_normal_abspath_result func_normal_abspath "$2" func_relative_path_tbindir=$func_normal_abspath_result # Ascend the tree starting from libdir while :; do # check if we have found a prefix of bindir case $func_relative_path_tbindir in $func_relative_path_tlibdir) # found an exact match func_relative_path_tcancelled= break ;; $func_relative_path_tlibdir*) # found a matching prefix func_stripname "$func_relative_path_tlibdir" '' "$func_relative_path_tbindir" func_relative_path_tcancelled=$func_stripname_result if test -z "$func_relative_path_result"; then func_relative_path_result=. fi break ;; *) func_dirname $func_relative_path_tlibdir func_relative_path_tlibdir=${func_dirname_result} if test "x$func_relative_path_tlibdir" = x ; then # Have to descend all the way to the root! func_relative_path_result=../$func_relative_path_result func_relative_path_tcancelled=$func_relative_path_tbindir break fi func_relative_path_result=../$func_relative_path_result ;; esac done # Now calculate path; take care to avoid doubling-up slashes. func_stripname '' '/' "$func_relative_path_result" func_relative_path_result=$func_stripname_result func_stripname '/' '/' "$func_relative_path_tcancelled" if test "x$func_stripname_result" != x ; then func_relative_path_result=${func_relative_path_result}/${func_stripname_result} fi # Normalisation. If bindir is libdir, return empty string, # else relative path ending with a slash; either way, target # file name can be directly appended. if test ! -z "$func_relative_path_result"; then func_stripname './' '' "$func_relative_path_result/" func_relative_path_result=$func_stripname_result fi } # The name of this program: func_dirname_and_basename "$progpath" progname=$func_basename_result # Make sure we have an absolute path for reexecution: case $progpath in [\\/]*|[A-Za-z]:\\*) ;; *[\\/]*) progdir=$func_dirname_result progdir=`cd "$progdir" && pwd` progpath="$progdir/$progname" ;; *) save_IFS="$IFS" IFS=${PATH_SEPARATOR-:} for progdir in $PATH; do IFS="$save_IFS" test -x "$progdir/$progname" && break done IFS="$save_IFS" test -n "$progdir" || progdir=`pwd` progpath="$progdir/$progname" ;; esac # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. Xsed="${SED}"' -e 1s/^X//' sed_quote_subst='s/\([`"$\\]\)/\\\1/g' # Same as above, but do not quote variable references. double_quote_subst='s/\(["`\\]\)/\\\1/g' # Sed substitution that turns a string into a regex matching for the # string literally. sed_make_literal_regex='s,[].[^$\\*\/],\\&,g' # Sed substitution that converts a w32 file name or path # which contains forward slashes, into one that contains # (escaped) backslashes. A very naive implementation. lt_sed_naive_backslashify='s|\\\\*|\\|g;s|/|\\|g;s|\\|\\\\|g' # Re-`\' parameter expansions in output of double_quote_subst that were # `\'-ed in input to the same. If an odd number of `\' preceded a '$' # in input to double_quote_subst, that '$' was protected from expansion. # Since each input `\' is now two `\'s, look for any number of runs of # four `\'s followed by two `\'s and then a '$'. `\' that '$'. bs='\\' bs2='\\\\' bs4='\\\\\\\\' dollar='\$' sed_double_backslash="\ s/$bs4/&\\ /g s/^$bs2$dollar/$bs&/ s/\\([^$bs]\\)$bs2$dollar/\\1$bs2$bs$dollar/g s/\n//g" # Standard options: opt_dry_run=false opt_help=false opt_quiet=false opt_verbose=false opt_warning=: # func_echo arg... # Echo program name prefixed message, along with the current mode # name if it has been set yet. func_echo () { $ECHO "$progname: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... # Echo program name prefixed message in verbose mode only. func_verbose () { $opt_verbose && func_echo ${1+"$@"} # A bug in bash halts the script if the last line of a function # fails when set -e is in force, so we need another command to # work around that: : } # func_echo_all arg... # Invoke $ECHO with all args, space-separated. func_echo_all () { $ECHO "$*" } # func_error arg... # Echo program name prefixed message to standard error. func_error () { $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : } # func_fatal_error arg... # Echo program name prefixed message to standard error, and exit. func_fatal_error () { func_error ${1+"$@"} exit $EXIT_FAILURE } # func_fatal_help arg... # Echo program name prefixed message to standard error, followed by # a help hint, and exit. func_fatal_help () { func_error ${1+"$@"} func_fatal_error "$help" } help="Try \`$progname --help' for more information." ## default # func_grep expression filename # Check whether EXPRESSION matches any line of FILENAME, without output. func_grep () { $GREP "$1" "$2" >/dev/null 2>&1 } # func_mkdir_p directory-path # Make sure the entire path to DIRECTORY-PATH is available. func_mkdir_p () { my_directory_path="$1" my_dir_list= if test -n "$my_directory_path" && test "$opt_dry_run" != ":"; then # Protect directory names starting with `-' case $my_directory_path in -*) my_directory_path="./$my_directory_path" ;; esac # While some portion of DIR does not yet exist... while test ! -d "$my_directory_path"; do # ...make a list in topmost first order. Use a colon delimited # list incase some portion of path contains whitespace. my_dir_list="$my_directory_path:$my_dir_list" # If the last portion added has no slash in it, the list is done case $my_directory_path in */*) ;; *) break ;; esac # ...otherwise throw away the child directory and loop my_directory_path=`$ECHO "$my_directory_path" | $SED -e "$dirname"` done my_dir_list=`$ECHO "$my_dir_list" | $SED 's,:*$,,'` save_mkdir_p_IFS="$IFS"; IFS=':' for my_dir in $my_dir_list; do IFS="$save_mkdir_p_IFS" # mkdir can fail with a `File exist' error if two processes # try to create one of the directories concurrently. Don't # stop in that case! $MKDIR "$my_dir" 2>/dev/null || : done IFS="$save_mkdir_p_IFS" # Bail out if we (or some other process) failed to create a directory. test -d "$my_directory_path" || \ func_fatal_error "Failed to create \`$1'" fi } # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$opt_dry_run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $MKDIR "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || \ func_fatal_error "cannot create temporary directory \`$my_tmpdir'" fi $ECHO "$my_tmpdir" } # func_quote_for_eval arg # Aesthetically quote ARG to be evaled later. # This function returns two values: FUNC_QUOTE_FOR_EVAL_RESULT # is double-quoted, suitable for a subsequent eval, whereas # FUNC_QUOTE_FOR_EVAL_UNQUOTED_RESULT has merely all characters # which are still active within double quotes backslashified. func_quote_for_eval () { case $1 in *[\\\`\"\$]*) func_quote_for_eval_unquoted_result=`$ECHO "$1" | $SED "$sed_quote_subst"` ;; *) func_quote_for_eval_unquoted_result="$1" ;; esac case $func_quote_for_eval_unquoted_result in # Double-quote args containing shell metacharacters to delay # word splitting, command substitution and and variable # expansion for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") func_quote_for_eval_result="\"$func_quote_for_eval_unquoted_result\"" ;; *) func_quote_for_eval_result="$func_quote_for_eval_unquoted_result" esac } # func_quote_for_expand arg # Aesthetically quote ARG to be evaled later; same as above, # but do not quote variable references. func_quote_for_expand () { case $1 in *[\\\`\"]*) my_arg=`$ECHO "$1" | $SED \ -e "$double_quote_subst" -e "$sed_double_backslash"` ;; *) my_arg="$1" ;; esac case $my_arg in # Double-quote args containing shell metacharacters to delay # word splitting and command substitution for a subsequent eval. # Many Bourne shells cannot handle close brackets correctly # in scan sets, so we specify it separately. *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") my_arg="\"$my_arg\"" ;; esac func_quote_for_expand_result="$my_arg" } # func_show_eval cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. func_show_eval () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$my_cmd" my_status=$? if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_show_eval_locale cmd [fail_exp] # Unless opt_silent is true, then output CMD. Then, if opt_dryrun is # not true, evaluate CMD. If the evaluation of CMD fails, and FAIL_EXP # is given, then evaluate it. Use the saved locale for evaluation. func_show_eval_locale () { my_cmd="$1" my_fail_exp="${2-:}" ${opt_silent-false} || { func_quote_for_expand "$my_cmd" eval "func_echo $func_quote_for_expand_result" } if ${opt_dry_run-false}; then :; else eval "$lt_user_locale $my_cmd" my_status=$? eval "$lt_safe_locale" if test "$my_status" -eq 0; then :; else eval "(exit $my_status); $my_fail_exp" fi fi } # func_tr_sh # Turn $1 into a string suitable for a shell variable name. # Result is stored in $func_tr_sh_result. All characters # not in the set a-zA-Z0-9_ are replaced with '_'. Further, # if $1 begins with a digit, a '_' is prepended as well. func_tr_sh () { case $1 in [0-9]* | *[!a-zA-Z0-9_]*) func_tr_sh_result=`$ECHO "$1" | $SED 's/^\([0-9]\)/_\1/; s/[^a-zA-Z0-9_]/_/g'` ;; * ) func_tr_sh_result=$1 ;; esac } # func_version # Echo version message to standard output and exit. func_version () { $opt_debug $SED -n '/(C)/!b go :more /\./!{ N s/\n# / / b more } :go /^# '$PROGRAM' (GNU /,/# warranty; / { s/^# // s/^# *$// s/\((C)\)[ 0-9,-]*\( [1-9][0-9]*\)/\1\2/ p }' < "$progpath" exit $? } # func_usage # Echo short help message to standard output and exit. func_usage () { $opt_debug $SED -n '/^# Usage:/,/^# *.*--help/ { s/^# // s/^# *$// s/\$progname/'$progname'/ p }' < "$progpath" echo $ECHO "run \`$progname --help | more' for full usage" exit $? } # func_help [NOEXIT] # Echo long help message to standard output and exit, # unless 'noexit' is passed as argument. func_help () { $opt_debug $SED -n '/^# Usage:/,/# Report bugs to/ { :print s/^# // s/^# *$// s*\$progname*'$progname'* s*\$host*'"$host"'* s*\$SHELL*'"$SHELL"'* s*\$LTCC*'"$LTCC"'* s*\$LTCFLAGS*'"$LTCFLAGS"'* s*\$LD*'"$LD"'* s/\$with_gnu_ld/'"$with_gnu_ld"'/ s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/ s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/ p d } /^# .* home page:/b print /^# General help using/b print ' < "$progpath" ret=$? if test -z "$1"; then exit $ret fi } # func_missing_arg argname # Echo program name prefixed message to standard error and set global # exit_cmd. func_missing_arg () { $opt_debug func_error "missing argument for $1." exit_cmd=exit } # func_split_short_opt shortopt # Set func_split_short_opt_name and func_split_short_opt_arg shell # variables after splitting SHORTOPT after the 2nd character. func_split_short_opt () { my_sed_short_opt='1s/^\(..\).*$/\1/;q' my_sed_short_rest='1s/^..\(.*\)$/\1/;q' func_split_short_opt_name=`$ECHO "$1" | $SED "$my_sed_short_opt"` func_split_short_opt_arg=`$ECHO "$1" | $SED "$my_sed_short_rest"` } # func_split_short_opt may be replaced by extended shell implementation # func_split_long_opt longopt # Set func_split_long_opt_name and func_split_long_opt_arg shell # variables after splitting LONGOPT at the `=' sign. func_split_long_opt () { my_sed_long_opt='1s/^\(--[^=]*\)=.*/\1/;q' my_sed_long_arg='1s/^--[^=]*=//' func_split_long_opt_name=`$ECHO "$1" | $SED "$my_sed_long_opt"` func_split_long_opt_arg=`$ECHO "$1" | $SED "$my_sed_long_arg"` } # func_split_long_opt may be replaced by extended shell implementation exit_cmd=: magic="%%%MAGIC variable%%%" magic_exe="%%%MAGIC EXE variable%%%" # Global variables. nonopt= preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 # If this variable is set in any of the actions, the command in it # will be execed at the end. This prevents here-documents from being # left over by shells. exec_cmd= # func_append var value # Append VALUE to the end of shell variable VAR. func_append () { eval "${1}=\$${1}\${2}" } # func_append may be replaced by extended shell implementation # func_append_quoted var value # Quote VALUE and append to the end of shell variable VAR, separated # by a space. func_append_quoted () { func_quote_for_eval "${2}" eval "${1}=\$${1}\\ \$func_quote_for_eval_result" } # func_append_quoted may be replaced by extended shell implementation # func_arith arithmetic-term... func_arith () { func_arith_result=`expr "${@}"` } # func_arith may be replaced by extended shell implementation # func_len string # STRING may not start with a hyphen. func_len () { func_len_result=`expr "${1}" : ".*" 2>/dev/null || echo $max_cmd_len` } # func_len may be replaced by extended shell implementation # func_lo2o object func_lo2o () { func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"` } # func_lo2o may be replaced by extended shell implementation # func_xform libobj-or-source func_xform () { func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'` } # func_xform may be replaced by extended shell implementation # func_fatal_configuration arg... # Echo program name prefixed message to standard error, followed by # a configuration failure hint, and exit. func_fatal_configuration () { func_error ${1+"$@"} func_error "See the $PACKAGE documentation for more information." func_fatal_error "Fatal configuration error." } # func_config # Display the configuration for all the tags in this script. func_config () { re_begincf='^# ### BEGIN LIBTOOL' re_endcf='^# ### END LIBTOOL' # Default configuration. $SED "1,/$re_begincf CONFIG/d;/$re_endcf CONFIG/,\$d" < "$progpath" # Now print the configurations for the tags. for tagname in $taglist; do $SED -n "/$re_begincf TAG CONFIG: $tagname\$/,/$re_endcf TAG CONFIG: $tagname\$/p" < "$progpath" done exit $? } # func_features # Display the features supported by this script. func_features () { echo "host: $host" if test "$build_libtool_libs" = yes; then echo "enable shared libraries" else echo "disable shared libraries" fi if test "$build_old_libs" = yes; then echo "enable static libraries" else echo "disable static libraries" fi exit $? } # func_enable_tag tagname # Verify that TAGNAME is valid, and either flag an error and exit, or # enable the TAGNAME tag. We also add TAGNAME to the global $taglist # variable here. func_enable_tag () { # Global variable: tagname="$1" re_begincf="^# ### BEGIN LIBTOOL TAG CONFIG: $tagname\$" re_endcf="^# ### END LIBTOOL TAG CONFIG: $tagname\$" sed_extractcf="/$re_begincf/,/$re_endcf/p" # Validate tagname. case $tagname in *[!-_A-Za-z0-9,/]*) func_fatal_error "invalid tag name: $tagname" ;; esac # Don't test for the "default" C tag, as we know it's # there but not specially marked. case $tagname in CC) ;; *) if $GREP "$re_begincf" "$progpath" >/dev/null 2>&1; then taglist="$taglist $tagname" # Evaluate the configuration. Be careful to quote the path # and the sed script, to avoid splitting on whitespace, but # also don't use non-portable quotes within backquotes within # quotes we have to do it in 2 steps: extractedcf=`$SED -n -e "$sed_extractcf" < "$progpath"` eval "$extractedcf" else func_error "ignoring unknown tag $tagname" fi ;; esac } # func_check_version_match # Ensure that we are using m4 macros, and libtool script from the same # release of libtool. func_check_version_match () { if test "$package_revision" != "$macro_revision"; then if test "$VERSION" != "$macro_version"; then if test -z "$macro_version"; then cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from an older release. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, but the $progname: definition of this LT_INIT comes from $PACKAGE $macro_version. $progname: You should recreate aclocal.m4 with macros from $PACKAGE $VERSION $progname: and run autoconf again. _LT_EOF fi else cat >&2 <<_LT_EOF $progname: Version mismatch error. This is $PACKAGE $VERSION, revision $package_revision, $progname: but the definition of this LT_INIT comes from revision $macro_revision. $progname: You should recreate aclocal.m4 with macros from revision $package_revision $progname: of $PACKAGE $VERSION and run autoconf again. _LT_EOF fi exit $EXIT_MISMATCH fi } # Shorthand for --mode=foo, only valid as the first argument case $1 in clean|clea|cle|cl) shift; set dummy --mode clean ${1+"$@"}; shift ;; compile|compil|compi|comp|com|co|c) shift; set dummy --mode compile ${1+"$@"}; shift ;; execute|execut|execu|exec|exe|ex|e) shift; set dummy --mode execute ${1+"$@"}; shift ;; finish|finis|fini|fin|fi|f) shift; set dummy --mode finish ${1+"$@"}; shift ;; install|instal|insta|inst|ins|in|i) shift; set dummy --mode install ${1+"$@"}; shift ;; link|lin|li|l) shift; set dummy --mode link ${1+"$@"}; shift ;; uninstall|uninstal|uninsta|uninst|unins|unin|uni|un|u) shift; set dummy --mode uninstall ${1+"$@"}; shift ;; esac # Option defaults: opt_debug=: opt_dry_run=false opt_config=false opt_preserve_dup_deps=false opt_features=false opt_finish=false opt_help=false opt_help_all=false opt_silent=: opt_warning=: opt_verbose=: opt_silent=false opt_verbose=false # Parse options once, thoroughly. This comes as soon as possible in the # script to make things like `--version' happen as quickly as we can. { # this just eases exit handling while test $# -gt 0; do opt="$1" shift case $opt in --debug|-x) opt_debug='set -x' func_echo "enabling shell trace mode" $opt_debug ;; --dry-run|--dryrun|-n) opt_dry_run=: ;; --config) opt_config=: func_config ;; --dlopen|-dlopen) optarg="$1" opt_dlopen="${opt_dlopen+$opt_dlopen }$optarg" shift ;; --preserve-dup-deps) opt_preserve_dup_deps=: ;; --features) opt_features=: func_features ;; --finish) opt_finish=: set dummy --mode finish ${1+"$@"}; shift ;; --help) opt_help=: ;; --help-all) opt_help_all=: opt_help=': help-all' ;; --mode) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_mode="$optarg" case $optarg in # Valid mode arguments: clean|compile|execute|finish|install|link|relink|uninstall) ;; # Catch anything else as an error *) func_error "invalid argument for $opt" exit_cmd=exit break ;; esac shift ;; --no-silent|--no-quiet) opt_silent=false func_append preserve_args " $opt" ;; --no-warning|--no-warn) opt_warning=false func_append preserve_args " $opt" ;; --no-verbose) opt_verbose=false func_append preserve_args " $opt" ;; --silent|--quiet) opt_silent=: func_append preserve_args " $opt" opt_verbose=false ;; --verbose|-v) opt_verbose=: func_append preserve_args " $opt" opt_silent=false ;; --tag) test $# = 0 && func_missing_arg $opt && break optarg="$1" opt_tag="$optarg" func_append preserve_args " $opt $optarg" func_enable_tag "$optarg" shift ;; -\?|-h) func_usage ;; --help) func_help ;; --version) func_version ;; # Separate optargs to long options: --*=*) func_split_long_opt "$opt" set dummy "$func_split_long_opt_name" "$func_split_long_opt_arg" ${1+"$@"} shift ;; # Separate non-argument short options: -\?*|-h*|-n*|-v*) func_split_short_opt "$opt" set dummy "$func_split_short_opt_name" "-$func_split_short_opt_arg" ${1+"$@"} shift ;; --) break ;; -*) func_fatal_help "unrecognized option \`$opt'" ;; *) set dummy "$opt" ${1+"$@"}; shift; break ;; esac done # Validate options: # save first non-option argument if test "$#" -gt 0; then nonopt="$opt" shift fi # preserve --debug test "$opt_debug" = : || func_append preserve_args " --debug" case $host in *cygwin* | *mingw* | *pw32* | *cegcc*) # don't eliminate duplications in $postdeps and $predeps opt_duplicate_compiler_generated_deps=: ;; *) opt_duplicate_compiler_generated_deps=$opt_preserve_dup_deps ;; esac $opt_help || { # Sanity checks first: func_check_version_match if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then func_fatal_configuration "not configured to build any kind of library" fi # Darwin sucks eval std_shrext=\"$shrext_cmds\" # Only execute mode is allowed to have -dlopen flags. if test -n "$opt_dlopen" && test "$opt_mode" != execute; then func_error "unrecognized option \`-dlopen'" $ECHO "$help" 1>&2 exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. generic_help="$help" help="Try \`$progname --help --mode=$opt_mode' for more information." } # Bail if the options were screwed $exit_cmd $EXIT_FAILURE } ## ----------- ## ## Main. ## ## ----------- ## # func_lalib_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_lalib_p () { test -f "$1" && $SED -e 4q "$1" 2>/dev/null \ | $GREP "^# Generated by .*$PACKAGE" > /dev/null 2>&1 } # func_lalib_unsafe_p file # True iff FILE is a libtool `.la' library or `.lo' object file. # This function implements the same check as func_lalib_p without # resorting to external programs. To this end, it redirects stdin and # closes it afterwards, without saving the original file descriptor. # As a safety measure, use it only where a negative result would be # fatal anyway. Works if `file' does not exist. func_lalib_unsafe_p () { lalib_p=no if test -f "$1" && test -r "$1" && exec 5<&0 <"$1"; then for lalib_p_l in 1 2 3 4 do read lalib_p_line case "$lalib_p_line" in \#\ Generated\ by\ *$PACKAGE* ) lalib_p=yes; break;; esac done exec 0<&5 5<&- fi test "$lalib_p" = yes } # func_ltwrapper_script_p file # True iff FILE is a libtool wrapper script # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_script_p () { func_lalib_p "$1" } # func_ltwrapper_executable_p file # True iff FILE is a libtool wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_executable_p () { func_ltwrapper_exec_suffix= case $1 in *.exe) ;; *) func_ltwrapper_exec_suffix=.exe ;; esac $GREP "$magic_exe" "$1$func_ltwrapper_exec_suffix" >/dev/null 2>&1 } # func_ltwrapper_scriptname file # Assumes file is an ltwrapper_executable # uses $file to determine the appropriate filename for a # temporary ltwrapper_script. func_ltwrapper_scriptname () { func_dirname_and_basename "$1" "" "." func_stripname '' '.exe' "$func_basename_result" func_ltwrapper_scriptname_result="$func_dirname_result/$objdir/${func_stripname_result}_ltshwrapper" } # func_ltwrapper_p file # True iff FILE is a libtool wrapper script or wrapper executable # This function is only a basic sanity check; it will hardly flush out # determined imposters. func_ltwrapper_p () { func_ltwrapper_script_p "$1" || func_ltwrapper_executable_p "$1" } # func_execute_cmds commands fail_cmd # Execute tilde-delimited COMMANDS. # If FAIL_CMD is given, eval that upon failure. # FAIL_CMD may read-access the current command in variable CMD! func_execute_cmds () { $opt_debug save_ifs=$IFS; IFS='~' for cmd in $1; do IFS=$save_ifs eval cmd=\"$cmd\" func_show_eval "$cmd" "${2-:}" done IFS=$save_ifs } # func_source file # Source FILE, adding directory component if necessary. # Note that it is not necessary on cygwin/mingw to append a dot to # FILE even if both FILE and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. func_source () { $opt_debug case $1 in */* | *\\*) . "$1" ;; *) . "./$1" ;; esac } # func_resolve_sysroot PATH # Replace a leading = in PATH with a sysroot. Store the result into # func_resolve_sysroot_result func_resolve_sysroot () { func_resolve_sysroot_result=$1 case $func_resolve_sysroot_result in =*) func_stripname '=' '' "$func_resolve_sysroot_result" func_resolve_sysroot_result=$lt_sysroot$func_stripname_result ;; esac } # func_replace_sysroot PATH # If PATH begins with the sysroot, replace it with = and # store the result into func_replace_sysroot_result. func_replace_sysroot () { case "$lt_sysroot:$1" in ?*:"$lt_sysroot"*) func_stripname "$lt_sysroot" '' "$1" func_replace_sysroot_result="=$func_stripname_result" ;; *) # Including no sysroot. func_replace_sysroot_result=$1 ;; esac } # func_infer_tag arg # Infer tagged configuration to use if any are available and # if one wasn't chosen via the "--tag" command line option. # Only attempt this if the compiler in the base compile # command doesn't match the default compiler. # arg is usually of the form 'gcc ...' func_infer_tag () { $opt_debug if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case $@ in # Blanks in the command may have been stripped by the calling shell, # but not from the CC environment variable when configure was run. " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) ;; # Blanks at the start of $base_compile will cause this to fail # if we don't check for them as well. *) for z in $available_tags; do if $GREP "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. func_append_quoted CC_quoted "$arg" done CC_expanded=`func_echo_all $CC` CC_quoted_expanded=`func_echo_all $CC_quoted` case "$@ " in " $CC "* | "$CC "* | " $CC_expanded "* | "$CC_expanded "* | \ " $CC_quoted"* | "$CC_quoted "* | " $CC_quoted_expanded "* | "$CC_quoted_expanded "*) # The compiler in the base compile command matches # the one in the tagged configuration. # Assume this is the tagged configuration we want. tagname=$z break ;; esac fi done # If $tagname still isn't set, then no tagged configuration # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then func_echo "unable to infer tagged configuration" func_fatal_error "specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi ;; esac fi } # func_write_libtool_object output_name pic_name nonpic_name # Create a libtool object file (analogous to a ".la" file), # but don't create it if we're doing a dry run. func_write_libtool_object () { write_libobj=${1} if test "$build_libtool_libs" = yes; then write_lobj=\'${2}\' else write_lobj=none fi if test "$build_old_libs" = yes; then write_oldobj=\'${3}\' else write_oldobj=none fi $opt_dry_run || { cat >${write_libobj}T </dev/null` if test "$?" -eq 0 && test -n "${func_convert_core_file_wine_to_w32_tmp}"; then func_convert_core_file_wine_to_w32_result=`$ECHO "$func_convert_core_file_wine_to_w32_tmp" | $SED -e "$lt_sed_naive_backslashify"` else func_convert_core_file_wine_to_w32_result= fi fi } # end: func_convert_core_file_wine_to_w32 # func_convert_core_path_wine_to_w32 ARG # Helper function used by path conversion functions when $build is *nix, and # $host is mingw, cygwin, or some other w32 environment. Relies on a correctly # configured wine environment available, with the winepath program in $build's # $PATH. Assumes ARG has no leading or trailing path separator characters. # # ARG is path to be converted from $build format to win32. # Result is available in $func_convert_core_path_wine_to_w32_result. # Unconvertible file (directory) names in ARG are skipped; if no directory names # are convertible, then the result may be empty. func_convert_core_path_wine_to_w32 () { $opt_debug # unfortunately, winepath doesn't convert paths, only file names func_convert_core_path_wine_to_w32_result="" if test -n "$1"; then oldIFS=$IFS IFS=: for func_convert_core_path_wine_to_w32_f in $1; do IFS=$oldIFS func_convert_core_file_wine_to_w32 "$func_convert_core_path_wine_to_w32_f" if test -n "$func_convert_core_file_wine_to_w32_result" ; then if test -z "$func_convert_core_path_wine_to_w32_result"; then func_convert_core_path_wine_to_w32_result="$func_convert_core_file_wine_to_w32_result" else func_append func_convert_core_path_wine_to_w32_result ";$func_convert_core_file_wine_to_w32_result" fi fi done IFS=$oldIFS fi } # end: func_convert_core_path_wine_to_w32 # func_cygpath ARGS... # Wrapper around calling the cygpath program via LT_CYGPATH. This is used when # when (1) $build is *nix and Cygwin is hosted via a wine environment; or (2) # $build is MSYS and $host is Cygwin, or (3) $build is Cygwin. In case (1) or # (2), returns the Cygwin file name or path in func_cygpath_result (input # file name or path is assumed to be in w32 format, as previously converted # from $build's *nix or MSYS format). In case (3), returns the w32 file name # or path in func_cygpath_result (input file name or path is assumed to be in # Cygwin format). Returns an empty string on error. # # ARGS are passed to cygpath, with the last one being the file name or path to # be converted. # # Specify the absolute *nix (or w32) name to cygpath in the LT_CYGPATH # environment variable; do not put it in $PATH. func_cygpath () { $opt_debug if test -n "$LT_CYGPATH" && test -f "$LT_CYGPATH"; then func_cygpath_result=`$LT_CYGPATH "$@" 2>/dev/null` if test "$?" -ne 0; then # on failure, ensure result is empty func_cygpath_result= fi else func_cygpath_result= func_error "LT_CYGPATH is empty or specifies non-existent file: \`$LT_CYGPATH'" fi } #end: func_cygpath # func_convert_core_msys_to_w32 ARG # Convert file name or path ARG from MSYS format to w32 format. Return # result in func_convert_core_msys_to_w32_result. func_convert_core_msys_to_w32 () { $opt_debug # awkward: cmd appends spaces to result func_convert_core_msys_to_w32_result=`( cmd //c echo "$1" ) 2>/dev/null | $SED -e 's/[ ]*$//' -e "$lt_sed_naive_backslashify"` } #end: func_convert_core_msys_to_w32 # func_convert_file_check ARG1 ARG2 # Verify that ARG1 (a file name in $build format) was converted to $host # format in ARG2. Otherwise, emit an error message, but continue (resetting # func_to_host_file_result to ARG1). func_convert_file_check () { $opt_debug if test -z "$2" && test -n "$1" ; then func_error "Could not determine host file name corresponding to" func_error " \`$1'" func_error "Continuing, but uninstalled executables may not work." # Fallback: func_to_host_file_result="$1" fi } # end func_convert_file_check # func_convert_path_check FROM_PATHSEP TO_PATHSEP FROM_PATH TO_PATH # Verify that FROM_PATH (a path in $build format) was converted to $host # format in TO_PATH. Otherwise, emit an error message, but continue, resetting # func_to_host_file_result to a simplistic fallback value (see below). func_convert_path_check () { $opt_debug if test -z "$4" && test -n "$3"; then func_error "Could not determine the host path corresponding to" func_error " \`$3'" func_error "Continuing, but uninstalled executables may not work." # Fallback. This is a deliberately simplistic "conversion" and # should not be "improved". See libtool.info. if test "x$1" != "x$2"; then lt_replace_pathsep_chars="s|$1|$2|g" func_to_host_path_result=`echo "$3" | $SED -e "$lt_replace_pathsep_chars"` else func_to_host_path_result="$3" fi fi } # end func_convert_path_check # func_convert_path_front_back_pathsep FRONTPAT BACKPAT REPL ORIG # Modifies func_to_host_path_result by prepending REPL if ORIG matches FRONTPAT # and appending REPL if ORIG matches BACKPAT. func_convert_path_front_back_pathsep () { $opt_debug case $4 in $1 ) func_to_host_path_result="$3$func_to_host_path_result" ;; esac case $4 in $2 ) func_append func_to_host_path_result "$3" ;; esac } # end func_convert_path_front_back_pathsep ################################################## # $build to $host FILE NAME CONVERSION FUNCTIONS # ################################################## # invoked via `$to_host_file_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # Result will be available in $func_to_host_file_result. # func_to_host_file ARG # Converts the file name ARG from $build format to $host format. Return result # in func_to_host_file_result. func_to_host_file () { $opt_debug $to_host_file_cmd "$1" } # end func_to_host_file # func_to_tool_file ARG LAZY # converts the file name ARG from $build format to toolchain format. Return # result in func_to_tool_file_result. If the conversion in use is listed # in (the comma separated) LAZY, no conversion takes place. func_to_tool_file () { $opt_debug case ,$2, in *,"$to_tool_file_cmd",*) func_to_tool_file_result=$1 ;; *) $to_tool_file_cmd "$1" func_to_tool_file_result=$func_to_host_file_result ;; esac } # end func_to_tool_file # func_convert_file_noop ARG # Copy ARG to func_to_host_file_result. func_convert_file_noop () { func_to_host_file_result="$1" } # end func_convert_file_noop # func_convert_file_msys_to_w32 ARG # Convert file name ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_file_result. func_convert_file_msys_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_to_host_file_result="$func_convert_core_msys_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_w32 # func_convert_file_cygwin_to_w32 ARG # Convert file name ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_file_cygwin_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # because $build is cygwin, we call "the" cygpath in $PATH; no need to use # LT_CYGPATH in this case. func_to_host_file_result=`cygpath -m "$1"` fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_cygwin_to_w32 # func_convert_file_nix_to_w32 ARG # Convert file name ARG from *nix to w32 format. Requires a wine environment # and a working winepath. Returns result in func_to_host_file_result. func_convert_file_nix_to_w32 () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_file_wine_to_w32 "$1" func_to_host_file_result="$func_convert_core_file_wine_to_w32_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_w32 # func_convert_file_msys_to_cygwin ARG # Convert file name ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_file_msys_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then func_convert_core_msys_to_w32 "$1" func_cygpath -u "$func_convert_core_msys_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_msys_to_cygwin # func_convert_file_nix_to_cygwin ARG # Convert file name ARG from *nix to Cygwin format. Requires Cygwin installed # in a wine environment, working winepath, and LT_CYGPATH set. Returns result # in func_to_host_file_result. func_convert_file_nix_to_cygwin () { $opt_debug func_to_host_file_result="$1" if test -n "$1"; then # convert from *nix to w32, then use cygpath to convert from w32 to cygwin. func_convert_core_file_wine_to_w32 "$1" func_cygpath -u "$func_convert_core_file_wine_to_w32_result" func_to_host_file_result="$func_cygpath_result" fi func_convert_file_check "$1" "$func_to_host_file_result" } # end func_convert_file_nix_to_cygwin ############################################# # $build to $host PATH CONVERSION FUNCTIONS # ############################################# # invoked via `$to_host_path_cmd ARG' # # In each case, ARG is the path to be converted from $build to $host format. # The result will be available in $func_to_host_path_result. # # Path separators are also converted from $build format to $host format. If # ARG begins or ends with a path separator character, it is preserved (but # converted to $host format) on output. # # All path conversion functions are named using the following convention: # file name conversion function : func_convert_file_X_to_Y () # path conversion function : func_convert_path_X_to_Y () # where, for any given $build/$host combination the 'X_to_Y' value is the # same. If conversion functions are added for new $build/$host combinations, # the two new functions must follow this pattern, or func_init_to_host_path_cmd # will break. # func_init_to_host_path_cmd # Ensures that function "pointer" variable $to_host_path_cmd is set to the # appropriate value, based on the value of $to_host_file_cmd. to_host_path_cmd= func_init_to_host_path_cmd () { $opt_debug if test -z "$to_host_path_cmd"; then func_stripname 'func_convert_file_' '' "$to_host_file_cmd" to_host_path_cmd="func_convert_path_${func_stripname_result}" fi } # func_to_host_path ARG # Converts the path ARG from $build format to $host format. Return result # in func_to_host_path_result. func_to_host_path () { $opt_debug func_init_to_host_path_cmd $to_host_path_cmd "$1" } # end func_to_host_path # func_convert_path_noop ARG # Copy ARG to func_to_host_path_result. func_convert_path_noop () { func_to_host_path_result="$1" } # end func_convert_path_noop # func_convert_path_msys_to_w32 ARG # Convert path ARG from (mingw) MSYS to (mingw) w32 format; automatic # conversion to w32 is not available inside the cwrapper. Returns result in # func_to_host_path_result. func_convert_path_msys_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from ARG. MSYS # behavior is inconsistent here; cygpath turns them into '.;' and ';.'; # and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_msys_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_msys_to_w32 # func_convert_path_cygwin_to_w32 ARG # Convert path ARG from Cygwin to w32 format. Returns result in # func_to_host_file_result. func_convert_path_cygwin_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_to_host_path_result=`cygpath -m -p "$func_to_host_path_tmp1"` func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_cygwin_to_w32 # func_convert_path_nix_to_w32 ARG # Convert path ARG from *nix to w32 format. Requires a wine environment and # a working winepath. Returns result in func_to_host_file_result. func_convert_path_nix_to_w32 () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_to_host_path_result="$func_convert_core_path_wine_to_w32_result" func_convert_path_check : ";" \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" ";" "$1" fi } # end func_convert_path_nix_to_w32 # func_convert_path_msys_to_cygwin ARG # Convert path ARG from MSYS to Cygwin format. Requires LT_CYGPATH set. # Returns result in func_to_host_file_result. func_convert_path_msys_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # See func_convert_path_msys_to_w32: func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_msys_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_msys_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_msys_to_cygwin # func_convert_path_nix_to_cygwin ARG # Convert path ARG from *nix to Cygwin format. Requires Cygwin installed in a # a wine environment, working winepath, and LT_CYGPATH set. Returns result in # func_to_host_file_result. func_convert_path_nix_to_cygwin () { $opt_debug func_to_host_path_result="$1" if test -n "$1"; then # Remove leading and trailing path separator characters from # ARG. msys behavior is inconsistent here, cygpath turns them # into '.;' and ';.', and winepath ignores them completely. func_stripname : : "$1" func_to_host_path_tmp1=$func_stripname_result func_convert_core_path_wine_to_w32 "$func_to_host_path_tmp1" func_cygpath -u -p "$func_convert_core_path_wine_to_w32_result" func_to_host_path_result="$func_cygpath_result" func_convert_path_check : : \ "$func_to_host_path_tmp1" "$func_to_host_path_result" func_convert_path_front_back_pathsep ":*" "*:" : "$1" fi } # end func_convert_path_nix_to_cygwin # func_mode_compile arg... func_mode_compile () { $opt_debug # Get the compilation command and the source file. base_compile= srcfile="$nonopt" # always keep a non-empty value in "srcfile" suppress_opt=yes suppress_output= arg_mode=normal libobj= later= pie_flag= for arg do case $arg_mode in arg ) # do not "continue". Instead, add this to base_compile lastarg="$arg" arg_mode=normal ;; target ) libobj="$arg" arg_mode=normal continue ;; normal ) # Accept any command-line options. case $arg in -o) test -n "$libobj" && \ func_fatal_error "you cannot specify \`-o' more than once" arg_mode=target continue ;; -pie | -fpie | -fPIE) func_append pie_flag " $arg" continue ;; -shared | -static | -prefer-pic | -prefer-non-pic) func_append later " $arg" continue ;; -no-suppress) suppress_opt=no continue ;; -Xcompiler) arg_mode=arg # the next one goes into the "base_compile" arg list continue # The current "srcfile" will either be retained or ;; # replaced later. I would guess that would be a bug. -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result lastarg= save_ifs="$IFS"; IFS=',' for arg in $args; do IFS="$save_ifs" func_append_quoted lastarg "$arg" done IFS="$save_ifs" func_stripname ' ' '' "$lastarg" lastarg=$func_stripname_result # Add the arguments to base_compile. func_append base_compile " $lastarg" continue ;; *) # Accept the current argument as the source file. # The previous "srcfile" becomes the current argument. # lastarg="$srcfile" srcfile="$arg" ;; esac # case $arg ;; esac # case $arg_mode # Aesthetically quote the previous argument. func_append_quoted base_compile "$lastarg" done # for arg case $arg_mode in arg) func_fatal_error "you must specify an argument for -Xcompile" ;; target) func_fatal_error "you must specify a target with \`-o'" ;; *) # Get the name of the library object. test -z "$libobj" && { func_basename "$srcfile" libobj="$func_basename_result" } ;; esac # Recognize several different file suffixes. # If the user specifies -o file.o, it is replaced with file.lo case $libobj in *.[cCFSifmso] | \ *.ada | *.adb | *.ads | *.asm | \ *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \ *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup) func_xform "$libobj" libobj=$func_xform_result ;; esac case $libobj in *.lo) func_lo2o "$libobj"; obj=$func_lo2o_result ;; *) func_fatal_error "cannot determine name of library object from \`$libobj'" ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no continue ;; -static) build_libtool_libs=no build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done func_quote_for_eval "$libobj" test "X$libobj" != "X$func_quote_for_eval_result" \ && $ECHO "X$libobj" | $GREP '[]~#^*{};<>?"'"'"' &()|`$[]' \ && func_warning "libobj name \`$libobj' may not contain shell special characters." func_dirname_and_basename "$obj" "/" "" objname="$func_basename_result" xdir="$func_dirname_result" lobj=${xdir}$objdir/$objname test -z "$base_compile" && \ func_fatal_help "you must specify a compilation command" # Delete any leftover library objects. if test "$build_old_libs" = yes; then removelist="$obj $lobj $libobj ${libobj}T" else removelist="$lobj $libobj ${libobj}T" fi # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in cygwin* | mingw* | pw32* | os2* | cegcc*) pic_mode=default ;; esac if test "$pic_mode" = no && test "$deplibs_check_method" != pass_all; then # non-PIC code in shared libraries is not supported pic_mode=default fi # Calculate the filename of the output object if compiler does # not support -o with -c if test "$compiler_c_o" = no; then output_obj=`$ECHO "$srcfile" | $SED 's%^.*/%%; s%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" else output_obj= need_locks=no lockfile= fi # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done elif test "$need_locks" = warn; then if test -f "$lockfile"; then $ECHO "\ *** ERROR, $lockfile exists and contains: `cat $lockfile 2>/dev/null` This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi func_append removelist " $output_obj" $ECHO "$srcfile" > "$lockfile" fi $opt_dry_run || $RM $removelist func_append removelist " $lockfile" trap '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' 1 2 15 func_to_tool_file "$srcfile" func_convert_file_msys_to_w32 srcfile=$func_to_tool_file_result func_quote_for_eval "$srcfile" qsrcfile=$func_quote_for_eval_result # Only build a PIC object if we are building libtool libraries. if test "$build_libtool_libs" = yes; then # Without this assignment, base_compile gets emptied. fbsd_hideous_sh_bug=$base_compile if test "$pic_mode" != no; then command="$base_compile $qsrcfile $pic_flag" else # Don't build PIC code command="$base_compile $qsrcfile" fi func_mkdir_p "$xdir$objdir" if test -z "$output_obj"; then # Place PIC objects in $objdir func_append command " -o $lobj" fi func_show_eval_locale "$command" \ 'test -n "$output_obj" && $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one if test -n "$output_obj" && test "X$output_obj" != "X$lobj"; then func_show_eval '$MV "$output_obj" "$lobj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi # Allow error messages only from the first compilation. if test "$suppress_opt" = yes; then suppress_output=' >/dev/null 2>&1' fi fi # Only build a position-dependent object if we build old libraries. if test "$build_old_libs" = yes; then if test "$pic_mode" != yes; then # Don't build PIC code command="$base_compile $qsrcfile$pie_flag" else command="$base_compile $qsrcfile $pic_flag" fi if test "$compiler_c_o" = yes; then func_append command " -o $obj" fi # Suppress compiler output if we already did a PIC compilation. func_append command "$suppress_output" func_show_eval_locale "$command" \ '$opt_dry_run || $RM $removelist; exit $EXIT_FAILURE' if test "$need_locks" = warn && test "X`cat $lockfile 2>/dev/null`" != "X$srcfile"; then $ECHO "\ *** ERROR, $lockfile contains: `cat $lockfile 2>/dev/null` but it should contain: $srcfile This indicates that another process is trying to use the same temporary object file, and libtool could not work around it because your compiler does not support \`-c' and \`-o' together. If you repeat this compilation, it may succeed, by chance, but you had better avoid parallel builds (make -j) in this platform, or get a better compiler." $opt_dry_run || $RM $removelist exit $EXIT_FAILURE fi # Just move the object if needed if test -n "$output_obj" && test "X$output_obj" != "X$obj"; then func_show_eval '$MV "$output_obj" "$obj"' \ 'error=$?; $opt_dry_run || $RM $removelist; exit $error' fi fi $opt_dry_run || { func_write_libtool_object "$libobj" "$objdir/$objname" "$objname" # Unlock the critical section if it was locked if test "$need_locks" != no; then removelist=$lockfile $RM "$lockfile" fi } exit $EXIT_SUCCESS } $opt_help || { test "$opt_mode" = compile && func_mode_compile ${1+"$@"} } func_mode_help () { # We need to display help for each of the modes. case $opt_mode in "") # Generic help is extracted from the usage comments # at the start of this file. func_help ;; clean) $ECHO \ "Usage: $progname [OPTION]... --mode=clean RM [RM-OPTION]... FILE... Remove files from the build directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, object or program, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; compile) $ECHO \ "Usage: $progname [OPTION]... --mode=compile COMPILE-COMMAND... SOURCEFILE Compile a source file into a libtool library object. This mode accepts the following additional options: -o OUTPUT-FILE set the output file name to OUTPUT-FILE -no-suppress do not suppress compiler output for multiple passes -prefer-pic try to build PIC objects only -prefer-non-pic try to build non-PIC objects only -shared do not build a \`.o' file suitable for static linking -static only build a \`.o' file suitable for static linking -Wc,FLAG pass FLAG directly to the compiler COMPILE-COMMAND is a command to be used in creating a \`standard' object file from the given SOURCEFILE. The output file name is determined by removing the directory component from SOURCEFILE, then substituting the C source code suffix \`.c' with the library object suffix, \`.lo'." ;; execute) $ECHO \ "Usage: $progname [OPTION]... --mode=execute COMMAND [ARGS]... Automatically set library path, then run a program. This mode accepts the following additional options: -dlopen FILE add the directory containing FILE to the library path This mode sets the library path environment variable according to \`-dlopen' flags. If any of the ARGS are libtool executable wrappers, then they are translated into their corresponding uninstalled binary, and any of their required library directories are added to the library path. Then, COMMAND is executed, with ARGS as arguments." ;; finish) $ECHO \ "Usage: $progname [OPTION]... --mode=finish [LIBDIR]... Complete the installation of libtool libraries. Each LIBDIR is a directory that contains libtool libraries. The commands that this mode executes may require superuser privileges. Use the \`--dry-run' option if you just want to see what would be executed." ;; install) $ECHO \ "Usage: $progname [OPTION]... --mode=install INSTALL-COMMAND... Install executables or libraries. INSTALL-COMMAND is the installation command. The first component should be either the \`install' or \`cp' program. The following components of INSTALL-COMMAND are treated specially: -inst-prefix-dir PREFIX-DIR Use PREFIX-DIR as a staging area for installation The rest of the components are interpreted as arguments to that command (only BSD-compatible install options are recognized)." ;; link) $ECHO \ "Usage: $progname [OPTION]... --mode=link LINK-COMMAND... Link object files or libraries together to form another library, or to create an executable program. LINK-COMMAND is a command using the C compiler that you would use to create a program from several object files. The following components of LINK-COMMAND are treated specially: -all-static do not do any dynamic linking at all -avoid-version do not add a version suffix if possible -bindir BINDIR specify path to binaries directory (for systems where libraries must be found in the PATH setting at runtime) -dlopen FILE \`-dlpreopen' FILE if it cannot be dlopened at runtime -dlpreopen FILE link in FILE and add its symbols to lt_preloaded_symbols -export-dynamic allow symbols from OUTPUT-FILE to be resolved with dlsym(3) -export-symbols SYMFILE try to export only the symbols listed in SYMFILE -export-symbols-regex REGEX try to export only the symbols matching REGEX -LLIBDIR search LIBDIR for required installed libraries -lNAME OUTPUT-FILE requires the installed library libNAME -module build a library that can dlopened -no-fast-install disable the fast-install mode -no-install link a not-installable executable -no-undefined declare that a library does not refer to external symbols -o OUTPUT-FILE create OUTPUT-FILE from the specified objects -objectlist FILE Use a list of object files found in FILE to specify objects -precious-files-regex REGEX don't remove output files matching REGEX -release RELEASE specify package release information -rpath LIBDIR the created library will eventually be installed in LIBDIR -R[ ]LIBDIR add LIBDIR to the runtime path of programs and libraries -shared only do dynamic linking of libtool libraries -shrext SUFFIX override the standard shared library file extension -static do not do any dynamic linking of uninstalled libtool libraries -static-libtool-libs do not do any dynamic linking of libtool libraries -version-info CURRENT[:REVISION[:AGE]] specify library version info [each variable defaults to 0] -weak LIBNAME declare that the target provides the LIBNAME interface -Wc,FLAG -Xcompiler FLAG pass linker-specific FLAG directly to the compiler -Wl,FLAG -Xlinker FLAG pass linker-specific FLAG directly to the linker -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC) All other options (arguments beginning with \`-') are ignored. Every other argument is treated as a filename. Files ending in \`.la' are treated as uninstalled libtool libraries, other files are standard or library object files. If the OUTPUT-FILE ends in \`.la', then a libtool library is created, only library objects (\`.lo' files) may be specified, and \`-rpath' is required, except when creating a convenience library. If OUTPUT-FILE ends in \`.a' or \`.lib', then a standard library is created using \`ar' and \`ranlib', or on Windows using \`lib'. If OUTPUT-FILE ends in \`.lo' or \`.${objext}', then a reloadable object file is created, otherwise an executable program is created." ;; uninstall) $ECHO \ "Usage: $progname [OPTION]... --mode=uninstall RM [RM-OPTION]... FILE... Remove libraries from an installation directory. RM is the name of the program to use to delete files associated with each FILE (typically \`/bin/rm'). RM-OPTIONS are options (such as \`-f') to be passed to RM. If FILE is a libtool library, all the files associated with it are deleted. Otherwise, only FILE itself is deleted using RM." ;; *) func_fatal_help "invalid operation mode \`$opt_mode'" ;; esac echo $ECHO "Try \`$progname --help' for more information about other modes." } # Now that we've collected a possible --mode arg, show help if necessary if $opt_help; then if test "$opt_help" = :; then func_mode_help else { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do func_mode_help done } | sed -n '1p; 2,$s/^Usage:/ or: /p' { func_help noexit for opt_mode in compile link execute install finish uninstall clean; do echo func_mode_help done } | sed '1d /^When reporting/,/^Report/{ H d } $x /information about other modes/d /more detailed .*MODE/d s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/' fi exit $? fi # func_mode_execute arg... func_mode_execute () { $opt_debug # The first argument is the command name. cmd="$nonopt" test -z "$cmd" && \ func_fatal_help "you must specify a COMMAND" # Handle -dlopen flags immediately. for file in $opt_dlopen; do test -f "$file" \ || func_fatal_help "\`$file' is not a file" dir= case $file in *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$lib' is not a valid libtool archive" # Read the libtool library. dlname= library_names= func_source "$file" # Skip this library if it cannot be dlopened. if test -z "$dlname"; then # Warn if it was a shared library. test -n "$library_names" && \ func_warning "\`$file' was not linked with \`-export-dynamic'" continue fi func_dirname "$file" "" "." dir="$func_dirname_result" if test -f "$dir/$objdir/$dlname"; then func_append dir "/$objdir" else if test ! -f "$dir/$dlname"; then func_fatal_error "cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" fi fi ;; *.lo) # Just add the directory containing the .lo file. func_dirname "$file" "" "." dir="$func_dirname_result" ;; *) func_warning "\`-dlopen' is ignored for non-libtool libraries and objects" continue ;; esac # Get the absolute pathname. absdir=`cd "$dir" && pwd` test -n "$absdir" && dir="$absdir" # Now add the directory to shlibpath_var. if eval "test -z \"\$$shlibpath_var\""; then eval "$shlibpath_var=\"\$dir\"" else eval "$shlibpath_var=\"\$dir:\$$shlibpath_var\"" fi done # This variable tells wrapper scripts just to set shlibpath_var # rather than running their programs. libtool_execute_magic="$magic" # Check if any of the arguments is a wrapper script. args= for file do case $file in -* | *.la | *.lo ) ;; *) # Do a test to see if this is really a libtool program. if func_ltwrapper_script_p "$file"; then func_source "$file" # Transform arg to wrapped name. file="$progdir/$program" elif func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" func_source "$func_ltwrapper_scriptname_result" # Transform arg to wrapped name. file="$progdir/$program" fi ;; esac # Quote arguments (to preserve shell metacharacters). func_append_quoted args "$file" done if test "X$opt_dry_run" = Xfalse; then if test -n "$shlibpath_var"; then # Export the shlibpath_var. eval "export $shlibpath_var" fi # Restore saved environment variables for lt_var in LANG LANGUAGE LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var else $lt_unset $lt_var fi" done # Now prepare to actually exec the command. exec_cmd="\$cmd$args" else # Display what would be done. if test -n "$shlibpath_var"; then eval "\$ECHO \"\$shlibpath_var=\$$shlibpath_var\"" echo "export $shlibpath_var" fi $ECHO "$cmd$args" exit $EXIT_SUCCESS fi } test "$opt_mode" = execute && func_mode_execute ${1+"$@"} # func_mode_finish arg... func_mode_finish () { $opt_debug libs= libdirs= admincmds= for opt in "$nonopt" ${1+"$@"} do if test -d "$opt"; then func_append libdirs " $opt" elif test -f "$opt"; then if func_lalib_unsafe_p "$opt"; then func_append libs " $opt" else func_warning "\`$opt' is not a valid libtool archive" fi else func_fatal_error "invalid argument \`$opt'" fi done if test -n "$libs"; then if test -n "$lt_sysroot"; then sysroot_regex=`$ECHO "$lt_sysroot" | $SED "$sed_make_literal_regex"` sysroot_cmd="s/\([ ']\)$sysroot_regex/\1/g;" else sysroot_cmd= fi # Remove sysroot references if $opt_dry_run; then for lib in $libs; do echo "removing references to $lt_sysroot and \`=' prefixes from $lib" done else tmpdir=`func_mktempdir` for lib in $libs; do sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \ > $tmpdir/tmp-la mv -f $tmpdir/tmp-la $lib done ${RM}r "$tmpdir" fi fi if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then for libdir in $libdirs; do if test -n "$finish_cmds"; then # Do each command in the finish commands. func_execute_cmds "$finish_cmds" 'admincmds="$admincmds '"$cmd"'"' fi if test -n "$finish_eval"; then # Do the single finish_eval. eval cmds=\"$finish_eval\" $opt_dry_run || eval "$cmds" || func_append admincmds " $cmds" fi done fi # Exit here if they wanted silent mode. $opt_silent && exit $EXIT_SUCCESS if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then echo "----------------------------------------------------------------------" echo "Libraries have been installed in:" for libdir in $libdirs; do $ECHO " $libdir" done echo echo "If you ever happen to want to link against installed libraries" echo "in a given directory, LIBDIR, you must either use libtool, and" echo "specify the full pathname of the library, or use the \`-LLIBDIR'" echo "flag during linking and do at least one of the following:" if test -n "$shlibpath_var"; then echo " - add LIBDIR to the \`$shlibpath_var' environment variable" echo " during execution" fi if test -n "$runpath_var"; then echo " - add LIBDIR to the \`$runpath_var' environment variable" echo " during linking" fi if test -n "$hardcode_libdir_flag_spec"; then libdir=LIBDIR eval flag=\"$hardcode_libdir_flag_spec\" $ECHO " - use the \`$flag' linker flag" fi if test -n "$admincmds"; then $ECHO " - have your system administrator run these commands:$admincmds" fi if test -f /etc/ld.so.conf; then echo " - have your system administrator add LIBDIR to \`/etc/ld.so.conf'" fi echo echo "See any operating system documentation about shared libraries for" case $host in solaris2.[6789]|solaris2.1[0-9]) echo "more information, such as the ld(1), crle(1) and ld.so(8) manual" echo "pages." ;; *) echo "more information, such as the ld(1) and ld.so(8) manual pages." ;; esac echo "----------------------------------------------------------------------" fi exit $EXIT_SUCCESS } test "$opt_mode" = finish && func_mode_finish ${1+"$@"} # func_mode_install arg... func_mode_install () { $opt_debug # There may be an optional sh(1) argument at the beginning of # install_prog (especially on Windows NT). if test "$nonopt" = "$SHELL" || test "$nonopt" = /bin/sh || # Allow the use of GNU shtool's install command. case $nonopt in *shtool*) :;; *) false;; esac; then # Aesthetically quote it. func_quote_for_eval "$nonopt" install_prog="$func_quote_for_eval_result " arg=$1 shift else install_prog= arg=$nonopt fi # The real first argument should be the name of the installation program. # Aesthetically quote it. func_quote_for_eval "$arg" func_append install_prog "$func_quote_for_eval_result" install_shared_prog=$install_prog case " $install_prog " in *[\\\ /]cp\ *) install_cp=: ;; *) install_cp=false ;; esac # We need to accept at least all the BSD install flags. dest= files= opts= prev= install_type= isdir=no stripme= no_mode=: for arg do arg2= if test -n "$dest"; then func_append files " $dest" dest=$arg continue fi case $arg in -d) isdir=yes ;; -f) if $install_cp; then :; else prev=$arg fi ;; -g | -m | -o) prev=$arg ;; -s) stripme=" -s" continue ;; -*) ;; *) # If the previous option needed an argument, then skip it. if test -n "$prev"; then if test "x$prev" = x-m && test -n "$install_override_mode"; then arg2=$install_override_mode no_mode=false fi prev= else dest=$arg continue fi ;; esac # Aesthetically quote the argument. func_quote_for_eval "$arg" func_append install_prog " $func_quote_for_eval_result" if test -n "$arg2"; then func_quote_for_eval "$arg2" fi func_append install_shared_prog " $func_quote_for_eval_result" done test -z "$install_prog" && \ func_fatal_help "you must specify an install program" test -n "$prev" && \ func_fatal_help "the \`$prev' option requires an argument" if test -n "$install_override_mode" && $no_mode; then if $install_cp; then :; else func_quote_for_eval "$install_override_mode" func_append install_shared_prog " -m $func_quote_for_eval_result" fi fi if test -z "$files"; then if test -z "$dest"; then func_fatal_help "no file or destination specified" else func_fatal_help "you must specify a destination" fi fi # Strip any trailing slash from the destination. func_stripname '' '/' "$dest" dest=$func_stripname_result # Check to see that the destination is a directory. test -d "$dest" && isdir=yes if test "$isdir" = yes; then destdir="$dest" destname= else func_dirname_and_basename "$dest" "" "." destdir="$func_dirname_result" destname="$func_basename_result" # Not a directory, so check to see that there is only one file specified. set dummy $files; shift test "$#" -gt 1 && \ func_fatal_help "\`$dest' is not a directory" fi case $destdir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) for file in $files; do case $file in *.lo) ;; *) func_fatal_help "\`$destdir' must be an absolute directory name" ;; esac done ;; esac # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" staticlibs= future_libdirs= current_libdirs= for file in $files; do # Do each installation. case $file in *.$libext) # Do the static libraries later. func_append staticlibs " $file" ;; *.la) func_resolve_sysroot "$file" file=$func_resolve_sysroot_result # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$file" \ || func_fatal_help "\`$file' is not a valid libtool archive" library_names= old_library= relink_command= func_source "$file" # Add the libdir to current_libdirs if it is the destination. if test "X$destdir" = "X$libdir"; then case "$current_libdirs " in *" $libdir "*) ;; *) func_append current_libdirs " $libdir" ;; esac else # Note the libdir as a future libdir. case "$future_libdirs " in *" $libdir "*) ;; *) func_append future_libdirs " $libdir" ;; esac fi func_dirname "$file" "/" "" dir="$func_dirname_result" func_append dir "$objdir" if test -n "$relink_command"; then # Determine the prefix the user has applied to our future dir. inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that # are installed to the same prefix. # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. test "$inst_prefix_dir" = "$destdir" && \ func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%"` else relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' fi # See the names of the shared library. set dummy $library_names; shift if test -n "$1"; then realname="$1" shift srcname="$realname" test -n "$relink_command" && srcname="$realname"T # Install the shared library and build the symlinks. func_show_eval "$install_shared_prog $dir/$srcname $destdir/$realname" \ 'exit $?' tstripme="$stripme" case $host_os in cygwin* | mingw* | pw32* | cegcc*) case $realname in *.dll.a) tstripme="" ;; esac ;; esac if test -n "$tstripme" && test -n "$striplib"; then func_show_eval "$striplib $destdir/$realname" 'exit $?' fi if test "$#" -gt 0; then # Delete the old symlinks, and create new ones. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do test "$linkname" != "$realname" \ && func_show_eval "(cd $destdir && { $LN_S -f $realname $linkname || { $RM $linkname && $LN_S $realname $linkname; }; })" done fi # Do each command in the postinstall commands. lib="$destdir/$realname" func_execute_cmds "$postinstall_cmds" 'exit $?' fi # Install the pseudo-library for information purposes. func_basename "$file" name="$func_basename_result" instname="$dir/$name"i func_show_eval "$install_prog $instname $destdir/$name" 'exit $?' # Maybe install the static library, too. test -n "$old_library" && func_append staticlibs " $dir/$old_library" ;; *.lo) # Install (i.e. copy) a libtool object. # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # Deduce the name of the destination old-style object file. case $destfile in *.lo) func_lo2o "$destfile" staticdest=$func_lo2o_result ;; *.$objext) staticdest="$destfile" destfile= ;; *) func_fatal_help "cannot copy a libtool object to \`$destfile'" ;; esac # Install the libtool object if requested. test -n "$destfile" && \ func_show_eval "$install_prog $file $destfile" 'exit $?' # Install the old object if enabled. if test "$build_old_libs" = yes; then # Deduce the name of the old-style object file. func_lo2o "$file" staticobj=$func_lo2o_result func_show_eval "$install_prog \$staticobj \$staticdest" 'exit $?' fi exit $EXIT_SUCCESS ;; *) # Figure out destination file name, if it wasn't already specified. if test -n "$destname"; then destfile="$destdir/$destname" else func_basename "$file" destfile="$func_basename_result" destfile="$destdir/$destfile" fi # If the file is missing, and there is a .exe on the end, strip it # because it is most likely a libtool script we actually want to # install stripped_ext="" case $file in *.exe) if test ! -f "$file"; then func_stripname '' '.exe' "$file" file=$func_stripname_result stripped_ext=".exe" fi ;; esac # Do a test to see if this is really a libtool program. case $host in *cygwin* | *mingw*) if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" wrapper=$func_ltwrapper_scriptname_result else func_stripname '' '.exe' "$file" wrapper=$func_stripname_result fi ;; *) wrapper=$file ;; esac if func_ltwrapper_script_p "$wrapper"; then notinst_deplibs= relink_command= func_source "$wrapper" # Check the variables that should have been set. test -z "$generated_by_libtool_version" && \ func_fatal_error "invalid libtool wrapper script \`$wrapper'" finalize=yes for lib in $notinst_deplibs; do # Check to see that each library is installed. libdir= if test -f "$lib"; then func_source "$lib" fi libfile="$libdir/"`$ECHO "$lib" | $SED 's%^.*/%%g'` ### testsuite: skip nested quoting test if test -n "$libdir" && test ! -f "$libfile"; then func_warning "\`$lib' has not been installed in \`$libdir'" finalize=no fi done relink_command= func_source "$wrapper" outputname= if test "$fast_install" = no && test -n "$relink_command"; then $opt_dry_run || { if test "$finalize" = yes; then tmpdir=`func_mktempdir` func_basename "$file$stripped_ext" file="$func_basename_result" outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$ECHO "$relink_command" | $SED 's%@OUTPUT@%'"$outputname"'%g'` $opt_silent || { func_quote_for_expand "$relink_command" eval "func_echo $func_quote_for_expand_result" } if eval "$relink_command"; then : else func_error "error: relink \`$file' with the above command before installing it" $opt_dry_run || ${RM}r "$tmpdir" continue fi file="$outputname" else func_warning "cannot relink \`$file'" fi } else # Install the binary that we compiled earlier. file=`$ECHO "$file$stripped_ext" | $SED "s%\([^/]*\)$%$objdir/\1%"` fi fi # remove .exe since cygwin /usr/bin/install will append another # one anyway case $install_prog,$host in */usr/bin/install*,*cygwin*) case $file:$destfile in *.exe:*.exe) # this is ok ;; *.exe:*) destfile=$destfile.exe ;; *:*.exe) func_stripname '' '.exe' "$destfile" destfile=$func_stripname_result ;; esac ;; esac func_show_eval "$install_prog\$stripme \$file \$destfile" 'exit $?' $opt_dry_run || if test -n "$outputname"; then ${RM}r "$tmpdir" fi ;; esac done for file in $staticlibs; do func_basename "$file" name="$func_basename_result" # Set up the ranlib parameters. oldlib="$destdir/$name" func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result func_show_eval "$install_prog \$file \$oldlib" 'exit $?' if test -n "$stripme" && test -n "$old_striplib"; then func_show_eval "$old_striplib $tool_oldlib" 'exit $?' fi # Do each command in the postinstall commands. func_execute_cmds "$old_postinstall_cmds" 'exit $?' done test -n "$future_libdirs" && \ func_warning "remember to run \`$progname --finish$future_libdirs'" if test -n "$current_libdirs"; then # Maybe just do a dry run. $opt_dry_run && current_libdirs=" -n$current_libdirs" exec_cmd='$SHELL $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS fi } test "$opt_mode" = install && func_mode_install ${1+"$@"} # func_generate_dlsyms outputname originator pic_p # Extract symbols from dlprefiles and create ${outputname}S.o with # a dlpreopen symbol table. func_generate_dlsyms () { $opt_debug my_outputname="$1" my_originator="$2" my_pic_p="${3-no}" my_prefix=`$ECHO "$my_originator" | sed 's%[^a-zA-Z0-9]%_%g'` my_dlsyms= if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then if test -n "$NM" && test -n "$global_symbol_pipe"; then my_dlsyms="${my_outputname}S.c" else func_error "not configured to extract global symbols from dlpreopened files" fi fi if test -n "$my_dlsyms"; then case $my_dlsyms in "") ;; *.c) # Discover the nlist of each of the dlfiles. nlist="$output_objdir/${my_outputname}.nm" func_show_eval "$RM $nlist ${nlist}S ${nlist}T" # Parse the name list into a source file. func_verbose "creating $output_objdir/$my_dlsyms" $opt_dry_run || $ECHO > "$output_objdir/$my_dlsyms" "\ /* $my_dlsyms - symbol resolution table for \`$my_outputname' dlsym emulation. */ /* Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION */ #ifdef __cplusplus extern \"C\" { #endif #if defined(__GNUC__) && (((__GNUC__ == 4) && (__GNUC_MINOR__ >= 4)) || (__GNUC__ > 4)) #pragma GCC diagnostic ignored \"-Wstrict-prototypes\" #endif /* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */ #if defined(_WIN32) || defined(__CYGWIN__) || defined(_WIN32_WCE) /* DATA imports from DLLs on WIN32 con't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs. */ # define LT_DLSYM_CONST #elif defined(__osf__) /* This system does not cope well with relocations in const data. */ # define LT_DLSYM_CONST #else # define LT_DLSYM_CONST const #endif /* External symbol declarations for the compiler. */\ " if test "$dlself" = yes; then func_verbose "generating symbol list for \`$output'" $opt_dry_run || echo ': @PROGRAM@ ' > "$nlist" # Add our own program objects to the symbol list. progfiles=`$ECHO "$objs$old_deplibs" | $SP2NL | $SED "$lo2o" | $NL2SP` for progfile in $progfiles; do func_to_tool_file "$progfile" func_convert_file_msys_to_w32 func_verbose "extracting global C symbols from \`$func_to_tool_file_result'" $opt_dry_run || eval "$NM $func_to_tool_file_result | $global_symbol_pipe >> '$nlist'" done if test -n "$exclude_expsyms"; then $opt_dry_run || { eval '$EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi if test -n "$export_symbols_regex"; then $opt_dry_run || { eval '$EGREP -e "$export_symbols_regex" "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' } fi # Prepare the list of exported symbols if test -z "$export_symbols"; then export_symbols="$output_objdir/$outputname.exp" $opt_dry_run || { $RM $export_symbols eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac } else $opt_dry_run || { eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' eval '$GREP -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' eval '$MV "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* | *cegcc* ) eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac } fi fi for dlprefile in $dlprefiles; do func_verbose "extracting global C symbols from \`$dlprefile'" func_basename "$dlprefile" name="$func_basename_result" case $host in *cygwin* | *mingw* | *cegcc* ) # if an import library, we need to obtain dlname if func_win32_import_lib_p "$dlprefile"; then func_tr_sh "$dlprefile" eval "curr_lafile=\$libfile_$func_tr_sh_result" dlprefile_dlbasename="" if test -n "$curr_lafile" && func_lalib_p "$curr_lafile"; then # Use subshell, to avoid clobbering current variable values dlprefile_dlname=`source "$curr_lafile" && echo "$dlname"` if test -n "$dlprefile_dlname" ; then func_basename "$dlprefile_dlname" dlprefile_dlbasename="$func_basename_result" else # no lafile. user explicitly requested -dlpreopen . $sharedlib_from_linklib_cmd "$dlprefile" dlprefile_dlbasename=$sharedlib_from_linklib_result fi fi $opt_dry_run || { if test -n "$dlprefile_dlbasename" ; then eval '$ECHO ": $dlprefile_dlbasename" >> "$nlist"' else func_warning "Could not compute DLL name from $name" eval '$ECHO ": $name " >> "$nlist"' fi func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe | $SED -e '/I __imp/d' -e 's/I __nm_/D /;s/_nm__//' >> '$nlist'" } else # not an import lib $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } fi ;; *) $opt_dry_run || { eval '$ECHO ": $name " >> "$nlist"' func_to_tool_file "$dlprefile" func_convert_file_msys_to_w32 eval "$NM \"$func_to_tool_file_result\" 2>/dev/null | $global_symbol_pipe >> '$nlist'" } ;; esac done $opt_dry_run || { # Make sure we have at least an empty file. test -f "$nlist" || : > "$nlist" if test -n "$exclude_expsyms"; then $EGREP -v " ($exclude_expsyms)$" "$nlist" > "$nlist"T $MV "$nlist"T "$nlist" fi # Try sorting and uniquifying the output. if $GREP -v "^: " < "$nlist" | if sort -k 3 /dev/null 2>&1; then sort -k 3 else sort +2 fi | uniq > "$nlist"S; then : else $GREP -v "^: " < "$nlist" > "$nlist"S fi if test -f "$nlist"S; then eval "$global_symbol_to_cdecl"' < "$nlist"S >> "$output_objdir/$my_dlsyms"' else echo '/* NONE */' >> "$output_objdir/$my_dlsyms" fi echo >> "$output_objdir/$my_dlsyms" "\ /* The mapping between symbol names and symbols. */ typedef struct { const char *name; void *address; } lt_dlsymlist; extern LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[]; LT_DLSYM_CONST lt_dlsymlist lt_${my_prefix}_LTX_preloaded_symbols[] = {\ { \"$my_originator\", (void *) 0 }," case $need_lib_prefix in no) eval "$global_symbol_to_c_name_address" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; *) eval "$global_symbol_to_c_name_address_lib_prefix" < "$nlist" >> "$output_objdir/$my_dlsyms" ;; esac echo >> "$output_objdir/$my_dlsyms" "\ {0, (void *) 0} }; /* This works around a problem in FreeBSD linker */ #ifdef FREEBSD_WORKAROUND static const void *lt_preloaded_setup() { return lt_${my_prefix}_LTX_preloaded_symbols; } #endif #ifdef __cplusplus } #endif\ " } # !$opt_dry_run pic_flag_for_symtable= case "$compile_command " in *" -static "*) ;; *) case $host in # compiling the symbol table file with pic_flag works around # a FreeBSD bug that causes programs to crash when -lm is # linked before any other PIC object. But we must not use # pic_flag when linking with -static. The problem exists in # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1. *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*) pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;; *-*-hpux*) pic_flag_for_symtable=" $pic_flag" ;; *) if test "X$my_pic_p" != Xno; then pic_flag_for_symtable=" $pic_flag" fi ;; esac ;; esac symtab_cflags= for arg in $LTCFLAGS; do case $arg in -pie | -fpie | -fPIE) ;; *) func_append symtab_cflags " $arg" ;; esac done # Now compile the dynamic symbol file. func_show_eval '(cd $output_objdir && $LTCC$symtab_cflags -c$no_builtin_flag$pic_flag_for_symtable "$my_dlsyms")' 'exit $?' # Clean up the generated files. func_show_eval '$RM "$output_objdir/$my_dlsyms" "$nlist" "${nlist}S" "${nlist}T"' # Transform the symbol file into the correct name. symfileobj="$output_objdir/${my_outputname}S.$objext" case $host in *cygwin* | *mingw* | *cegcc* ) if test -f "$output_objdir/$my_outputname.def"; then compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$output_objdir/$my_outputname.def $symfileobj%"` else compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` fi ;; *) compile_command=`$ECHO "$compile_command" | $SED "s%@SYMFILE@%$symfileobj%"` finalize_command=`$ECHO "$finalize_command" | $SED "s%@SYMFILE@%$symfileobj%"` ;; esac ;; *) func_fatal_error "unknown suffix for \`$my_dlsyms'" ;; esac else # We keep going just in case the user didn't refer to # lt_preloaded_symbols. The linker will fail if global_symbol_pipe # really was required. # Nullify the symbol file. compile_command=`$ECHO "$compile_command" | $SED "s% @SYMFILE@%%"` finalize_command=`$ECHO "$finalize_command" | $SED "s% @SYMFILE@%%"` fi } # func_win32_libid arg # return the library type of file 'arg' # # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. # Despite the name, also deal with 64 bit binaries. func_win32_libid () { $opt_debug win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in *ar\ archive\ import\ library*) # definitely import win32_libid_type="x86 archive import" ;; *ar\ archive*) # could be an import, or static # Keep the egrep pattern in sync with the one in _LT_CHECK_MAGIC_METHOD. if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | $EGREP 'file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)' >/dev/null; then func_to_tool_file "$1" func_convert_file_msys_to_w32 win32_nmres=`eval $NM -f posix -A \"$func_to_tool_file_result\" | $SED -n -e ' 1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac fi ;; *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... case $win32_fileres in *MS\ Windows\ PE\ Intel*) win32_libid_type="x86 DLL" ;; esac ;; esac $ECHO "$win32_libid_type" } # func_cygming_dll_for_implib ARG # # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib () { $opt_debug sharedlib_from_linklib_result=`$DLLTOOL --identify-strict --identify "$1"` } # func_cygming_dll_for_implib_fallback_core SECTION_NAME LIBNAMEs # # The is the core of a fallback implementation of a # platform-specific function to extract the name of the # DLL associated with the specified import library LIBNAME. # # SECTION_NAME is either .idata$6 or .idata$7, depending # on the platform and compiler that created the implib. # # Echos the name of the DLL associated with the # specified import library. func_cygming_dll_for_implib_fallback_core () { $opt_debug match_literal=`$ECHO "$1" | $SED "$sed_make_literal_regex"` $OBJDUMP -s --section "$1" "$2" 2>/dev/null | $SED '/^Contents of section '"$match_literal"':/{ # Place marker at beginning of archive member dllname section s/.*/====MARK====/ p d } # These lines can sometimes be longer than 43 characters, but # are always uninteresting /:[ ]*file format pe[i]\{,1\}-/d /^In archive [^:]*:/d # Ensure marker is printed /^====MARK====/p # Remove all lines with less than 43 characters /^.\{43\}/!d # From remaining lines, remove first 43 characters s/^.\{43\}//' | $SED -n ' # Join marker and all lines until next marker into a single line /^====MARK====/ b para H $ b para b :para x s/\n//g # Remove the marker s/^====MARK====// # Remove trailing dots and whitespace s/[\. \t]*$// # Print /./p' | # we now have a list, one entry per line, of the stringified # contents of the appropriate section of all members of the # archive which possess that section. Heuristic: eliminate # all those which have a first or second character that is # a '.' (that is, objdump's representation of an unprintable # character.) This should work for all archives with less than # 0x302f exports -- but will fail for DLLs whose name actually # begins with a literal '.' or a single character followed by # a '.'. # # Of those that remain, print the first one. $SED -e '/^\./d;/^.\./d;q' } # func_cygming_gnu_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is a GNU/binutils-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_gnu_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_gnu_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $EGREP ' (_head_[A-Za-z0-9_]+_[ad]l*|[A-Za-z0-9_]+_[ad]l*_iname)$'` test -n "$func_cygming_gnu_implib_tmp" } # func_cygming_ms_implib_p ARG # This predicate returns with zero status (TRUE) if # ARG is an MS-style import library. Returns # with nonzero status (FALSE) otherwise. func_cygming_ms_implib_p () { $opt_debug func_to_tool_file "$1" func_convert_file_msys_to_w32 func_cygming_ms_implib_tmp=`$NM "$func_to_tool_file_result" | eval "$global_symbol_pipe" | $GREP '_NULL_IMPORT_DESCRIPTOR'` test -n "$func_cygming_ms_implib_tmp" } # func_cygming_dll_for_implib_fallback ARG # Platform-specific function to extract the # name of the DLL associated with the specified # import library ARG. # # This fallback implementation is for use when $DLLTOOL # does not support the --identify-strict option. # Invoked by eval'ing the libtool variable # $sharedlib_from_linklib_cmd # Result is available in the variable # $sharedlib_from_linklib_result func_cygming_dll_for_implib_fallback () { $opt_debug if func_cygming_gnu_implib_p "$1" ; then # binutils import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$7' "$1"` elif func_cygming_ms_implib_p "$1" ; then # ms-generated import library sharedlib_from_linklib_result=`func_cygming_dll_for_implib_fallback_core '.idata$6' "$1"` else # unknown sharedlib_from_linklib_result="" fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { $opt_debug f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" if test "$lock_old_archive_extraction" = yes; then lockfile=$f_ex_an_ar_oldlib.lock until $opt_dry_run || ln "$progpath" "$lockfile" 2>/dev/null; do func_echo "Waiting for $lockfile to be removed" sleep 2 done fi func_show_eval "(cd \$f_ex_an_ar_dir && $AR x \"\$f_ex_an_ar_oldlib\")" \ 'stat=$?; rm -f "$lockfile"; exit $stat' if test "$lock_old_archive_extraction" = yes; then $opt_dry_run || rm -f "$lockfile" fi if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else func_fatal_error "object name conflicts in archive: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" fi } # func_extract_archives gentop oldlib ... func_extract_archives () { $opt_debug my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac func_basename "$my_xlib" my_xlib="$func_basename_result" my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) func_arith $extracted_serial + 1 extracted_serial=$func_arith_result my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" func_mkdir_p "$my_xdir" case $host in *-darwin*) func_verbose "Extracting $my_xabs" # Do not bother doing anything if just a dry run $opt_dry_run || { darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`basename "$darwin_archive"` darwin_arches=`$LIPO -info "$darwin_archive" 2>/dev/null | $GREP Architectures 2>/dev/null || true` if test -n "$darwin_arches"; then darwin_arches=`$ECHO "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= func_verbose "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do func_mkdir_p "unfat-$$/${darwin_base_archive}-${darwin_arch}" $LIPO -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $RM "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we've a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print | $SED -e "$basename" | sort -u` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | sort | $NL2SP` $LIPO -create -output "$darwin_file" $darwin_files done # $darwin_filelist $RM -rf unfat-$$ cd "$darwin_orig_dir" else cd $darwin_orig_dir func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches } # !$opt_dry_run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | sort | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # func_emit_wrapper [arg=no] # # Emit a libtool wrapper script on stdout. # Don't directly open a file because we may want to # incorporate the script contents within a cygwin/mingw # wrapper executable. Must ONLY be called from within # func_mode_link because it depends on a number of variables # set therein. # # ARG is the value that the WRAPPER_SCRIPT_BELONGS_IN_OBJDIR # variable will take. If 'yes', then the emitted script # will assume that the directory in which it is stored is # the $objdir directory. This is a cygwin/mingw-specific # behavior. func_emit_wrapper () { func_emit_wrapper_arg1=${1-no} $ECHO "\ #! $SHELL # $output - temporary wrapper script for $objdir/$outputname # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # The $output program cannot be directly executed until all the libtool # libraries that it depends on are installed. # # This wrapper script should never be moved out of the build directory. # If it is, it will not operate correctly. # Sed substitution that helps us do robust quoting. It backslashifies # metacharacters that are still active within double-quoted strings. sed_quote_subst='$sed_quote_subst' # Be Bourne compatible if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH relink_command=\"$relink_command\" # This environment variable determines our operation mode. if test \"\$libtool_install_magic\" = \"$magic\"; then # install mode needs the following variables: generated_by_libtool_version='$macro_version' notinst_deplibs='$notinst_deplibs' else # When we are sourced in execute mode, \$file and \$ECHO are already set. if test \"\$libtool_execute_magic\" != \"$magic\"; then file=\"\$0\"" qECHO=`$ECHO "$ECHO" | $SED "$sed_quote_subst"` $ECHO "\ # A function that is used when there is no print builtin or printf. func_fallback_echo () { eval 'cat <<_LTECHO_EOF \$1 _LTECHO_EOF' } ECHO=\"$qECHO\" fi # Very basic option parsing. These options are (a) specific to # the libtool wrapper, (b) are identical between the wrapper # /script/ and the wrapper /executable/ which is used only on # windows platforms, and (c) all begin with the string "--lt-" # (application programs are unlikely to have options which match # this pattern). # # There are only two supported options: --lt-debug and # --lt-dump-script. There is, deliberately, no --lt-help. # # The first argument to this parsing function should be the # script's $0 value, followed by "$@". lt_option_debug= func_parse_lt_options () { lt_script_arg0=\$0 shift for lt_opt do case \"\$lt_opt\" in --lt-debug) lt_option_debug=1 ;; --lt-dump-script) lt_dump_D=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%/[^/]*$%%'\` test \"X\$lt_dump_D\" = \"X\$lt_script_arg0\" && lt_dump_D=. lt_dump_F=\`\$ECHO \"X\$lt_script_arg0\" | $SED -e 's/^X//' -e 's%^.*/%%'\` cat \"\$lt_dump_D/\$lt_dump_F\" exit 0 ;; --lt-*) \$ECHO \"Unrecognized --lt- option: '\$lt_opt'\" 1>&2 exit 1 ;; esac done # Print the debug banner immediately: if test -n \"\$lt_option_debug\"; then echo \"${outputname}:${output}:\${LINENO}: libtool wrapper (GNU $PACKAGE$TIMESTAMP) $VERSION\" 1>&2 fi } # Used when --lt-debug. Prints its arguments to stdout # (redirection is the responsibility of the caller) func_lt_dump_args () { lt_dump_args_N=1; for lt_arg do \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[\$lt_dump_args_N]: \$lt_arg\" lt_dump_args_N=\`expr \$lt_dump_args_N + 1\` done } # Core function for launching the target application func_exec_program_core () { " case $host in # Backslashes separate directories on plain windows *-*-mingw | *-*-os2* | *-cegcc*) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir\\\\\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir\\\\\$program\" \${1+\"\$@\"} " ;; *) $ECHO "\ if test -n \"\$lt_option_debug\"; then \$ECHO \"${outputname}:${output}:\${LINENO}: newargv[0]: \$progdir/\$program\" 1>&2 func_lt_dump_args \${1+\"\$@\"} 1>&2 fi exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $ECHO "\ \$ECHO \"\$0: cannot exec \$program \$*\" 1>&2 exit 1 } # A function to encapsulate launching the target application # Strips options in the --lt-* namespace from \$@ and # launches target application with the remaining arguments. func_exec_program () { case \" \$* \" in *\\ --lt-*) for lt_wr_arg do case \$lt_wr_arg in --lt-*) ;; *) set x \"\$@\" \"\$lt_wr_arg\"; shift;; esac shift done ;; esac func_exec_program_core \${1+\"\$@\"} } # Parse options func_parse_lt_options \"\$0\" \${1+\"\$@\"} # Find the directory that this script lives in. thisdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*$%%'\` test \"x\$thisdir\" = \"x\$file\" && thisdir=. # Follow symbolic links until we get to the real thisdir. file=\`ls -ld \"\$file\" | $SED -n 's/.*-> //p'\` while test -n \"\$file\"; do destdir=\`\$ECHO \"\$file\" | $SED 's%/[^/]*\$%%'\` # If there was a directory component, then change thisdir. if test \"x\$destdir\" != \"x\$file\"; then case \"\$destdir\" in [\\\\/]* | [A-Za-z]:[\\\\/]*) thisdir=\"\$destdir\" ;; *) thisdir=\"\$thisdir/\$destdir\" ;; esac fi file=\`\$ECHO \"\$file\" | $SED 's%^.*/%%'\` file=\`ls -ld \"\$thisdir/\$file\" | $SED -n 's/.*-> //p'\` done # Usually 'no', except on cygwin/mingw when embedded into # the cwrapper. WRAPPER_SCRIPT_BELONGS_IN_OBJDIR=$func_emit_wrapper_arg1 if test \"\$WRAPPER_SCRIPT_BELONGS_IN_OBJDIR\" = \"yes\"; then # special case for '.' if test \"\$thisdir\" = \".\"; then thisdir=\`pwd\` fi # remove .libs from thisdir case \"\$thisdir\" in *[\\\\/]$objdir ) thisdir=\`\$ECHO \"\$thisdir\" | $SED 's%[\\\\/][^\\\\/]*$%%'\` ;; $objdir ) thisdir=. ;; esac fi # Try to get the absolute directory name. absdir=\`cd \"\$thisdir\" && pwd\` test -n \"\$absdir\" && thisdir=\"\$absdir\" " if test "$fast_install" = yes; then $ECHO "\ program=lt-'$outputname'$exeext progdir=\"\$thisdir/$objdir\" if test ! -f \"\$progdir/\$program\" || { file=\`ls -1dt \"\$progdir/\$program\" \"\$progdir/../\$program\" 2>/dev/null | ${SED} 1q\`; \\ test \"X\$file\" != \"X\$progdir/\$program\"; }; then file=\"\$\$-\$program\" if test ! -d \"\$progdir\"; then $MKDIR \"\$progdir\" else $RM \"\$progdir/\$file\" fi" $ECHO "\ # relink executable if necessary if test -n \"\$relink_command\"; then if relink_command_output=\`eval \$relink_command 2>&1\`; then : else $ECHO \"\$relink_command_output\" >&2 $RM \"\$progdir/\$file\" exit 1 fi fi $MV \"\$progdir/\$file\" \"\$progdir/\$program\" 2>/dev/null || { $RM \"\$progdir/\$program\"; $MV \"\$progdir/\$file\" \"\$progdir/\$program\"; } $RM \"\$progdir/\$file\" fi" else $ECHO "\ program='$outputname' progdir=\"\$thisdir/$objdir\" " fi $ECHO "\ if test -f \"\$progdir/\$program\"; then" # fixup the dll searchpath if we need to. # # Fix the DLL searchpath if we need to. Do this before prepending # to shlibpath, because on Windows, both are PATH and uninstalled # libraries must come first. if test -n "$dllsearchpath"; then $ECHO "\ # Add the dll search path components to the executable PATH PATH=$dllsearchpath:\$PATH " fi # Export our shlibpath_var if we have one. if test "$shlibpath_overrides_runpath" = yes && test -n "$shlibpath_var" && test -n "$temp_rpath"; then $ECHO "\ # Add our own library path to $shlibpath_var $shlibpath_var=\"$temp_rpath\$$shlibpath_var\" # Some systems cannot cope with colon-terminated $shlibpath_var # The second colon is a workaround for a bug in BeOS R4 sed $shlibpath_var=\`\$ECHO \"\$$shlibpath_var\" | $SED 's/::*\$//'\` export $shlibpath_var " fi $ECHO "\ if test \"\$libtool_execute_magic\" != \"$magic\"; then # Run the actual program with our arguments. func_exec_program \${1+\"\$@\"} fi else # The program doesn't exist. \$ECHO \"\$0: error: \\\`\$progdir/\$program' does not exist\" 1>&2 \$ECHO \"This script is just a wrapper for \$program.\" 1>&2 \$ECHO \"See the $PACKAGE documentation for more information.\" 1>&2 exit 1 fi fi\ " } # func_emit_cwrapperexe_src # emit the source code for a wrapper executable on stdout # Must ONLY be called from within func_mode_link because # it depends on a number of variable set therein. func_emit_cwrapperexe_src () { cat < #include #ifdef _MSC_VER # include # include # include #else # include # include # ifdef __CYGWIN__ # include # endif #endif #include #include #include #include #include #include #include #include /* declarations of non-ANSI functions */ #if defined(__MINGW32__) # ifdef __STRICT_ANSI__ int _putenv (const char *); # endif #elif defined(__CYGWIN__) # ifdef __STRICT_ANSI__ char *realpath (const char *, char *); int putenv (char *); int setenv (const char *, const char *, int); # endif /* #elif defined (other platforms) ... */ #endif /* portability defines, excluding path handling macros */ #if defined(_MSC_VER) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv # define S_IXUSR _S_IEXEC # ifndef _INTPTR_T_DEFINED # define _INTPTR_T_DEFINED # define intptr_t int # endif #elif defined(__MINGW32__) # define setmode _setmode # define stat _stat # define chmod _chmod # define getcwd _getcwd # define putenv _putenv #elif defined(__CYGWIN__) # define HAVE_SETENV # define FOPEN_WB "wb" /* #elif defined (other platforms) ... */ #endif #if defined(PATH_MAX) # define LT_PATHMAX PATH_MAX #elif defined(MAXPATHLEN) # define LT_PATHMAX MAXPATHLEN #else # define LT_PATHMAX 1024 #endif #ifndef S_IXOTH # define S_IXOTH 0 #endif #ifndef S_IXGRP # define S_IXGRP 0 #endif /* path handling portability macros */ #ifndef DIR_SEPARATOR # define DIR_SEPARATOR '/' # define PATH_SEPARATOR ':' #endif #if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \ defined (__OS2__) # define HAVE_DOS_BASED_FILE_SYSTEM # define FOPEN_WB "wb" # ifndef DIR_SEPARATOR_2 # define DIR_SEPARATOR_2 '\\' # endif # ifndef PATH_SEPARATOR_2 # define PATH_SEPARATOR_2 ';' # endif #endif #ifndef DIR_SEPARATOR_2 # define IS_DIR_SEPARATOR(ch) ((ch) == DIR_SEPARATOR) #else /* DIR_SEPARATOR_2 */ # define IS_DIR_SEPARATOR(ch) \ (((ch) == DIR_SEPARATOR) || ((ch) == DIR_SEPARATOR_2)) #endif /* DIR_SEPARATOR_2 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #ifndef FOPEN_WB # define FOPEN_WB "w" #endif #ifndef _O_BINARY # define _O_BINARY 0 #endif #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) #if defined(LT_DEBUGWRAPPER) static int lt_debug = 1; #else static int lt_debug = 0; #endif const char *program_name = "libtool-wrapper"; /* in case xstrdup fails */ void *xmalloc (size_t num); char *xstrdup (const char *string); const char *base_name (const char *name); char *find_executable (const char *wrapper); char *chase_symlinks (const char *pathspec); int make_executable (const char *path); int check_executable (const char *path); char *strendzap (char *str, const char *pat); void lt_debugprintf (const char *file, int line, const char *fmt, ...); void lt_fatal (const char *file, int line, const char *message, ...); static const char *nonnull (const char *s); static const char *nonempty (const char *s); void lt_setenv (const char *name, const char *value); char *lt_extend_str (const char *orig_value, const char *add, int to_end); void lt_update_exe_path (const char *name, const char *value); void lt_update_lib_path (const char *name, const char *value); char **prepare_spawn (char **argv); void lt_dump_script (FILE *f); EOF cat <= 0) && (st.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH))) return 1; else return 0; } int make_executable (const char *path) { int rval = 0; struct stat st; lt_debugprintf (__FILE__, __LINE__, "(make_executable): %s\n", nonempty (path)); if ((!path) || (!*path)) return 0; if (stat (path, &st) >= 0) { rval = chmod (path, st.st_mode | S_IXOTH | S_IXGRP | S_IXUSR); } return rval; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise Does not chase symlinks, even on platforms that support them. */ char * find_executable (const char *wrapper) { int has_slash = 0; const char *p; const char *p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char *concat_name; lt_debugprintf (__FILE__, __LINE__, "(find_executable): %s\n", nonempty (wrapper)); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char) wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char *path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char *q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR (*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC (char, p_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable (concat_name)) return concat_name; XFREE (concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal (__FILE__, __LINE__, "getcwd failed: %s", nonnull (strerror (errno))); tmp_len = strlen (tmp); concat_name = XMALLOC (char, tmp_len + 1 + strlen (wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable (concat_name)) return concat_name; XFREE (concat_name); return NULL; } char * chase_symlinks (const char *pathspec) { #ifndef S_ISLNK return xstrdup (pathspec); #else char buf[LT_PATHMAX]; struct stat s; char *tmp_pathspec = xstrdup (pathspec); char *p; int has_symlinks = 0; while (strlen (tmp_pathspec) && !has_symlinks) { lt_debugprintf (__FILE__, __LINE__, "checking path component for symlinks: %s\n", tmp_pathspec); if (lstat (tmp_pathspec, &s) == 0) { if (S_ISLNK (s.st_mode) != 0) { has_symlinks = 1; break; } /* search backwards for last DIR_SEPARATOR */ p = tmp_pathspec + strlen (tmp_pathspec) - 1; while ((p > tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) p--; if ((p == tmp_pathspec) && (!IS_DIR_SEPARATOR (*p))) { /* no more DIR_SEPARATORS left */ break; } *p = '\0'; } else { lt_fatal (__FILE__, __LINE__, "error accessing file \"%s\": %s", tmp_pathspec, nonnull (strerror (errno))); } } XFREE (tmp_pathspec); if (!has_symlinks) { return xstrdup (pathspec); } tmp_pathspec = realpath (pathspec, buf); if (tmp_pathspec == 0) { lt_fatal (__FILE__, __LINE__, "could not follow symlinks for %s", pathspec); } return xstrdup (tmp_pathspec); #endif } char * strendzap (char *str, const char *pat) { size_t len, patlen; assert (str != NULL); assert (pat != NULL); len = strlen (str); patlen = strlen (pat); if (patlen <= len) { str += len - patlen; if (strcmp (str, pat) == 0) *str = '\0'; } return str; } void lt_debugprintf (const char *file, int line, const char *fmt, ...) { va_list args; if (lt_debug) { (void) fprintf (stderr, "%s:%s:%d: ", program_name, file, line); va_start (args, fmt); (void) vfprintf (stderr, fmt, args); va_end (args); } } static void lt_error_core (int exit_status, const char *file, int line, const char *mode, const char *message, va_list ap) { fprintf (stderr, "%s:%s:%d: %s: ", program_name, file, line, mode); vfprintf (stderr, message, ap); fprintf (stderr, ".\n"); if (exit_status >= 0) exit (exit_status); } void lt_fatal (const char *file, int line, const char *message, ...) { va_list ap; va_start (ap, message); lt_error_core (EXIT_FAILURE, file, line, "FATAL", message, ap); va_end (ap); } static const char * nonnull (const char *s) { return s ? s : "(null)"; } static const char * nonempty (const char *s) { return (s && !*s) ? "(empty)" : nonnull (s); } void lt_setenv (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_setenv) setting '%s' to '%s'\n", nonnull (name), nonnull (value)); { #ifdef HAVE_SETENV /* always make a copy, for consistency with !HAVE_SETENV */ char *str = xstrdup (value); setenv (name, str, 1); #else int len = strlen (name) + 1 + strlen (value) + 1; char *str = XMALLOC (char, len); sprintf (str, "%s=%s", name, value); if (putenv (str) != EXIT_SUCCESS) { XFREE (str); } #endif } } char * lt_extend_str (const char *orig_value, const char *add, int to_end) { char *new_value; if (orig_value && *orig_value) { int orig_value_len = strlen (orig_value); int add_len = strlen (add); new_value = XMALLOC (char, add_len + orig_value_len + 1); if (to_end) { strcpy (new_value, orig_value); strcpy (new_value + orig_value_len, add); } else { strcpy (new_value, add); strcpy (new_value + add_len, orig_value); } } else { new_value = xstrdup (add); } return new_value; } void lt_update_exe_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_exe_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); /* some systems can't cope with a ':'-terminated path #' */ int len = strlen (new_value); while (((len = strlen (new_value)) > 0) && IS_PATH_SEPARATOR (new_value[len-1])) { new_value[len-1] = '\0'; } lt_setenv (name, new_value); XFREE (new_value); } } void lt_update_lib_path (const char *name, const char *value) { lt_debugprintf (__FILE__, __LINE__, "(lt_update_lib_path) modifying '%s' by prepending '%s'\n", nonnull (name), nonnull (value)); if (name && *name && value && *value) { char *new_value = lt_extend_str (getenv (name), value, 0); lt_setenv (name, new_value); XFREE (new_value); } } EOF case $host_os in mingw*) cat <<"EOF" /* Prepares an argument vector before calling spawn(). Note that spawn() does not by itself call the command interpreter (getenv ("COMSPEC") != NULL ? getenv ("COMSPEC") : ({ OSVERSIONINFO v; v.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); GetVersionEx(&v); v.dwPlatformId == VER_PLATFORM_WIN32_NT; }) ? "cmd.exe" : "command.com"). Instead it simply concatenates the arguments, separated by ' ', and calls CreateProcess(). We must quote the arguments since Win32 CreateProcess() interprets characters like ' ', '\t', '\\', '"' (but not '<' and '>') in a special way: - Space and tab are interpreted as delimiters. They are not treated as delimiters if they are surrounded by double quotes: "...". - Unescaped double quotes are removed from the input. Their only effect is that within double quotes, space and tab are treated like normal characters. - Backslashes not followed by double quotes are not special. - But 2*n+1 backslashes followed by a double quote become n backslashes followed by a double quote (n >= 0): \" -> " \\\" -> \" \\\\\" -> \\" */ #define SHELL_SPECIAL_CHARS "\"\\ \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" #define SHELL_SPACE_CHARS " \001\002\003\004\005\006\007\010\011\012\013\014\015\016\017\020\021\022\023\024\025\026\027\030\031\032\033\034\035\036\037" char ** prepare_spawn (char **argv) { size_t argc; char **new_argv; size_t i; /* Count number of arguments. */ for (argc = 0; argv[argc] != NULL; argc++) ; /* Allocate new argument vector. */ new_argv = XMALLOC (char *, argc + 1); /* Put quoted arguments into the new argument vector. */ for (i = 0; i < argc; i++) { const char *string = argv[i]; if (string[0] == '\0') new_argv[i] = xstrdup ("\"\""); else if (strpbrk (string, SHELL_SPECIAL_CHARS) != NULL) { int quote_around = (strpbrk (string, SHELL_SPACE_CHARS) != NULL); size_t length; unsigned int backslashes; const char *s; char *quoted_string; char *p; length = 0; backslashes = 0; if (quote_around) length++; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') length += backslashes + 1; length++; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) length += backslashes + 1; quoted_string = XMALLOC (char, length + 1); p = quoted_string; backslashes = 0; if (quote_around) *p++ = '"'; for (s = string; *s != '\0'; s++) { char c = *s; if (c == '"') { unsigned int j; for (j = backslashes + 1; j > 0; j--) *p++ = '\\'; } *p++ = c; if (c == '\\') backslashes++; else backslashes = 0; } if (quote_around) { unsigned int j; for (j = backslashes; j > 0; j--) *p++ = '\\'; *p++ = '"'; } *p = '\0'; new_argv[i] = quoted_string; } else new_argv[i] = (char *) string; } new_argv[argc] = NULL; return new_argv; } EOF ;; esac cat <<"EOF" void lt_dump_script (FILE* f) { EOF func_emit_wrapper yes | $SED -n -e ' s/^\(.\{79\}\)\(..*\)/\1\ \2/ h s/\([\\"]\)/\\\1/g s/$/\\n/ s/\([^\n]*\).*/ fputs ("\1", f);/p g D' cat <<"EOF" } EOF } # end: func_emit_cwrapperexe_src # func_win32_import_lib_p ARG # True if ARG is an import lib, as indicated by $file_magic_cmd func_win32_import_lib_p () { $opt_debug case `eval $file_magic_cmd \"\$1\" 2>/dev/null | $SED -e 10q` in *import*) : ;; *) false ;; esac } # func_mode_link arg... func_mode_link () { $opt_debug case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) # It is impossible to link a dll without this setting, and # we shouldn't force the makefile maintainer to figure out # which system we are compiling for in order to pass an extra # flag for every libtool invocation. # allow_undefined=no # FIXME: Unfortunately, there are problems with the above when trying # to make a dll which has undefined symbols, in which case not # even a static library is built. For now, we need to specify # -no-undefined on the libtool link line when we can be certain # that all symbols are satisfied, otherwise we get a static library. allow_undefined=yes ;; *) allow_undefined=yes ;; esac libtool_args=$nonopt base_compile="$nonopt $@" compile_command=$nonopt finalize_command=$nonopt compile_rpath= finalize_rpath= compile_shlibpath= finalize_shlibpath= convenience= old_convenience= deplibs= old_deplibs= compiler_flags= linker_flags= dllsearchpath= lib_search_path=`pwd` inst_prefix_dir= new_inherited_linker_flags= avoid_version=no bindir= dlfiles= dlprefiles= dlself=no export_dynamic=no export_symbols= export_symbols_regex= generated= libobjs= ltlibs= module=no no_install=no objs= non_pic_objects= precious_files_regex= prefer_static_libs=no preload=no prev= prevarg= release= rpath= xrpath= perm_rpath= temp_rpath= thread_safe=no vinfo= vinfo_number=no weak_libs= single_module="${wl}-single_module" func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg do case $arg in -shared) test "$build_libtool_libs" != yes && \ func_fatal_configuration "can not build a shared library" build_old_libs=no break ;; -all-static | -static | -static-libtool-libs) case $arg in -all-static) if test "$build_libtool_libs" = yes && test -z "$link_static_flag"; then func_warning "complete static linking is impossible in this configuration" fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_libs=yes break ;; esac done # See if our shared archives depend on static archives. test -n "$old_archive_from_new_cmds" && build_old_libs=yes # Go through the arguments, transforming them on the way. while test "$#" -gt 0; do arg="$1" shift func_quote_for_eval "$arg" qarg=$func_quote_for_eval_unquoted_result func_append libtool_args " $func_quote_for_eval_result" # If the previous option needs an argument, assign it. if test -n "$prev"; then case $prev in output) func_append compile_command " @OUTPUT@" func_append finalize_command " @OUTPUT@" ;; esac case $prev in bindir) bindir="$arg" prev= continue ;; dlfiles|dlprefiles) if test "$preload" = no; then # Add the symbol object into the linking commands. func_append compile_command " @SYMFILE@" func_append finalize_command " @SYMFILE@" preload=yes fi case $arg in *.la | *.lo) ;; # We handle these cases below. force) if test "$dlself" = no; then dlself=needless export_dynamic=yes fi prev= continue ;; self) if test "$prev" = dlprefiles; then dlself=yes elif test "$prev" = dlfiles && test "$dlopen_self" != yes; then dlself=yes else dlself=needless export_dynamic=yes fi prev= continue ;; *) if test "$prev" = dlfiles; then func_append dlfiles " $arg" else func_append dlprefiles " $arg" fi prev= continue ;; esac ;; expsyms) export_symbols="$arg" test -f "$arg" \ || func_fatal_error "symbol file \`$arg' does not exist" prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; framework) case $host in *-*-darwin*) case "$deplibs " in *" $qarg.ltframework "*) ;; *) func_append deplibs " $qarg.ltframework" # this is fixed later ;; esac ;; esac prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; objectlist) if test -f "$arg"; then save_arg=$arg moreargs= for fil in `cat "$save_arg"` do # func_append moreargs " $fil" arg=$fil # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi done else func_fatal_error "link input file \`$arg' does not exist" fi arg=$save_arg prev= continue ;; precious_regex) precious_files_regex="$arg" prev= continue ;; release) release="-$arg" prev= continue ;; rpath | xrpath) # We need an absolute path. case $arg in [\\/]* | [A-Za-z]:[\\/]*) ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac if test "$prev" = rpath; then case "$rpath " in *" $arg "*) ;; *) func_append rpath " $arg" ;; esac else case "$xrpath " in *" $arg "*) ;; *) func_append xrpath " $arg" ;; esac fi prev= continue ;; shrext) shrext_cmds="$arg" prev= continue ;; weak) func_append weak_libs " $arg" prev= continue ;; xcclinker) func_append linker_flags " $qarg" func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xcompiler) func_append compiler_flags " $qarg" prev= func_append compile_command " $qarg" func_append finalize_command " $qarg" continue ;; xlinker) func_append linker_flags " $qarg" func_append compiler_flags " $wl$qarg" prev= func_append compile_command " $wl$qarg" func_append finalize_command " $wl$qarg" continue ;; *) eval "$prev=\"\$arg\"" prev= continue ;; esac fi # test -n "$prev" prevarg="$arg" case $arg in -all-static) if test -n "$link_static_flag"; then # See comment for -static flag below, for more details. func_append compile_command " $link_static_flag" func_append finalize_command " $link_static_flag" fi continue ;; -allow-undefined) # FIXME: remove this flag sometime in the future. func_fatal_error "\`-allow-undefined' must not be used because it is the default" ;; -avoid-version) avoid_version=yes continue ;; -bindir) prev=bindir continue ;; -dlopen) prev=dlfiles continue ;; -dlpreopen) prev=dlprefiles continue ;; -export-dynamic) export_dynamic=yes continue ;; -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then func_fatal_error "more than one -exported-symbols argument is not allowed" fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework) prev=framework continue ;; -inst-prefix-dir) prev=inst_prefix continue ;; # The native IRIX linker understands -LANG:*, -LIST:* and -LNO:* # so, if we see these flags be careful not to treat them like -L -L[A-Z][A-Z]*:*) case $with_gcc/$host in no/*-*-irix* | /*-*-irix*) func_append compile_command " $arg" func_append finalize_command " $arg" ;; esac continue ;; -L*) func_stripname "-L" '' "$arg" if test -z "$func_stripname_result"; then if test "$#" -gt 0; then func_fatal_error "require no space between \`-L' and \`$1'" else func_fatal_error "need path for \`-L' option" fi fi func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; *) absdir=`cd "$dir" && pwd` test -z "$absdir" && \ func_fatal_error "cannot determine absolute directory name of \`$dir'" dir="$absdir" ;; esac case "$deplibs " in *" -L$dir "* | *" $arg "*) # Will only happen for absolute or sysroot arguments ;; *) # Preserve sysroot, but never include relative directories case $dir in [\\/]* | [A-Za-z]:[\\/]* | =*) func_append deplibs " $arg" ;; *) func_append deplibs " -L$dir" ;; esac func_append lib_search_path " $dir" ;; esac case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`$ECHO "$dir" | $SED 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; ::) dllsearchpath=$dir;; *) func_append dllsearchpath ":$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos* | *-cegcc* | *-*-haiku*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. test "X$arg" = "X-lc" && continue ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C and math libraries are in the System framework func_append deplibs " System.ltframework" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi func_append deplibs " $arg" continue ;; -module) module=yes continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. # Darwin uses the -arch flag to determine output architecture. -model|-arch|-isysroot|--sysroot) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) func_append compiler_flags " $arg" func_append compile_command " $arg" func_append finalize_command " $arg" case "$new_inherited_linker_flags " in *" $arg "*) ;; * ) func_append new_inherited_linker_flags " $arg" ;; esac continue ;; -multi_module) single_module="${wl}-multi_module" continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin* | *-cegcc*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin in order for the loader to find any dlls it needs. func_warning "\`-no-install' is ignored for $host" func_warning "assuming \`-no-fast-install' instead" fast_install=no ;; *) no_install=yes ;; esac continue ;; -no-undefined) allow_undefined=no continue ;; -objectlist) prev=objectlist continue ;; -o) prev=output ;; -precious-files-regex) prev=precious_regex continue ;; -release) prev=release continue ;; -rpath) prev=rpath continue ;; -R) prev=xrpath continue ;; -R*) func_stripname '-R' '' "$arg" dir=$func_stripname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) func_fatal_error "only absolute run-paths are allowed" ;; esac case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac continue ;; -shared) # The effects of -shared are defined in a previous loop. continue ;; -shrext) prev=shrext continue ;; -static | -static-libtool-libs) # The effects of -static are defined in a previous loop. # We used to do the same as -all-static on platforms that # didn't have a PIC flag, but the assumption that the effects # would be equivalent was wrong. It would break on at least # Digital Unix and AIX. continue ;; -thread-safe) thread_safe=yes continue ;; -version-info) prev=vinfo continue ;; -version-number) prev=vinfo vinfo_number=yes continue ;; -weak) prev=weak continue ;; -Wc,*) func_stripname '-Wc,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $func_quote_for_eval_result" func_append compiler_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Wl,*) func_stripname '-Wl,' '' "$arg" args=$func_stripname_result arg= save_ifs="$IFS"; IFS=',' for flag in $args; do IFS="$save_ifs" func_quote_for_eval "$flag" func_append arg " $wl$func_quote_for_eval_result" func_append compiler_flags " $wl$func_quote_for_eval_result" func_append linker_flags " $func_quote_for_eval_result" done IFS="$save_ifs" func_stripname ' ' '' "$arg" arg=$func_stripname_result ;; -Xcompiler) prev=xcompiler continue ;; -Xlinker) prev=xlinker continue ;; -XCClinker) prev=xcclinker continue ;; # -msg_* for osf cc -msg_*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; # Flags to be passed through unchanged, with rationale: # -64, -mips[0-9] enable 64-bit mode for the SGI compiler # -r[0-9][0-9]* specify processor for the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode for the Sun compiler # +DA*, +DD* enable 64-bit mode for the HP compiler # -q* compiler args for the IBM compiler # -m*, -t[45]*, -txscale* architecture-specific flags for GCC # -F/path path to uninstalled frameworks, gcc on darwin # -p, -pg, --coverage, -fprofile-* profiling flags for GCC # @file GCC response files # -tp=* Portland pgcc target processor selection # --sysroot=* for sysroot support # -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \ -O*|-flto*|-fwhopr*|-fuse-linker-plugin) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" func_append compile_command " $arg" func_append finalize_command " $arg" func_append compiler_flags " $arg" continue ;; # Some other compiler flag. -* | +*) func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; *.$objext) # A standard object. func_append objs " $arg" ;; *.lo) # A libtool-controlled object. # Check to see that this really is a libtool object. if func_lalib_unsafe_p "$arg"; then pic_object= non_pic_object= # Read the .lo file func_source "$arg" if test -z "$pic_object" || test -z "$non_pic_object" || test "$pic_object" = none && test "$non_pic_object" = none; then func_fatal_error "cannot find name of object for \`$arg'" fi # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" if test "$pic_object" != none; then # Prepend the subdirectory the object is found in. pic_object="$xdir$pic_object" if test "$prev" = dlfiles; then if test "$build_libtool_libs" = yes && test "$dlopen_support" = yes; then func_append dlfiles " $pic_object" prev= continue else # If libtool objects are unsupported, then we need to preload. prev=dlprefiles fi fi # CHECK ME: I think I busted this. -Ossama if test "$prev" = dlprefiles; then # Preload the old-style object. func_append dlprefiles " $pic_object" prev= fi # A PIC object. func_append libobjs " $pic_object" arg="$pic_object" fi # Non-PIC object. if test "$non_pic_object" != none; then # Prepend the subdirectory the object is found in. non_pic_object="$xdir$non_pic_object" # A standard non-PIC object func_append non_pic_objects " $non_pic_object" if test -z "$pic_object" || test "$pic_object" = none ; then arg="$non_pic_object" fi else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" func_append non_pic_objects " $non_pic_object" fi else # Only an error if not doing a dry-run. if $opt_dry_run; then # Extract subdirectory from the argument. func_dirname "$arg" "/" "" xdir="$func_dirname_result" func_lo2o "$arg" pic_object=$xdir$objdir/$func_lo2o_result non_pic_object=$xdir$func_lo2o_result func_append libobjs " $pic_object" func_append non_pic_objects " $non_pic_object" else func_fatal_error "\`$arg' is not a valid libtool object" fi fi ;; *.$libext) # An archive. func_append deplibs " $arg" func_append old_deplibs " $arg" continue ;; *.la) # A libtool-controlled library. func_resolve_sysroot "$arg" if test "$prev" = dlfiles; then # This library was specified with -dlopen. func_append dlfiles " $func_resolve_sysroot_result" prev= elif test "$prev" = dlprefiles; then # The library was specified with -dlpreopen. func_append dlprefiles " $func_resolve_sysroot_result" prev= else func_append deplibs " $func_resolve_sysroot_result" fi continue ;; # Some other compiler argument. *) # Unknown arguments in both finalize_command and compile_command need # to be aesthetically quoted because they are evaled later. func_quote_for_eval "$arg" arg="$func_quote_for_eval_result" ;; esac # arg # Now actually substitute the argument into the commands. if test -n "$arg"; then func_append compile_command " $arg" func_append finalize_command " $arg" fi done # argument parsing loop test -n "$prev" && \ func_fatal_help "the \`$prevarg' option requires an argument" if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then eval arg=\"$export_dynamic_flag_spec\" func_append compile_command " $arg" func_append finalize_command " $arg" fi oldlibs= # calculate the name of the file, without its directory func_basename "$output" outputname="$func_basename_result" libobjs_save="$libobjs" if test -n "$shlibpath_var"; then # get the directories listed in $shlibpath_var eval shlib_search_path=\`\$ECHO \"\${$shlibpath_var}\" \| \$SED \'s/:/ /g\'\` else shlib_search_path= fi eval sys_lib_search_path=\"$sys_lib_search_path_spec\" eval sys_lib_dlsearch_path=\"$sys_lib_dlsearch_path_spec\" func_dirname "$output" "/" "" output_objdir="$func_dirname_result$objdir" func_to_tool_file "$output_objdir/" tool_output_objdir=$func_to_tool_file_result # Create the object directory. func_mkdir_p "$output_objdir" # Determine the type of output case $output in "") func_fatal_help "you must specify an output file" ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; *.la) linkmode=lib ;; *) linkmode=prog ;; # Anything else should be a program. esac specialdeplibs= libs= # Find all interdependent deplibs by searching for libraries # that are linked more than once (e.g. -la -lb -la) for deplib in $deplibs; do if $opt_preserve_dup_deps ; then case "$libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append libs " $deplib" done if test "$linkmode" = lib; then libs="$predeps $libs $compiler_lib_search_path $postdeps" # Compute libraries that are listed more than once in $predeps # $postdeps and mark them as special (i.e., whose duplicates are # not to be eliminated). pre_post_deps= if $opt_duplicate_compiler_generated_deps; then for pre_post_dep in $predeps $postdeps; do case "$pre_post_deps " in *" $pre_post_dep "*) func_append specialdeplibs " $pre_post_deps" ;; esac func_append pre_post_deps " $pre_post_dep" done fi pre_post_deps= fi deplibs= newdependency_libs= newlib_search_path= need_relink=no # whether we're linking any uninstalled libtool libraries notinst_deplibs= # not-installed libtool libraries notinst_path= # paths that contain not-installed libtool libraries case $linkmode in lib) passes="conv dlpreopen link" for file in $dlfiles $dlprefiles; do case $file in *.la) ;; *) func_fatal_help "libraries can \`-dlopen' only libtool libraries: $file" ;; esac done ;; prog) compile_deplibs= finalize_deplibs= alldeplibs=no newdlfiles= newdlprefiles= passes="conv scan dlopen dlpreopen link" ;; *) passes="conv" ;; esac for pass in $passes; do # The preopen pass in lib mode reverses $deplibs; put it back here # so that -L comes before libs that need it for instance... if test "$linkmode,$pass" = "lib,link"; then ## FIXME: Find the place where the list is rebuilt in the wrong ## order, and fix it there properly tmp_deplibs= for deplib in $deplibs; do tmp_deplibs="$deplib $tmp_deplibs" done deplibs="$tmp_deplibs" fi if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan"; then libs="$deplibs" deplibs= fi if test "$linkmode" = prog; then case $pass in dlopen) libs="$dlfiles" ;; dlpreopen) libs="$dlprefiles" ;; link) libs="$deplibs %DEPLIBS% $dependency_libs" ;; esac fi if test "$linkmode,$pass" = "lib,dlpreopen"; then # Collect and forward deplibs of preopened libtool libs for lib in $dlprefiles; do # Ignore non-libtool-libs dependency_libs= func_resolve_sysroot "$lib" case $lib in *.la) func_source "$func_resolve_sysroot_result" ;; esac # Collect preopened libtool deplibs, except any this library # has declared as weak libs for deplib in $dependency_libs; do func_basename "$deplib" deplib_base=$func_basename_result case " $weak_libs " in *" $deplib_base "*) ;; *) func_append deplibs " $deplib" ;; esac done done libs="$dlprefiles" fi if test "$pass" = dlopen; then # Collect dlpreopened libraries save_deplibs="$deplibs" deplibs= fi for deplib in $libs; do lib= found=no case $deplib in -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \ |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append compiler_flags " $deplib" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then func_warning "\`-l' is ignored for archives/objects" continue fi func_stripname '-l' '' "$deplib" name=$func_stripname_result if test "$linkmode" = lib; then searchdirs="$newlib_search_path $lib_search_path $compiler_lib_search_dirs $sys_lib_search_path $shlib_search_path" else searchdirs="$newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path" fi for searchdir in $searchdirs; do for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then if test "$search_ext" = ".la"; then found=yes else found=no fi break 2 fi done done if test "$found" != yes; then # deplib doesn't seem to be a libtool library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue else # deplib is a libtool library # If $allow_libtool_libs_with_static_runtimes && $deplib is a stdlib, # We need to do some special things here, and not later. if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $deplib "*) if func_lalib_p "$lib"; then library_names= old_library= func_source "$lib" for l in $old_library $library_names; do ll="$l" done if test "X$ll" = "X$old_library" ; then # only static version available found=no func_dirname "$lib" "" "." ladir="$func_dirname_result" lib=$ladir/$old_library if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" test "$linkmode" = lib && newdependency_libs="$deplib $newdependency_libs" fi continue fi fi ;; *) ;; esac fi fi ;; # -l *.ltframework) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else deplibs="$deplib $deplibs" if test "$linkmode" = lib ; then case "$new_inherited_linker_flags " in *" $deplib "*) ;; * ) func_append new_inherited_linker_flags " $deplib" ;; esac fi fi continue ;; -L*) case $linkmode in lib) deplibs="$deplib $deplibs" test "$pass" = conv && continue newdependency_libs="$deplib $newdependency_libs" func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; prog) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi if test "$pass" = scan; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; *) func_warning "\`-L' is ignored for archives/objects" ;; esac # linkmode continue ;; # -L -R*) if test "$pass" = link; then func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. case "$xrpath " in *" $dir "*) ;; *) func_append xrpath " $dir" ;; esac fi deplibs="$deplib $deplibs" continue ;; *.la) func_resolve_sysroot "$deplib" lib=$func_resolve_sysroot_result ;; *.$libext) if test "$pass" = conv; then deplibs="$deplib $deplibs" continue fi case $linkmode in lib) # Linking convenience modules into shared libraries is allowed, # but linking other static libraries is non-portable. case " $dlpreconveniencelibs " in *" $deplib "*) ;; *) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` if eval "\$ECHO \"$deplib\"" 2>/dev/null | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; then echo $ECHO "*** Warning: Trying to link with static lib archive $deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because the file extensions .$libext of this argument makes me believe" echo "*** that it is just a static archive that I should not use here." else echo $ECHO "*** Warning: Linking the shared library $output against the" $ECHO "*** static library $deplib is not portable!" deplibs="$deplib $deplibs" fi ;; esac continue ;; prog) if test "$pass" != link; then deplibs="$deplib $deplibs" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi continue ;; esac # linkmode ;; # *.$libext *.lo | *.$objext) if test "$pass" = conv; then deplibs="$deplib $deplibs" elif test "$linkmode" = prog; then if test "$pass" = dlpreopen || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlopen support or we're linking statically, # we need to preload. func_append newdlprefiles " $deplib" compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else func_append newdlfiles " $deplib" fi fi continue ;; %DEPLIBS%) alldeplibs=yes continue ;; esac # case $deplib if test "$found" = yes || test -f "$lib"; then : else func_fatal_error "cannot find the library \`$lib' or unhandled argument \`$deplib'" fi # Check to see that this really is a libtool archive. func_lalib_unsafe_p "$lib" \ || func_fatal_error "\`$lib' is not a valid libtool archive" func_dirname "$lib" "" "." ladir="$func_dirname_result" dlname= dlopen= dlpreopen= libdir= library_names= old_library= inherited_linker_flags= # If the library was installed with an old release of libtool, # it will not redefine variables installed, or shouldnotlink installed=yes shouldnotlink=no avoidtemprpath= # Read the .la file func_source "$lib" # Convert "-framework foo" to "foo.ltframework" if test -n "$inherited_linker_flags"; then tmp_inherited_linker_flags=`$ECHO "$inherited_linker_flags" | $SED 's/-framework \([^ $]*\)/\1.ltframework/g'` for tmp_inherited_linker_flag in $tmp_inherited_linker_flags; do case " $new_inherited_linker_flags " in *" $tmp_inherited_linker_flag "*) ;; *) func_append new_inherited_linker_flags " $tmp_inherited_linker_flag";; esac done fi dependency_libs=`$ECHO " $dependency_libs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` if test "$linkmode,$pass" = "lib,link" || test "$linkmode,$pass" = "prog,scan" || { test "$linkmode" != prog && test "$linkmode" != lib; }; then test -n "$dlopen" && func_append dlfiles " $dlopen" test -n "$dlpreopen" && func_append dlprefiles " $dlpreopen" fi if test "$pass" = conv; then # Only check for convenience libraries deplibs="$lib $deplibs" if test -z "$libdir"; then if test -z "$old_library"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # It is a libtool convenience library, so add in its objects. func_append convenience " $ladir/$objdir/$old_library" func_append old_convenience " $ladir/$objdir/$old_library" elif test "$linkmode" != prog && test "$linkmode" != lib; then func_fatal_error "\`$lib' is not a convenience library" fi tmp_libs= for deplib in $dependency_libs; do deplibs="$deplib $deplibs" if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done continue fi # $pass = conv # Get the name of the library we link against. linklib= if test -n "$old_library" && { test "$prefer_static_libs" = yes || test "$prefer_static_libs,$installed" = "built,no"; }; then linklib=$old_library else for l in $old_library $library_names; do linklib="$l" done fi if test -z "$linklib"; then func_fatal_error "cannot find name of link library for \`$lib'" fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then func_fatal_error "cannot -dlopen a convenience library: \`$lib'" fi if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't # bomb out in the load deplibs phase. func_append dlprefiles " $lib $dependency_libs" else func_append newdlfiles " $lib" fi continue fi # $pass = dlopen # We need an absolute path. case $ladir in [\\/]* | [A-Za-z]:[\\/]*) abs_ladir="$ladir" ;; *) abs_ladir=`cd "$ladir" && pwd` if test -z "$abs_ladir"; then func_warning "cannot determine absolute directory name of \`$ladir'" func_warning "passing it literally to the linker, although it might fail" abs_ladir="$ladir" fi ;; esac func_basename "$lib" laname="$func_basename_result" # Find the relevant object directory and library name. if test "X$installed" = Xyes; then if test ! -f "$lt_sysroot$libdir/$linklib" && test -f "$abs_ladir/$linklib"; then func_warning "library \`$lib' was moved." dir="$ladir" absdir="$abs_ladir" libdir="$abs_ladir" else dir="$lt_sysroot$libdir" absdir="$lt_sysroot$libdir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later func_append notinst_path " $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later func_append notinst_path " $abs_ladir" fi fi # $installed = yes func_stripname 'lib' '.la' "$laname" name=$func_stripname_result # This library was specified with -dlpreopen. if test "$pass" = dlpreopen; then if test -z "$libdir" && test "$linkmode" = prog; then func_fatal_error "only libraries may -dlpreopen a convenience library: \`$lib'" fi case "$host" in # special handling for platforms with PE-DLLs. *cygwin* | *mingw* | *cegcc* ) # Linker will automatically link against shared library if both # static and shared are present. Therefore, ensure we extract # symbols from the import library if a shared library is present # (otherwise, the dlopen module name will be incorrect). We do # this by putting the import library name into $newdlprefiles. # We recover the dlopen module name by 'saving' the la file # name in a special purpose variable, and (later) extracting the # dlname from the la file. if test -n "$dlname"; then func_tr_sh "$dir/$linklib" eval "libfile_$func_tr_sh_result=\$abs_ladir/\$laname" func_append newdlprefiles " $dir/$linklib" else func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" fi ;; * ) # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). if test -n "$old_library"; then func_append newdlprefiles " $dir/$old_library" # Keep a list of preopened convenience libraries to check # that they are being used correctly in the link pass. test -z "$libdir" && \ func_append dlpreconveniencelibs " $dir/$old_library" # Otherwise, use the dlname, so that lt_dlopen finds it. elif test -n "$dlname"; then func_append newdlprefiles " $dir/$dlname" else func_append newdlprefiles " $dir/$linklib" fi ;; esac fi # $pass = dlpreopen if test -z "$libdir"; then # Link the convenience library if test "$linkmode" = lib; then deplibs="$dir/$old_library $deplibs" elif test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$dir/$old_library $compile_deplibs" finalize_deplibs="$dir/$old_library $finalize_deplibs" else deplibs="$lib $deplibs" # used for prog,scan pass fi continue fi if test "$linkmode" = prog && test "$pass" != link; then func_append newlib_search_path " $ladir" deplibs="$lib $deplibs" linkalldeplibs=no if test "$link_all_deplibs" != no || test -z "$library_names" || test "$build_libtool_libs" = no; then linkalldeplibs=yes fi tmp_libs= for deplib in $dependency_libs; do case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result" func_append newlib_search_path " $func_resolve_sysroot_result" ;; esac # Need to link against all dependency_libs? if test "$linkalldeplibs" = yes; then deplibs="$deplib $deplibs" else # Need to hardcode shared library paths # or/and link against static libraries newdependency_libs="$deplib $newdependency_libs" fi if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $deplib "*) func_append specialdeplibs " $deplib" ;; esac fi func_append tmp_libs " $deplib" done # for deplib continue fi # $linkmode = prog... if test "$linkmode,$pass" = "prog,link"; then if test -n "$library_names" && { { test "$prefer_static_libs" = no || test "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath:" in *"$absdir:"*) ;; *) func_append temp_rpath "$absdir:" ;; esac fi # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi # $linkmode,$pass = prog,link... if test "$alldeplibs" = yes && { test "$deplibs_check_method" = pass_all || { test "$build_libtool_libs" = yes && test -n "$library_names"; }; }; then # We only need to search for static libraries continue fi fi link_static=no # Whether the deplib will be linked statically use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes; then use_static_libs=no fi if test -n "$library_names" && { test "$use_static_libs" = no || test -z "$old_library"; }; then case $host in *cygwin* | *mingw* | *cegcc*) # No point in relinking DLLs because paths are not encoded func_append notinst_deplibs " $lib" need_relink=no ;; *) if test "$installed" = no; then func_append notinst_deplibs " $lib" need_relink=yes fi ;; esac # This is a shared library # Warn about portability, can't link against -module's on some # systems (darwin). Don't bleat about dlopened modules though! dlopenmodule="" for dlpremoduletest in $dlprefiles; do if test "X$dlpremoduletest" = "X$lib"; then dlopenmodule="$dlpremoduletest" break fi done if test -z "$dlopenmodule" && test "$shouldnotlink" = yes && test "$pass" = link; then echo if test "$linkmode" = prog; then $ECHO "*** Warning: Linking the executable $output against the loadable module" else $ECHO "*** Warning: Linking the shared library $output against the loadable module" fi $ECHO "*** $linklib is not portable!" fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. # Skip directories that are in the system default run-time # search path. case " $sys_lib_dlsearch_path " in *" $absdir "*) ;; *) case "$compile_rpath " in *" $absdir "*) ;; *) func_append compile_rpath " $absdir" ;; esac ;; esac case " $sys_lib_dlsearch_path " in *" $libdir "*) ;; *) case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac ;; esac fi if test -n "$old_archive_from_expsyms_cmds"; then # figure out the soname set dummy $library_names shift realname="$1" shift libname=`eval "\\$ECHO \"$libname_spec\""` # use dlname if we got it. it's perfectly good, no? if test -n "$dlname"; then soname="$dlname" elif test -n "$soname_spec"; then # bleh windows case $host in *cygwin* | mingw* | *cegcc*) func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; esac eval soname=\"$soname_spec\" else soname="$realname" fi # Make a new name for the extract_expsyms_cmds to use soroot="$soname" func_basename "$soroot" soname="$func_basename_result" func_stripname 'lib' '.dll' "$soname" newlib=libimp-$func_stripname_result.a # If the library has no export list, then create one now if test -f "$output_objdir/$soname-def"; then : else func_verbose "extracting exported symbol list from \`$soname'" func_execute_cmds "$extract_expsyms_cmds" 'exit $?' fi # Create $newlib if test -f "$output_objdir/$newlib"; then :; else func_verbose "generating import library for \`$soname'" func_execute_cmds "$old_archive_from_expsyms_cmds" 'exit $?' fi # make sure the library variables are pointing to the new library dir=$output_objdir linklib=$newlib fi # test -n "$old_archive_from_expsyms_cmds" if test "$linkmode" = prog || test "$opt_mode" != relink; then add_shlibpath= add_dir= add= lib_linked=yes case $hardcode_action in immediate | unsupported) if test "$hardcode_direct" = no; then add="$dir/$linklib" case $host in *-*-sco3.2v5.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) add_dir="-L$dir" ;; *-*-darwin* ) # if the lib is a (non-dlopened) module then we can not # link against it, someone is ignoring the earlier warnings if /usr/bin/file -L $add 2> /dev/null | $GREP ": [^:]* bundle" >/dev/null ; then if test "X$dlopenmodule" != "X$lib"; then $ECHO "*** Warning: lib $linklib is a module, not a shared library" if test -z "$old_library" ; then echo echo "*** And there doesn't seem to be a static archive available" echo "*** The link will probably fail, sorry" else add="$dir/$old_library" fi elif test -n "$old_library"; then add="$dir/$old_library" fi fi esac elif test "$hardcode_minus_L" = no; then case $host in *-*-sunos*) add_shlibpath="$dir" ;; esac add_dir="-L$dir" add="-l$name" elif test "$hardcode_shlibpath_var" = no; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; relink) if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$dir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$absdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then add_shlibpath="$dir" add="-l$name" else lib_linked=no fi ;; *) lib_linked=no ;; esac if test "$lib_linked" != yes; then func_fatal_configuration "unsupported hardcode properties" fi if test -n "$add_shlibpath"; then case :$compile_shlibpath: in *":$add_shlibpath:"*) ;; *) func_append compile_shlibpath "$add_shlibpath:" ;; esac fi if test "$linkmode" = prog; then test -n "$add_dir" && compile_deplibs="$add_dir $compile_deplibs" test -n "$add" && compile_deplibs="$add $compile_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" if test "$hardcode_direct" != yes && test "$hardcode_minus_L" != yes && test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac fi fi fi if test "$linkmode" = prog || test "$opt_mode" = relink; then add_shlibpath= add_dir= add= # Finalize command for both is simple: just hardcode it. if test "$hardcode_direct" = yes && test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in *":$libdir:"*) ;; *) func_append finalize_shlibpath "$libdir:" ;; esac add="-l$name" elif test "$hardcode_automatic" = yes; then if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" fi else # We cannot seem to hardcode it, guess we'll fake it. add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in [\\/]*) func_append add_dir " -L$inst_prefix_dir$libdir" ;; esac fi add="-l$name" fi if test "$linkmode" = prog; then test -n "$add_dir" && finalize_deplibs="$add_dir $finalize_deplibs" test -n "$add" && finalize_deplibs="$add $finalize_deplibs" else test -n "$add_dir" && deplibs="$add_dir $deplibs" test -n "$add" && deplibs="$add $deplibs" fi fi elif test "$linkmode" = prog; then # Here we assume that one of hardcode_direct or hardcode_minus_L # is not unsupported. This is valid on all known static and # shared platforms. if test "$hardcode_direct" != unsupported; then test -n "$old_library" && linklib="$old_library" compile_deplibs="$dir/$linklib $compile_deplibs" finalize_deplibs="$dir/$linklib $finalize_deplibs" else compile_deplibs="-l$name -L$dir $compile_deplibs" finalize_deplibs="-l$name -L$dir $finalize_deplibs" fi elif test "$build_libtool_libs" = yes; then # Not a shared library if test "$deplibs_check_method" != pass_all; then # We're trying link a shared library against a static one # but the system doesn't support it. # Just print a warning and add the library to dependency_libs so # that the program can be linked against the static library. echo $ECHO "*** Warning: This system can not link to static lib archive $lib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have." if test "$module" = yes; then echo "*** But as you try to build a module library, libtool will still create " echo "*** a static module, that should work as long as the dlopening application" echo "*** is linked with the -dlopen flag to resolve symbols at runtime." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi else deplibs="$dir/$old_library $deplibs" link_static=yes fi fi # link shared/static library? if test "$linkmode" = lib; then if test -n "$dependency_libs" && { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= for libdir in $dependency_libs; do case $libdir in -R*) func_stripname '-R' '' "$libdir" temp_xrpath=$func_stripname_result case " $xrpath " in *" $temp_xrpath "*) ;; *) func_append xrpath " $temp_xrpath";; esac;; *) func_append temp_deplibs " $libdir";; esac done dependency_libs="$temp_deplibs" fi func_append newlib_search_path " $absdir" # Link against this library test "$link_static" = no && newdependency_libs="$abs_ladir/$laname $newdependency_libs" # ... and its dependency_libs tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" case $deplib in -L*) func_stripname '-L' '' "$deplib" func_resolve_sysroot "$func_stripname_result";; *) func_resolve_sysroot "$deplib" ;; esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in *" $func_resolve_sysroot_result "*) func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then # Add the search paths of all dependency libraries for deplib in $dependency_libs; do path= case $deplib in -L*) path="$deplib" ;; *.la) func_resolve_sysroot "$deplib" deplib=$func_resolve_sysroot_result func_dirname "$deplib" "" "." dir=$func_dirname_result # We need an absolute path. case $dir in [\\/]* | [A-Za-z]:[\\/]*) absdir="$dir" ;; *) absdir=`cd "$dir" && pwd` if test -z "$absdir"; then func_warning "cannot determine absolute directory name of \`$dir'" absdir="$dir" fi ;; esac if $GREP "^installed=no" $deplib > /dev/null; then case $host in *-*-darwin*) depdepl= eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do depdepl=$tmp done if test -f "$absdir/$objdir/$depdepl" ; then depdepl="$absdir/$objdir/$depdepl" darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` if test -z "$darwin_install_name"; then darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}'` fi func_append compiler_flags " ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}" func_append linker_flags " -dylib_file ${darwin_install_name}:${depdepl}" path= fi fi ;; *) path="-L$absdir/$objdir" ;; esac else eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" test "$absdir" != "$libdir" && \ func_warning "\`$deplib' seems to be moved" path="-L$absdir" fi ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac done fi # link_all_deplibs != no fi # linkmode = lib done # for deplib in $libs if test "$pass" = link; then if test "$linkmode" = "prog"; then compile_deplibs="$new_inherited_linker_flags $compile_deplibs" finalize_deplibs="$new_inherited_linker_flags $finalize_deplibs" else compiler_flags="$compiler_flags "`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` fi fi dependency_libs="$newdependency_libs" if test "$pass" = dlpreopen; then # Link the dlpreopened libraries before other libraries for deplib in $save_deplibs; do deplibs="$deplib $deplibs" done fi if test "$pass" != dlopen; then if test "$pass" != conv; then # Make sure lib_search_path contains only unique directories. lib_search_path= for dir in $newlib_search_path; do case "$lib_search_path " in *" $dir "*) ;; *) func_append lib_search_path " $dir" ;; esac done newlib_search_path= fi if test "$linkmode,$pass" != "prog,link"; then vars="deplibs" else vars="compile_deplibs finalize_deplibs" fi for var in $vars dependency_libs; do # Add libraries to $var in reverse order eval tmp_libs=\"\$$var\" new_libs= for deplib in $tmp_libs; do # FIXME: Pedantically, this is the right thing to do, so # that some nasty dependency loop isn't accidentally # broken: #new_libs="$deplib $new_libs" # Pragmatically, this seems to cause very few problems in # practice: case $deplib in -L*) new_libs="$deplib $new_libs" ;; -R*) ;; *) # And here is the reason: when a library appears more # than once as an explicit dependence of a library, or # is implicitly linked in more than once by the # compiler, it is considered special, and multiple # occurrences thereof are not removed. Compare this # with having the same library being listed as a # dependency of multiple other libraries: in this case, # we know (pedantically, we assume) the library does not # need to be listed more than once, so we keep only the # last copy. This is not always right, but it is rare # enough that we require users that really mean to play # such unportable linking tricks to link the library # using -Wl,-lname, so that libtool does not consider it # for duplicate removal. case " $specialdeplibs " in *" $deplib "*) new_libs="$deplib $new_libs" ;; *) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$deplib $new_libs" ;; esac ;; esac ;; esac done tmp_libs= for deplib in $new_libs; do case $deplib in -L*) case " $tmp_libs " in *" $deplib "*) ;; *) func_append tmp_libs " $deplib" ;; esac ;; *) func_append tmp_libs " $deplib" ;; esac done eval $var=\"$tmp_libs\" done # for var fi # Last step: remove runtime libs from dependency_libs # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in *" $i "*) i="" ;; esac if test -n "$i" ; then func_append tmp_libs " $i" fi done dependency_libs=$tmp_libs done # for pass if test "$linkmode" = prog; then dlfiles="$newdlfiles" fi if test "$linkmode" = prog || test "$linkmode" = lib; then dlprefiles="$newdlprefiles" fi case $linkmode in oldlib) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for archives" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for archives" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for archives" test -n "$xrpath" && \ func_warning "\`-R' is ignored for archives" test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for archives" test -n "$release" && \ func_warning "\`-release' is ignored for archives" test -n "$export_symbols$export_symbols_regex" && \ func_warning "\`-export-symbols' is ignored for archives" # Now set the variables for building old libraries. build_libtool_libs=no oldlibs="$output" func_append objs "$old_deplibs" ;; lib) # Make sure we only generate libraries of the form `libNAME.la'. case $outputname in lib*) func_stripname 'lib' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) test "$module" = no && \ func_fatal_help "libtool library \`$output' must begin with \`lib'" if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required func_stripname '' '.la' "$outputname" name=$func_stripname_result eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else func_stripname '' '.la' "$outputname" libname=$func_stripname_result fi ;; esac if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then func_fatal_error "cannot build libtool library \`$output' from non-libtool objects on this host:$objs" else echo $ECHO "*** Warning: Linking the shared library $output against the non-libtool" $ECHO "*** objects $objs is not portable!" func_append libobjs " $objs" fi fi test "$dlself" != no && \ func_warning "\`-dlopen self' is ignored for libtool libraries" set dummy $rpath shift test "$#" -gt 1 && \ func_warning "ignoring multiple \`-rpath's for a libtool library" install_libdir="$1" oldlibs= if test -z "$rpath"; then if test "$build_libtool_libs" = yes; then # Building a libtool convenience library. # Some compilers have problems with a `.al' extension so # convenience libraries should have the same extension an # archive normally would. oldlibs="$output_objdir/$libname.$libext $oldlibs" build_libtool_libs=convenience build_old_libs=yes fi test -n "$vinfo" && \ func_warning "\`-version-info/-version-number' is ignored for convenience libraries" test -n "$release" && \ func_warning "\`-release' is ignored for convenience libraries" else # Parse the version information argument. save_ifs="$IFS"; IFS=':' set dummy $vinfo 0 0 0 shift IFS="$save_ifs" test -n "$7" && \ func_fatal_help "too many parameters to \`-version-info'" # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible case $vinfo_number in yes) number_major="$1" number_minor="$2" number_revision="$3" # # There are really only two kinds -- those that # use the current revision as the major version # and those that subtract age and use age as # a minor version. But, then there is irix # which has an extra 1 added just for fun # case $version_type in # correct linux to gnu/linux during the next big refactor darwin|linux|osf|windows|none) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_revision" ;; freebsd-aout|freebsd-elf|qnx|sunos) current="$number_major" revision="$number_minor" age="0" ;; irix|nonstopux) func_arith $number_major + $number_minor current=$func_arith_result age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; esac ;; no) current="$1" revision="$2" age="$3" ;; esac # Check that each of the things are valid numbers. case $current in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "CURRENT \`$current' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "REVISION \`$revision' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) func_error "AGE \`$age' must be a nonnegative integer" func_fatal_error "\`$vinfo' is not valid version information" ;; esac if test "$age" -gt "$current"; then func_error "AGE \`$age' is greater than the current interface number \`$current'" func_fatal_error "\`$vinfo' is not valid version information" fi # Calculate the version variables. major= versuffix= verstring= case $version_type in none) ;; darwin) # Like Linux, but with the current version available in # verstring for coding it into the library header func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" # Darwin ld doesn't like 0 for these options... func_arith $current + 1 minor_current=$func_arith_result xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" verstring="-compatibility_version $minor_current -current_version $minor_current.$revision" ;; freebsd-aout) major=".$current" versuffix=".$current.$revision"; ;; freebsd-elf) major=".$current" versuffix=".$current" ;; irix | nonstopux) if test "X$lt_irix_increment" = "Xno"; then func_arith $current - $age else func_arith $current - $age + 1 fi major=$func_arith_result case $version_type in nonstopux) verstring_prefix=nonstopux ;; *) verstring_prefix=sgi ;; esac verstring="$verstring_prefix$major.$revision" # Add in all the interfaces that we are compatible with. loop=$revision while test "$loop" -ne 0; do func_arith $revision - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring_prefix$major.$iface:$verstring" done # Before this point, $major must not contain `.'. major=.$major versuffix="$major.$revision" ;; linux) # correct to gnu/linux during the next big refactor func_arith $current - $age major=.$func_arith_result versuffix="$major.$age.$revision" ;; osf) func_arith $current - $age major=.$func_arith_result versuffix=".$current.$age.$revision" verstring="$current.$age.$revision" # Add in all the interfaces that we are compatible with. loop=$age while test "$loop" -ne 0; do func_arith $current - $loop iface=$func_arith_result func_arith $loop - 1 loop=$func_arith_result verstring="$verstring:${iface}.0" done # Make executables depend on our current version. func_append verstring ":${current}.0" ;; qnx) major=".$current" versuffix=".$current" ;; sunos) major=".$current" versuffix=".$current.$revision" ;; windows) # Use '-' rather than '.', since we only want one # extension on DOS 8.3 filesystems. func_arith $current - $age major=$func_arith_result versuffix="-$major" ;; *) func_fatal_configuration "unknown library version type \`$version_type'" ;; esac # Clear the version info if we defaulted, and they specified a release. if test -z "$vinfo" && test -n "$release"; then major= case $version_type in darwin) # we can't check for "0.0" in archive_cmds due to quoting # problems, so we reset it completely verstring= ;; *) verstring="0.0" ;; esac if test "$need_version" = no; then versuffix= else versuffix=".0.0" fi fi # Remove version info from name if versioning should be avoided if test "$avoid_version" = yes && test "$need_version" = no; then major= versuffix= verstring="" fi # Check to see if the archive will have undefined symbols. if test "$allow_undefined" = yes; then if test "$allow_undefined_flag" = unsupported; then func_warning "undefined symbols not allowed in $host shared libraries" build_libtool_libs=no build_old_libs=yes fi else # Don't allow undefined symbols. allow_undefined_flag="$no_undefined_flag" fi fi func_generate_dlsyms "$libname" "$libname" "yes" func_append libobjs " $symfileobj" test "X$libobjs" = "X " && libobjs= if test "$opt_mode" != relink; then # Remove our outputs, but don't remove object files since they # may have been created when compiling PIC objects. removelist= tempremovelist=`$ECHO "$output_objdir/*"` for p in $tempremovelist; do case $p in *.$objext | *.gcno) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if $ECHO "$p" | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi func_append removelist " $p" ;; *) ;; esac done test -n "$removelist" && \ func_show_eval "${RM}r \$removelist" fi # Now set the variables for building old libraries. if test "$build_old_libs" = yes && test "$build_libtool_libs" != convenience ; then func_append oldlibs " $output_objdir/$libname.$libext" # Transform .lo files to .o files. oldobjs="$objs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; $lo2o" | $NL2SP` fi # Eliminate all temporary directories. #for path in $notinst_path; do # lib_search_path=`$ECHO "$lib_search_path " | $SED "s% $path % %g"` # deplibs=`$ECHO "$deplibs " | $SED "s% -L$path % %g"` # dependency_libs=`$ECHO "$dependency_libs " | $SED "s% -L$path % %g"` #done if test -n "$xrpath"; then # If the user specified any rpath flags, then add them. temp_xrpath= for libdir in $xrpath; do func_replace_sysroot "$libdir" func_append temp_xrpath " -R$func_replace_sysroot_result" case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done if test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes; then dependency_libs="$temp_xrpath $dependency_libs" fi fi # Make sure dlfiles contains only unique files that won't be dlpreopened old_dlfiles="$dlfiles" dlfiles= for lib in $old_dlfiles; do case " $dlprefiles $dlfiles " in *" $lib "*) ;; *) func_append dlfiles " $lib" ;; esac done # Make sure dlprefiles contains only unique files old_dlprefiles="$dlprefiles" dlprefiles= for lib in $old_dlprefiles; do case "$dlprefiles " in *" $lib "*) ;; *) func_append dlprefiles " $lib" ;; esac done if test "$build_libtool_libs" = yes; then if test -n "$rpath"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-beos* | *-cegcc* | *-*-haiku*) # these systems don't actually have a c library (as such)! ;; *-*-rhapsody* | *-*-darwin1.[012]) # Rhapsody C library is in the System framework func_append deplibs " System.ltframework" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # Add libc to deplibs on all other systems if necessary. if test "$build_libtool_need_lc" = "yes"; then func_append deplibs " -lc" fi ;; esac fi # Transform deplibs into only deplibs that can be linked in shared. name_save=$name libname_save=$libname release_save=$release versuffix_save=$versuffix major_save=$major # I'm not sure if I'm treating the release correctly. I think # release should show up in the -l (ie -lgmp5) so we don't want to # add it in twice. Is that correct? release="" versuffix="" major="" newdeplibs= droppeddeps=no case $deplibs_check_method in pass_all) # Don't check for shared/static. Everything works. # This might be a little naive. We might want to check # whether the library exists or not. But this is on # osf3 & osf4 and I'm not really sure... Just # implementing what was already the behavior. newdeplibs=$deplibs ;; test_compile) # This code stresses the "libraries are programs" paradigm to its # limits. Maybe even breaks it. We compile a program, linking it # against the deplibs as a proxy for the library. Then we can check # whether they linked in statically or dynamically with ldd. $opt_dry_run || $RM conftest.c cat > conftest.c </dev/null` $nocaseglob else potential_libs=`ls $i/$libnameglob[.-]* 2>/dev/null` fi for potent_lib in $potential_libs; do # Follow soft links. if ls -lLd "$potent_lib" 2>/dev/null | $GREP " -> " >/dev/null; then continue fi # The statement above tries to avoid entering an # endless loop below, in case of cyclic links. # We might still enter an endless loop, since a link # loop can be closed while we follow links, # but so what? potlib="$potent_lib" while test -h "$potlib" 2>/dev/null; do potliblink=`ls -ld $potlib | ${SED} 's/.* -> //'` case $potliblink in [\\/]* | [A-Za-z]:[\\/]*) potlib="$potliblink";; *) potlib=`$ECHO "$potlib" | $SED 's,[^/]*$,,'`"$potliblink";; esac done if eval $file_magic_cmd \"\$potlib\" 2>/dev/null | $SED -e 10q | $EGREP "$file_magic_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for file magic test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a file magic. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; match_pattern*) set dummy $deplibs_check_method; shift match_pattern_regex=`expr "$deplibs_check_method" : "$1 \(.*\)"` for a_deplib in $deplibs; do case $a_deplib in -l*) func_stripname -l '' "$a_deplib" name=$func_stripname_result if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then case " $predeps $postdeps " in *" $a_deplib "*) func_append newdeplibs " $a_deplib" a_deplib="" ;; esac fi if test -n "$a_deplib" ; then libname=`eval "\\$ECHO \"$libname_spec\""` for i in $lib_search_path $sys_lib_search_path $shlib_search_path; do potential_libs=`ls $i/$libname[.-]* 2>/dev/null` for potent_lib in $potential_libs; do potlib="$potent_lib" # see symlink-check above in file_magic test if eval "\$ECHO \"$potent_lib\"" 2>/dev/null | $SED 10q | \ $EGREP "$match_pattern_regex" > /dev/null; then func_append newdeplibs " $a_deplib" a_deplib="" break 2 fi done done fi if test -n "$a_deplib" ; then droppeddeps=yes echo $ECHO "*** Warning: linker path does not have real file for library $a_deplib." echo "*** I have the capability to make that library automatically link in when" echo "*** you link to this library. But I can only do this if you have a" echo "*** shared version of the library, which you do not appear to have" echo "*** because I did check the linker path looking for a file starting" if test -z "$potlib" ; then $ECHO "*** with $libname but no candidates were found. (...for regex pattern test)" else $ECHO "*** with $libname and none of the candidates passed a file format test" $ECHO "*** using a regex pattern. Last file checked: $potlib" fi fi ;; *) # Add a -L argument. func_append newdeplibs " $a_deplib" ;; esac done # Gone through all deplibs. ;; none | unknown | *) newdeplibs="" tmp_deplibs=`$ECHO " $deplibs" | $SED 's/ -lc$//; s/ -[LR][^ ]*//g'` if test "X$allow_libtool_libs_with_static_runtimes" = "Xyes" ; then for i in $predeps $postdeps ; do # can't use Xsed below, because $i might contain '/' tmp_deplibs=`$ECHO " $tmp_deplibs" | $SED "s,$i,,"` done fi case $tmp_deplibs in *[!\ \ ]*) echo if test "X$deplibs_check_method" = "Xnone"; then echo "*** Warning: inter-library dependencies are not supported in this platform." else echo "*** Warning: inter-library dependencies are not known to be supported." fi echo "*** All declared inter-library dependencies are being dropped." droppeddeps=yes ;; esac ;; esac versuffix=$versuffix_save major=$major_save release=$release_save libname=$libname_save name=$name_save case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library with the System framework newdeplibs=`$ECHO " $newdeplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac if test "$droppeddeps" = yes; then if test "$module" = yes; then echo echo "*** Warning: libtool could not satisfy all declared inter-library" $ECHO "*** dependencies of module $libname. Therefore, libtool will create" echo "*** a static module, that should work as long as the dlopening" echo "*** application is linked with the -dlopen flag." if test -z "$global_symbol_pipe"; then echo echo "*** However, this would only work if libtool was able to extract symbol" echo "*** lists from a program, using \`nm' or equivalent, but libtool could" echo "*** not find such a program. So, this module is probably useless." echo "*** \`nm' from GNU binutils and a full rebuild may help." fi if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi else echo "*** The inter-library dependencies that have been dropped here will be" echo "*** automatically added whenever a program is linked with this library" echo "*** or is declared to -dlopen it." if test "$allow_undefined" = no; then echo echo "*** Since this library must not contain undefined symbols," echo "*** because either the platform does not support them or" echo "*** it was explicitly requested with -no-undefined," echo "*** libtool will only create a static version of it." if test "$build_old_libs" = no; then oldlibs="$output_objdir/$libname.$libext" build_libtool_libs=module build_old_libs=yes else build_libtool_libs=no fi fi fi fi # Done checking deplibs! deplibs=$newdeplibs fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" case $host in *-*-darwin*) newdeplibs=`$ECHO " $newdeplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` new_inherited_linker_flags=`$ECHO " $new_inherited_linker_flags" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` deplibs=`$ECHO " $deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done deplibs="$new_libs" # All the library-specific variables (install_libdir is set above). library_names= old_library= dlname= # Test again, we may have decided not to build it any more if test "$build_libtool_libs" = yes; then # Remove ${wl} instances when linking with ld. # FIXME: should test the right _cmds variable. case $archive_cmds in *\$LD\ *) wl= ;; esac if test "$hardcode_into_libs" = yes; then # Hardcode the library paths hardcode_libdirs= dep_rpath= rpath="$finalize_rpath" test "$opt_mode" != relink && rpath="$compile_rpath$rpath" for libdir in $rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then func_replace_sysroot "$libdir" libdir=$func_replace_sysroot_result if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append dep_rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval "dep_rpath=\"$hardcode_libdir_flag_spec\"" fi if test -n "$runpath_var" && test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done eval "$runpath_var='$rpath\$$runpath_var'; export $runpath_var" fi test -n "$dep_rpath" && deplibs="$dep_rpath $deplibs" fi shlibpath="$finalize_shlibpath" test "$opt_mode" != relink && shlibpath="$compile_shlibpath$shlibpath" if test -n "$shlibpath"; then eval "$shlibpath_var='$shlibpath\$$shlibpath_var'; export $shlibpath_var" fi # Get the real and link names of the library. eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names shift realname="$1" shift if test -n "$soname_spec"; then eval soname=\"$soname_spec\" else soname="$realname" fi if test -z "$dlname"; then dlname=$soname fi lib="$output_objdir/$realname" linknames= for link do func_append linknames " $link" done # Use standard objects if they are pic test -z "$pic_flag" && libobjs=`$ECHO "$libobjs" | $SP2NL | $SED "$lo2o" | $NL2SP` test "X$libobjs" = "X " && libobjs= delfiles= if test -n "$export_symbols" && test -n "$include_expsyms"; then $opt_dry_run || cp "$export_symbols" "$output_objdir/$libname.uexp" export_symbols="$output_objdir/$libname.uexp" func_append delfiles " $export_symbols" fi orig_export_symbols= case $host_os in cygwin* | mingw* | cegcc*) if test -n "$export_symbols" && test -z "$export_symbols_regex"; then # exporting using user supplied symfile if test "x`$SED 1q $export_symbols`" != xEXPORTS; then # and it's NOT already a .def file. Must figure out # which of the given symbols are data symbols and tag # them as such. So, trigger use of export_symbols_cmds. # export_symbols gets reassigned inside the "prepare # the list of exported symbols" if statement, so the # include_expsyms logic still works. orig_export_symbols="$export_symbols" export_symbols= always_export_symbols=yes fi fi ;; esac # Prepare the list of exported symbols if test -z "$export_symbols"; then if test "$always_export_symbols" = yes || test -n "$export_symbols_regex"; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd1 in $cmds; do IFS="$save_ifs" # Take the normal branch if the nm_file_list_spec branch # doesn't work or if tool conversion is not needed. case $nm_file_list_spec~$to_tool_file_cmd in *~func_convert_file_noop | *~func_convert_file_msys_to_w32 | ~*) try_normal_branch=yes eval cmd=\"$cmd1\" func_len " $cmd" len=$func_len_result ;; *) try_normal_branch=no ;; esac if test "$try_normal_branch" = yes \ && { test "$len" -lt "$max_cmd_len" \ || test "$max_cmd_len" -le -1; } then func_show_eval "$cmd" 'exit $?' skipped_export=false elif test -n "$nm_file_list_spec"; then func_basename "$output" output_la=$func_basename_result save_libobjs=$libobjs save_output=$output output=${output_objdir}/${output_la}.nm func_to_tool_file "$output" libobjs=$nm_file_list_spec$func_to_tool_file_result func_append delfiles " $output" func_verbose "creating $NM input file list: $output" for obj in $save_libobjs; do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > "$output" eval cmd=\"$cmd1\" func_show_eval "$cmd" 'exit $?' output=$save_output libobjs=$save_libobjs skipped_export=false else # The command line is too long to execute in one step. func_verbose "using reloadable object file for export list..." skipped_export=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break fi done IFS="$save_ifs" if test -n "$export_symbols_regex" && test "X$skipped_export" != "X:"; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi fi if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test "X$skipped_export" != "X:" && test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi tmp_deplibs= for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; *) func_append tmp_deplibs " $test_deplib" ;; esac done deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec" && test "$compiler_needs_object" = yes && test -z "$libobjs"; then # extract the archives, so we have objects to list. # TODO: could optimize this to just extract one archive. whole_archive_flag_spec= fi if test -n "$whole_archive_flag_spec"; then save_libobjs=$libobjs eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= else gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $convenience func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi fi if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then eval flag=\"$thread_safe_flag_spec\" func_append linker_flags " $flag" fi # Make a backup of the uninstalled library when relinking if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}U && $MV $realname ${realname}U)' || exit $? fi # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then eval test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && func_len " $test_cmds" && len=$func_len_result && test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then : else # The command line is too long to link in one step, link piecewise # or, if using GNU ld and skipped_export is not :, use a linker # script. # Save the value of $output and $libobjs because we want to # use them later. If we have whole_archive_flag_spec, we # want to use save_libobjs as it was before # whole_archive_flag_spec was expanded, because we can't # assume the linker understands whole_archive_flag_spec. # This may have to be revisited, in case too many # convenience libraries get linked in and end up exceeding # the spec. if test -z "$convenience" || test -z "$whole_archive_flag_spec"; then save_libobjs=$libobjs fi save_output=$output func_basename "$output" output_la=$func_basename_result # Clear the reloadable object creation command queue and # initialize k to one. test_cmds= concat_cmds= objlist= last_robj= k=1 if test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "$with_gnu_ld" = yes; then output=${output_objdir}/${output_la}.lnkscript func_verbose "creating GNU ld script: $output" echo 'INPUT (' > $output for obj in $save_libobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done echo ')' >> $output func_append delfiles " $output" func_to_tool_file "$output" output=$func_to_tool_file_result elif test -n "$save_libobjs" && test "X$skipped_export" != "X:" && test "X$file_list_spec" != X; then output=${output_objdir}/${output_la}.lnk func_verbose "creating linker input file list: $output" : > $output set x $save_libobjs shift firstobj= if test "$compiler_needs_object" = yes; then firstobj="$1 " shift fi for obj do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" >> $output done func_append delfiles " $output" func_to_tool_file "$output" output=$firstobj\"$file_list_spec$func_to_tool_file_result\" else if test -n "$save_libobjs"; then func_verbose "creating reloadable object files..." output=$output_objdir/$output_la-${k}.$objext eval test_cmds=\"$reload_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 # Loop over the list of objects to be linked. for obj in $save_libobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result if test "X$objlist" = X || test "$len" -lt "$max_cmd_len"; then func_append objlist " $obj" else # The command $test_cmds is almost too long, add a # command to the queue. if test "$k" -eq 1 ; then # The first file doesn't have a previous command to add. reload_objs=$objlist eval concat_cmds=\"$reload_cmds\" else # All subsequent reloadable object files will link in # the last one created. reload_objs="$objlist $last_robj" eval concat_cmds=\"\$concat_cmds~$reload_cmds~\$RM $last_robj\" fi last_robj=$output_objdir/$output_la-${k}.$objext func_arith $k + 1 k=$func_arith_result output=$output_objdir/$output_la-${k}.$objext objlist=" $obj" func_len " $last_robj" func_arith $len0 + $func_len_result len=$func_arith_result fi done # Handle the remaining objects by creating one last # reloadable object file. All subsequent reloadable object # files will link in the last one created. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ reload_objs="$objlist $last_robj" eval concat_cmds=\"\${concat_cmds}$reload_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\${concat_cmds}~\$RM $last_robj\" fi func_append delfiles " $output" else output= fi if ${skipped_export-false}; then func_verbose "generating symbol list for \`$libname.la'" export_symbols="$output_objdir/$libname.exp" $opt_dry_run || $RM $export_symbols libobjs=$output # Append the command to create the export file. test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\" if test -n "$last_robj"; then eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\" fi fi test -n "$save_libobjs" && func_verbose "creating a temporary reloadable object file: $output" # Loop through the commands generated above and execute them. save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" if test -n "$export_symbols_regex" && ${skipped_export-false}; then func_show_eval '$EGREP -e "$export_symbols_regex" "$export_symbols" > "${export_symbols}T"' func_show_eval '$MV "${export_symbols}T" "$export_symbols"' fi fi if ${skipped_export-false}; then if test -n "$export_symbols" && test -n "$include_expsyms"; then tmp_export_symbols="$export_symbols" test -n "$orig_export_symbols" && tmp_export_symbols="$orig_export_symbols" $opt_dry_run || eval '$ECHO "$include_expsyms" | $SP2NL >> "$tmp_export_symbols"' fi if test -n "$orig_export_symbols"; then # The given exports_symbols file has to be filtered, so filter it. func_verbose "filter symbol list for \`$libname.la' to tag DATA exports" # FIXME: $output_objdir/$libname.filter potentially contains lots of # 's' commands which not all seds can handle. GNU sed should be fine # though. Also, the filter scales superlinearly with the number of # global variables. join(1) would be nice here, but unfortunately # isn't a blessed tool. $opt_dry_run || $SED -e '/[ ,]DATA/!d;s,\(.*\)\([ \,].*\),s|^\1$|\1\2|,' < $export_symbols > $output_objdir/$libname.filter func_append delfiles " $export_symbols $output_objdir/$libname.filter" export_symbols=$output_objdir/$libname.def $opt_dry_run || $SED -f $output_objdir/$libname.filter < $orig_export_symbols > $export_symbols fi fi libobjs=$output # Restore the value of output. output=$save_output if test -n "$convenience" && test -n "$whole_archive_flag_spec"; then eval libobjs=\"\$libobjs $whole_archive_flag_spec\" test "X$libobjs" = "X " && libobjs= fi # Expand the library linking commands again to reset the # value of $libobjs for piecewise linking. # Do each of the archive commands. if test "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi fi fi if test -n "$delfiles"; then # Append the command to remove temporary files to $cmds. eval cmds=\"\$cmds~\$RM $delfiles\" fi # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append libobjs " $func_extract_archives_result" test "X$libobjs" = "X " && libobjs= fi save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $opt_silent || { func_quote_for_expand "$cmd" eval "func_echo $func_quote_for_expand_result" } $opt_dry_run || eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$opt_mode" = relink; then ( cd "$output_objdir" && \ $RM "${realname}T" && \ $MV "${realname}U" "$realname" ) fi exit $lt_exit } done IFS="$save_ifs" # Restore the uninstalled library and exit if test "$opt_mode" = relink; then $opt_dry_run || eval '(cd $output_objdir && $RM ${realname}T && $MV $realname ${realname}T && $MV ${realname}U $realname)' || exit $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then func_show_eval '${RM}r "$gentop"' fi fi exit $EXIT_SUCCESS fi # Create links to the real library. for linkname in $linknames; do if test "$realname" != "$linkname"; then func_show_eval '(cd "$output_objdir" && $RM "$linkname" && $LN_S "$realname" "$linkname")' 'exit $?' fi done # If -module or -export-dynamic was specified, set the dlname. if test "$module" = yes || test "$export_dynamic" = yes; then # On all known operating systems, these are identical. dlname="$soname" fi fi ;; obj) if test -n "$dlfiles$dlprefiles" || test "$dlself" != no; then func_warning "\`-dlopen' is ignored for objects" fi case " $deplibs" in *\ -l* | *\ -L*) func_warning "\`-l' and \`-L' are ignored for objects" ;; esac test -n "$rpath" && \ func_warning "\`-rpath' is ignored for objects" test -n "$xrpath" && \ func_warning "\`-R' is ignored for objects" test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for objects" test -n "$release" && \ func_warning "\`-release' is ignored for objects" case $output in *.lo) test -n "$objs$old_deplibs" && \ func_fatal_error "cannot build library object \`$output' from non-libtool objects" libobj=$output func_lo2o "$libobj" obj=$func_lo2o_result ;; *) libobj= obj="$output" ;; esac # Delete the old objects. $opt_dry_run || $RM $obj $libobj # Objects from convenience libraries. This assumes # single-version convenience libraries. Whenever we create # different ones for PIC/non-PIC, this we'll have to duplicate # the extraction. reload_conv_objs= gentop= # reload_cmds runs $LD directly, so let us get rid of # -Wl from whole_archive_flag_spec and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$ECHO "$tmp_whole_archive_flags" | $SED 's|,| |g'` else gentop="$output_objdir/${obj}x" func_append generated " $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" fi fi # If we're not building shared, we need to use non_pic_objs test "$build_libtool_libs" != yes && libobjs="$non_pic_objects" # Create the old-style object. reload_objs="$objs$old_deplibs "`$ECHO "$libobjs" | $SP2NL | $SED "/\.${libext}$/d; /\.lib$/d; $lo2o" | $NL2SP`" $reload_conv_objs" ### testsuite: skip nested quoting test output="$obj" func_execute_cmds "$reload_cmds" 'exit $?' # Exit if we aren't doing a library object file. if test -z "$libobj"; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS fi if test "$build_libtool_libs" != yes; then if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi # Create an invalid libtool object if no PIC, so that we don't # accidentally link it into a program. # $show "echo timestamp > $libobj" # $opt_dry_run || eval "echo timestamp > $libobj" || exit $? exit $EXIT_SUCCESS fi if test -n "$pic_flag" || test "$pic_mode" != default; then # Only do commands if we really have different PIC objects. reload_objs="$libobjs $reload_conv_objs" output="$libobj" func_execute_cmds "$reload_cmds" 'exit $?' fi if test -n "$gentop"; then func_show_eval '${RM}r "$gentop"' fi exit $EXIT_SUCCESS ;; prog) case $host in *cygwin*) func_stripname '' '.exe' "$output" output=$func_stripname_result.exe;; esac test -n "$vinfo" && \ func_warning "\`-version-info' is ignored for programs" test -n "$release" && \ func_warning "\`-release' is ignored for programs" test "$preload" = yes \ && test "$dlopen_support" = unknown \ && test "$dlopen_self" = unknown \ && test "$dlopen_self_static" = unknown && \ func_warning "\`LT_INIT([dlopen])' not used. Assuming no dlopen support." case $host in *-*-rhapsody* | *-*-darwin1.[012]) # On Rhapsody replace the C library is the System framework compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's/ -lc / System.ltframework /'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's/ -lc / System.ltframework /'` ;; esac case $host in *-*-darwin*) # Don't allow lazy linking, it breaks C++ global constructors # But is supposedly fixed on 10.4 or later (yay!). if test "$tagname" = CXX ; then case ${MACOSX_DEPLOYMENT_TARGET-10.0} in 10.[0123]) func_append compile_command " ${wl}-bind_at_load" func_append finalize_command " ${wl}-bind_at_load" ;; esac fi # Time to change all our "foo.ltframework" stuff back to "-framework foo" compile_deplibs=`$ECHO " $compile_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` finalize_deplibs=`$ECHO " $finalize_deplibs" | $SED 's% \([^ $]*\).ltframework% -framework \1%g'` ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) func_append new_libs " -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) func_append new_libs " $deplib" ;; esac ;; *) func_append new_libs " $deplib" ;; esac done compile_deplibs="$new_libs" func_append compile_command " $compile_deplibs" func_append finalize_command " $finalize_deplibs" if test -n "$rpath$xrpath"; then # If the user specified any rpath flags, then add them. for libdir in $rpath $xrpath; do # This is the magic to use -rpath. case "$finalize_rpath " in *" $libdir "*) ;; *) func_append finalize_rpath " $libdir" ;; esac done fi # Now hardcode the library paths rpath= hardcode_libdirs= for libdir in $compile_rpath $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; *) func_append perm_rpath " $libdir" ;; esac fi case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-cegcc*) testbindir=`${ECHO} "$libdir" | ${SED} -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; ::) dllsearchpath=$libdir;; *) func_append dllsearchpath ":$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; ::) dllsearchpath=$testbindir;; *) func_append dllsearchpath ":$testbindir";; esac ;; esac done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi compile_rpath="$rpath" rpath= hardcode_libdirs= for libdir in $finalize_rpath; do if test -n "$hardcode_libdir_flag_spec"; then if test -n "$hardcode_libdir_separator"; then if test -z "$hardcode_libdirs"; then hardcode_libdirs="$libdir" else # Just accumulate the unique libdirs. case $hardcode_libdir_separator$hardcode_libdirs$hardcode_libdir_separator in *"$hardcode_libdir_separator$libdir$hardcode_libdir_separator"*) ;; *) func_append hardcode_libdirs "$hardcode_libdir_separator$libdir" ;; esac fi else eval flag=\"$hardcode_libdir_flag_spec\" func_append rpath " $flag" fi elif test -n "$runpath_var"; then case "$finalize_perm_rpath " in *" $libdir "*) ;; *) func_append finalize_perm_rpath " $libdir" ;; esac fi done # Substitute the hardcoded libdirs into the rpath. if test -n "$hardcode_libdir_separator" && test -n "$hardcode_libdirs"; then libdir="$hardcode_libdirs" eval rpath=\" $hardcode_libdir_flag_spec\" fi finalize_rpath="$rpath" if test -n "$libobjs" && test "$build_old_libs" = yes; then # Transform all the library objects into standard objects. compile_command=`$ECHO "$compile_command" | $SP2NL | $SED "$lo2o" | $NL2SP` finalize_command=`$ECHO "$finalize_command" | $SP2NL | $SED "$lo2o" | $NL2SP` fi func_generate_dlsyms "$outputname" "@PROGRAM@" "no" # template prelinking step if test -n "$prelink_cmds"; then func_execute_cmds "$prelink_cmds" 'exit $?' fi wrappers_required=yes case $host in *cegcc* | *mingw32ce*) # Disable wrappers for cegcc and mingw32ce hosts, we are cross compiling anyway. wrappers_required=no ;; *cygwin* | *mingw* ) if test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; *) if test "$need_relink" = no || test "$build_libtool_libs" != yes; then wrappers_required=no fi ;; esac if test "$wrappers_required" = no; then # Replace the output file specification. compile_command=`$ECHO "$compile_command" | $SED 's%@OUTPUT@%'"$output"'%g'` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. exit_status=0 func_show_eval "$link_command" 'exit_status=$?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Delete the generated files. if test -f "$output_objdir/${outputname}S.${objext}"; then func_show_eval '$RM "$output_objdir/${outputname}S.${objext}"' fi exit $exit_status fi if test -n "$compile_shlibpath$finalize_shlibpath"; then compile_command="$shlibpath_var=\"$compile_shlibpath$finalize_shlibpath\$$shlibpath_var\" $compile_command" fi if test -n "$finalize_shlibpath"; then finalize_command="$shlibpath_var=\"$finalize_shlibpath\$$shlibpath_var\" $finalize_command" fi compile_var= finalize_var= if test -n "$runpath_var"; then if test -n "$perm_rpath"; then # We should set the runpath_var. rpath= for dir in $perm_rpath; do func_append rpath "$dir:" done compile_var="$runpath_var=\"$rpath\$$runpath_var\" " fi if test -n "$finalize_perm_rpath"; then # We should set the runpath_var. rpath= for dir in $finalize_perm_rpath; do func_append rpath "$dir:" done finalize_var="$runpath_var=\"$rpath\$$runpath_var\" " fi fi if test "$no_install" = yes; then # We don't need to create a wrapper script. link_command="$compile_var$compile_command$compile_rpath" # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output"'%g'` # Delete the old output file. $opt_dry_run || $RM $output # Link the executable and exit func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi exit $EXIT_SUCCESS fi if test "$hardcode_action" = relink; then # Fast installation is not supported link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" func_warning "this platform does not like uninstalled shared libraries" func_warning "\`$output' will be relinked during installation" else if test "$fast_install" != no; then link_command="$finalize_var$compile_command$finalize_rpath" if test "$fast_install" = yes; then relink_command=`$ECHO "$compile_var$compile_command$compile_rpath" | $SED 's%@OUTPUT@%\$progdir/\$file%g'` else # fast_install is set to needless relink_command= fi else link_command="$compile_var$compile_command$compile_rpath" relink_command="$finalize_var$finalize_command$finalize_rpath" fi fi # Replace the output file specification. link_command=`$ECHO "$link_command" | $SED 's%@OUTPUT@%'"$output_objdir/$outputname"'%g'` # Delete the old output files. $opt_dry_run || $RM $output $output_objdir/$outputname $output_objdir/lt-$outputname func_show_eval "$link_command" 'exit $?' if test -n "$postlink_cmds"; then func_to_tool_file "$output_objdir/$outputname" postlink_cmds=`func_echo_all "$postlink_cmds" | $SED -e 's%@OUTPUT@%'"$output_objdir/$outputname"'%g' -e 's%@TOOL_OUTPUT@%'"$func_to_tool_file_result"'%g'` func_execute_cmds "$postlink_cmds" 'exit $?' fi # Now create the wrapper script. func_verbose "creating $output" # Quote the relink command for shipping. if test -n "$relink_command"; then # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done relink_command="(cd `pwd`; $relink_command)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` fi # Only actually do things if not in dry run mode. $opt_dry_run || { # win32 will think the script is a binary if it has # a .exe suffix, so we strip it off here. case $output in *.exe) func_stripname '' '.exe' "$output" output=$func_stripname_result ;; esac # test for cygwin because mv fails w/o .exe extensions case $host in *cygwin*) exeext=.exe func_stripname '' '.exe' "$outputname" outputname=$func_stripname_result ;; *) exeext= ;; esac case $host in *cygwin* | *mingw* ) func_dirname_and_basename "$output" "" "." output_name=$func_basename_result output_path=$func_dirname_result cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $RM $cwrappersource $cwrapper trap "$RM $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 func_emit_cwrapperexe_src > $cwrappersource # The wrapper executable is built using the $host compiler, # because it contains $host paths and files. If cross- # compiling, it, like the target executable, must be # executed on the $host or under an emulation environment. $opt_dry_run || { $LTCC $LTCFLAGS -o $cwrapper $cwrappersource $STRIP $cwrapper } # Now, create the wrapper script for func_source use: func_ltwrapper_scriptname $cwrapper $RM $func_ltwrapper_scriptname_result trap "$RM $func_ltwrapper_scriptname_result; exit $EXIT_FAILURE" 1 2 15 $opt_dry_run || { # note: this script will not be executed, so do not chmod. if test "x$build" = "x$host" ; then $cwrapper --lt-dump-script > $func_ltwrapper_scriptname_result else func_emit_wrapper no > $func_ltwrapper_scriptname_result fi } ;; * ) $RM $output trap "$RM $output; exit $EXIT_FAILURE" 1 2 15 func_emit_wrapper no > $output chmod +x $output ;; esac } exit $EXIT_SUCCESS ;; esac # See if we need to build an old-fashioned archive. for oldlib in $oldlibs; do if test "$build_libtool_libs" = convenience; then oldobjs="$libobjs_save $symfileobj" addlibs="$convenience" build_libtool_libs=no else if test "$build_libtool_libs" = module; then oldobjs="$libobjs_save" build_libtool_libs=no else oldobjs="$old_deplibs $non_pic_objects" if test "$preload" = yes && test -f "$symfileobj"; then func_append oldobjs " $symfileobj" fi fi addlibs="$old_convenience" fi if test -n "$addlibs"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $addlibs func_append oldobjs " $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # Add any objects from preloaded convenience libraries if test -n "$dlprefiles"; then gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_extract_archives $gentop $dlprefiles func_append oldobjs " $func_extract_archives_result" fi # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do func_basename "$obj" $ECHO "$func_basename_result" done | sort | sort -uc >/dev/null 2>&1); then : else echo "copying selected object files to avoid basename conflicts..." gentop="$output_objdir/${outputname}x" func_append generated " $gentop" func_mkdir_p "$gentop" save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do func_basename "$obj" objbase="$func_basename_result" case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase func_arith $counter + 1 counter=$func_arith_result case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done func_show_eval "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" func_append oldobjs " $gentop/$newobj" ;; *) func_append oldobjs " $obj" ;; esac done fi func_to_tool_file "$oldlib" func_convert_file_msys_to_w32 tool_oldlib=$func_to_tool_file_result eval cmds=\"$old_archive_cmds\" func_len " $cmds" len=$func_len_result if test "$len" -lt "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds elif test -n "$archiver_list_spec"; then func_verbose "using command file archive linking..." for obj in $oldobjs do func_to_tool_file "$obj" $ECHO "$func_to_tool_file_result" done > $output_objdir/$libname.libcmd func_to_tool_file "$output_objdir/$libname.libcmd" oldobjs=" $archiver_list_spec$func_to_tool_file_result" cmds=$old_archive_cmds else # the command line is too long to link in one step, link in parts func_verbose "using piecewise archive linking..." save_RANLIB=$RANLIB RANLIB=: objlist= concat_cmds= save_oldobjs=$oldobjs oldobjs= # Is there a better way of finding the last object in the list? for obj in $save_oldobjs do last_oldobj=$obj done eval test_cmds=\"$old_archive_cmds\" func_len " $test_cmds" len0=$func_len_result len=$len0 for obj in $save_oldobjs do func_len " $obj" func_arith $len + $func_len_result len=$func_arith_result func_append objlist " $obj" if test "$len" -lt "$max_cmd_len"; then : else # the above command should be used before it gets too long oldobjs=$objlist if test "$obj" = "$last_oldobj" ; then RANLIB=$save_RANLIB fi test -z "$concat_cmds" || concat_cmds=$concat_cmds~ eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\" objlist= len=$len0 fi done RANLIB=$save_RANLIB oldobjs=$objlist if test "X$oldobjs" = "X" ; then eval cmds=\"\$concat_cmds\" else eval cmds=\"\$concat_cmds~\$old_archive_cmds\" fi fi fi func_execute_cmds "$cmds" 'exit $?' done test -n "$generated" && \ func_show_eval "${RM}r$generated" # Now create the libtool archive. case $output in *.la) old_library= test "$build_old_libs" = yes && old_library="$libname.$libext" func_verbose "creating $output" # Preserve any variables that may affect compiler behavior for var in $variables_saved_for_relink; do if eval test -z \"\${$var+set}\"; then relink_command="{ test -z \"\${$var+set}\" || $lt_unset $var || { $var=; export $var; }; }; $relink_command" elif eval var_value=\$$var; test -z "$var_value"; then relink_command="$var=; export $var; $relink_command" else func_quote_for_eval "$var_value" relink_command="$var=$func_quote_for_eval_result; export $var; $relink_command" fi done # Quote the link command for shipping. relink_command="(cd `pwd`; $SHELL $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$ECHO "$relink_command" | $SED "$sed_quote_subst"` if test "$hardcode_automatic" = yes ; then relink_command= fi # Only create the output if not a dry run. $opt_dry_run || { for installed in no yes; do if test "$installed" = yes; then if test -z "$install_libdir"; then break fi output="$output_objdir/$outputname"i # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do case $deplib in *.la) func_basename "$deplib" name="$func_basename_result" func_resolve_sysroot "$deplib" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result` test -z "$libdir" && \ func_fatal_error "\`$deplib' is not a valid libtool archive" func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name" ;; -L*) func_stripname -L '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -L$func_replace_sysroot_result" ;; -R*) func_stripname -R '' "$deplib" func_replace_sysroot "$func_stripname_result" func_append newdependency_libs " -R$func_replace_sysroot_result" ;; *) func_append newdependency_libs " $deplib" ;; esac done dependency_libs="$newdependency_libs" newdlfiles= for lib in $dlfiles; do case $lib in *.la) func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlfiles " ${lt_sysroot:+=}$libdir/$name" ;; *) func_append newdlfiles " $lib" ;; esac done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in *.la) # Only pass preopened files to the pseudo-archive (for # eventual linking with the app. that links it) if we # didn't already link the preopened objects directly into # the library: func_basename "$lib" name="$func_basename_result" eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $lib` test -z "$libdir" && \ func_fatal_error "\`$lib' is not a valid libtool archive" func_append newdlprefiles " ${lt_sysroot:+=}$libdir/$name" ;; esac done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlfiles " $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac func_append newdlprefiles " $abs" done dlprefiles="$newdlprefiles" fi $RM $output # place dlname in correct position for cygwin # In fact, it would be nice if we could use this code for all target # systems that can't hard-code library paths into their executables # and that have no shared library path variable independent of PATH, # but it turns out we can't easily determine that from inspecting # libtool variables, so we have to hard-code the OSs to which it # applies here; at the moment, that means platforms that use the PE # object format with DLL files. See the long comment at the top of # tests/bindir.at for full details. tdlname=$dlname case $host,$output,$installed,$module,$dlname in *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll | *cegcc*,*lai,yes,no,*.dll) # If a -bindir argument was supplied, place the dll there. if test "x$bindir" != x ; then func_relative_path "$install_libdir" "$bindir" tdlname=$func_relative_path_result$dlname else # Otherwise fall back on heuristic. tdlname=../bin/$dlname fi ;; esac $ECHO > $output "\ # $outputname - a libtool library file # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION # # Please DO NOT delete this file! # It is necessary for linking the library. # The name that we can dlopen(3). dlname='$tdlname' # Names of this library. library_names='$library_names' # The name of the static archive. old_library='$old_library' # Linker flags that can not go in dependency_libs. inherited_linker_flags='$new_inherited_linker_flags' # Libraries that this one depends upon. dependency_libs='$dependency_libs' # Names of additional weak libraries provided by this library weak_library_names='$weak_libs' # Version information for $libname. current=$current age=$age revision=$revision # Is this an already installed library? installed=$installed # Should we warn about portability when linking against -modules? shouldnotlink=$module # Files to dlopen/dlpreopen dlopen='$dlfiles' dlpreopen='$dlprefiles' # Directory that this library needs to be installed in: libdir='$install_libdir'" if test "$installed" = no && test "$need_relink" = yes; then $ECHO >> $output "\ relink_command=\"$relink_command\"" fi done } # Do a symbolic link so that the libtool archive can be found in # LD_LIBRARY_PATH before the program is installed. func_show_eval '( cd "$output_objdir" && $RM "$outputname" && $LN_S "../$outputname" "$outputname" )' 'exit $?' ;; esac exit $EXIT_SUCCESS } { test "$opt_mode" = link || test "$opt_mode" = relink; } && func_mode_link ${1+"$@"} # func_mode_uninstall arg... func_mode_uninstall () { $opt_debug RM="$nonopt" files= rmforce= exit_status=0 # This variable tells wrapper scripts just to set variables rather # than running their programs. libtool_install_magic="$magic" for arg do case $arg in -f) func_append RM " $arg"; rmforce=yes ;; -*) func_append RM " $arg" ;; *) func_append files " $arg" ;; esac done test -z "$RM" && \ func_fatal_help "you must specify an RM program" rmdirs= for file in $files; do func_dirname "$file" "" "." dir="$func_dirname_result" if test "X$dir" = X.; then odir="$objdir" else odir="$dir/$objdir" fi func_basename "$file" name="$func_basename_result" test "$opt_mode" = uninstall && odir="$dir" # Remember odir for removal later, being careful to avoid duplicates if test "$opt_mode" = clean; then case " $rmdirs " in *" $odir "*) ;; *) func_append rmdirs " $odir" ;; esac fi # Don't error if the file doesn't exist and rm -f was used. if { test -L "$file"; } >/dev/null 2>&1 || { test -h "$file"; } >/dev/null 2>&1 || test -f "$file"; then : elif test -d "$file"; then exit_status=1 continue elif test "$rmforce" = yes; then continue fi rmfiles="$file" case $name in *.la) # Possibly a libtool archive, so verify it. if func_lalib_p "$file"; then func_source $dir/$name # Delete the libtool libraries and symlinks. for n in $library_names; do func_append rmfiles " $odir/$n" done test -n "$old_library" && func_append rmfiles " $odir/$old_library" case "$opt_mode" in clean) case " $library_names " in *" $dlname "*) ;; *) test -n "$dlname" && func_append rmfiles " $odir/$dlname" ;; esac test -n "$libdir" && func_append rmfiles " $odir/$name $odir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. func_execute_cmds "$postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi if test -n "$old_library"; then # Do each command in the old_postuninstall commands. func_execute_cmds "$old_postuninstall_cmds" 'test "$rmforce" = yes || exit_status=1' fi # FIXME: should reinstall the best remaining shared library. ;; esac fi ;; *.lo) # Possibly a libtool object, so verify it. if func_lalib_p "$file"; then # Read the .lo file func_source $dir/$name # Add PIC object to the list of files to remove. if test -n "$pic_object" && test "$pic_object" != none; then func_append rmfiles " $dir/$pic_object" fi # Add non-PIC object to the list of files to remove. if test -n "$non_pic_object" && test "$non_pic_object" != none; then func_append rmfiles " $dir/$non_pic_object" fi fi ;; *) if test "$opt_mode" = clean ; then noexename=$name case $file in *.exe) func_stripname '' '.exe' "$file" file=$func_stripname_result func_stripname '' '.exe' "$name" noexename=$func_stripname_result # $file with .exe has already been added to rmfiles, # add $file without .exe func_append rmfiles " $file" ;; esac # Do a test to see if this is a libtool program. if func_ltwrapper_p "$file"; then if func_ltwrapper_executable_p "$file"; then func_ltwrapper_scriptname "$file" relink_command= func_source $func_ltwrapper_scriptname_result func_append rmfiles " $func_ltwrapper_scriptname_result" else relink_command= func_source $dir/$noexename fi # note $name still contains .exe if it was in $file originally # as does the version of $file that was added into $rmfiles func_append rmfiles " $odir/$name $odir/${name}S.${objext}" if test "$fast_install" = yes && test -n "$relink_command"; then func_append rmfiles " $odir/lt-$name" fi if test "X$noexename" != "X$name" ; then func_append rmfiles " $odir/lt-${noexename}.c" fi fi fi ;; esac func_show_eval "$RM $rmfiles" 'exit_status=1' done # Try to remove the ${objdir}s in the directories where we deleted files for dir in $rmdirs; do if test -d "$dir"; then func_show_eval "rmdir $dir >/dev/null 2>&1" fi done exit $exit_status } { test "$opt_mode" = uninstall || test "$opt_mode" = clean; } && func_mode_uninstall ${1+"$@"} test -z "$opt_mode" && { help="$generic_help" func_fatal_help "you must specify a MODE" } test -z "$exec_cmd" && \ func_fatal_help "invalid operation mode \`$opt_mode'" if test -n "$exec_cmd"; then eval exec "$exec_cmd" exit $EXIT_FAILURE fi exit $exit_status # The TAGs below are defined such that we never get into a situation # in which we disable both kinds of libraries. Given conflicting # choices, we go for a static library, that is the most portable, # since we can't tell whether shared libraries were disabled because # the user asked for that or because the platform doesn't support # them. This is particularly important on AIX, because we don't # support having both static and shared libraries enabled at the same # time on that platform, so we default to a shared-only configuration. # If a disable-shared tag is given, we'll fallback to a static-only # configuration. But we'll never go from static-only to shared-only. # ### BEGIN LIBTOOL TAG CONFIG: disable-shared build_libtool_libs=no build_old_libs=yes # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # vi:sw=2 entangle-0.5.4/entangle.spec0000664000000000000000000000613512253420735012667 00000000000000# -*- rpm-spec -*- Summary: Tethered shooting & control of digital cameras Name: entangle Version: 0.5.4 Release: 1%{?dist}%{?extra_release} License: GPLv3+ Group: Applications/Multimedia Source: http://entangle-photo.org/download/sources/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root URL: http://entangle-photo.org/ BuildRequires: glib2-devel >= 2.26.0 BuildRequires: gtk3-devel >= 3.0 BuildRequires: libgphoto2-devel >= 2.4.11 BuildRequires: libgudev1-devel >= 145 BuildRequires: dbus-glib-devel >= 0.60 BuildRequires: lcms-devel >= 1.18 BuildRequires: gobject-introspection-devel BuildRequires: libpeas-devel >= 0.5.5 BuildRequires: libgexiv2-devel >= 0.2.2 BuildRequires: intltool BuildRequires: libX11-devel BuildRequires: libXext-devel >= 1.3.0 BuildRequires: LibRaw-devel >= 0.9.0 Requires(post): desktop-file-utils Requires(postun): desktop-file-utils %description Entangle is an application which uses GTK and libgphoto2 to provide a graphical interface for tethered photography with digital cameras. It includes control over camera shooting and configuration settings and 'hands off' shooting directly from the controlling computer. %prep %setup -q %build %configure --disable-schemas-compile make %{?_smp_mflags} V=1 %install rm -fr %{buildroot} make install DESTDIR=$RPM_BUILD_ROOT rm -rf %{buildroot}%{_datadir}/%{name}/website %find_lang %{name} %clean rm -fr %{buildroot} %post update-desktop-database %{_datadir}/applications glib-compile-schemas /usr/share/glib-2.0/schemas ||: %postun update-desktop-database %{_datadir}/applications glib-compile-schemas /usr/share/glib-2.0/schemas ||: %files -f %{name}.lang %defattr(-, root, root) %doc README COPYING AUTHORS NEWS ChangeLog %{_bindir}/entangle %{_mandir}/man1/entangle.1* %{_datadir}/%{name}/%{name}-camera-info.ui %{_datadir}/%{name}/%{name}-camera-manager.ui %{_datadir}/%{name}/%{name}-camera-picker.ui %{_datadir}/%{name}/%{name}-camera-support.ui %{_datadir}/%{name}/%{name}-help-about.ui %{_datadir}/%{name}/%{name}-image-popup.ui %{_datadir}/%{name}/%{name}-preferences-display.ui %{_datadir}/%{name}/%{name}-16x16.png %{_datadir}/%{name}/%{name}-32x32.png %{_datadir}/%{name}/%{name}-48x48.png %{_datadir}/%{name}/%{name}-64x64.png %{_datadir}/%{name}/%{name}-128x128.png %{_datadir}/%{name}/%{name}-256x256.png %{_datadir}/%{name}/%{name}.svg %{_datadir}/%{name}/icons %{_datadir}/%{name}/plugins.png %{_datadir}/%{name}/plugins-22.png %{_datadir}/%{name}/capture.png %{_datadir}/%{name}/capture-22.png %{_datadir}/%{name}/color-management.png %{_datadir}/%{name}/color-management-22.png %{_datadir}/%{name}/interface.png %{_datadir}/%{name}/interface-22.png %{_datadir}/%{name}/imageviewer.png %{_datadir}/%{name}/imageviewer-22.png %{_datadir}/%{name}/sRGB.icc %{_datadir}/gtk-doc/html/Entangle %{_datadir}/applications/%{name}.desktop %{_datadir}/appdata/%{name}.appdata.xml %{_datadir}/glib-2.0/schemas/org.entangle-photo.manager.gschema.xml %{_datadir}/gir-1.0/Entangle-0.1.gir %{_libdir}/girepository-1.0/Entangle-0.1.typelib %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/plugins %dir %{_datadir}/%{name}/plugins %changelog entangle-0.5.4/maint.mk0000664000000000000000000016025712253420651011662 00000000000000# -*-Makefile-*- # This Makefile fragment tries to be general-purpose enough to be # used by many projects via the gnulib maintainer-makefile module. ## Copyright (C) 2001-2011 Free Software Foundation, Inc. ## ## 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 3 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. ## ## You should have received a copy of the GNU General Public License ## along with this program. If not, see . # This is reported not to work with make-3.79.1 # ME := $(word $(words $(MAKEFILE_LIST)),$(MAKEFILE_LIST)) ME := maint.mk # Diagnostic for continued use of deprecated variable. # Remove in 2013 ifneq ($(build_aux),) $(error "$(ME): \ set $$(_build-aux) relative to $$(srcdir) instead of $$(build_aux)") endif # Do not save the original name or timestamp in the .tar.gz file. # Use --rsyncable if available. gzip_rsyncable := \ $(shell gzip --help 2>/dev/null|grep rsyncable >/dev/null \ && printf %s --rsyncable) GZIP_ENV = '--no-name --best $(gzip_rsyncable)' GIT = git VC = $(GIT) VC_LIST = $(srcdir)/$(_build-aux)/vc-list-files -C $(srcdir) # You can override this variable in cfg.mk to set your own regexp # matching files to ignore. VC_LIST_ALWAYS_EXCLUDE_REGEX ?= ^$$ # This is to preprocess robustly the output of $(VC_LIST), so that even # when $(srcdir) is a pathological name like "....", the leading sed command # removes only the intended prefix. _dot_escaped_srcdir = $(subst .,\.,$(srcdir)) # Post-process $(VC_LIST) output, prepending $(srcdir)/, but only # when $(srcdir) is not ".". ifeq ($(srcdir),.) _prepend_srcdir_prefix = else _prepend_srcdir_prefix = | sed 's|^|$(srcdir)/|' endif # In order to be able to consistently filter "."-relative names, # (i.e., with no $(srcdir) prefix), this definition is careful to # remove any $(srcdir) prefix, and to restore what it removes. _sc_excl = \ $(if $(exclude_file_name_regexp--$@),$(exclude_file_name_regexp--$@),^$$) VC_LIST_EXCEPT = \ $(VC_LIST) | sed 's|^$(_dot_escaped_srcdir)/||' \ | if test -f $(srcdir)/.x-$@; then grep -vEf $(srcdir)/.x-$@; \ else grep -Ev -e "$${VC_LIST_EXCEPT_DEFAULT-ChangeLog}"; fi \ | grep -Ev -e '($(VC_LIST_ALWAYS_EXCLUDE_REGEX)|$(_sc_excl))' \ $(_prepend_srcdir_prefix) ifeq ($(origin prev_version_file), undefined) prev_version_file = $(srcdir)/.prev-version endif PREV_VERSION := $(shell cat $(prev_version_file) 2>/dev/null) VERSION_REGEXP = $(subst .,\.,$(VERSION)) PREV_VERSION_REGEXP = $(subst .,\.,$(PREV_VERSION)) ifeq ($(VC),$(GIT)) this-vc-tag = v$(VERSION) this-vc-tag-regexp = v$(VERSION_REGEXP) else tag-package = $(shell echo "$(PACKAGE)" | tr '[:lower:]' '[:upper:]') tag-this-version = $(subst .,_,$(VERSION)) this-vc-tag = $(tag-package)-$(tag-this-version) this-vc-tag-regexp = $(this-vc-tag) endif my_distdir = $(PACKAGE)-$(VERSION) # Old releases are stored here. release_archive_dir ?= ../release # Override gnu_rel_host and url_dir_list in cfg.mk if these are not right. # Use alpha.gnu.org for alpha and beta releases. # Use ftp.gnu.org for stable releases. gnu_ftp_host-alpha = alpha.gnu.org gnu_ftp_host-beta = alpha.gnu.org gnu_ftp_host-stable = ftp.gnu.org gnu_rel_host ?= $(gnu_ftp_host-$(RELEASE_TYPE)) ifeq ($(gnu_rel_host),ftp.gnu.org) url_dir_list ?= http://ftpmirror.gnu.org/$(PACKAGE) else url_dir_list ?= ftp://$(gnu_rel_host)/gnu/$(PACKAGE) endif # Override this in cfg.mk if you are using a different format in your # NEWS file. today = $(shell date +%Y-%m-%d) # Select which lines of NEWS are searched for $(news-check-regexp). # This is a sed line number spec. The default says that we search # lines 1..10 of NEWS for $(news-check-regexp). # If you want to search only line 3 or only lines 20-22, use "3" or "20,22". news-check-lines-spec ?= 1,10 news-check-regexp ?= '^\*.* $(VERSION_REGEXP) \($(today)\)' # Prevent programs like 'sort' from considering distinct strings to be equal. # Doing it here saves us from having to set LC_ALL elsewhere in this file. export LC_ALL = C ## --------------- ## ## Sanity checks. ## ## --------------- ## _cfg_mk := $(shell test -f $(srcdir)/cfg.mk && echo '$(srcdir)/cfg.mk') # Collect the names of rules starting with `sc_'. syntax-check-rules := $(sort $(shell sed -n 's/^\(sc_[a-zA-Z0-9_-]*\):.*/\1/p' \ $(srcdir)/$(ME) $(_cfg_mk))) .PHONY: $(syntax-check-rules) ifeq ($(shell $(VC_LIST) >/dev/null 2>&1; echo $$?),0) local-checks-available += $(syntax-check-rules) else local-checks-available += no-vc-detected no-vc-detected: @echo "No version control files detected; skipping syntax check" endif .PHONY: $(local-checks-available) # Arrange to print the name of each syntax-checking rule just before running it. $(syntax-check-rules): %: %.m sc_m_rules_ = $(patsubst %, %.m, $(syntax-check-rules)) .PHONY: $(sc_m_rules_) $(sc_m_rules_): @echo $(patsubst sc_%.m, %, $@) @date +%s.%N > .sc-start-$(basename $@) # Compute and print the elapsed time for each syntax-check rule. sc_z_rules_ = $(patsubst %, %.z, $(syntax-check-rules)) .PHONY: $(sc_z_rules_) $(sc_z_rules_): %.z: % @end=$$(date +%s.%N); \ start=$$(cat .sc-start-$*); \ rm -f .sc-start-$*; \ awk -v s=$$start -v e=$$end \ 'END {printf "%.2f $(patsubst sc_%,%,$*)\n", e - s}' < /dev/null # The patsubst here is to replace each sc_% rule with its sc_%.z wrapper # that computes and prints elapsed time. local-check := \ $(patsubst sc_%, sc_%.z, \ $(filter-out $(local-checks-to-skip), $(local-checks-available))) syntax-check: $(local-check) # _sc_search_regexp # # This macro searches for a given construct in the selected files and # then takes some action. # # Parameters (shell variables): # # prohibit | require # # Regular expression (ERE) denoting either a forbidden construct # or a required construct. Those arguments are exclusive. # # in_vc_files | in_files # # grep-E-style regexp denoting the files to check. If no files # are specified the default are all the files that are under # version control. # # containing | non_containing # # Select the files (non) containing strings matching this regexp. # If both arguments are specified then CONTAINING takes # precedence. # # with_grep_options # # Extra options for grep. # # ignore_case # # Ignore case. # # halt # # Message to display before to halting execution. # # Finally, you may exempt files based on an ERE matching file names. # For example, to exempt from the sc_space_tab check all files with the # .diff suffix, set this Make variable: # # exclude_file_name_regexp--sc_space_tab = \.diff$ # # Note that while this functionality is mostly inherited via VC_LIST_EXCEPT, # when filtering by name via in_files, we explicitly filter out matching # names here as well. # By default, _sc_search_regexp does not ignore case. export ignore_case = _ignore_case = $$(test -n "$$ignore_case" && printf %s -i || :) define _sc_say_and_exit dummy=; : so we do not need a semicolon before each use; \ { printf '%s\n' "$(ME): $$msg" 1>&2; exit 1; }; endef # _sc_search_regexp used to be named _prohibit_regexp. However, # upgrading to the new definition and leaving the old name undefined # would usually convert each custom rule using $(_prohibit_regexp) # (usually defined in cfg.mk) into a no-op. This definition ensures # that people know right away if they're still using the old name. # FIXME: remove in 2012. _prohibit_regexp = \ $(error '*** you need to s/_prohibit_regexp/_sc_search_regexp/, and adapt') define _sc_search_regexp dummy=; : so we do not need a semicolon before each use; \ \ : Check arguments; \ test -n "$$prohibit" && test -n "$$require" \ && { msg='Cannot specify both prohibit and require' \ $(_sc_say_and_exit) } || :; \ test -z "$$prohibit" && test -z "$$require" \ && { msg='Should specify either prohibit or require' \ $(_sc_say_and_exit) } || :; \ test -n "$$in_vc_files" && test -n "$$in_files" \ && { msg='Cannot specify both in_vc_files and in_files' \ $(_sc_say_and_exit) } || :; \ test "x$$halt" != x \ || { msg='halt not defined' $(_sc_say_and_exit) }; \ \ : Filter by file name; \ if test -n "$$in_files"; then \ files=$$(find $(srcdir) | grep -E "$$in_files" \ | grep -Ev '$(exclude_file_name_regexp--$@)'); \ else \ files=$$($(VC_LIST_EXCEPT)); \ if test -n "$$in_vc_files"; then \ files=$$(echo "$$files" | grep -E "$$in_vc_files"); \ fi; \ fi; \ \ : Filter by content; \ test -n "$$files" && test -n "$$containing" \ && { files=$$(grep -l "$$containing" $$files); } || :; \ test -n "$$files" && test -n "$$non_containing" \ && { files=$$(grep -vl "$$non_containing" $$files); } || :; \ \ : Check for the construct; \ if test -n "$$files"; then \ if test -n "$$prohibit"; then \ grep $$with_grep_options $(_ignore_case) -nE "$$prohibit" $$files \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ else \ grep $$with_grep_options $(_ignore_case) -LE "$$require" $$files \ | grep . \ && { msg="$$halt" $(_sc_say_and_exit) } || :; \ fi \ else :; \ fi || :; endef sc_avoid_if_before_free: @$(srcdir)/$(_build-aux)/useless-if-before-free \ $(useless_free_options) \ $$($(VC_LIST_EXCEPT) | grep -v useless-if-before-free) && \ { echo '$(ME): found useless "if" before "free" above' 1>&2; \ exit 1; } || : sc_cast_of_argument_to_free: @prohibit='\&2; exit 1; } || : # Pass EXIT_*, not number, to usage, exit, and error (when exiting) # Convert all uses automatically, via these two commands: # git grep -l '\&2; \ exit 1; } || : # Error messages should not start with a capital letter sc_error_message_uppercase: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '"[A-Z]' \ | grep -vE '"FATAL|"WARNING|"Java|"C#|PRIuMAX' && \ { echo '$(ME): found capitalized error message' 1>&2; \ exit 1; } || : # Error messages should not end with a period sc_error_message_period: @grep -nEA2 '[^rp]error *\(' $$($(VC_LIST_EXCEPT)) \ | grep -E '[^."]\."' && \ { echo '$(ME): found error message ending in period' 1>&2; \ exit 1; } || : sc_file_system: @prohibit=file''system \ ignore_case=1 \ halt='found use of "file''system"; spell it "file system"' \ $(_sc_search_regexp) # Don't use cpp tests of this symbol. All code assumes config.h is included. sc_prohibit_have_config_h: @prohibit='^# *if.*HAVE''_CONFIG_H' \ halt='found use of HAVE''_CONFIG_H; remove' \ $(_sc_search_regexp) # Nearly all .c files must include . However, we also permit this # via inclusion of a package-specific header, if cfg.mk specified one. # config_h_header must be suitable for grep -E. config_h_header ?= sc_require_config_h: @require='^# *include $(config_h_header)' \ in_vc_files='\.c$$' \ halt='the above files do not include ' \ $(_sc_search_regexp) # You must include before including any other header file. # This can possibly be via a package-specific header, if given by cfg.mk. sc_require_config_h_first: @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ fail=0; \ for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ grep '^# *include\>' $$i | sed 1q \ | grep -E '^# *include $(config_h_header)' > /dev/null \ || { echo $$i; fail=1; }; \ done; \ test $$fail = 1 && \ { echo '$(ME): the above files include some other header' \ 'before ' 1>&2; exit 1; } || :; \ else :; \ fi sc_prohibit_HAVE_MBRTOWC: @prohibit='\bHAVE_MBRTOWC\b' \ halt="do not use $$prohibit; it is always defined" \ $(_sc_search_regexp) # To use this "command" macro, you must first define two shell variables: # h: the header name, with no enclosing <> or "" # re: a regular expression that matches IFF something provided by $h is used. define _sc_header_without_use dummy=; : so we do not need a semicolon before each use; \ h_esc=`echo '[<"]'"$$h"'[">]'|sed 's/\./\\\\./g'`; \ if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE "$$re" $$files | grep . && \ { echo "$(ME): the above files include $$h but don't use it" \ 1>&2; exit 1; } || :; \ else :; \ fi endef # Prohibit the inclusion of assert.h without an actual use of assert. sc_prohibit_assert_without_use: @h='assert.h' re='\new(file => "/dev/stdin")->as_string'|sed 's/\?://g' # Note this was produced by the above: # _xa1 = \ #x(((2n?)?re|c(har)?|n(re|m)|z)alloc|alloc_(oversized|die)|m(alloc|emdup)|strdup) # But we can do better, in at least two ways: # 1) take advantage of two "dup"-suffixed strings: # x(((2n?)?re|c(har)?|n(re|m)|[mz])alloc|alloc_(oversized|die)|(mem|str)dup) # 2) notice that "c(har)?|[mz]" is equivalent to the shorter and more readable # "char|[cmz]" # x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa1 = x(((2n?)?re|char|n(re|m)|[cmz])alloc|alloc_(oversized|die)|(mem|str)dup) _xa2 = X([CZ]|N?M)ALLOC sc_prohibit_xalloc_without_use: @h='xalloc.h' \ re='\<($(_xa1)|$(_xa2)) *\('\ $(_sc_header_without_use) # Extract function names: # perl -lne '/^(?:extern )?(?:void|char) \*?(\w+) *\(/ and print $1' lib/hash.h _hash_re = \ clear|delete|free|get_(first|next)|insert|lookup|print_statistics|reset_tuning _hash_fn = \<($(_hash_re)) *\( _hash_struct = (struct )?\<[Hh]ash_(table|tuning)\> sc_prohibit_hash_without_use: @h='hash.h' \ re='$(_hash_fn)|$(_hash_struct)'\ $(_sc_header_without_use) sc_prohibit_cloexec_without_use: @h='cloexec.h' re='\<(set_cloexec_flag|dup_cloexec) *\(' \ $(_sc_header_without_use) sc_prohibit_posixver_without_use: @h='posixver.h' re='\' \ halt='do not use HAVE''_FCNTL_H or O'_NDELAY \ $(_sc_search_regexp) # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ # Each nonempty ChangeLog line must start with a year number, or a TAB. sc_changelog: @prohibit='^[^12 ]' \ in_vc_files='^ChangeLog$$' \ halt='found unexpected prefix in a ChangeLog' \ $(_sc_search_regexp) # Ensure that each .c file containing a "main" function also # calls set_program_name. sc_program_name: @require='set_program_name *\(m?argv\[0\]\);' \ in_vc_files='\.c$$' \ containing='\
/dev/null \ && : || { die=1; echo $$i; } \ done; \ test $$die = 1 && \ { echo 1>&2 '$(ME): the final line in each of the above is not:'; \ echo 1>&2 'Exit something'; \ exit 1; } || :; \ fi sc_trailing_blank: @prohibit='[ ]$$' \ halt='found trailing blank(s)' \ $(_sc_search_regexp) # Match lines like the following, but where there is only one space # between the options and the description: # -D, --all-repeated[=delimit-method] print all duplicate lines\n longopt_re = --[a-z][0-9A-Za-z-]*(\[?=[0-9A-Za-z-]*\]?)? sc_two_space_separator_in_usage: @prohibit='^ *(-[A-Za-z],)? $(longopt_re) [^ ].*\\$$' \ halt='help2man requires at least two spaces between an option and its description'\ $(_sc_search_regexp) # A regexp matching function names like "error" that may be used # to emit translatable messages. _gl_translatable_diag_func_re ?= error # Look for diagnostics that aren't marked for translation. # This won't find any for which error's format string is on a separate line. sc_unmarked_diagnostics: @grep -nE \ '\<$(_gl_translatable_diag_func_re) *\([^"]*"[^"]*[a-z]{3}' \ $$($(VC_LIST_EXCEPT)) \ | grep -Ev '(_|ngettext ?)\(' && \ { echo '$(ME): found unmarked diagnostic(s)' 1>&2; \ exit 1; } || : # Avoid useless parentheses like those in this example: # #if defined (SYMBOL) || defined (SYM2) sc_useless_cpp_parens: @prohibit='^# *if .*defined *\(' \ halt='found useless parentheses in cpp directive' \ $(_sc_search_regexp) # List headers for which HAVE_HEADER_H is always true, assuming you are # using the appropriate gnulib module. CAUTION: for each "unnecessary" # #if HAVE_HEADER_H that you remove, be sure that your project explicitly # requires the gnulib module that guarantees the usability of that header. gl_assured_headers_ = \ cd $(gnulib_dir)/lib && echo *.in.h|sed 's/\.in\.h//g' # Convert the list of names to upper case, and replace each space with "|". az_ = abcdefghijklmnopqrstuvwxyz AZ_ = ABCDEFGHIJKLMNOPQRSTUVWXYZ gl_header_upper_case_or_ = \ $$($(gl_assured_headers_) \ | tr $(az_)/.- $(AZ_)___ \ | tr -s ' ' '|' \ ) sc_prohibit_always_true_header_tests: @or=$(gl_header_upper_case_or_); \ re="HAVE_($$or)_H"; \ prohibit='\<'"$$re"'\>' \ halt=$$(printf '%s\n' \ 'do not test the above HAVE_
_H symbol(s);' \ ' with the corresponding gnulib module, they are always true') \ $(_sc_search_regexp) # ================================================================== gl_other_headers_ ?= \ intprops.h \ openat.h \ stat-macros.h # Perl -lne code to extract "significant" cpp-defined symbols from a # gnulib header file, eliminating a few common false-positives. # The exempted names below are defined only conditionally in gnulib, # and hence sometimes must/may be defined in application code. gl_extract_significant_defines_ = \ /^\# *define ([^_ (][^ (]*)(\s*\(|\s+\w+)/\ && $$2 !~ /(?:rpl_|_used_without_)/\ && $$1 !~ /^(?:NSIG|ENODATA)$$/\ && $$1 !~ /^(?:SA_RESETHAND|SA_RESTART)$$/\ and print $$1 # Create a list of regular expressions matching the names # of macros that are guaranteed to be defined by parts of gnulib. define def_sym_regex gen_h=$(gl_generated_headers_); \ (cd $(gnulib_dir)/lib; \ for f in *.in.h $(gl_other_headers_); do \ test -f $$f \ && perl -lne '$(gl_extract_significant_defines_)' $$f; \ done; \ ) | sort -u \ | sed 's/^/^ *# *(define|undef) */;s/$$/\\>/' endef # Don't define macros that we already get from gnulib header files. sc_prohibit_always-defined_macros: @if test -d $(gnulib_dir); then \ case $$(echo all: | grep -l -f - Makefile) in Makefile);; *) \ echo '$(ME): skipping $@: you lack GNU grep' 1>&2; exit 0;; \ esac; \ $(def_sym_regex) | grep -E -f - $$($(VC_LIST_EXCEPT)) \ && { echo '$(ME): define the above via some gnulib .h file' \ 1>&2; exit 1; } || :; \ fi # ================================================================== # Prohibit checked in backup files. sc_prohibit_backup_files: @$(VC_LIST) | grep '~$$' && \ { echo '$(ME): found version controlled backup file' 1>&2; \ exit 1; } || : # Require the latest GPL. sc_GPL_version: @prohibit='either ''version [^3]' \ halt='GPL vN, N!=3' \ $(_sc_search_regexp) # Require the latest GFDL. Two regexp, since some .texi files end up # line wrapping between 'Free Documentation License,' and 'Version'. _GFDL_regexp = (Free ''Documentation.*Version 1\.[^3]|Version 1\.[^3] or any) sc_GFDL_version: @prohibit='$(_GFDL_regexp)' \ halt='GFDL vN, N!=3' \ $(_sc_search_regexp) # Don't use Texinfo's @acronym{}. # http://lists.gnu.org/archive/html/bug-gnulib/2010-03/msg00321.html texinfo_suffix_re_ ?= \.(txi|texi(nfo)?)$$ sc_texinfo_acronym: @prohibit='@acronym\{' \ in_vc_files='$(texinfo_suffix_re_)' \ halt='found use of Texinfo @acronym{}' \ $(_sc_search_regexp) cvs_keywords = \ Author|Date|Header|Id|Name|Locker|Log|RCSfile|Revision|Source|State sc_prohibit_cvs_keyword: @prohibit='\$$($(cvs_keywords))\$$' \ halt='do not use CVS keyword expansion' \ $(_sc_search_regexp) # This Perl code is slightly obfuscated. Not only is each "$" doubled # because it's in a Makefile, but the $$c's are comments; we cannot # use "#" due to the way the script ends up concatenated onto one line. # It would be much more concise, and would produce better output (including # counts) if written as: # perl -ln -0777 -e '/\n(\n+)$/ and print "$ARGV: ".length $1' ... # but that would be far less efficient, reading the entire contents # of each file, rather than just the last two bytes of each. # In addition, while the code below detects both blank lines and a missing # newline at EOF, the above detects only the former. # # This is a perl script that is expected to be the single-quoted argument # to a command-line "-le". The remaining arguments are file names. # Print the name of each file that ends in exactly one newline byte. # I.e., warn if there are blank lines (2 or more newlines), or if the # last byte is not a newline. However, currently we don't complain # about any file that contains exactly one byte. # Exit nonzero if at least one such file is found, otherwise, exit 0. # Warn about, but otherwise ignore open failure. Ignore seek/read failure. # # Use this if you want to remove trailing empty lines from selected files: # perl -pi -0777 -e 's/\n\n+$/\n/' files... # require_exactly_one_NL_at_EOF_ = \ foreach my $$f (@ARGV) \ { \ open F, "<", $$f or (warn "failed to open $$f: $$!\n"), next; \ my $$p = sysseek (F, -2, 2); \ my $$c = "seek failure probably means file has < 2 bytes; ignore"; \ my $$last_two_bytes; \ defined $$p and $$p = sysread F, $$last_two_bytes, 2; \ close F; \ $$c = "ignore read failure"; \ $$p && ($$last_two_bytes eq "\n\n" \ || substr ($$last_two_bytes,1) ne "\n") \ and (print $$f), $$fail=1; \ } \ END { exit defined $$fail } sc_prohibit_empty_lines_at_EOF: @perl -le '$(require_exactly_one_NL_at_EOF_)' $$($(VC_LIST_EXCEPT)) \ || { echo '$(ME): empty line(s) or no newline at EOF' \ 1>&2; exit 1; } || : # Make sure we don't use st_blocks. Use ST_NBLOCKS instead. # This is a bit of a kludge, since it prevents use of the string # even in comments, but for now it does the job with no false positives. sc_prohibit_stat_st_blocks: @prohibit='[.>]st_blocks' \ halt='do not use st_blocks; use ST_NBLOCKS' \ $(_sc_search_regexp) # Make sure we don't define any S_IS* macros in src/*.c files. # They're already defined via gnulib's sys/stat.h replacement. sc_prohibit_S_IS_definition: @prohibit='^ *# *define *S_IS' \ halt='do not define S_IS* macros; include ' \ $(_sc_search_regexp) # Perl block to convert a match to FILE_NAME:LINENO:TEST, # that is shared by two definitions below. perl_filename_lineno_text_ = \ -e ' {' \ -e ' $$n = ($$` =~ tr/\n/\n/ + 1);' \ -e ' ($$v = $$&) =~ s/\n/\\n/g;' \ -e ' print "$$ARGV:$$n:$$v\n";' \ -e ' }' prohibit_doubled_word_RE_ ?= \ /\b(then?|[iao]n|i[fst]|but|f?or|at|and|[dt]o)\s+\1\b/gims prohibit_doubled_word_ = \ -e 'while ($(prohibit_doubled_word_RE_))' \ $(perl_filename_lineno_text_) # Define this to a regular expression that matches # any filename:dd:match lines you want to ignore. # The default is to ignore no matches. ignore_doubled_word_match_RE_ ?= ^$$ sc_prohibit_doubled_word: @perl -n -0777 $(prohibit_doubled_word_) $$($(VC_LIST_EXCEPT)) \ | grep -vE '$(ignore_doubled_word_match_RE_)' \ | grep . && { echo '$(ME): doubled words' 1>&2; exit 1; } || : # A regular expression matching undesirable combinations of words like # "can not"; this matches them even when the two words appear on different # lines, but not when there is an intervening delimiter like "#" or "*". prohibit_undesirable_word_seq_RE_ ?= \ /\bcan\s+not\b/gims prohibit_undesirable_word_seq_ = \ -e 'while ($(prohibit_undesirable_word_seq_RE_))' \ $(perl_filename_lineno_text_) # Define this to a regular expression that matches # any filename:dd:match lines you want to ignore. # The default is to ignore no matches. ignore_undesirable_word_sequence_RE_ ?= ^$$ sc_prohibit_undesirable_word_seq: @perl -n -0777 $(prohibit_undesirable_word_seq_) \ $$($(VC_LIST_EXCEPT)) \ | grep -vE '$(ignore_undesirable_word_sequence_RE_)' | grep . \ && { echo '$(ME): undesirable word sequence' >&2; exit 1; } || : _ptm1 = use "test C1 && test C2", not "test C1 -''a C2" _ptm2 = use "test C1 || test C2", not "test C1 -''o C2" # Using test's -a and -o operators is not portable. # We prefer test over [, since the latter is spelled [[ in configure.ac. sc_prohibit_test_minus_ao: @prohibit='(\ /dev/null \ || { fail=1; echo 1>&2 "$(ME): $$p uses proper_name_utf8"; }; \ done; \ test $$fail = 1 && \ { echo 1>&2 '$(ME): the above do not link with any ICONV library'; \ exit 1; } || :; \ fi # Warn about "c0nst struct Foo const foo[]", # but not about "char const *const foo" or "#define const const". sc_redundant_const: @prohibit='\bconst\b[[:space:][:alnum:]]{2,}\bconst\b' \ halt='redundant "const" in declarations' \ $(_sc_search_regexp) sc_const_long_option: @grep '^ *static.*struct option ' $$($(VC_LIST_EXCEPT)) \ | grep -Ev 'const struct option|struct option const' && { \ echo 1>&2 '$(ME): add "const" to the above declarations'; \ exit 1; } || : NEWS_hash = \ $$(sed -n '/^\*.* $(PREV_VERSION_REGEXP) ([0-9-]*)/,$$p' \ $(srcdir)/NEWS \ | perl -0777 -pe \ 's/^Copyright.+?Free\sSoftware\sFoundation,\sInc\.\n//ms' \ | md5sum - \ | sed 's/ .*//') # Ensure that we don't accidentally insert an entry into an old NEWS block. sc_immutable_NEWS: @if test -f $(srcdir)/NEWS; then \ test "$(NEWS_hash)" = '$(old_NEWS_hash)' && : || \ { echo '$(ME): you have modified old NEWS' 1>&2; exit 1; }; \ fi # Update the hash stored above. Do this after each release and # for any corrections to old entries. update-NEWS-hash: NEWS perl -pi -e 's/^(old_NEWS_hash[ \t]+:?=[ \t]+).*/$${1}'"$(NEWS_hash)/" \ $(srcdir)/cfg.mk # Ensure that we use only the standard $(VAR) notation, # not @...@ in Makefile.am, now that we can rely on automake # to emit a definition for each substituted variable. # However, there is still one case in which @VAR@ use is not just # legitimate, but actually required: when augmenting an automake-defined # variable with a prefix. For example, gettext uses this: # MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@ # otherwise, makeinfo would put German or French (current locale) # navigation hints in the otherwise-English documentation. # # Allow the package to add exceptions via a hook in cfg.mk; # for example, @PRAGMA_SYSTEM_HEADER@ can be permitted by # setting this to ' && !/PRAGMA_SYSTEM_HEADER/'. _makefile_at_at_check_exceptions ?= sc_makefile_at_at_check: @perl -ne '/\@[A-Z_0-9]+\@/' \ -e ' && !/([A-Z_0-9]+)\s+=.*\@\1\@$$/' \ -e ''$(_makefile_at_at_check_exceptions) \ -e 'and (print "$$ARGV:$$.: $$_"), $$m=1; END {exit !$$m}' \ $$($(VC_LIST_EXCEPT) | grep -E '(^|/)(Makefile\.am|[^/]+\.mk)$$') \ && { echo '$(ME): use $$(...), not @...@' 1>&2; exit 1; } || : news-check: NEWS if sed -n $(news-check-lines-spec)p $(srcdir)/NEWS \ | grep -E $(news-check-regexp) >/dev/null; then \ :; \ else \ echo 'NEWS: $$(news-check-regexp) failed to match' 1>&2; \ exit 1; \ fi sc_makefile_TAB_only_indentation: @prohibit='^ [ ]{8}' \ in_vc_files='akefile|\.mk$$' \ halt='found TAB-8-space indentation' \ $(_sc_search_regexp) sc_m4_quote_check: @prohibit='(AC_DEFINE(_UNQUOTED)?|AC_DEFUN)\([^[]' \ in_vc_files='(^configure\.ac|\.m4)$$' \ halt='quote the first arg to AC_DEF*' \ $(_sc_search_regexp) fix_po_file_diag = \ 'you have changed the set of files with translatable diagnostics;\n\ apply the above patch\n' # Verify that all source files using _() are listed in po/POTFILES.in. po_file ?= $(srcdir)/po/POTFILES.in generated_files ?= $(srcdir)/lib/*.[ch] sc_po_check: @if test -f $(po_file); then \ grep -E -v '^(#|$$)' $(po_file) \ | grep -v '^src/false\.c$$' \ | sed 's|\[type: gettext/glade\] ||' \ | sort > $@-1; \ files=; \ for file in $$($(VC_LIST_EXCEPT)) $(generated_files); do \ test -r $$file || continue; \ case $$file in \ *.m4|*.mk) continue ;; \ *.?|*.??) ;; \ *.xml) ;; \ *) continue;; \ esac; \ case $$file in \ *.[ch]) \ base=`expr " $$file" : ' \(.*\)\..'`; \ { test -f $$base.l || test -f $$base.y; } && continue;; \ esac; \ files="$$files $$file"; \ done; \ grep -E -l '(\b(N?_|gettext *)\([^)"]*("|$$))|()' $$files \ | sed 's|^$(_dot_escaped_srcdir)/||' | sort -u > $@-2; \ diff -u -L $(po_file) -L $(po_file) $@-1 $@-2 \ || { printf '$(ME): '$(fix_po_file_diag) 1>&2; exit 1; }; \ rm -f $@-1 $@-2; \ fi # Sometimes it is useful to change the PATH environment variable # in Makefiles. When doing so, it's better not to use the Unix-centric # path separator of `:', but rather the automake-provided `$(PATH_SEPARATOR)'. msg = '$(ME): Do not use `:'\'' above; use $$(PATH_SEPARATOR) instead' sc_makefile_path_separator_check: @prohibit='PATH[=].*:' \ in_vc_files='akefile|\.mk$$' \ halt=$(msg) \ $(_sc_search_regexp) # Check that `make alpha' will not fail at the end of the process, # i.e., when pkg-M.N.tar.xz already exists (either in "." or in ../release) # and is read-only. writable-files: if test -d $(release_archive_dir); then \ for file in $(DIST_ARCHIVES); do \ for p in ./ $(release_archive_dir)/; do \ test -e $$p$$file || continue; \ test -w $$p$$file \ || { echo ERROR: $$p$$file is not writable; fail=1; }; \ done; \ done; \ test "$$fail" && exit 1 || : ; \ else :; \ fi v_etc_file = $(gnulib_dir)/lib/version-etc.c sample-test = tests/sample-test texi = doc/$(PACKAGE).texi # Make sure that the copyright date in $(v_etc_file) is up to date. # Do the same for the $(sample-test) and the main doc/.texi file. sc_copyright_check: @require='enum { COPYRIGHT_YEAR = '$$(date +%Y)' };' \ in_files=$(v_etc_file) \ halt='out of date copyright in $(v_etc_file); update it' \ $(_sc_search_regexp) @require='# Copyright \(C\) '$$(date +%Y)' Free' \ in_vc_files=$(sample-test) \ halt='out of date copyright in $(sample-test); update it' \ $(_sc_search_regexp) @require='Copyright @copyright\{\} .*'$$(date +%Y)' Free' \ in_vc_files=$(texi) \ halt='out of date copyright in $(texi); update it' \ $(_sc_search_regexp) # If tests/help-version exists and seems to be new enough, assume that its # use of init.sh and path_prepend_ is correct, and ensure that every other # use of init.sh is identical. # This is useful because help-version cross-checks prog --version # with $(VERSION), which verifies that its path_prepend_ invocation # sets PATH correctly. This is an inexpensive way to ensure that # the other init.sh-using tests also get it right. _hv_file ?= $(srcdir)/tests/help-version _hv_regex_weak ?= ^ *\. .*/init\.sh" # Fix syntax-highlighters " _hv_regex_strong ?= ^ *\. "\$${srcdir=\.}/init\.sh" sc_cross_check_PATH_usage_in_tests: @if test -f $(_hv_file); then \ grep -l 'VERSION mismatch' $(_hv_file) >/dev/null \ || { echo "$@: skipped: no such file: $(_hv_file)" 1>&2; \ exit 0; }; \ grep -lE '$(_hv_regex_strong)' $(_hv_file) >/dev/null \ || { echo "$@: $(_hv_file) lacks conforming use of init.sh" 1>&2; \ exit 1; }; \ good=$$(grep -E '$(_hv_regex_strong)' $(_hv_file)); \ grep -LFx "$$good" \ $$(grep -lE '$(_hv_regex_weak)' $$($(VC_LIST_EXCEPT))) \ | grep . && \ { echo "$(ME): the above files use path_prepend_ inconsistently" \ 1>&2; exit 1; } || :; \ fi # #if HAVE_... will evaluate to false for any non numeric string. # That would be flagged by using -Wundef, however gnulib currently # tests many undefined macros, and so we can't enable that option. # So at least preclude common boolean strings as macro values. sc_Wundef_boolean: @prohibit='^#define.*(yes|no|true|false)$$' \ in_files='$(CONFIG_INCLUDE)' \ halt='Use 0 or 1 for macro values' \ $(_sc_search_regexp) # Even if you use pathmax.h to guarantee that PATH_MAX is defined, it might # not be constant, or might overflow a stack. In general, use PATH_MAX as # a limit, not an array or alloca size. sc_prohibit_path_max_allocation: @prohibit='(\balloca *\([^)]*|\[[^]]*)PATH_MAX' \ halt='Avoid stack allocations of size PATH_MAX' \ $(_sc_search_regexp) sc_vulnerable_makefile_CVE-2009-4029: @prohibit='perm -777 -exec chmod a\+rwx|chmod 777 \$$\(distdir\)' \ in_files=$$(find $(srcdir) -name Makefile.in) \ halt=$$(printf '%s\n' \ 'the above files are vulnerable; beware of running' \ ' "make dist*" rules, and upgrade to fixed automake' \ ' see http://bugzilla.redhat.com/542609 for details') \ $(_sc_search_regexp) vc-diff-check: (unset CDPATH; cd $(srcdir) && $(VC) diff) > vc-diffs || : if test -s vc-diffs; then \ cat vc-diffs; \ echo "Some files are locally modified:" 1>&2; \ exit 1; \ else \ rm vc-diffs; \ fi rel-files = $(DIST_ARCHIVES) gnulib_dir ?= $(srcdir)/gnulib gnulib-version = $$(cd $(gnulib_dir) && git describe) bootstrap-tools ?= autoconf,automake,gnulib # If it's not already specified, derive the GPG key ID from # the signed tag we've just applied to mark this release. gpg_key_ID ?= \ $$(git cat-file tag v$(VERSION) > .ann-sig \ && gpgv .ann-sig - < /dev/null 2>&1 \ | sed -n '/.*key ID \([0-9A-F]*\)/s//\1/p'; rm -f .ann-sig) translation_project_ ?= coordinator@translationproject.org # Make info-gnu the default only for a stable release. ifeq ($(RELEASE_TYPE),stable) announcement_Cc_ ?= $(translation_project_), $(PACKAGE_BUGREPORT) announcement_mail_headers_ ?= \ To: info-gnu@gnu.org \ Cc: $(announcement_Cc_) \ Mail-Followup-To: $(PACKAGE_BUGREPORT) else announcement_Cc_ ?= $(translation_project_) announcement_mail_headers_ ?= \ To: $(PACKAGE_BUGREPORT) \ Cc: $(announcement_Cc_) endif announcement: NEWS ChangeLog $(rel-files) @$(srcdir)/$(_build-aux)/announce-gen \ --mail-headers='$(announcement_mail_headers_)' \ --release-type=$(RELEASE_TYPE) \ --package=$(PACKAGE) \ --prev=$(PREV_VERSION) \ --curr=$(VERSION) \ --gpg-key-id=$(gpg_key_ID) \ --news=$(srcdir)/NEWS \ --bootstrap-tools=$(bootstrap-tools) \ --gnulib-version=$(gnulib-version) \ --no-print-checksums \ $(addprefix --url-dir=, $(url_dir_list)) ## ---------------- ## ## Updating files. ## ## ---------------- ## ftp-gnu = ftp://ftp.gnu.org/gnu www-gnu = http://www.gnu.org upload_dest_dir_ ?= $(PACKAGE) emit_upload_commands: @echo ===================================== @echo ===================================== @echo "$(srcdir)/$(_build-aux)/gnupload $(GNUPLOADFLAGS) \\" @echo " --to $(gnu_rel_host):$(upload_dest_dir_) \\" @echo " $(rel-files)" @echo '# send the ~/announce-$(my_distdir) e-mail' @echo ===================================== @echo ===================================== define emit-commit-log printf '%s\n' 'maint: post-release administrivia' '' \ '* NEWS: Add header line for next release.' \ '* .prev-version: Record previous version.' \ '* cfg.mk (old_NEWS_hash): Auto-update.' endef .PHONY: no-submodule-changes no-submodule-changes: if test -d $(srcdir)/.git; then \ diff=$$(cd $(srcdir) && git submodule -q foreach \ git diff-index --name-only HEAD) \ || exit 1; \ case $$diff in '') ;; \ *) echo '$(ME): submodule files are locally modified:'; \ echo "$$diff"; exit 1;; esac; \ else \ : ; \ fi submodule-checks ?= no-submodule-changes public-submodule-commit # Ensure that each sub-module commit we're using is public. # Without this, it is too easy to tag and release code that # cannot be built from a fresh clone. .PHONY: public-submodule-commit public-submodule-commit: $(AM_V_GEN)if test -d $(srcdir)/.git; then \ cd $(srcdir) && \ git submodule --quiet foreach test '$$(git rev-parse $$sha1)' \ = '$$(git merge-base origin $$sha1)' \ || { echo '$(ME): found non-public submodule commit' >&2; \ exit 1; }; \ else \ : ; \ fi # This rule has a high enough utility/cost ratio that it should be a # dependent of "check" by default. However, some of us do occasionally # commit a temporary change that deliberately points to a non-public # submodule commit, and want to be able to use rules like "make check". # In that case, run e.g., "make check gl_public_submodule_commit=" # to disable this test. gl_public_submodule_commit ?= public-submodule-commit check: $(gl_public_submodule_commit) .PHONY: alpha beta stable ALL_RECURSIVE_TARGETS += alpha beta stable alpha beta stable: $(local-check) writable-files $(submodule-checks) test $@ = stable \ && { echo $(VERSION) | grep -E '^[0-9]+(\.[0-9]+)+$$' \ || { echo "invalid version string: $(VERSION)" 1>&2; exit 1;};}\ || : $(MAKE) vc-diff-check $(MAKE) news-check $(MAKE) distcheck $(MAKE) dist XZ_OPT=-9ev $(MAKE) $(release-prep-hook) RELEASE_TYPE=$@ $(MAKE) -s emit_upload_commands RELEASE_TYPE=$@ # Override this in cfg.mk if you follow different procedures. release-prep-hook ?= release-prep gl_noteworthy_news_ = * Noteworthy changes in release ?.? (????-??-??) [?] .PHONY: release-prep release-prep: case $$RELEASE_TYPE in alpha|beta|stable) ;; \ *) echo "invalid RELEASE_TYPE: $$RELEASE_TYPE" 1>&2; exit 1;; esac $(MAKE) --no-print-directory -s announcement > ~/announce-$(my_distdir) if test -d $(release_archive_dir); then \ ln $(rel-files) $(release_archive_dir); \ chmod a-w $(rel-files); \ fi echo $(VERSION) > $(prev_version_file) $(MAKE) update-NEWS-hash perl -pi -e '$$. == 3 and print "$(gl_noteworthy_news_)\n\n\n"' NEWS $(emit-commit-log) > .ci-msg $(VC) commit -F .ci-msg -a rm .ci-msg # Override this with e.g., -s $(srcdir)/some_other_name.texi # if the default $(PACKAGE)-derived name doesn't apply. gendocs_options_ ?= .PHONY: web-manual web-manual: @test -z "$(manual_title)" \ && { echo define manual_title in cfg.mk 1>&2; exit 1; } || : @cd '$(srcdir)/doc'; \ $(SHELL) ../$(_build-aux)/gendocs.sh $(gendocs_options_) \ -o '$(abs_builddir)/doc/manual' \ --email $(PACKAGE_BUGREPORT) $(PACKAGE) \ "$(PACKAGE_NAME) - $(manual_title)" @echo " *** Upload the doc/manual directory to web-cvs." # Code Coverage init-coverage: $(MAKE) $(AM_MAKEFLAGS) clean lcov --directory . --zerocounters COVERAGE_CCOPTS ?= "-g --coverage" COVERAGE_OUT ?= doc/coverage build-coverage: $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) CXXFLAGS=$(COVERAGE_CCOPTS) check mkdir -p $(COVERAGE_OUT) lcov --directory . --output-file $(COVERAGE_OUT)/$(PACKAGE).info \ --capture gen-coverage: genhtml --output-directory $(COVERAGE_OUT) \ $(COVERAGE_OUT)/$(PACKAGE).info \ --highlight --frames --legend \ --title "$(PACKAGE_NAME)" coverage: init-coverage build-coverage gen-coverage # Update gettext files. PACKAGE ?= $(shell basename $(PWD)) PO_DOMAIN ?= $(PACKAGE) POURL = http://translationproject.org/latest/$(PO_DOMAIN)/ PODIR ?= po refresh-po: rm -f $(PODIR)/*.po && \ echo "$(ME): getting translations into po (please ignore the robots.txt ERROR 404)..." && \ wget --no-verbose --directory-prefix $(PODIR) --no-directories --recursive --level 1 --accept .po --accept .po.1 $(POURL) && \ echo 'en@boldquot' > $(PODIR)/LINGUAS && \ echo 'en@quot' >> $(PODIR)/LINGUAS && \ ls $(PODIR)/*.po | sed 's/\.po//' | sed 's,$(PODIR)/,,' | sort >> $(PODIR)/LINGUAS # Running indent once is not idempotent, but running it twice is. INDENT_SOURCES ?= $(C_SOURCES) .PHONY: indent indent: indent $(INDENT_SOURCES) indent $(INDENT_SOURCES) # If you want to set UPDATE_COPYRIGHT_* environment variables, # put the assignments in this variable. update-copyright-env ?= # Run this rule once per year (usually early in January) # to update all FSF copyright year lists in your project. # If you have an additional project-specific rule, # add it in cfg.mk along with a line 'update-copyright: prereq'. # By default, exclude all variants of COPYING; you can also # add exemptions (such as ChangeLog..* for rotated change logs) # in the file .x-update-copyright. .PHONY: update-copyright update-copyright: grep -l -w Copyright \ $$(export VC_LIST_EXCEPT_DEFAULT=COPYING && $(VC_LIST_EXCEPT)) \ | $(update-copyright-env) xargs $(srcdir)/$(_build-aux)/$@ # This tight_scope test is skipped with a warning if $(_gl_TS_headers) is not # overridden and $(_gl_TS_dir)/Makefile.am does not mention noinst_HEADERS. # NOTE: to override any _gl_TS_* default value, you must # define the variable(s) using "export" in cfg.mk. _gl_TS_dir ?= src ALL_RECURSIVE_TARGETS += sc_tight_scope sc_tight_scope: tight-scope.mk @fail=0; \ if ! grep '^ *export _gl_TS_headers *=' $(srcdir)/cfg.mk \ > /dev/null \ && ! grep -w noinst_HEADERS $(srcdir)/$(_gl_TS_dir)/Makefile.am \ > /dev/null 2>&1; then \ echo '$(ME): skipping $@'; \ else \ $(MAKE) -s -C $(_gl_TS_dir) \ -f Makefile \ -f $(abs_top_srcdir)/cfg.mk \ -f $(abs_top_builddir)/$< \ _gl_tight_scope \ || fail=1; \ fi; \ rm -f $<; \ exit $$fail tight-scope.mk: $(ME) @rm -f $@ $@-t @perl -ne '/^# TS-start/.../^# TS-end/ and print' $(ME) > $@-t @chmod a=r $@-t && mv $@-t $@ ifeq (a,b) # TS-start # Most functions should have static scope. # Any that don't must be marked with `extern', but `main' # and `usage' are exceptions: they're always extern, but # do not need to be marked. Symbols matching `__.*' are # reserved by the compiler, so are automatically excluded below. _gl_TS_unmarked_extern_functions ?= main usage _gl_TS_function_match ?= /^(?:$(_gl_TS_extern)) +.*?(\S+) *\(/ # If your project uses a macro like "XTERN", then put # the following in cfg.mk to override this default: # export _gl_TS_extern = extern|XTERN _gl_TS_extern ?= extern # The second nm|grep checks for file-scope variables with `extern' scope. # Without gnulib's progname module, you might put program_name here. # Symbols matching `__.*' are reserved by the compiler, # so are automatically excluded below. _gl_TS_unmarked_extern_vars ?= # NOTE: the _match variables are perl expressions -- not mere regular # expressions -- so that you can extend them to match other patterns # and easily extract matched variable names. # For example, if your project declares some global variables via # a macro like this: GLOBAL(type, var_name, initializer), then you # can override this definition to automatically extract those names: # export _gl_TS_var_match = \ # /^(?:$(_gl_TS_extern)) .*?\**(\w+)(\[.*?\])?;/ || /\bGLOBAL\(.*?,\s*(.*?),/ _gl_TS_var_match ?= /^(?:$(_gl_TS_extern)) .*?(\w+)(\[.*?\])?;/ # The names of object files in (or relative to) $(_gl_TS_dir). _gl_TS_obj_files ?= *.$(OBJEXT) # Files in which to search for the one-line style extern declarations. # $(_gl_TS_dir)-relative. _gl_TS_headers ?= $(noinst_HEADERS) .PHONY: _gl_tight_scope _gl_tight_scope: $(bin_PROGRAMS) t=exceptions-$$$$; \ trap 's=$$?; rm -f $$t; exit $$s' 0; \ for sig in 1 2 3 13 15; do \ eval "trap 'v=`expr $$sig + 128`; (exit $$v); exit $$v' $$sig"; \ done; \ src=`for f in $(SOURCES); do \ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ hdr=`for f in $(_gl_TS_headers); do \ test -f $$f && d= || d=$(srcdir)/; echo $$d$$f; done`; \ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_functions); \ grep -h -A1 '^extern .*[^;]$$' $$src \ | grep -vE '^(extern |--)' | sed 's/ .*//'; \ perl -lne \ '$(_gl_TS_function_match) and print "^$$1\$$"' $$hdr; \ ) | sort -u > $$t; \ nm -e $(_gl_TS_obj_files) | sed -n 's/.* T //p'|grep -Ev -f $$t \ && { echo the above functions should have static scope >&2; \ exit 1; } || : ; \ ( printf '^%s$$\n' '__.*' $(_gl_TS_unmarked_extern_vars); \ perl -lne '$(_gl_TS_var_match) and print "^$$1\$$"' $$hdr *.h \ ) | sort -u > $$t; \ nm -e $(_gl_TS_obj_files) | sed -n 's/.* [BCDGRS] //p' \ | sort -u | grep -Ev -f $$t \ && { echo the above variables should have static scope >&2; \ exit 1; } || : # TS-end endif entangle-0.5.4/src/0000775000000000000000000000000012253421053011052 500000000000000entangle-0.5.4/src/icons/0000775000000000000000000000000012253421054012166 500000000000000entangle-0.5.4/src/icons/32x32/0000775000000000000000000000000012253421053012746 500000000000000entangle-0.5.4/src/icons/32x32/Makefile.am0000664000000000000000000000006212253420652014724 00000000000000 SUBDIRS = actions -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/32x32/Makefile.in0000664000000000000000000005153012253420722014741 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/32x32 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/32x32/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/32x32/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/32x32/actions/0000775000000000000000000000000012253421054014407 500000000000000entangle-0.5.4/src/icons/32x32/actions/Makefile.am0000664000000000000000000000022312253420652016363 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/32x32/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/32x32/actions/Makefile.in0000664000000000000000000004155112253420722016403 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/32x32/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/32x32/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/32x32/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/32x32/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/32x32/actions/preview.png0000664000000000000000000000513112253420652016521 00000000000000PNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@p 00y**JK3 [w;zd?v001dd`xA52tӍ * 20p 20`{@۷.nbg7E7fF+6{6 0;vPȸ:[oqԿZAAO/P ?\N]wwxKl}Z$÷7~' ~Bu_L$o>+ %×? |, LL 2b< OU bRy/~qױk'p.[+/3r30 !FD FPP;99=''OUyCl,Y,T3}Ah4 pbogV11y0p0K{a;wGk.=@%61je½ < -N:V`2z@45b8wì;0hg͠,Đ&%7^ry5Ӟ3;qwx@~ͥ Ê@K_30+@QA67nd򘙁 ZQ jrļ/{;'|X<@@-;"<<l, l >30#@gL b \b32|p: 6\*0m]w g ʁ>6/?#X#'0?h9'3r(f 3_p:\:pb ԧhò`xsi;кv/iW/?~kSS@KUqA>g 0Ƞ&JK@5!4'}53w,z@{;΃Oz̖ D)L Ͼ20;s ?2[p7#'Х_gk@퇁,Z$-S88pQl o 35ǥC oo3o3qgba7 ]U `G _fx[ u 2Pz"3(2 d0'0ZF(8*1C'T?ÓGξpa`CR'%C1< `Fk .ihkt~c0dmr-yw8,C_]7c=fjY, ":&؀AРBطl+7!/x7&'n`Vf` * W  HZ- &El^]_o^9T,T032  cRc97|R)V(  Ub3bp(ɠddC[. s# ƁЀ  2IENDB`entangle-0.5.4/src/icons/32x32/actions/capture.png0000664000000000000000000000514512253420652016510 00000000000000PNG  IHDR szzgAMA7tEXtSoftwareAdobe ImageReadyqe< IDATxb?@bb`@b43BpG?2 ijjdrqucf'黇/^͊ο:@4#`_21A 63#OO/ FcVdh*ϟ t/VVF, ?Z4/33220Ԁr 3ӽ?n2k;c󷘅fK__' +ß?^W߿1133 ;;''ica7 8t~cbÇ7>aph%pٜL?~cx|r faehpQ.M kT2۲ -fa8q7Na9^|gexϽ[ ," @$@1$_\  daacVVf0 o߾`0ёbv0,C#`03h4×/^^?* bB #,3hZ'| ޽bfe(guA\ҕABFaiD   B< %ynܸ *,oO^= tbaa ^Ő 0s ߂❍ 1()2&++;o߾1 V~sr2'0X8$E޻ǫ!$S1 0KJu (BR1-ÑBRvz+4ҡf}?d8g ]؉( ORX(dhr7I6b 9iO@,LO\/ :: |OX M@?Ë.`<C?6ݻ3(*3l9>}W "񅁟_cPBJ[D uu Jaǎ aPRa|ciB <~l~`o̰nj`T~F1$ÍkTT4 5.0m f#6by- kfA?׿Y> j~faL@K XpM;;O `;L@L׮];t] N` :EY>w__nF6n.o@)gt$;/33 bbuɻwT  7mapdTH21jq`qjï/,6F"A1++;0}f~60x>|xV o G<j 5S(c`b`h3З@,>@=+p 4/45́e|f`HqXS XDDD@w߉\J$&L&O@ 50U(:CG`1pp}X'0+ ϟ_0:1P3 A濺p߿:[P/.. \\\ZT|޽{w`6̙q#H3jYHf<jLJO5? 999=<.D6vA7b+WZzVNNv9"8 P5,/N' $l?2%~* OA}`4:>0n^'@fO$6 Pqׯ?~77>Zޚ l-P1 P_~?@h;nT <IENDB`entangle-0.5.4/src/icons/Makefile.am0000664000000000000000000000012012253420653014137 00000000000000 SUBDIRS = 128x128 16x16 22x22 32x32 48x48 64x64 -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/64x64/0000775000000000000000000000000012253421054012761 500000000000000entangle-0.5.4/src/icons/64x64/Makefile.am0000664000000000000000000000006212253420653014737 00000000000000 SUBDIRS = actions -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/64x64/Makefile.in0000664000000000000000000005153012253420722014753 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/64x64 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/64x64/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/64x64/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/64x64/actions/0000775000000000000000000000000012253421054014421 500000000000000entangle-0.5.4/src/icons/64x64/actions/Makefile.am0000664000000000000000000000022312253420653016376 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/64x64/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/64x64/actions/Makefile.in0000664000000000000000000004155112253420722016415 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/64x64/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/64x64/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/64x64/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/64x64/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/64x64/actions/preview.png0000664000000000000000000001525512253420653016544 00000000000000PNG  IHDR@@iqgAMA7tEXtSoftwareAdobe ImageReadyqe<?IDATxb?H0@4 F|Ј@#>H@ʍՂS]h.ˏ?~}|۷ow߻wP @-AJ "YYYO555.9Y~vv6?~b+/nݺpw<<9T;@Q>>>LLL횚I6j , odxÇϿ~ /7;×N:p?nlow1<*DQxyy.Ҳ``ca8{;ñ, s2p0230W_^1y (AM^a K6`x/ѯmgqg7ŏiE@~ T\\|cttg`c```pa0bbb`/ #/W|a`?>?9AGSܹs [wfKaxWa۟.~q?p_ ܛldp_yb=Xu˟}d3 H1ǟ g8|߻ r \c8t`?ìDĥ{ϰg|?yal+)Ai`@d0oJHHur0g8ze97CC:/1Ïo?b? 0(4@ |ïn ,72̞;?0p=?0lϮ|v``Z|͕@g#'pvvsrrZ'CN(p&o?@f_ ߁!!.<` / ` ;v SM޾ q g` 0Y12黟 }bq={/1<{Φ  ")IX,..WSQd(.Ő } .!a` @'0~De`x ^O-3LZAXke&"^&X v/̰.x lgx}nùY/(  )Iؘ񰳳WVf8yw63`AP? /# L9X!cـa/v`` >`3xJ[(`^koNF5 83p2#Cȁ ̉{#_[Z~x핝 aQ6t%:Kl Zz|́L޾ 8/ÏX՟?فʖ. C@ᩌ6W4v̛fxIHQ_  r@fM L@63ɉ}oǵ~/}>Q۫܃(DtJ 8 m_0=^AA$'0A?O:L A` l+r20c4 ɝ "?00qB tL מ31l+AE ,Ad8"V` kuҼp^ts\`x @˟A ⇄JQCC_Xqs1qPDJұ/ww@]:IM< qPxT-ǂ5( q܈5NM/:־ . оNÃ"4=L aVݸ,cy{Ȟ>߁^F sBYXǼ_ ڝЩ R@ , 4 ff`f|@hJ= t)#Ry@Y"@ىh(;7_? /,@> *71wx~п=W@&":С^`+/ ?``V_~B04<y&DW}ЬTcf!~02 B@0@߁ Q Ϊ 5?6[bxp~*."AQAܸy3cfD7߁ƿzdzL_rga##~sʠ" "_P h.R[@ZY/$bk g852硱q@D˗?I_yꍸ$D/@;oO)a:y4OP᝛g b y';·Py~P3 2+Xɇ y0Ímg x"eL7 o޼' g @J2CRC`<:`X" ,m"m34P~Cc (Ps | odpqePU 29nRFh Q?r6>as;#N [D|KPw{K^[ \-hv޲@K$ l) [@HTڳ@ВT)p{` W?op[Ԧ%}Pi!op'~Ͱ_ GzcP,I RLNfFj ϜcG!aa`@H=4ςAR-k#{~W B Nԝ. '%p C_ _:<@;B= -38X`` |f3\gx~ *l^ &"KΞr v c}! N^(FA%v0@e@qnP* P=w5þkx~0<gO13|:=Ps{įAe&! qO6w /zpnIo ngw%9$k`L1|D_?~}?`30P1k [?ÁH4cAi- ?a >s2x/Fl P@{P)  @>UI=( ~0cxw6˿km&.0E= Ff`w 3< lX0" _= rλ%%$3, YM 2^ Bs1x,xpc A G @?JR* ;` T@R'h@ ~œ?s^<f v``B"L '0 vN` <` (IY>e~`zNd` <maXEu9;~ 4f.>@R# W:C*87@9 _ ã_ \G  @`zV7H#` N?~3hCFH= +6M@|R=}^Xl32pZ39K83ay0W%HwY>pH/UqK@} dhG 8H 1 81AI/S{}v! $2- : f6\R "~2 q ZB ?5kAY?t$ǿ ~be1?J!qh@0iab@_`h`]Av3+Ñ w?: t`w@ p b).uY/Q[GVqU)gSqD`TSg Р+x2VXl;ci1û_7)XvA 쿌&͐AIdX˝ Vسva10A;> "fj @̬ (h#̔"`oq9P/t ">3 \Up(ѿ}ga ab`x4ī ~XAG|s20CkO@27j4q V`qpdfSIR b б;vppV0<~ ܘaadvm1| lV3Diˌ? h5%`CdkC!K/h =/ q!M:ta:Ъ=@ rAlE!ndɠ b/,c#h. *B@xB;D?No1 xF6~1rp0pcdb8' ߶c8=τ!M \;k1l$/j4 ]h+ )f@~ jCXs(3hz0(1J(X 2%[18 0pן@`ـX!k 9N|bXP5wAlrZ&g @* N j~ ҆ʂ,I n| l?`^qC’[6e w@Oj:wu3rV A> "z B 2 ^dpsLuqOCGΩN 5-aĠ ok!"'/#dXZE[lj+3Gz0{8 ˏ0witw@Vhi*'m Pwwr : h:+A~ Ƒq F@#>h@] wIENDB`entangle-0.5.4/src/icons/64x64/actions/capture.png0000664000000000000000000001401112253420653016513 00000000000000PNG  IHDR@@iqgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?H0@4 F|Јb/??ov_yϟL5L)djɡ, AH$O?0ܿݻ>~_-[:FTka| MsI E;905M$fKff&FzP A@<30d~l?LAV!9 lLsn#5Pׯ_~|?СSr+@ 3L~*QQN ܜ z X`T  ( \P111/uʕ v/n Thb!ˣYZ̠!t%9۷_ ߿b7XPO3!2f:;C; $+:)+Pϟ@ًAXXADD`x>_?4 zxŀr R o|dxa0@?$'z58Aȳ?~<?~ `ςbB3'UV_pcy~^ eŅ  bbB 'N:-3/۷1yӧo ߾gcp1ai_Foabx볧dt2n`bV G  X)UDBe\5i&p ê8<2|1d`(?18992,Ya .]bXx1;0c``` ?Y^`ax`v/Fq֧ lL @bpa@OjYXX^x O&ǀ*߀lذqnnnp߻wASSb z: kbwL X> " # e@#L J60'Wrj+HAU0ßB Xmc -/pu/Dσݻ̀yXAIT3spSXyn-e,ll_? .K@5K0!F'w$%:̃ 0j/_=]^;ϟ?`z `Reź/DL-lllV o(YRo`etJ}i ' i -A&pw@31={Ӡ` 8;ЬÏ/H 7n\61(*` PsTUUj1٢:z  1{ 'QA HM`HIP3.lz70p017kS?` Ϳ~fob#֬ @D?>`x^ +`lt>N DCGG;û?1,!>5(lvV}A`cdee"_b8 u"0zo@qHG"Gn9V;$p,@ &t2\։ X F`OK`:ĈYSA@DD/,IDD s0ܻaE 8`AhF ̮Y 6V !!B yf͜1ݻ\̞ABR( Y;X#pˍx[5<<'''}`!g'ddds.`W;Pr rZ p:d@XE81l,Ł`+_>{r2|~&`Kjfp XԘzx T\Uq p튊@Ojk0hhh0  f+ڿrX D.`h R?ZB @`?zb(sTN:xT20 vBbTɬpR\߲"2'0օxr0@@v`5gebSAN@X32|bF`ga8sQ[%.TP5 XS@gܹk%y` 1S7sHBabxnF"A@3!)#?}da:m6 cPQQe(-b(-'= < &_|(ZmCxBADD$#dd X8Cذc>ffX(BS`b \@_fP <;#3|\z1;82|6ـu8?{`C#?0^IGMo޼۷‚؇J2ap0(s{r@}_MK_9^?X ]p,@$D d:ceedx)08$'X`^xhbSՏ_7quo߾w@lVV&$AU$/#0րM`0`Ը=` Q`ļrӳ@j D<~o>2|x ߾y޿{f7.0EZṢGC Dz5@0|ؕ+W0e0@@70V@Ȉ/;bOg_IEo3?\_26fFF& 22 \ַ_ml)** LpiZ? :y|C{ĂT@ dk;7zYu ~ m `x}<X/3;?GΫge`ug / Ay9qss!5mCp5w) a O x<{쓬k׮ʃF`v[г3;ïg^`3Db^/?? s;+"0ë3s޼4r/WKaO<`f tU ?`t B=QvJX>MmgdcГ/ be7AVÍ~CߺA84_`aGg߾}ɰg` QJ2{MB իW(/Z ~?<lE@,a v@`PyU` 2K&@Gnz聎:x< HiՇ`ՅLЉNl)6u@!NOyr?iD@(>}: L:fU ;Qax`1|߀%8|TIAAVV<jAFa.J/r  @E#@1l۶} !u9Pwt1ƀPӑׯ[ǟx%>r _2Sl}<A"? ˠ{G`&5xJ n"ů 20W0/A40ʳ˗wvH @awX.ׯ- = P oɚ\U֥0%8O /]v u4#d u@+Q0[zj?~ɓwе mHϗ/_VFFf + I..n`zr"0=۷o]Z prDxs@&(  f` l߿1AP肦X:P/`Ͽ~|xGWԃ_`Q;=S@t'xTSn= *' j^| mo~?`O%Գ0Фa"Z, ؄-b{ d?bӠyOP&A)w"fhqkANGA+! w"&@4) b[gh4 F|"f~yIENDB`entangle-0.5.4/src/icons/Makefile.in0000664000000000000000000005154412253420723014166 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = 128x128 16x16 22x22 32x32 48x48 64x64 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/16x16/0000775000000000000000000000000012253421053012752 500000000000000entangle-0.5.4/src/icons/16x16/Makefile.am0000664000000000000000000000006212253420652014730 00000000000000 SUBDIRS = actions -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/16x16/Makefile.in0000664000000000000000000005153012253420721014744 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/16x16 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/16x16/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/16x16/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/16x16/actions/0000775000000000000000000000000012253421053014412 500000000000000entangle-0.5.4/src/icons/16x16/actions/Makefile.am0000664000000000000000000000022312253420652016367 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/16x16/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/16x16/actions/Makefile.in0000664000000000000000000004155112253420721016406 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/16x16/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/16x16/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/16x16/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/16x16/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/16x16/actions/preview.png0000664000000000000000000000202612253420652016525 00000000000000PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?% lm@2Z(hNUTmW\E G>)i0|bep5ow1 602el-.AAlˆ%DҟlpA,.64Kr$#!4!dfT33&[ZYUEᯘKxG]~1s0 3}L kex !#h(/ﬨ}/Y^~?y~210~)N&_}d!ڍA7Osv?߶ꇥ=73n>V[@X1Xr00'Cyy Lƿ 1|cp fV6k1 0Hk0b`.VӯqQfdα:4?QL0{:fYW0r4PކDE-3=U V'o>0\E;H oe04uNxbX4 S_|1cpQy | l֌ Nax/VÄUonZ;b~mkWk3q;2I30r3f tWR| frx/_\,L'L A ǹٿ04J-U.P"7>E&_ʁCȀS &^BG][ot޺>- K1[v `bvlvΙnGFj>(2L``dg], p8P,IENDB`entangle-0.5.4/src/icons/16x16/actions/capture.png0000664000000000000000000000204312253420652016506 00000000000000PNG  IHDRagAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?% Xtts +):+xErrrcfad+3;+ >? A3ffKQQ=ecX667 % ҹ?>^^6FnnV~g1| ?^/PY AC:+^T * A"" -,% EPK*C^Vy^wgx?Ï_2L5k3  /p?{3/+ԇ.}P;33,! X>UTTR' z2 ޺Nz'>p%&%[`r @,O: 4Daӄ W\b-/i6tUvNVϟ3v @ܹs'O9X^ݺΰgFNvfx^103 ?~4۷AYgG._؄} >~d`aae'//ûwr33gs/^ >>K7n\{c`` -".n_@2| 'Oaزe?~tmf& p Xnܸ 肛?{O?2&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/128x128 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/128x128/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/128x128/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/128x128/actions/0000775000000000000000000000000012253421053014562 500000000000000entangle-0.5.4/src/icons/128x128/actions/Makefile.am0000664000000000000000000000022512253420652016541 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/128x128/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/128x128/actions/Makefile.in0000664000000000000000000004156112253420721016557 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/128x128/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/128x128/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/128x128/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/128x128/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/128x128/actions/preview.png0000664000000000000000000004447612253420652016714 00000000000000PNG  IHDR>agAMA7tEXtSoftwareAdobe ImageReadyqe<HIDATxb?( F`dM#h F4F80@&h4p@ `M#h F4F80@&h4p@ `b%8_@7J8n??~KϟTl$G8 0bĵ$l$0i t+6gffYXX888@4g`dސ'Xy s*e|\? \OC=@ /02\l.3A PC 3gbcXj  ǯ+_3|7c0Σ vF$z|0򙀑 ceaxlLd8z!;%Aџ~y G*9]pPW .#+K~~~pt se&u || ]NV&NvPU 2/İ2}lzN ;^pe0΀DUzmll@pT [I 23q2Gs?n=JF?JG!2 Tؽ|z: Nni^a ɩ '?d`(Fp[ {.cz[~k~|(ßϻ>p@5" Q'TTT+$+CT# í/b `c1(B D W#^#$wA#+ȉ>c3 @/$sr>|0m4BB~i[@Xx!,QJp@?}aϥ͏ /_&__m >gpw37ۼz|]&^^^Xp?`pCuCv 'xPDK*_`99ؐ|yV`DHC @ԙx 3zw 71 s0XZC׮]cecظmÿ? 3@l& f5: w_~3a ;%#Pbhk ?dr7^]i#= ڱ 0H3Oed!/! W:ڂ9~1>0s11 rs,>Ph_` xaiĀ3-PXS{rvKsSeU,PYPQ[O6`Lπ+1M e8qNPp-`;0q?df-z#= ۛح:!!!a %%,0H zl \@-Qh!P}Ïb:WBX"Z9 h R5 4.|a`z##S_\ L`'~d(2AhHwb)@%%`/bw }`8 /$#_1|Ź} ggF#= X j|\ ~~cf)aadce`CL 0A i936g"B` L ;>`ANw֭ gbHd(-cb Z-`b DFF5)b'O1V;Uő;<;_0 nD7@вl%0CR?2LZCFd`'m0U~7q$8fp=hv,B#c , @`P cAEMACCCeEye0dV[3gbw1A64As܏Pw?CF4K1<~aϵ /ߛ"~ r_"{{akDJ`֝'lmmy#""bY773Cv78B`&V.=8|6^} @`ggrF䘇|P{`q%څH*W >c8A?xl` k׬a m+[*81& @$h#L!,35#_0aՏ {W\'>O61\\zo @,4>O`NHaŁ Ol;uX + 1z4P 1|P 3bK 쌐7D074 p\m]}|.öM^\Ϡjl@ИŽL 7K` L Ԁ AU?^?%&p}+Gjs0 W`w0z{oaCY.G= Vd#F$@2rrrຟ _gdgt  Xm<]N /qJ,H9z40/t`9 VaA"?~(H:i -fx2ÓG޿gҎ93L`K& / RALB$+h-_&$p33xh q,Å'__ȼG󏿩&`:(Ï[O'l hEſ |X>0@n=Ǡr~C#?%n>013cSL#)9X|p6cI0C !H@7^"waA9MgO|| j ׀ Oo2Z0|h@Ncf0<Xe&`)2D$vxK [~du}dpİ4d1,M0j-1yyy -nn3|Ƞ hgP3 E:.^DP.7?<#RJ 403$̔+%>Ã899@EG4 -%?h&ؠ,1KfHbG&G<Xd BXBK y`QR#t .1DSK%}Psd=Dp?`/Aaô!O _Wߙ]h/x{APy #7ǠDLdBJ 7n+8V&]a& h1OL1~ W~`u,ܻP l?'7Fc\Ԁz Z*3ÝgDEHG_n?nF$e#`5- p6fDGt|A ͯhH ( eg`fb] ǗXq8J#b+:  23{֊pdP%`)L(Lx{k06m(KnB~6@*ȃ܁ 4L_ bLz?H,o< $7xLo@+$7* CJPg s?h/$A9ÊLFvL E>@~z7A\-K,O02eV I`&9'0,82zwSKNA=ZU/@4 (PLH`he(2EkQ0(1( k2Қ&dqhU^N0ٝ,BkψHv .U[2 >#g§.z 9[,F/ ρpи9 PNKA\̳Br@J "@+2Uai@m XzcLL5nHăZ=Opԍe`@_[@iڕ5ˠ yaҁW: h3M?%ЪO V ?!{K9Ƌ L?3KسRcf";@9_(qցHrB" Ph J L)r%F9 J?T?~~`Ð .F& ذĄ-q]DJL)AK 7?=h;þP77@< xo!`bbx ح̔x81r>lc1ȋB`PF:LP# Tۓ ]z[`V NX|;o~bhMyqÁcz@P]`˗,@P}ACACX3}ЈhMZyoAA4E J)A0A A#t',c1#Fa FA /1}@_A'<|pA^IA\ Xۂ]某H ^X+)@h7c bXv-dƶG VF JJ\ַo0pQp_1yCO>cpvqcPeg&P./ o>Bcą!R s*H/T*eRzn3'Ȱ8{G@@/ 7>y:x- 3{A- C@@Z >(|P@枷\4@<[3>8(~Cba@$@7| 2rJ._ds01H{*y-b{cB^ƀYu:>69z#uLrz1|Z?e c8@&_ lbwo1<AVVr  ÜÌ We6e9^6H}2Œ4r" |⯠96ȸ 3! =1/@n;)]Mpqk;#cc?2"UAx"1t|M-؋NiXP/!@ԯg[-g[Ff`O_t .T>|AW?w36aFaC 3cXBX I md!0&[ >n!(cA1| r>Eë lfPPTOk"ṫ89 mlf!aX03ѷ;_AF~pb6l,3@OC:AaŤh CksgςNiTP)kU7Qj8Q`)i! JLWFFk`u :X[2\|p؆LdX Wmm3C|fȐ0#E;XV;އ.hdƫ %)^ OBxςV1P 3|_'ΰɁ 0ԩ Z4 ^$]OD#ϟgO *, /Pѿc.`K2ۆ ؘ=hWh i`rWHUjrq;88;vfl]>F?1t} }r5=)@'Ib_ ,$180}tppg pz 2z8 /^G803\~33[ŐȈֽBg /O}% ڂ I=#/H}UӁʠX] xR .[N)=N1 Vg`VϿf q ^ArlMo`|C9oU 7ev`+p? LW_1C<[ˆܧFXP`qCo?!cȳ~W趴W/10VRUN >4J֯0uc+q= cMvVnAYq ^EKnY#.!5xnte_PG \`k{l AFO)ԪD`+*H&ݔ;kfFD$`) k6Ǯ0s1%0`0cbp0 J ʒQ'qpM3BWH@g~A'f9W`Ġȥed =-W AdvgP/?x˓KxE8T}As?op [+SSHSߨn wM-eFadOY^|fJ>2\Fc7óJ /1X1#Cmfp0_ r@FX˥a ?\ r}R l g/w73L>j + D۟j KZD3@\WF~;8e_c6"10g8s"÷oLL-Dw|cg (Ó7 >0'[Dy! F_!/2<|K l"݃ ~~$=h1JLdƠ 2qbxmӶ zxtܗaaL>`j .% 5?ː14C,0as3@,dD<)$ɴ݉OKDF~, @"C20fvç_M .(_~G~^e7 < 0|,+  h hԐ1"Wgw\ t($Xs?he9 < O^2*d6a`p+w-5Atj9P_߿2[3X (0Y}h_dSAzι2A@{n`u&6L~`ٸ*h=s/!E+lGK*y SG| v1+ .)ʠ )) ^*@&#d dmqqPO?@@ҁV],96(_pç ?ay8O? |aJ@| ?ebVמ``᪮0A~V~ \` 2%sO0L4);u, +@Նz "._CO% _BP`}qN^ o~,@Mr}zX)[$^ "B "*P V7#)J:##*=@'` /ax=#7i/ 2._xd0m(e* b0YY!;{7^W6'(rduN|m-;ﱏ 2N36xY-!+}kwBe*O1KF_ NL1!(pps2p0΄4 $ ~;×/_>W/0e.A3N#q (g fSbPd` 5E@" jf`q L:"b1jO?&]Z, /}`p%dW &+ xvP &1,osF'Ó׈㏈î| 3>3]`xo[~{,% mDDҗ/hQX"`cOm _q3 FݧY nZ {ՀUWnu`K``nX!@)~ƠAC _o-W5i'P? #\ byZ uZvT섎33!oH#gWI`x:NwFt`(d4ѝL36@d7$l 6 ;0 fxw! :bRDJ]U/`nfl ??rÎ3(`qb`| llGve \W1x=#`dx<00zL123hg(c=`}m֜dm7PjtM7ZE8z|`4?F )a>>,(_'o0Az}`='0A&laE#pf&9bQ30e}bE8SꈃAqgO , fR B:kJ DJH f`8Ur4JJtfR_yaO |$StCf6' }`|=i-!@÷! ӹE b``T X&F 5 A~}`|2€VeE&>XN LIsFaMvH-2E:7RǕͿo0(= ٽÐTday6` T # @ᤓ f-m1 (5>vH$3]!wЄ?"aC%X߀ǿ2<˿{@ypi2+&`73d-&ЫL&l&}bP $uv"/8PB@K觗n1(>_q +-~_۠ E:=w4fngVg`6AogQbHQeH`/| :&@e~"3}`xk5> cc`d`chWĢ >4`@[4Ƞ LDaҏALX%r!OЄJLD0ñ# a9o/ZBFz|@P b k HQ!C!=@AOEOHoTu,d]dϟo#@K0<ޏ ^n{.fDZ R@7 &}%oDT% H`m#?B6u@"@,. h`!*;^!+@F_hX1 j jv?9翯a+Ý>aJ,&|yԆ($`4 ~d&Zj;AK! '|%"f.@{Xx4$]De%qL f * @a`,>|Y \%! O5 7fxLKN s Dǚx Ձ"m,3 x36DN;  m`"6:% R_$a n37ٱ03h10H12<V 4 0+~ApV=6l 7.`x 0!&`3#bF(,dBtg=Ӥ^;?36;FJ"`fex16# ߿m= L?D@ 8+2[92H9{2j{ d r .  O@C9rЪZ^fZ橧?3\-K!Ϣh?h3P^p ppI 8x$ȸD aKۀ u@ }4 b6AseR * N Bj2 {  ~" ޜ;4P+B#,J9?1\ JfFf`D3mӏ _ABJe&\@ fag'Dr3>4[K8//Vltu۴NDCY A`TvcwqcVa`v~CNwTUaubgcex rTX Є;Wة ~& 7?me9 j&!c$3|iPc1ANHXAv*@)  s@ %6b< ;3p ty Ӂ:2@z4MDY F1pB0fP e3b` M .Gq; EqND3d$#؅&V»_/._pjT`E!=^>fМ`lW;<,WAw1s0Dnxpwb7C4CËAŐ@"bʄ og6e`X Tr M@3 P9aMSpB27f 5gbgeHwdЕd D@).»İχR(Ά1v l={+a  8Y13  g0\! &ofU#d~נn 6B?:@$jtΆ+ϠLrv B12x2 | ?12< 50|z9C'>pF3o3~ >/sU?h?8Au?X \l dpqXe?~0o" Π}=@tT r:áN~ pdQvȱ/ih zQ`dVgaPpvdT=r%1#d}m!> ,60~#`:>NVJdF @7}< m`Os2<:=I̠ X I`{ ,,!ho`2ljf C6 j0*3z0(2j*;޿!}@=,G P`dW icO~IhhP+0!\ 2Yu1 Pg.<746$y0;]b8`'tin0 ] FI1`abx,a޼4y=030n8YV [@n0T 5]JP32R v qVb RlE*/``he@#Ï _~bvNK `!L ~`HZ2kukuE0vаC:C4Y/׀r?h/h5;Z Bo j0` c6g`) l0ي3hJr2Zw{Cs,L#Հ|!ڦfc7-h7x'_`!0.(1K=a"` J߁U`xH@]С_/Go }Y<,hȠ ki#f, .yw>ït%Xi|J[~fX6F`23xνp.aaSq{wBoW,`Vmbж : @C%5 {\Z :~ J6 rbE*, N  L=PcU,r>+,x3= s$تޓΐ?%j P$ *V'* j6Qaȷg_ J~0GeGWz l ~b^"+i[ CЁ9 jVJ . > * l,:@&Őn-m" A.f$F#̤VO] @gxaYwC~wUS3pHagAMA7tEXtSoftwareAdobe ImageReadyqe<8IDATxb?( F`dM#h F4F80@&h4p@ `M#h F4F8 qP8(|xhܟh&>Ѐ')*@' LLxyY99ٙXY ߿b۷_>Go~1_}^̓ Fp %4`=/|e`1AT G#0?ax;Ã=.÷4s_aTD#Gb@Q=|y`ZɈab,,V(U# (~ 5qPa_jǏϦ8d'P+ri ,Eϟ@E:"" s7B٨BWCLndee?o>y؂v %mj 5o 66Z bH&xE8ȃa(N4`4t5X|ˈ0z+W@KTfO]e" @Q%1227//'CEE>0!p4jAh8̓6"`aW?0b/fDBJlu?zpr60áC..ȑyi? = Z@y nnV?`;"Br4H ܄N@~cx1Ç=>Y`ߡ9p7~Н>}jG''7]jIJbHD?4!2A t( @ a&=U#1aL+%@#>od* A!&&,ux?k0J Ԓ@ׯ`> X` #410"Փ0 H`8~|òeΞ9l=1033hk0G$1xzs˗O^zL o>~|z~'VV6hb|B "0aU9c.]: 40%LԆ.rd`{@n z BBfbPQf06VcػX/P GODt(?BB `NZ A@]F_"", >N+33AHTAFI /c3hiw.aaa-`wUA9߾% /?u`صfWcյ`#þc{b"YC=D;< 0w=2x`'o%ЏD . ĜRJU$AWORQ2b O\@Vsrr0\xaf`13Dt1T$3 1|SfҒǰe}j`p1`7@`Ν . U CZZ<<@_ ޽cx)qvƍ ׮d'>;8W`Hff, `dx=([TX]b' '؟,,L _ H&h䳢=@Q .LLv$ 2NnHdP/d,%* dtc?٦LS'O2 HM8偉" 8A#TBHHH2HJJ!d}m[72|?}ci]tP毿^~gfxW&ߙ~#)ŁU& fX H]dfl@,T Zp 3_|fu"RzvYHcP~$ZӧK CUU81qqq`5 (݁u./x1\\<@} bX}?`307+û, o` 6#;3:H1O$ j媡9 'X-e ?G >|Xcx!ȠD{-}3<;;/`L~ 00s7$``cu%@ @0 j"Ν+ _}OoXLd@ C `ν`emͰq&ǚDT00[!DF˝T%x \м-GF`ء`ddĀo5^VQQe`ڲʶ^ ,@c X ο`Ӂ4lSU9;ztӧ7BBB3Y`2Ã/ct.d`SdÛ3\\ ((PVV Z"!//ИB?U%. (ʐF{& /X)#01V7Ǐc~.}JS6(A+ ..CV @,=C&e [̐p@ &Ӓ@ zz:$d<>77_r%Ë/u7m0o0'#.ΠWpkhh 3,]葃 O:Q1Q`ޖ!1)ACC Ȉ1xC!(Z*e}쪮v-bb ӠURCQa ^|ѣk aaSɠrUW2|Z Sdg6΀%*hLd9،& R؀ ,% W`HL,$5{iD6"Xgr8;7`3+X"|hKs@}8À~|pjD-&`/z. 0LbtA"(-R| ,BUp#34,rɹs-rvww/`nm 1 H~Paprrew% *&`aϞՍߦM%gP6,>`ffL WT@Tx*/]:5-ׯ?P-A *]@^vovӠ$',Pctrr 2ܸq7S2%@Qq.`0~6@clmÀ"IJeD͵kׁGpc4W܁_;, hXSS}-"7}A^^AWWX:# XhW.!@˴n<Ϡ .. ރqكm0pϞ= \H6x-H4J%XcT:<{ ؏_Vonn^( Bn%dЪ)ss+Wg1ܹsAE(0HF^h ?t] bb&PqIs !X?!`aa lH  {‡3A` `5L={vGcׯ_2| ,dh4W̠p]+38::I|caPSSV') B s2۷%0 [, !k1j\YX~Gڏ2 abrZZ?P1 F~.ׁ" o/_3| 2x={LL C6- P2,_ի Rжy@Q {a˖-q%Dczc(@A(!>}^bQ0ԏؤaǎ >>> n V-Zۢ}첽 -9s 8atA*YYy`tADD6@QEh2Lpkc0wW7I`׃k6჊72~11!yFIIe^>pԷ5A@^~n߾ dvt?dd< L/9_H)( 󂫂S .  {?sE.`DK[KJH "r/ (bA ~3TW2lټY .ghjf ;7!..,9G A{ n޼l` Ըuxv@pAd\4xO1P|ܝѾcv4#;'/1eaۭ!{*+qF>28~|lF۷%hwgahhBHfA4.qU6589sDALc– I 9%3 m]eBl}"8zjr5`n$$4`ߝ ͻ*>%(sAe&E] K~6pÐ(fV*!@߿j! @pr";W߿_Fg?qH0Glg,XX!KY"A]q@#}@l?l  ~g ~i0 D p-- .֯]ticW LЄ>~xV@ We@z@ @m߿. PkcL1 ov߿La>.~P3@ 30(%X.mE xpD88A",??N&`?d(FuAb h ɘ,02| x!͖=q`0LLu NH@JE cc $'y4 .Ø nr-+@p:'{N8ZB]$ ;B. yKn*P4j4w<9'@p{dcem2+s>l 0# r 鞘IͳX8H PZo$gw΢J!< 5/ S&BHkY=xH߫Ԩ vB)4H) 6qzBP؄c<!RD+ɹ\~lRTuOKM4kK 2[&[W-`-xf'ZV˫'u=3-^7hktDb}C|"X@*DZZUKK \r=b~ d:Xq^ ,a ,̈KѠD`@0!⁷ ~`o az߰ (sCf@:OR1XZZG !@|Pd.hShAG5 \YLj R* d16aD^EAOYh78  H XÐ /)1 >ȇ)L{Z $5CC#ϝC#*>1 ߽{ 6a;A,hsP w2(a8dUĄ(E0Ȩd"CqT *,80+$Q4+B2f&0VPM6HDhW.#Ο(&?I?DE:889|'d?x` jOV Jd;Ț ߿cS &cb PI[mZ9t,Bِ"g'CN xHC#LqpĆ=000kXN. s.bPTT`i1e,!u?@Pm #a*@qs  xye *@+Y֡N0,XUV ux?tT[*\MPF? *A l13BXO C`DZ9Ǐ +VcXz%xt֭ 522aq vL+ ~xE>(A,^@{6o0F"! @o']K.:)T|.ԊcD>gBn .#=h@d #!?,9 WW1 j0()e/,aHNIg dk ΀"vTx0ua!(|\z8 -~۷;eK\L/_53k1"^#$Q~HڏgǠ;>YĄ Ȳ*X2B"<̌~f D/9}[i`ء'^^~p Z>&70՝;wT͠|, Wq1|Y@v&4?\h3A# #. o#QZF< 9X[\c/Bh ׯrss[!VPujÏq"+) P?{ В۷o50#:7 [|`4HZW(0;FX%01a0aB"q<@,mpAKPngvd(cc6:EDX0;f(]HPNEƋOnߺXJ#…  ,5}lOfk$r PJ`Q`ft%}}}<+s\ P KfFD6'AhN7# 2j'A/?CA'3T6b7c Јxؐ1#[w7PD2!g `+k~K- QAh}bvv6'Ar _Pb&B4vR2 @ ~u=K*%Ľ(`|H> \]_GC %_s`CZV`ul;Ñ%]$ ?Mڰ(wV?~T:PA j1l`@Iv=x< m@Zh+qA^^GR 0F޿ U hx [{7m6i>fr&/0wf'FFp"YWpip['0XĀtec bַl krL)F`:pj 0 W^-m5@\ tbDh499| <9g3{.ߏ@ ֭[$%%# a"} `iAk܁u,h+~1`$spMawD n31|7cr<shI'0!?X|&fFp  f(!k@ޠ-Yo޼ ACAԍ-%^P|׀?K H ԅ$ lc)b2mR.>},311۷[`vh?0< ؇?c}F!]3v~~&oXm02spo[ A XyPgp-}nѐ}TȑnС= <E2B  6!>g-`8+@1r00AA']`H`=-@޷jnݺƂ!Ò٣ nL _my /ήfX#ϰ%SaO"3ٙ z?W)lF82a[AUA%G{,A~ax  wKJbBm:իJJJ=z$ 11l ?lbK`,[>.. |l >bXÇOQ:6  !}gLʰoo_3k1B0@fxDX@0y71gsѠbؾ}3032O"#p@Xnpρ/_ag@k^?pv 81\@108.~dgƛgl<%#SF'e``/( ~KOHuv0s[wC԰Iq1 n\c vmeCTT1x=x p#mGjxxxg AQ Dm5Pw9D ̝T0K/AQK п f 7nddn?ΰc<1H01BJ66FqG =o/2}-._0spTg  qabľ$l "޽rR%%}` ^Jz;p *j&%He&?tMڲ50x6;;R|@"cǢead8~5d`}2 >}%0 |}Cz#f.]:˰n*IIuxE>a}.`;j3[ X1>au{ 5wg: ÷mEQ? `adÇ[-#˽H7Hj C_o޼ ->͂!8G '~11 .\&57[˴+رs vv LLsh`+O'R$\9L`0!0N`Pv9ٳ1\v!88~I$r> aa`t1ژĦDP{Ñ# K7 CO f "@)ڵ \þmZQ/a0Cc@Fœ'3\22hh 6BR R]yf-@on߾-ohD<5 9נL<ǃ Z ʕC 8ѠF_?^xpm`ns ::aI%D2mmFkhdFw &[nMv'abPQ:gΜYT&78(@/LȠ>@;Ag i A ^ :%vm,k J}}Ǐ/?aB"|?@10HZrrҠm@.C' 'Nef渹3 D# wݜ- 66n`^AW׉AQQA@@z/0FLI)2za;@ u`w@'޼yV@K`:M ;@DZ&A)!xzЫO~1X D_Jt.ffDb X]=) ϟʽF["Nig@y)`F4G ߅F- y~]%ؠǏ>:P&JsHӋO?~,*Ҥdf,fqE4:FtG(fcc!vHؗg'L">%ld ? *6|7 /^)Qm!7o^Y`>(!*#z x ۣ=ztASMMڨ} '--Q ŋ[/AtoqUKzFlGTG.=z*(_F-l3vx,\qvpE.^<6Q@O@;^@߁r(( yXk@tPC޽s993h{v(*l~رahPjNxWQ @DE~]| Iaa @CàACC i9_|^}{pKpV_(D`kdW8gXݻ7@AΞ=-!!VV;0拉' &XXXzΝ;wdA]3^orݻ[RP>yhGyv"ʕ u`$&pJMrrj X0vPWL]]p(ahІLu^^~YXR|2 sOа0>MCL$G>l "TPPɓG39`Ew\R1Rmtf"ekTƮAtH!!RF=X Z4[Pq0UUMjЁM>{XW ~P'>a%\]ő"?}tXLL۷yAР:r2݅=*)d%p_|03XK mm0 ==#t5Cn=G<-El}DҴjY^ q^~ X ahnYA<>PFtј}x R [`ffAU(A%d'ݺ j'6Qԃغ#1!N- WAn ׳ >v &WCǡE aTfh ?| OՇ%n]C O) HMa`]‚30o ~(2s8E8Xm(vcF> 3n `Q4 ZĈ-B@E;:8݀'k CiMPr5qO?Drj!/7" {_r|5tNN6>n!$h[7WWW18XˀC=?ҕ0O-~; Rt|a"P;(0/]$Ȗ%LF3؁ 3|}}-z[Ԩ @mXe"Ю!`kיa%aܛ71Ԁ[ȁļn?A]:ȵ*D  ٸ=8KO!;1@d%/_^eСrr1x3@G Ɉnâ!σJD`'@ˊ|d=d`=jl4\`Ö́:D@>}UYYԗ/_AEA˥@l--.mIo ]E(h%-y ʭ ,[#S&޽{ l>KoF̕( h7@,@+i.Zw|||Z, ü ~п-[A3Q 3D : t͛7+lAB'Pƫ/^<FSД( Vg4Z| Ⱦ4 zZ=NlmһH۵k8(A3ТP t oA:0^߆?Fqbv=)@OOX NL w\, # 0@jwϾC]: 7@QCCC#?h0.@ ?C FOD G A VÊz|&FАhڮ Jh <@14F80@&h4p@ `M#h F4F80@ g58IENDB`entangle-0.5.4/src/icons/48x48/0000775000000000000000000000000012253421054012765 500000000000000entangle-0.5.4/src/icons/48x48/Makefile.am0000664000000000000000000000006212253420652014742 00000000000000 SUBDIRS = actions -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/48x48/Makefile.in0000664000000000000000000005153012253420722014757 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/48x48 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/48x48/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/48x48/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/48x48/actions/0000775000000000000000000000000012253421054014425 500000000000000entangle-0.5.4/src/icons/48x48/actions/Makefile.am0000664000000000000000000000022312253420652016401 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/48x48/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/48x48/actions/Makefile.in0000664000000000000000000004155112253420722016421 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/48x48/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/48x48/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/48x48/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/48x48/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/48x48/actions/preview.png0000664000000000000000000001104312253420653016537 00000000000000PNG  IHDR00WgAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?P8=@C4=@C4=@,p02188߿N\\\f@Z߿ ޽{+@|{?y<@  %F* < ?aÿp-G߿tʬx{-<@$yC3ڌ'6 wF z7n rx1?qaѦO5OW26ZAIa ?12h2g`gcd擿 := /ob0!D~A8:: ^+,]+Cy(3`Ry79!X! 4 [3hqdwCAU3$'&f 7?N°wN=>m ma83gi?0{)-ä]   `~AF?бPY? KWcg'1wuB%? b$3gb/1{'^zWfxv~@_0^1iivE'  ~0Hp0`B?1_d`Xl盳 k>fH xV.>) r|T3( 20H2c*g>f8v3á[>ܵ/w\6( X?~KKKٳ 0| )_C28i2J2|:h0CP%`@s20ȫ2|Aԏw ߁j>gbx0lX3 gˠ$ d$(8Z]phy`* .~```b8AQ?ziAH< X8?HRyÜͧ>1|}m?g~ub`f8PȪ100] _@<P^`Ly6g.npceF4hQ $$3hafxC;8EK O^U\VA5б Bt bP{O^1Xf֑gfa.AL/+PO`$x`[ O^w@x=/)񵣼$?0YLw~:qB}VG) t52r {p2/%8APL OzFX_sCyŰkW 'gdkFb灷>={GĹ>kM.`pBJ{@ =XJ?hfdD<@[^G o߾edQgel\B/.>мwC'?į Y t' -;w3(+11<} L@^ZZ3Ih 0Ɉd9xgO2yG3y.p3?4*>fF`a X~Տ>{K 1>^z ~&~E'O3q>fxÛOZW!&*egǞk2}{ "2 2 7]4P'`́ZLLo XѦ ypyIh< 1#%:ob$# S+3J0(bwO,0 hzOHf wn$''12l?4xP=@Л4ѐ[ r3î ?=d2'EDATRD&H}+ÃK^8 ,ĀX9`=r|;M ׌8Ul85X"s彿 E/R)~@axrCIK0̌:d}W9W ? 2N{p 2Y 'PX>c3Ќ 1|j;T `B t?%1,xÑc_@[z]7:qf[wm ^]4Av`00b` 2`~ Je`&H[ } LӒcx>CR &0wE^\J@3/\ <[!o"X [b~o?kͅ ,, &w6`-!X kfƿ~_FM|7-?,rd 5Ie UaujwnYEsKA-y+̨)#p(Ip3p3sAaL_AٝAX3|}Xe`n0sa`ll=:9h Q 9?3.{ - mTj ?dݻ{{EYhv}|k};(' Kؠ 6Fq)VOIv'p-`,Az Of O>eAVX0BnUfzkS B:y hl3p{{nv`" & G$d9<8>{` Lğ_ 8^m8 % h?h_Vgda:RǁmiPX|~}xOÏz+Ġ k`IE.W%n/ÙzG`XŸ9&02|bbxb#Op< (Qem*0+>&#o9)Ço?ͷ[/9p/;3<# NZEA׉A x&w?0| ,?28 42800͠he°: @=^o@y y# =^`o}y85E11GdsbPqv)1 Zl jE_ ?e&ރ/_>㕖f~'?cːL|@26 Ƽ@ l2(3(3(yzh+fz(8h /`dtb~pv'D)>!n_e ']b8>X"_L yaИ=@{C8@3: 7#J Җ *B6z>2 6 r\ A$09SX`fd 줴zP7c+iRVV; ,am<$TYHMqGDXAšA݋WH#VASԯzP.F#3N= By'DAВ$<0P8K9cb+i"=Y̿|?|dʍ ^!(Y@abC d; R@l X-wggZ@CS⌔X @$!|BX2abT1:\[ P5=" mfZ@GXE0Wڷ8Аf!!_1uǡIENDB`entangle-0.5.4/src/icons/48x48/actions/capture.png0000664000000000000000000001033312253420653016522 00000000000000PNG  IHDR00WgAMA7tEXtSoftwareAdobe ImageReadyqe<mIDATxb?P8=@C4=@CH)~}cfg_ϟ~z7o~}o@^ 03dϟ?5߿bF||) bb\ ̌ cx=ãG~33?LLeddbe`6#jUGŘy'?A@8=``R!not ؐ?0/}L ,,@5 (_߿11R- JCI~pUkuecx  `cebx(Ai #$VH< }|`ǰ4ov ܯ0(2p۷o@ '!mPatc ,$3ȁ%iggǏ23v3ΛE :F`Gax598(ƵՔTy ;/_1|ӧo(HD9#0fTfJI`Zeahhjc`faz/cc "0`K8YyU|9P;J ĄA\&"10HHȃ7( D~638 h@$_~2h[`a1 O @k#`!aPT Vx ?f066;( U=d,R}ex!!`zPP hhh2\p[Zֿo 7odkY*AϟP%ѿ l rehP.9 (3~=]oL8|[z8P*J (30CV+g DM TDOy0 H}I`~`R`|.^988|)p6WjbĂPP.2Cd# l^@kP`<0kONNp2ٺuCWgvcnb axݻwv @LI @X=\~3a >0K&fH</ %_P;߀-_N`(fh:#؞ϟ?1L %-p'`l|{Fi@|M(h- `dkP;Q0'0 ݀I@|f _gx/O@_=Kpcccex.0;wn28::3e`: Tb:Xha)df?32COѠ5͑c @IH*..\*P-l' l}pS63" ` Xҷ/ljȄ rs ܾl~&~ m,f @'O yl#J``ze! aa7{AV^-,?~1~!=#0&[ *jzY9y`xȃ/_>1e@˗,u, @zl0通j|ty~7Xd`_b''г@s033<>}zAUUAGWV~1ëπXiiAa$Ǐ_Iӛ7o.ߺu7`ND!t09^dPA oO%;E-Xc xK.S xyP9r{`AP~:Cm90kc9 ?>[$,,{ Wl]Mo>l/`{v Pn /_JepwL@ 4nݺ3X]޼yc2+Py P>} *LNdǃ}l*P#&& `NjR1<0kM^㢐  @s@|Ё].@xX޸~]`mAI X(3-!!ΐ H 0BT&H/dB0#想O>с9atTa29H-++HΈ@] x K.`p?#RzJ:vs~A!&7ng @a􉁎8q^^~ p4`7ZtX}{`>z?P3Zr|VW]v۷/L ߿Qk ; {ٳ/A@οA=Moj 0<LB?>} @\߸qs=}(?|X?ou4rhf@1b^2pИ u`g 4'29Ա@tU*{ :ү4(rP1ӬLP B'I hOtА@ yčľ~\IENDB`entangle-0.5.4/src/icons/22x22/0000775000000000000000000000000012253421053012744 500000000000000entangle-0.5.4/src/icons/22x22/Makefile.am0000664000000000000000000000006212253420652014722 00000000000000 SUBDIRS = actions -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/22x22/Makefile.in0000664000000000000000000005153012253420722014737 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/22x22 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = actions all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/22x22/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/22x22/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/22x22/actions/0000775000000000000000000000000012253421053014404 500000000000000entangle-0.5.4/src/icons/22x22/actions/Makefile.am0000664000000000000000000000022312253420652016361 00000000000000 icondir = $(pkgdatadir)/icons/hicolor/22x22/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/icons/22x22/actions/Makefile.in0000664000000000000000000004155112253420722016401 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = src/icons/22x22/actions DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } am__installdirs = "$(DESTDIR)$(icondir)" DATA = $(icon_DATA) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ icondir = $(pkgdatadir)/icons/hicolor/22x22/actions icon_DATA = capture.png preview.png EXTRA_DIST = $(icon_DATA) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/icons/22x22/actions/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/icons/22x22/actions/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(icondir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-iconDATA install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-iconDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-iconDATA install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-iconDATA -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/icons/22x22/actions/preview.png0000664000000000000000000000306512253420652016523 00000000000000PNG  IHDRĴl;gAMA7tEXtSoftwareAdobe ImageReadyqe<IDATxb?-@1`bsc`Ԋ/{7n޵m[y՜_1=ED#3Õk}xrbA r^1(xm~7>}~?| nj?^.F8%>o,hlf當ݍxW280+D誨01pf'{x9$}]Y\+?ǟo߿~b`'uJQT84h4Ï ?20H0\ta 5nb$)g= e`cex?>geȧ@ 10 aPA7k&KW27߫~ 2/'˯߿+!lŠ* 7.faf`>n6- вo?qTgP}3j3u XnuaկGOzaed%%PO8?P'_3<}p…AUW?3H 32zaJKQC@|ge`AVG&[]{ J y=`O9kUyeZ(L9o226x֩@C/R@13:0p{MuCe ǝG0 0]t gcx/0\uWBAJ\bߛ;23>rA vUD6ܧ_Mf J|{ ldƐ_ xًd0 ﷠ KSvk~1x v10c|'3g od316fp=/õ{ A;|h@VIS]EDIA)A+}7r(*1q3f05egP3  /Ok0ׯ O=e0֑gHΔ"? wf.p?@ 33L@/31d?f O@Wc03ede ]Me?~0|AD['@} p#rY&!ŝFQ.m iA#8G3^ͼfyF J+u,y(oI x?@, _xeex?0gON@ڵ SNʳ371yAHH@K߂#EXX,WZZF\a޹ Oy{W\˰˗ON8 G0y*k3@XZZ^ 'ɠ /YV~{Ƞϐ ࿠<4FL ` gƾѷ~ӳ?k_ ;}c'(8XY ~/iY? n}v1@\tЛ7# 'caX'_$~}dϖARBAZFz~:7'w%NY@,o߾qʕzzbl\ fع þ]{^>'(30?ߊ߼y W T|@,߾}{tk #?FPaURD <.p$}Ç@qy`Z 8wϟ?;!& [\7LXgdǐ_ѣw98؀/ 0Z`Rc~_\ 555ϟ|i/3##3PnoYdǏtb0~sZi Ŀ=@ܸqdۅwヤ̪l u3|  TFcխ[7zxJ|N_>pǏk@ 7o@]"**,p~?rF}}C'8so}eK@?O$ Faaapg>oK Cn@4 ^jsfIENDB`entangle-0.5.4/src/interface-22.png0000664000000000000000000000105012253420653013662 00000000000000PNG  IHDRĴl;bKGD pHYs  tIME !lBtEXtCommentCreated with The GIMPd%nIDAT8Ւ=Np G0l@ Naf(7@*RQ8_L`!$mnxI῕emGw.3Joܝ?vu8' 6Slf ݹ;^8L6Vp@8Kֹ5IENDB`entangle-0.5.4/src/Makefile.am0000664000000000000000000003126112253420651013034 00000000000000 SUBDIRS = icons GITIGNOREFILES = org.entangle-photo.manager.gschema.valid noinst_LTLIBRARIES = libentangle_backend.la libentangle_frontend.la bin_PROGRAMS = entangle builderdir = $(pkgdatadir) builder_DATA = \ frontend/entangle-camera-info.ui \ frontend/entangle-camera-support.ui \ frontend/entangle-camera-manager.ui \ frontend/entangle-camera-picker.ui \ frontend/entangle-help-about.ui \ frontend/entangle-image-popup.ui \ frontend/entangle-preferences-display.ui desktopdir = $(datadir)/applications desktop_DATA_IN = entangle.desktop.in desktop_DATA = entangle.desktop appdatadir = $(datadir)/appdata appdata_DATA = entangle.appdata.xml icondir = $(pkgdatadir) icon_DATA = $(PACKAGE).svg $(wildcard *.png) gsettings_SCHEMAS = org.entangle-photo.manager.gschema.xml @GSETTINGS_RULES@ iccdir = $(pkgdatadir) icc_DATA = sRGB.icc BUILT_SOURCES = \ backend/entangle-colour-profile-enums.h \ backend/entangle-colour-profile-enums.c \ frontend/entangle-image-display-enums.h \ frontend/entangle-image-display-enums.c \ $(NULL) EXTRA_DIST = $(builder_DATA) $(desktop_DATA_IN) $(appdata_DATA) $(icon_DATA) $(icc_DATA) $(gsettings_SCHEMAS) libentangle_backend_la_SOURCES = \ backend/entangle-camera.h backend/entangle-camera.c \ backend/entangle-camera-file.h backend/entangle-camera-file.c \ backend/entangle-camera-list.h backend/entangle-camera-list.c \ backend/entangle-colour-profile.h backend/entangle-colour-profile.c \ backend/entangle-colour-profile-enums.h backend/entangle-colour-profile-enums.c \ backend/entangle-control.h backend/entangle-control.c \ backend/entangle-control-button.h backend/entangle-control-button.c \ backend/entangle-control-choice.h backend/entangle-control-choice.c \ backend/entangle-control-date.h backend/entangle-control-date.c \ backend/entangle-control-group.h backend/entangle-control-group.c \ backend/entangle-control-range.h backend/entangle-control-range.c \ backend/entangle-control-text.h backend/entangle-control-text.c \ backend/entangle-control-toggle.h backend/entangle-control-toggle.c \ backend/entangle-debug.h backend/entangle-debug.c \ backend/entangle-device-manager.h backend/entangle-device-manager.c \ backend/entangle-image.h backend/entangle-image.c \ backend/entangle-pixbuf.h backend/entangle-pixbuf.c \ backend/entangle-image-loader.h backend/entangle-image-loader.c \ backend/entangle-pixbuf-loader.h backend/entangle-pixbuf-loader.c \ backend/entangle-preferences.h backend/entangle-preferences.c \ backend/entangle-progress.h backend/entangle-progress.c \ backend/entangle-session.h backend/entangle-session.c \ backend/entangle-thumbnail-loader.h backend/entangle-thumbnail-loader.c libentangle_backend_la_LDFLAGS = \ $(GLIB_LIBS) \ $(GIO_LIBS) \ $(GTHREAD_LIBS) \ $(GDK_PIXBUF_LIBS) \ $(GPHOTO2_LIBS) \ $(LCMS_LIBS) \ $(GUDEV_LIBS) \ $(DBUS_GLIB_LIBS) \ $(LIBPEAS_LIBS) \ $(GEXIV2_LIBS) \ $(LIBRAW_LIBS) \ $(WARN_LDFLAGS) libentangle_backend_la_CFLAGS = \ $(GLIB_CFLAGS) \ $(GIO_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) \ $(GPHOTO2_CFLAGS) \ $(LCMS_CFLAGS) \ $(GUDEV_CFLAGS) \ $(DBUS_GLIB_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(GEXIV2_CFLAGS) \ $(LIBRAW_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DDATADIR="\"$(datadir)\"" \ -DLIBDIR="\"$(libdir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) libentangle_frontend_la_SOURCES = \ frontend/entangle-window.h frontend/entangle-window.c \ frontend/entangle-application.h frontend/entangle-application.c \ frontend/entangle-camera-info.h frontend/entangle-camera-info.c \ frontend/entangle-camera-support.h frontend/entangle-camera-support.c \ frontend/entangle-camera-manager.h frontend/entangle-camera-manager.c \ frontend/entangle-camera-picker.h frontend/entangle-camera-picker.c \ frontend/entangle-control-panel.h frontend/entangle-control-panel.c \ frontend/entangle-dpms.h frontend/entangle-dpms.c \ frontend/entangle-help-about.h frontend/entangle-help-about.c \ frontend/entangle-image-display.h frontend/entangle-image-display.c \ frontend/entangle-image-display-enums.h \ frontend/entangle-image-display-enums.c \ frontend/entangle-image-histogram.h frontend/entangle-image-histogram.c \ frontend/entangle-image-popup.h frontend/entangle-image-popup.c \ frontend/entangle-image-statusbar.h frontend/entangle-image-statusbar.c \ frontend/entangle-preferences-display.h frontend/entangle-preferences-display.c \ frontend/entangle-session-browser.h frontend/entangle-session-browser.c \ frontend/entangle-overlay-box.h frontend/entangle-overlay-box.c \ frontend/entangle-auto-drawer.h frontend/entangle-auto-drawer.c \ frontend/entangle-drawer.h frontend/entangle-drawer.c libentangle_frontend_la_LIBADD = libentangle_backend.la libentangle_frontend_la_LDFLAGS = \ $(GTHREAD_LIBS) \ $(GMODULE_LIBS) \ $(GTK_LIBS) \ $(LIBPEAS_LIBS) \ $(LIBPEAS_UI_LIBS) \ $(GEXIV2_LIBS) \ $(XEXT_LIBS) \ $(WARN_LDFLAGS) libentangle_frontend_la_CFLAGS = \ -I$(srcdir)/backend \ $(GTHREAD_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTK_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(LIBPEAS_UI_CFLAGS) \ $(GEXIV2_CFLAGS) \ $(XEXT_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DDATADIR="\"$(datadir)\"" \ -DLIBDIR="\"$(libdir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) entangle_SOURCES = entangle-main.c entangle_LDADD = libentangle_frontend.la entangle_LDFLAGS = \ $(GTHREAD_LIBS) \ $(GMODULE_LIBS) \ $(GTK_LIBS) \ $(GOBJECT_INTROSPECTION_LIBS) \ $(LIBPEAS_LIBS) \ $(WARN_LDFLAGS) entangle_CFLAGS = \ -DLOCALE_DIR=\""$(datadir)/locale"\" \ -I$(srcdir)/backend \ -I$(srcdir)/frontend \ $(GTHREAD_FLAGS) \ $(GMODULE_FLAGS) \ $(GTK_CFLAGS) \ $(GOBJECT_INTROSPECTION_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) %.desktop: $(srcdir)/%.desktop.in $(AM_V_GEN)sed -e "s,::DATADIR::,$(datadir),g" < $< > $@ backend/entangle-colour-profile-enums.c: backend/entangle-colour-profile.h backend/entangle-colour-profile-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-colour-profile-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ backend/entangle-colour-profile-enums.h: backend/entangle-colour-profile.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ backend/entangle-config-entry-enums.c: backend/entangle-config-entry.h backend/entangle-config-entry-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-config-entry-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ backend/entangle-config-entry-enums.h: backend/entangle-config-entry.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ frontend/entangle-image-display-enums.c: frontend/entangle-image-display.h frontend/entangle-image-display-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-image-display-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ frontend/entangle-image-display-enums.h: frontend/entangle-image-display.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ CLEANFILES = *~ $(desktop_DATA) $(BUILT_SOURCES) install-data-local: $(MKDIR_P) $(DESTDIR)$(libdir)/entangle/plugins $(MKDIR_P) $(DESTDIR)$(datadir)/entangle/plugins uninstall-local:: rmdir $(DESTDIR)$(libdir)/entangle/plugins ||: rmdir $(DESTDIR)$(libdir)/entangle ||: rmdir $(DESTDIR)$(datadir)/entangle/plugins ||: rmdir $(DESTDIR)$(datadir)/entangle ||: Entangle-0.1.gir: entangle $(G_IR_SCANNER) Makefile.am $(AM_V_GEN)$(G_IR_SCANNER) -v --warn-all \ --namespace Entangle \ --nsversion 0.1 \ --include GObject-2.0 \ --include Gtk-3.0 \ --include Peas-1.0 \ --program=$(builddir)/entangle \ --add-include-path=$(srcdir) \ --add-include-path=$(builddir) \ --output $@ \ -I$(srcdir)/backend \ -I$(srcdir)/frontend \ --verbose \ --pkg=glib-2.0 \ --pkg=gthread-2.0 \ --pkg=gdk-pixbuf-2.0 \ --pkg=gobject-2.0 \ --pkg=gtk+-3.0 \ --pkg=libgphoto2 \ --pkg=libpeas-1.0 \ --pkg=dbus-glib-1 \ --pkg=gexiv2 \ $(libentangle_backend_la_SOURCES:%=$(srcdir)/%) \ $(libentangle_frontend_la_SOURCES:%=$(srcdir)/%) \ $(entangle_SOURCES:%=$(srcdir)/%) girdir = $(datadir)/gir-1.0 gir_DATA = Entangle-0.1.gir typelibsdir = $(libdir)/girepository-1.0 typelibs_DATA = Entangle-0.1.typelib %.typelib: %.gir $(AM_V_GEN)$(G_IR_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ -o $@ $< CLEANFILES += Entangle-0.1.gir $(typelibs_DATA) -include $(top_srcdir)/git.mk entangle-0.5.4/src/frontend/0000775000000000000000000000000012253421053012671 500000000000000entangle-0.5.4/src/frontend/entangle-camera-picker.ui0000664000000000000000000002170212253420652017454 00000000000000 False 5 Select camera - Entangle True center-on-parent 450 200 True dialog True True False True False vertical 2 True False end gtk-close True True True False True False False 0 True gtk-refresh True True True False True False False 1 gtk-connect True True True False True False False 2 False True end 0 True False 6 True False 0 Select a camera to connect to: False True 0 True True etched-in True True False True horizontal True True 1 True False 6 True False 0 0 gtk-dialog-warning 2 False True 6 0 True False 0 0 No cameras were detected, check that - the <b>cables</b> are connected - the camera is <b>turned on</b> - the camera is in the <b>correct mode</b> - the camera is a <b>supported</b> model USB cameras are automatically detected when plugged in, for others try a refresh True True True 1 False True 2 False True 1 picker-close picker-refresh picker-connect entangle-0.5.4/src/frontend/entangle-window.c0000664000000000000000000000616612253420652016074 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-window.h" EntangleWindow *entangle_window_new(GType wintype, GType oldwintype, const gchar *winname) { GtkBuilder *builder; gchar *filename; EntangleWindow *win; GError *error = NULL; gchar *buffer; gsize length; builder = gtk_builder_new(); if (access("./entangle", R_OK) == 0) filename = g_strdup_printf("%s/entangle-%s.ui", "frontend", winname); else filename = g_strdup_printf("%s/entangle-%s.ui", PKGDATADIR, winname); if (!g_file_get_contents(filename, &buffer, &length, &error)) g_error(_("Could not load user interface definition file: %s"), error->message); gchar *offset = strstr(buffer, g_type_name(oldwintype)); gchar *tmp; *offset = '\0'; tmp = g_strdup_printf("%s%s%s", buffer, g_type_name(wintype), offset + strlen(g_type_name(oldwintype))); g_free(buffer); buffer = tmp; length = strlen(buffer); //g_print("%s", buffer); gtk_builder_add_from_string(builder, buffer, length, &error); g_free(filename); if (error) g_error(_("Could not load user interface definition file: %s"), error->message); win = ENTANGLE_WINDOW(gtk_builder_get_object(builder, winname)); gtk_builder_connect_signals(builder, win); g_free(buffer); entangle_window_set_builder(win, builder); return win; } GType entangle_window_get_type(void) { static GType window_type = 0; if (!window_type) { window_type = g_type_register_static_simple(G_TYPE_INTERFACE, "EntangleWindow", sizeof(EntangleWindowInterface), NULL, 0, NULL, 0); g_type_interface_add_prerequisite(window_type, G_TYPE_OBJECT); } return window_type; } void entangle_window_set_builder(EntangleWindow *win, GtkBuilder *builder) { g_return_if_fail(ENTANGLE_IS_WINDOW(win)); EntangleWindowInterface *winiface = ENTANGLE_WINDOW_GET_INTERFACE(win); winiface->set_builder(win, builder); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-drawer.h0000664000000000000000000000524512253420652016053 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ #ifndef __ENTANGLE_DRAWER_H__ #define __ENTANGLE_DRAWER_H__ #include "entangle-overlay-box.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_DRAWER (entangle_drawer_get_type()) #define ENTANGLE_DRAWER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ENTANGLE_TYPE_DRAWER, EntangleDrawer)) #define ENTANGLE_DRAWER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ENTANGLE_TYPE_DRAWER, EntangleDrawerClass)) #define ENTANGLE_IS_DRAWER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ENTANGLE_TYPE_DRAWER)) #define ENTANGLE_IS_DRAWER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ENTANGLE_TYPE_DRAWER)) #define ENTANGLE_DRAWER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ENTANGLE_TYPE_DRAWER, EntangleDrawerClass)) typedef struct _EntangleDrawer EntangleDrawer; typedef struct _EntangleDrawerPrivate EntangleDrawerPrivate; typedef struct _EntangleDrawerClass EntangleDrawerClass; struct _EntangleDrawer { EntangleOverlayBox parent; EntangleDrawerPrivate *priv; }; struct _EntangleDrawerClass { EntangleOverlayBoxClass parent; }; GType entangle_drawer_get_type(void); EntangleDrawer *entangle_drawer_new(void); void entangle_drawer_set_speed(EntangleDrawer *drawer, guint period, gdouble step); void entangle_drawer_set_goal(EntangleDrawer *drawer, gdouble fraction); int entangle_drawer_get_close_time(EntangleDrawer *drawer); G_END_DECLS #endif /* __ENTANGLE_DRAWER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-control-panel.c0000664000000000000000000007254412253420652017345 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include "entangle-debug.h" #include "entangle-control-panel.h" #include "entangle-control-button.h" #include "entangle-control-choice.h" #include "entangle-control-date.h" #include "entangle-control-group.h" #include "entangle-control-range.h" #include "entangle-control-text.h" #include "entangle-control-toggle.h" #define ENTANGLE_CONTROL_PANEL_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_PANEL, EntangleControlPanelPrivate)) struct _EntangleControlPanelPrivate { EntangleCamera *camera; gboolean hasControls; }; G_DEFINE_TYPE(EntangleControlPanel, entangle_control_panel, GTK_TYPE_VBOX); enum { PROP_O, PROP_CAMERA, PROP_HAS_CONTROLS, }; static void do_control_remove(GtkWidget *widget, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); EntangleControlPanel *panel = data; gtk_container_remove(GTK_CONTAINER(panel), widget); } static void do_update_control_finish(GObject *src, GAsyncResult *res, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); GError *error = NULL; if (!entangle_camera_save_controls_finish(ENTANGLE_CAMERA(src), res, &error)) { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Camera control update failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera control update failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); g_error_free(error); } } static gboolean do_refresh_control_entry_idle(gpointer data) { GtkWidget *widget = GTK_WIDGET(data); GObject *control = g_object_get_data(G_OBJECT(widget), "control"); gchar *text; g_object_get(control, "value", &text, NULL); if (GTK_IS_LABEL(widget)) gtk_label_set_text(GTK_LABEL(widget), text); else gtk_entry_set_text(GTK_ENTRY(widget), text); g_free(text); return FALSE; } static void do_refresh_control_entry(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_idle_add(do_refresh_control_entry_idle, data); } static void do_update_control_entry(GtkWidget *widget, GdkEventFocus *ev G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); EntangleControlText *control = g_object_get_data(G_OBJECT(widget), "control"); EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(data); EntangleControlPanelPrivate *priv = panel->priv; const char *text; text = gtk_entry_get_text(GTK_ENTRY(widget)); ENTANGLE_DEBUG("entry [%s]", text); g_object_set(control, "value", text, NULL); entangle_camera_save_controls_async(priv->camera, NULL, do_update_control_finish, panel); } static gboolean do_refresh_control_range_idle(gpointer data) { GtkWidget *widget = GTK_WIDGET(data); GObject *control = g_object_get_data(G_OBJECT(widget), "control"); gfloat val; g_object_get(control, "value", &val, NULL); if (GTK_IS_LABEL(widget)) { gchar *text = g_strdup_printf("%0.02f", val); gtk_label_set_text(GTK_LABEL(widget), text); g_free(text); } else { gtk_range_set_value(GTK_RANGE(widget), val); } return FALSE; } static void do_refresh_control_range(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_idle_add(do_refresh_control_range_idle, data); } static void do_update_control_range(GtkRange *widget G_GNUC_UNUSED, GtkScrollType scroll G_GNUC_UNUSED, gdouble value, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); EntangleControlText *control = g_object_get_data(G_OBJECT(widget), "control"); EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(data); EntangleControlPanelPrivate *priv = panel->priv; ENTANGLE_DEBUG("range [%lf]", value); g_object_set(control, "value", (float)value, NULL); entangle_camera_save_controls_async(priv->camera, NULL, do_update_control_finish, panel); } static gboolean do_refresh_control_combo_idle(gpointer data) { GtkWidget *widget = GTK_WIDGET(data); GObject *control = g_object_get_data(G_OBJECT(widget), "control"); gchar *text; g_object_get(control, "value", &text, NULL); if (GTK_IS_LABEL(widget)) { gtk_label_set_text(GTK_LABEL(widget), text); } else { int active = 0; for (int n = 0; n < entangle_control_choice_entry_count(ENTANGLE_CONTROL_CHOICE(control)); n++) { if (g_strcmp0(text, entangle_control_choice_entry_get(ENTANGLE_CONTROL_CHOICE(control), n)) == 0) active = n; } gtk_combo_box_set_active(GTK_COMBO_BOX(widget), active); } g_free(text); return FALSE; } static void do_refresh_control_combo(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_idle_add(do_refresh_control_combo_idle, data); } static void do_update_control_combo(GtkComboBox *widget, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); EntangleControlChoice *control = g_object_get_data(G_OBJECT(widget), "control"); EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(data); EntangleControlPanelPrivate *priv = panel->priv; GtkTreeIter iter; char *text = NULL; GtkTreeModel *model = gtk_combo_box_get_model(widget); if (gtk_combo_box_get_active_iter(widget, &iter)) gtk_tree_model_get(model, &iter, 0, &text, -1); ENTANGLE_DEBUG("combo [%s]", text); g_object_set(control, "value", text, NULL); g_free(text); entangle_camera_save_controls_async(priv->camera, NULL, do_update_control_finish, panel); } static gboolean do_refresh_control_toggle_idle(gpointer data) { GtkWidget *widget = GTK_WIDGET(data); GObject *control = g_object_get_data(G_OBJECT(widget), "control"); gboolean state; g_object_get(control, "value", &state, NULL); if (GTK_IS_LABEL(widget)) gtk_label_set_text(GTK_LABEL(widget), state ? _("On") : _("Off")); else gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), state); return FALSE; } static void do_refresh_control_toggle(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_idle_add(do_refresh_control_toggle_idle, data); } static void do_update_control_toggle(GtkToggleButton *widget, gpointer data) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(data)); EntangleControlChoice *control = g_object_get_data(G_OBJECT(widget), "control"); EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(data); EntangleControlPanelPrivate *priv = panel->priv; gboolean active; active = gtk_toggle_button_get_active(widget); ENTANGLE_DEBUG("toggle [%d]", active); g_object_set(control, "value", active, NULL); entangle_camera_save_controls_async(priv->camera, NULL, do_update_control_finish, panel); } static gboolean do_update_control_readonly_idle(gpointer data) { GtkWidget *widget = GTK_WIDGET(data); GObject *control = g_object_get_data(G_OBJECT(widget), "control"); gboolean state; g_object_get(control, "readonly", &state, NULL); gtk_widget_set_sensitive(widget, !state); return FALSE; } static void do_update_control_readonly(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_idle_add(do_update_control_readonly_idle, data); } static void do_setup_control_group(EntangleControlPanel *panel, GtkVBox *box, EntangleControlGroup *grp) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel)); g_return_if_fail(ENTANGLE_IS_CONTROL_GROUP(grp)); EntangleControlPanelPrivate *priv = panel->priv; int i; GtkWidget *frame = gtk_expander_new(entangle_control_get_label(ENTANGLE_CONTROL(grp))); GtkWidget *subbox = gtk_box_new(GTK_ORIENTATION_VERTICAL, 6); gtk_container_add(GTK_CONTAINER(frame), subbox); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 0); gtk_expander_set_expanded(GTK_EXPANDER(frame), TRUE); gtk_container_set_border_width(GTK_CONTAINER(subbox), 6); for (i = 0; i < entangle_control_group_count(grp); i++) { EntangleControl *control = entangle_control_group_get(grp, i); priv->hasControls = TRUE; ENTANGLE_DEBUG("Build control %d %s", entangle_control_get_id(control), entangle_control_get_label(control)); if (ENTANGLE_IS_CONTROL_BUTTON(control)) { GtkWidget *value; value = gtk_button_new_with_label(entangle_control_get_label(control)); if (entangle_control_get_readonly(control)) gtk_widget_set_sensitive(value, FALSE); gtk_container_add(GTK_CONTAINER(subbox), value); g_signal_connect(control, "notify::readonly", G_CALLBACK(do_update_control_readonly), value); } else if (ENTANGLE_IS_CONTROL_CHOICE(control)) { GtkCellRenderer *cell; GtkListStore *store; GtkWidget *label; GtkWidget *value; char *text; int active = -1; /* * Need todo better here * * If there's only two entries 0/1, turn into toggle * If there's a continuous sequence of numbers turn * into a spinbutton * * Some sequences of numbers are nonsene, and need to * be turned in to real labels. * * eg Shutter speed 0.00025 should be presented 1/4000 */ label = gtk_label_new(entangle_control_get_label(control)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_widget_set_tooltip_text(label, entangle_control_get_info(control)); gtk_container_add(GTK_CONTAINER(subbox), label); store = gtk_list_store_new(1, G_TYPE_STRING); value = gtk_combo_box_new_with_model(GTK_TREE_MODEL(store)); g_object_unref(store); cell = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(value), cell, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(value), cell, "text", 0, NULL); g_object_get(control, "value", &text, NULL); for (int n = 0; n < entangle_control_choice_entry_count(ENTANGLE_CONTROL_CHOICE(control)); n++) { GtkTreeIter iter; if (g_strcmp0(text, entangle_control_choice_entry_get(ENTANGLE_CONTROL_CHOICE(control), n)) == 0) active = n; gtk_list_store_append(store, &iter); gtk_list_store_set(store, &iter, 0, entangle_control_choice_entry_get(ENTANGLE_CONTROL_CHOICE(control), n), -1); } if (entangle_control_get_readonly(control)) gtk_widget_set_sensitive(value, FALSE); gtk_combo_box_set_active(GTK_COMBO_BOX(value), active); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(value, "changed", G_CALLBACK(do_update_control_combo), panel); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_combo), value); g_signal_connect(control, "notify::readonly", G_CALLBACK(do_update_control_readonly), value); gtk_container_add(GTK_CONTAINER(subbox), value); } else if (ENTANGLE_IS_CONTROL_DATE(control)) { GtkWidget *label; GtkWidget *value; int date; label = gtk_label_new(entangle_control_get_label(control)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_widget_set_tooltip_text(label, entangle_control_get_info(control)); gtk_container_add(GTK_CONTAINER(subbox), label); value = gtk_entry_new(); g_object_get(control, "value", &date, NULL); if (entangle_control_get_readonly(control)) gtk_widget_set_sensitive(value, FALSE); //gtk_entry_set_text(GTK_ENTRY(value), text); gtk_container_add(GTK_CONTAINER(subbox), value); } else if (ENTANGLE_IS_CONTROL_RANGE(control)) { GtkWidget *label; GtkWidget *value; gfloat offset; gdouble min = entangle_control_range_get_min(ENTANGLE_CONTROL_RANGE(control)); gdouble max = entangle_control_range_get_max(ENTANGLE_CONTROL_RANGE(control)); gboolean forceReadonly = FALSE; if (fabs(min-max) < 0.005) { forceReadonly = TRUE; max += 1; } label = gtk_label_new(entangle_control_get_label(control)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_widget_set_tooltip_text(label, entangle_control_get_info(control)); gtk_container_add(GTK_CONTAINER(subbox), label); value = gtk_scale_new_with_range(GTK_ORIENTATION_HORIZONTAL, min, max, entangle_control_range_get_step(ENTANGLE_CONTROL_RANGE(control))); g_object_get(control, "value", &offset, NULL); gtk_range_set_value(GTK_RANGE(value), offset); if (entangle_control_get_readonly(control) || forceReadonly) gtk_widget_set_sensitive(value, FALSE); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(value, "change-value", G_CALLBACK(do_update_control_range), panel); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_range), value); g_signal_connect(control, "notify::readonly", G_CALLBACK(do_update_control_readonly), value); gtk_container_add(GTK_CONTAINER(subbox), value); } else if (ENTANGLE_IS_CONTROL_TEXT(control)) { GtkWidget *label; GtkWidget *value; const char *text; label = gtk_label_new(entangle_control_get_label(control)); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_widget_set_tooltip_text(label, entangle_control_get_info(control)); gtk_container_add(GTK_CONTAINER(subbox), label); value = gtk_entry_new(); g_object_get(control, "value", &text, NULL); gtk_entry_set_text(GTK_ENTRY(value), text); if (entangle_control_get_readonly(control)) gtk_widget_set_sensitive(value, FALSE); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(value, "focus-out-event", G_CALLBACK(do_update_control_entry), panel); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_entry), value); g_signal_connect(control, "notify::readonly", G_CALLBACK(do_update_control_readonly), value); gtk_container_add(GTK_CONTAINER(subbox), value); } else if (ENTANGLE_IS_CONTROL_TOGGLE(control)) { GtkWidget *value; gboolean active; value = gtk_check_button_new_with_label(entangle_control_get_label(control)); g_object_get(control, "value", &active, NULL); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(value), active); if (entangle_control_get_readonly(control)) gtk_widget_set_sensitive(value, FALSE); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(value, "toggled", G_CALLBACK(do_update_control_toggle), panel); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_toggle), value); g_signal_connect(control, "notify::readonly", G_CALLBACK(do_update_control_readonly), value); gtk_container_add(GTK_CONTAINER(subbox), value); } } } static void do_setup_control_group_ro(EntangleControlPanel *panel, GtkVBox *box, EntangleControlGroup *grp) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel)); g_return_if_fail(ENTANGLE_IS_CONTROL_GROUP(grp)); EntangleControlPanelPrivate *priv = panel->priv; int i; GtkWidget *frame = gtk_expander_new(entangle_control_get_label(ENTANGLE_CONTROL(grp))); #if GTK_CHECK_VERSION(3, 2, 0) GtkWidget *subbox = gtk_grid_new(); #else GtkWidget *subbox = gtk_table_new(entangle_control_group_count(grp), 2, FALSE); #endif gtk_container_add(GTK_CONTAINER(frame), subbox); gtk_box_pack_start(GTK_BOX(box), frame, FALSE, FALSE, 0); gtk_expander_set_expanded(GTK_EXPANDER(frame), TRUE); gtk_container_set_border_width(GTK_CONTAINER(subbox), 6); for (i = 0; i < entangle_control_group_count(grp); i++) { EntangleControl *control = entangle_control_group_get(grp, i); GtkWidget *label; GtkWidget *value = NULL; priv->hasControls = TRUE; ENTANGLE_DEBUG("Build control %d %s", entangle_control_get_id(control), entangle_control_get_label(control)); if (ENTANGLE_IS_CONTROL_CHOICE(control)) { char *text; g_object_get(control, "value", &text, NULL); value = gtk_label_new(text); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_combo), value); } else if (ENTANGLE_IS_CONTROL_DATE(control)) { int date; gchar *text; g_object_get(control, "value", &date, NULL); text = g_strdup_printf("%d", date); value = gtk_label_new(text); g_free(text); g_object_set_data(G_OBJECT(value), "control", control); } else if (ENTANGLE_IS_CONTROL_RANGE(control)) { float offset; gchar *text; g_object_get(control, "value", &offset, NULL); text = g_strdup_printf("%0.02f", offset); value = gtk_label_new(text); g_free(text); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_range), value); } else if (ENTANGLE_IS_CONTROL_TEXT(control)) { const gchar *text; g_object_get(control, "value", &text, NULL); value = gtk_label_new(text); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_entry), value); } else if (ENTANGLE_IS_CONTROL_TOGGLE(control)) { gboolean active; gchar *text; g_object_get(control, "value", &active, NULL); text = g_strdup_printf("%s", active ? "Yes" : "No"); value = gtk_label_new(text); g_free(text); g_object_set_data(G_OBJECT(value), "control", control); g_signal_connect(control, "notify::value", G_CALLBACK(do_refresh_control_toggle), value); } if (value) { gchar *text = g_strdup_printf("%s", entangle_control_get_label(control)); label = gtk_label_new(""); gtk_label_set_markup(GTK_LABEL(label), text); g_free(text); gtk_misc_set_alignment(GTK_MISC(label), 0, 0); gtk_misc_set_alignment(GTK_MISC(value), 0, 0); gtk_label_set_ellipsize(GTK_LABEL(label), PANGO_ELLIPSIZE_END); gtk_widget_set_tooltip_text(label, entangle_control_get_info(control)); #if GTK_CHECK_VERSION(3, 2, 0) gtk_grid_attach(GTK_GRID(subbox), label, 0, i, 1, 1); gtk_grid_attach(GTK_GRID(subbox), value, 1, i, 1, 1); #else gtk_table_attach(GTK_TABLE(subbox), label, 0, 1, i, i+1, GTK_EXPAND|GTK_FILL, GTK_EXPAND, 3, 3); gtk_table_attach(GTK_TABLE(subbox), value, 1, 2, i, i+1, GTK_FILL, GTK_EXPAND, 3, 3); #endif } } } static void do_setup_camera(EntangleControlPanel *panel) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel)); EntangleControlPanelPrivate *priv = panel->priv; EntangleControlGroup *root; EntangleControl *grp; gsize i; gtk_container_foreach(GTK_CONTAINER(panel), do_control_remove, panel); if (!priv->camera) { GtkWidget *label = gtk_label_new(_("No camera connected")); gtk_container_add(GTK_CONTAINER(panel), label); gtk_widget_show_all(GTK_WIDGET(panel)); return; } root = entangle_camera_get_controls(priv->camera, NULL); if (!root) { GtkWidget *label = gtk_label_new(_("No controls available")); gtk_container_add(GTK_CONTAINER(panel), label); gtk_widget_show_all(GTK_WIDGET(panel)); return; } for (i = 0; i < entangle_control_group_count(ENTANGLE_CONTROL_GROUP(root)); i++) { grp = entangle_control_group_get(ENTANGLE_CONTROL_GROUP(root), i); if (g_str_equal(entangle_control_get_path(ENTANGLE_CONTROL(grp)), "/main/status")) do_setup_control_group_ro(panel, GTK_VBOX(panel), ENTANGLE_CONTROL_GROUP(grp)); else do_setup_control_group(panel, GTK_VBOX(panel), ENTANGLE_CONTROL_GROUP(grp)); } gtk_widget_show_all(GTK_WIDGET(panel)); g_object_unref(root); } static void entangle_control_panel_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(object); EntangleControlPanelPrivate *priv = panel->priv; switch (prop_id) { case PROP_CAMERA: g_value_set_object(value, priv->camera); break; case PROP_HAS_CONTROLS: g_value_set_boolean(value, priv->hasControls); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_panel_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(object); ENTANGLE_DEBUG("Set prop on control panel %d", prop_id); switch (prop_id) { case PROP_CAMERA: entangle_control_panel_set_camera(panel, g_value_get_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_panel_finalize(GObject *object) { EntangleControlPanel *panel = ENTANGLE_CONTROL_PANEL(object); EntangleControlPanelPrivate *priv = panel->priv; if (priv->camera) g_object_unref(priv->camera); G_OBJECT_CLASS(entangle_control_panel_parent_class)->finalize(object); } static void entangle_control_panel_class_init(EntangleControlPanelClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_panel_finalize; object_class->get_property = entangle_control_panel_get_property; object_class->set_property = entangle_control_panel_set_property; g_object_class_install_property(object_class, PROP_CAMERA, g_param_spec_object("camera", "Camera", "Camera to managed", ENTANGLE_TYPE_CAMERA, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CAMERA, g_param_spec_boolean("has-controls", "Has Controls", "Has Controls", FALSE, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlPanelPrivate)); } EntangleControlPanel *entangle_control_panel_new(void) { return ENTANGLE_CONTROL_PANEL(g_object_new(ENTANGLE_TYPE_CONTROL_PANEL, NULL)); } static void entangle_control_panel_init(EntangleControlPanel *panel) { panel->priv = ENTANGLE_CONTROL_PANEL_GET_PRIVATE(panel); gtk_container_set_border_width(GTK_CONTAINER(panel), 0); do_setup_camera(panel); } void entangle_control_panel_set_camera(EntangleControlPanel *panel, EntangleCamera *cam) { g_return_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel)); g_return_if_fail(!cam || ENTANGLE_IS_CAMERA(cam)); EntangleControlPanelPrivate *priv = panel->priv; if (priv->camera) g_object_unref(priv->camera); priv->camera = cam; if (priv->camera) g_object_ref(priv->camera); do_setup_camera(panel); } EntangleCamera *entangle_control_panel_get_camera(EntangleControlPanel *panel) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel), NULL); EntangleControlPanelPrivate *priv = panel->priv; return priv->camera; } gboolean entangle_control_panel_get_has_controls(EntangleControlPanel *panel) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_PANEL(panel), FALSE); EntangleControlPanelPrivate *priv = panel->priv; return priv->hasControls; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-support.c0000664000000000000000000001734612253420652017531 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-support.h" #include "entangle-window.h" #define ENTANGLE_CAMERA_SUPPORT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_SUPPORT, EntangleCameraSupportPrivate)) gboolean do_support_close(GtkButton *src, gpointer data); gboolean do_support_delete(GtkWidget *src, GdkEvent *ev); struct _EntangleCameraSupportPrivate { EntangleCameraList *cameraList; GtkBuilder *builder; }; static void entangle_camera_support_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntangleCameraSupport, entangle_camera_support, GTK_TYPE_DIALOG, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_camera_support_window_interface_init)); enum { PROP_O, PROP_CAMERA_LIST, }; static void entangle_camera_support_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraSupport *support = ENTANGLE_CAMERA_SUPPORT(object); EntangleCameraSupportPrivate *priv = support->priv; switch (prop_id) { case PROP_CAMERA_LIST: g_value_set_object(value, priv->cameraList); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_support_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraSupport *support = ENTANGLE_CAMERA_SUPPORT(object); ENTANGLE_DEBUG("Set prop %d", prop_id); switch (prop_id) { case PROP_CAMERA_LIST: entangle_camera_support_set_camera_list(support, g_value_get_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_support_finalize(GObject *object) { EntangleCameraSupport *support = ENTANGLE_CAMERA_SUPPORT(object); EntangleCameraSupportPrivate *priv = support->priv; if (priv->cameraList) g_object_unref(priv->cameraList); g_object_unref(priv->builder); G_OBJECT_CLASS(entangle_camera_support_parent_class)->finalize(object); } static void do_entangle_camera_support_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_camera_support_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_camera_support_set_builder; } static void entangle_camera_support_class_init(EntangleCameraSupportClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_support_finalize; object_class->get_property = entangle_camera_support_get_property; object_class->set_property = entangle_camera_support_set_property; g_object_class_install_property(object_class, PROP_CAMERA_LIST, g_param_spec_object("camera-list", "Camera List", "Camera list to query", ENTANGLE_TYPE_CAMERA_LIST, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleCameraSupportPrivate)); } EntangleCameraSupport *entangle_camera_support_new(void) { return ENTANGLE_CAMERA_SUPPORT(entangle_window_new(ENTANGLE_TYPE_CAMERA_SUPPORT, GTK_TYPE_DIALOG, "camera-support")); } gboolean do_support_close(GtkButton *src G_GNUC_UNUSED, gpointer data) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_SUPPORT(data), FALSE); EntangleCameraSupport *support = ENTANGLE_CAMERA_SUPPORT(data); ENTANGLE_DEBUG("support close"); gtk_widget_hide(GTK_WIDGET(support)); return FALSE; } gboolean do_support_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_SUPPORT(src), FALSE); ENTANGLE_DEBUG("support delete"); gtk_widget_hide(src); return FALSE; } static void do_entangle_camera_support_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntangleCameraSupport *support = ENTANGLE_CAMERA_SUPPORT(win); EntangleCameraSupportPrivate *priv = support->priv; priv->builder = g_object_ref(builder); } static void entangle_camera_support_init(EntangleCameraSupport *support) { support->priv = ENTANGLE_CAMERA_SUPPORT_GET_PRIVATE(support); } static void do_support_refresh(EntangleCameraSupport *support) { g_return_if_fail(ENTANGLE_IS_CAMERA_SUPPORT(support)); EntangleCameraSupportPrivate *priv = support->priv; GtkWidget *text = GTK_WIDGET(gtk_builder_get_object(priv->builder, "info-text")); if (priv->cameraList) { gchar **cameras = entangle_camera_list_get_supported(priv->cameraList); gchar *tmp = g_strjoinv("\n", cameras); gtk_label_set_text(GTK_LABEL(text), tmp); g_free(tmp); } else { gtk_label_set_text(GTK_LABEL(text), ""); } } void entangle_camera_support_set_camera_list(EntangleCameraSupport *support, EntangleCameraList *cameraList) { g_return_if_fail(ENTANGLE_IS_CAMERA_SUPPORT(support)); g_return_if_fail(ENTANGLE_IS_CAMERA_LIST(cameraList)); EntangleCameraSupportPrivate *priv = support->priv; if (priv->cameraList) g_object_unref(priv->cameraList); priv->cameraList = cameraList; if (priv->cameraList) g_object_ref(priv->cameraList); do_support_refresh(support); } EntangleCameraList *entangle_camera_support_get_camera_list(EntangleCameraSupport *support) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_SUPPORT(support), NULL); EntangleCameraSupportPrivate *priv = support->priv; return priv->cameraList; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-window.h0000664000000000000000000000417512253420652016077 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2013 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #ifndef __ENTANGLE_WINDOW_H__ # define __ENTANGLE_WINDOW_H__ #include #include "entangle-camera.h" #include "entangle-application.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_WINDOW (entangle_window_get_type ()) #define ENTANGLE_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_WINDOW, EntangleWindow)) #define ENTANGLE_IS_WINDOW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_WINDOW)) #define ENTANGLE_WINDOW_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), ENTANGLE_TYPE_WINDOW, EntangleWindowInterface)) typedef struct _EntangleWindow EntangleWindow; /* dummy object */ typedef struct _EntangleWindowInterface EntangleWindowInterface; struct _EntangleWindowInterface { GTypeInterface parent; void (*set_builder)(EntangleWindow *win, GtkBuilder *builder); }; GType entangle_window_get_type(void) G_GNUC_CONST; EntangleWindow *entangle_window_new(GType newwintype, GType oldwintype, const gchar *winname); void entangle_window_set_builder(EntangleWindow *win, GtkBuilder *builder); G_END_DECLS #endif /* __ENTANGLE_WINDOW_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-manager.h0000664000000000000000000000556612253420652017435 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_MANAGER_H__ #define __ENTANGLE_CAMERA_MANAGER_H__ #include #include "entangle-camera.h" #include "entangle-application.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_MANAGER (entangle_camera_manager_get_type ()) #define ENTANGLE_CAMERA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_MANAGER, EntangleCameraManager)) #define ENTANGLE_CAMERA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_MANAGER, EntangleCameraManagerClass)) #define ENTANGLE_IS_CAMERA_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_MANAGER)) #define ENTANGLE_IS_CAMERA_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_MANAGER)) #define ENTANGLE_CAMERA_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_MANAGER, EntangleCameraManagerClass)) typedef struct _EntangleCameraManager EntangleCameraManager; typedef struct _EntangleCameraManagerPrivate EntangleCameraManagerPrivate; typedef struct _EntangleCameraManagerClass EntangleCameraManagerClass; struct _EntangleCameraManager { GtkWindow parent; EntangleCameraManagerPrivate *priv; }; struct _EntangleCameraManagerClass { GtkWindowClass parent_class; void (*manager_connect)(EntangleCameraManager *manager); void (*manager_disconnect)(EntangleCameraManager *manager); }; GType entangle_camera_manager_get_type(void) G_GNUC_CONST; EntangleCameraManager* entangle_camera_manager_new(void); void entangle_camera_manager_capture(EntangleCameraManager *manager); void entangle_camera_manager_preview_begin(EntangleCameraManager *manager); void entangle_camera_manager_preview_cancel(EntangleCameraManager *manager); void entangle_camera_manager_set_camera(EntangleCameraManager *manager, EntangleCamera *cam); EntangleCamera *entangle_camera_manager_get_camera(EntangleCameraManager *manager); G_END_DECLS #endif /* __ENTANGLE_CAMERA_MANAGER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-statusbar.c0000664000000000000000000002522712253420652017654 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-image-statusbar.h" #include "entangle-image.h" #define ENTANGLE_IMAGE_STATUSBAR_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE_STATUSBAR, EntangleImageStatusbarPrivate)) struct _EntangleImageStatusbarPrivate { gulong imageNotifyID; EntangleImage *image; GtkWidget *metaBox; GtkWidget *metaAperture; GtkWidget *metaShutter; GtkWidget *metaIso; GtkWidget *metaFocal; GtkWidget *metaDimensions; }; G_DEFINE_TYPE(EntangleImageStatusbar, entangle_image_statusbar, GTK_TYPE_EVENT_BOX); enum { PROP_O, PROP_IMAGE, }; static void entangle_image_statusbar_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImageStatusbar *statusbar = ENTANGLE_IMAGE_STATUSBAR(object); EntangleImageStatusbarPrivate *priv = statusbar->priv; switch (prop_id) { case PROP_IMAGE: g_value_set_object(value, priv->image); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_statusbar_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImageStatusbar *statusbar = ENTANGLE_IMAGE_STATUSBAR(object); ENTANGLE_DEBUG("Set prop on image statusbar %d", prop_id); switch (prop_id) { case PROP_IMAGE: entangle_image_statusbar_set_image(statusbar, g_value_get_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_statusbar_finalize(GObject *object) { EntangleImageStatusbar *statusbar = ENTANGLE_IMAGE_STATUSBAR(object); EntangleImageStatusbarPrivate *priv = statusbar->priv; if (priv->image) { g_signal_handler_disconnect(priv->image, priv->imageNotifyID); g_object_unref(priv->image); } G_OBJECT_CLASS(entangle_image_statusbar_parent_class)->finalize(object); } static void entangle_image_statusbar_class_init(EntangleImageStatusbarClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_image_statusbar_finalize; object_class->get_property = entangle_image_statusbar_get_property; object_class->set_property = entangle_image_statusbar_set_property; g_object_class_install_property(object_class, PROP_IMAGE, g_param_spec_object("image", "Image", "Image", ENTANGLE_TYPE_IMAGE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleImageStatusbarPrivate)); } EntangleImageStatusbar *entangle_image_statusbar_new(void) { return ENTANGLE_IMAGE_STATUSBAR(g_object_new(ENTANGLE_TYPE_IMAGE_STATUSBAR, NULL)); } static void entangle_image_statusbar_init(EntangleImageStatusbar *statusbar) { g_return_if_fail(ENTANGLE_IS_IMAGE_STATUSBAR(statusbar)); EntangleImageStatusbarPrivate *priv; GdkColor color; priv = statusbar->priv = ENTANGLE_IMAGE_STATUSBAR_GET_PRIVATE(statusbar); priv->metaBox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6); g_object_set(priv->metaBox, "homogeneous", TRUE, NULL); gtk_container_set_border_width(GTK_CONTAINER(priv->metaBox), 6); priv->metaAperture = gtk_label_new(""); priv->metaShutter = gtk_label_new(""); priv->metaFocal = gtk_label_new(""); priv->metaIso = gtk_label_new(""); priv->metaDimensions = gtk_label_new(""); gtk_box_pack_start(GTK_BOX(priv->metaBox), priv->metaAperture, TRUE, TRUE, 6); gtk_box_pack_start(GTK_BOX(priv->metaBox), priv->metaShutter, TRUE, TRUE, 6); gtk_box_pack_start(GTK_BOX(priv->metaBox), priv->metaFocal, TRUE, TRUE, 6); gtk_box_pack_start(GTK_BOX(priv->metaBox), priv->metaIso, TRUE, TRUE, 6); gtk_box_pack_start(GTK_BOX(priv->metaBox), priv->metaDimensions, TRUE, TRUE, 6); gtk_container_add(GTK_CONTAINER(statusbar), priv->metaBox); /* XXX somehow this isn't working */ gdk_color_parse("black", &color); gtk_widget_modify_bg(GTK_WIDGET(statusbar), GTK_STATE_NORMAL, &color); gdk_color_parse("white", &color); gtk_widget_modify_fg(GTK_WIDGET(priv->metaAperture), GTK_STATE_NORMAL, &color); gtk_widget_modify_fg(GTK_WIDGET(priv->metaShutter), GTK_STATE_NORMAL, &color); gtk_widget_modify_fg(GTK_WIDGET(priv->metaFocal), GTK_STATE_NORMAL, &color); gtk_widget_modify_fg(GTK_WIDGET(priv->metaIso), GTK_STATE_NORMAL, &color); gtk_widget_modify_fg(GTK_WIDGET(priv->metaDimensions), GTK_STATE_NORMAL, &color); gtk_widget_show_all(GTK_WIDGET(statusbar)); } static void entangle_image_statusbar_update_labels(EntangleImageStatusbar *statusbar) { g_return_if_fail(ENTANGLE_IS_IMAGE_STATUSBAR(statusbar)); EntangleImageStatusbarPrivate *priv = statusbar->priv; GExiv2Metadata *metadata = entangle_image_get_metadata(priv->image); gchar *shutter = NULL; gchar *aperture = NULL; gchar *focal = NULL; gchar *iso = NULL; gchar *dimensions = NULL; if (metadata) { gint nom, den; gint fnumn, fnumd; gdouble fnum; guint isonum; gdouble focalnum; if (gexiv2_metadata_has_tag(metadata, "Exif.Photo.ExposureTime")) { gexiv2_metadata_get_exif_tag_rational(metadata, "Exif.Photo.ExposureTime", &nom, &den); if (den == 10) shutter = g_strdup_printf("%0.1lf secs", (double)nom/10.0); else if (nom == 10) shutter = g_strdup_printf("1/%0.0lf secs", (double)den/10.0); else shutter = g_strdup_printf("%d/%d secs", nom, den); } if ((gexiv2_metadata_has_tag(metadata, "Exif.Photo.FNumber") && gexiv2_metadata_get_exif_tag_rational(metadata, "Exif.Photo.FNumber", &fnumn, &fnumd)) || (gexiv2_metadata_has_tag(metadata, "Exif.Photo.Aperture") && gexiv2_metadata_get_exif_tag_rational(metadata, "Exif.Photo.Aperture", &fnumn, &fnumd))) { fnum = (double)fnumn/(double)fnumd; if (fnum < 10.0) aperture = g_strdup_printf("f/%1.1f", fnum); else aperture = g_strdup_printf("f/%2.0f", fnum); } if (gexiv2_metadata_has_tag(metadata, "Exif.Photo.ISOSpeedRatings")) { isonum = gexiv2_metadata_get_exif_tag_long(metadata, "Exif.Photo.ISOSpeedRatings"); iso = g_strdup_printf("ISO %d", isonum); } if (gexiv2_metadata_has_tag(metadata, "Exif.Photo.FocalLength")) { gexiv2_metadata_get_exif_tag_rational(metadata, "Exif.Photo.FocalLength", &nom, &den); if (den > 0.0001) { focalnum = (nom / den); focal = g_strdup_printf("%0.0lf mm", focalnum); } } dimensions = g_strdup_printf("%d x %d", gexiv2_metadata_get_pixel_width(metadata), gexiv2_metadata_get_pixel_height(metadata)); } gtk_label_set_text(GTK_LABEL(priv->metaShutter), shutter ? shutter : ""); gtk_label_set_text(GTK_LABEL(priv->metaAperture), aperture ? aperture : ""); gtk_label_set_text(GTK_LABEL(priv->metaFocal), focal ? focal : ""); gtk_label_set_text(GTK_LABEL(priv->metaIso), iso ? iso : ""); gtk_label_set_text(GTK_LABEL(priv->metaDimensions), dimensions ? dimensions : ""); g_free(shutter); g_free(aperture); g_free(focal); g_free(iso); g_free(dimensions); } static void entangle_image_statusbar_image_metadata_notify(GObject *image G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_IMAGE_STATUSBAR(data)); EntangleImageStatusbar *statusbar = ENTANGLE_IMAGE_STATUSBAR(data); entangle_image_statusbar_update_labels(statusbar); } void entangle_image_statusbar_set_image(EntangleImageStatusbar *statusbar, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE_STATUSBAR(statusbar)); g_return_if_fail(!image || ENTANGLE_IS_IMAGE(image)); EntangleImageStatusbarPrivate *priv = statusbar->priv; if (priv->image) { g_signal_handler_disconnect(priv->image, priv->imageNotifyID); g_object_unref(priv->image); } priv->image = image; if (priv->image) { g_object_ref(priv->image); priv->imageNotifyID = g_signal_connect(priv->image, "notify::metadata", G_CALLBACK(entangle_image_statusbar_image_metadata_notify), statusbar); } gtk_widget_queue_draw(GTK_WIDGET(statusbar)); } EntangleImage *entangle_image_statusbar_get_image(EntangleImageStatusbar *statusbar) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_STATUSBAR(statusbar), NULL); EntangleImageStatusbarPrivate *priv = statusbar->priv; return priv->image; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-session-browser.h0000664000000000000000000000664212253420652017735 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_SESSION_BROWSER_H__ #define __ENTANGLE_SESSION_BROWSER_H__ #include #include "entangle-image.h" #include "entangle-thumbnail-loader.h" #include "entangle-session.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_SESSION_BROWSER (entangle_session_browser_get_type ()) #define ENTANGLE_SESSION_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_SESSION_BROWSER, EntangleSessionBrowser)) #define ENTANGLE_SESSION_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_SESSION_BROWSER, EntangleSessionBrowserClass)) #define ENTANGLE_IS_SESSION_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_SESSION_BROWSER)) #define ENTANGLE_IS_SESSION_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_SESSION_BROWSER)) #define ENTANGLE_SESSION_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_SESSION_BROWSER, EntangleSessionBrowserClass)) typedef struct _EntangleSessionBrowser EntangleSessionBrowser; typedef struct _EntangleSessionBrowserPrivate EntangleSessionBrowserPrivate; typedef struct _EntangleSessionBrowserClass EntangleSessionBrowserClass; struct _EntangleSessionBrowser { GtkDrawingArea parent; EntangleSessionBrowserPrivate *priv; }; struct _EntangleSessionBrowserClass { GtkDrawingAreaClass parent_class; void (*selection_changed)(EntangleSessionBrowser *browser); }; GType entangle_session_browser_get_type(void) G_GNUC_CONST; EntangleSessionBrowser* entangle_session_browser_new(void); EntangleImage *entangle_session_browser_selected_image(EntangleSessionBrowser *browser); GList *entangle_session_browser_earlier_images(EntangleSessionBrowser *browser, gboolean include_selected, gsize count); void entangle_session_browser_set_thumbnail_loader(EntangleSessionBrowser *browser, EntangleThumbnailLoader *loader); EntangleThumbnailLoader *entangle_session_browser_get_thumbnail_loader(EntangleSessionBrowser *browser); void entangle_session_browser_set_session(EntangleSessionBrowser *browser, EntangleSession *session); EntangleSession *entangle_session_browser_get_session(EntangleSessionBrowser *browser); EntangleImage *entangle_session_browser_get_image_at_coords(EntangleSessionBrowser *browser, gint x, gint y); G_END_DECLS #endif /* __ENTANGLE_SESSION_BROWSER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-session-browser.c0000664000000000000000000022571312253420652017732 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-session-browser.h" #define ENTANGLE_SESSION_BROWSER_PRIORITY_LAYOUT (GDK_PRIORITY_REDRAW + 5) #define ENTANGLE_SESSION_BROWSER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_SESSION_BROWSER, EntangleSessionBrowserPrivate)) typedef struct _EntangleSessionBrowserItem EntangleSessionBrowserItem; struct _EntangleSessionBrowserItem { /* First member is always the rectangle so it * can be cast to a rectangle. */ GdkRectangle cell_area; GtkTreeIter iter; gint idx; gint col; guint selected : 1; guint selected_before_rubberbanding : 1; }; struct _EntangleSessionBrowserPrivate { EntangleSession *session; EntangleThumbnailLoader *loader; GtkCellArea *cell_area; GtkCellAreaContext *cell_area_context; GtkCellRenderer *pixbuf_cell; gulong sigImageAdded; gulong sigThumbReady; gulong context_changed_id; GdkPixbuf *blank; GtkTreeModel *model; EntangleImage *selected; GList *items; GtkAdjustment *hadjustment; GtkAdjustment *vadjustment; GtkTreeRowReference *scroll_to_path; gfloat scroll_to_row_align; gfloat scroll_to_col_align; guint scroll_to_use_align : 1; /* GtkScrollablePolicy needs to be checked when * driving the scrollable adjustment values */ guint hscroll_policy : 1; guint vscroll_policy : 1; guint width; guint height; guint layout_idle_id; GdkWindow *bin_window; gint margin; gint item_padding; gint column_spacing; gint dnd_start_x; gint dnd_start_y; }; static void entangle_session_browser_adjustment_changed(GtkAdjustment *adjustment, EntangleSessionBrowser *browser); static void entangle_session_browser_set_hadjustment(EntangleSessionBrowser *browser, GtkAdjustment *adjustment); static void entangle_session_browser_set_vadjustment(EntangleSessionBrowser *browser, GtkAdjustment *adjustment); static void entangle_session_browser_set_hadjustment_values(EntangleSessionBrowser *browser); static void entangle_session_browser_set_vadjustment_values(EntangleSessionBrowser *browser); static gboolean entangle_session_browser_draw(GtkWidget *widget, cairo_t *cr); static void entangle_session_browser_queue_layout(EntangleSessionBrowser *browser); static void entangle_session_browser_cell_layout_init(GtkCellLayoutIface *iface); static void entangle_session_browser_select_path(EntangleSessionBrowser *browser, GtkTreePath *path); static void entangle_session_browser_scroll_to_path(EntangleSessionBrowser *browser, GtkTreePath *path, gboolean use_align, gfloat row_align, gfloat col_align); static void entangle_session_browser_layout(EntangleSessionBrowser *browser); G_DEFINE_TYPE_WITH_CODE(EntangleSessionBrowser, entangle_session_browser, GTK_TYPE_DRAWING_AREA, G_IMPLEMENT_INTERFACE(GTK_TYPE_CELL_LAYOUT, entangle_session_browser_cell_layout_init) G_IMPLEMENT_INTERFACE(GTK_TYPE_SCROLLABLE, NULL)) enum { PROP_O, PROP_SESSION, PROP_LOADER, PROP_HADJUSTMENT, PROP_VADJUSTMENT, PROP_HSCROLL_POLICY, PROP_VSCROLL_POLICY, }; enum { FIELD_IMAGE, FIELD_PIXMAP, FIELD_LASTMOD, FIELD_NAME, FIELD_LAST, }; enum { SIGNAL_SELECTION_CHANGED, SIGNAL_LAST, }; static guint browser_signals[SIGNAL_LAST] = { 0 }; static void do_thumb_loaded(EntanglePixbufLoader *loader, EntangleImage *image, gpointer data) { EntangleSessionBrowser *browser = data; EntangleSessionBrowserPrivate *priv = browser->priv; GdkPixbuf *pixbuf; GtkTreeIter iter; ENTANGLE_DEBUG("Got pixbuf update on %p", image); pixbuf = entangle_pixbuf_loader_get_pixbuf(loader, image); if (!pixbuf) return; if (!gtk_tree_model_get_iter_first(priv->model, &iter)) return; do { EntangleImage *thisimage; gtk_tree_model_get(priv->model, &iter, FIELD_IMAGE, &thisimage, -1); if (image == thisimage) { g_object_unref(thisimage); gtk_list_store_set(GTK_LIST_STORE(priv->model), &iter, FIELD_PIXMAP, pixbuf, -1); break; } g_object_unref(thisimage); } while (gtk_tree_model_iter_next(priv->model, &iter)); } static void do_image_added(EntangleSession *session G_GNUC_UNUSED, EntangleImage *img, gpointer data) { EntangleSessionBrowser *browser = data; EntangleSessionBrowserPrivate *priv = browser->priv; GtkTreeIter iter; GtkTreePath *path = NULL; int mod = entangle_image_get_last_modified(img); gchar *name = g_path_get_basename(entangle_image_get_filename(img)); ENTANGLE_DEBUG("Request image %s for new image", entangle_image_get_filename(img)); entangle_pixbuf_loader_load(ENTANGLE_PIXBUF_LOADER(priv->loader), img); gtk_list_store_append(GTK_LIST_STORE(priv->model), &iter); gtk_list_store_set(GTK_LIST_STORE(priv->model), &iter, FIELD_IMAGE, img, FIELD_PIXMAP, priv->blank, FIELD_LASTMOD, mod, FIELD_NAME, name, -1); ENTANGLE_DEBUG("ADD IMAGE EXTRA %p", img); path = gtk_tree_model_get_path(priv->model, &iter); entangle_session_browser_select_path(browser, path); entangle_session_browser_scroll_to_path(browser, path, FALSE, 0, 0); gtk_tree_path_free(path); gtk_widget_queue_resize(GTK_WIDGET(browser)); } static void do_image_removed(EntangleSession *session G_GNUC_UNUSED, EntangleImage *img, gpointer data) { EntangleSessionBrowser *browser = data; EntangleSessionBrowserPrivate *priv = browser->priv; GtkTreeIter iter; ENTANGLE_DEBUG("Unrequest image %s for new image", entangle_image_get_filename(img)); entangle_pixbuf_loader_unload(ENTANGLE_PIXBUF_LOADER(priv->loader), img); if (!gtk_tree_model_get_iter_first(priv->model, &iter)) return; do { EntangleImage *thisimg = NULL; GValue value; memset(&value, 0, sizeof(value)); gtk_tree_model_get_value(priv->model, &iter, FIELD_IMAGE, &value); thisimg = g_value_get_object(&value); if (thisimg == img) { gtk_list_store_remove(GTK_LIST_STORE(priv->model), &iter); break; } } while (gtk_tree_model_iter_next(priv->model, &iter)); gtk_widget_queue_resize(GTK_WIDGET(browser)); } static void do_model_unload(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; int count; ENTANGLE_DEBUG("Unload model"); g_signal_handler_disconnect(priv->session, priv->sigImageAdded); g_signal_handler_disconnect(priv->loader, priv->sigThumbReady); count = entangle_session_image_count(priv->session); for (int i = 0; i < count; i++) { EntangleImage *img = entangle_session_image_get(priv->session, i); entangle_pixbuf_loader_unload(ENTANGLE_PIXBUF_LOADER(priv->loader), img); } g_object_unref(priv->blank); gtk_list_store_clear(GTK_LIST_STORE(priv->model)); } static void do_model_load(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; int count; int width; int height; ENTANGLE_DEBUG("Load model"); g_object_get(priv->loader, "width", &width, "height", &height, NULL); priv->blank = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, width, height); gdk_pixbuf_fill(priv->blank, 0x000000FF); priv->sigImageAdded = g_signal_connect(priv->session, "session-image-added", G_CALLBACK(do_image_added), browser); priv->sigImageAdded = g_signal_connect(priv->session, "session-image-removed", G_CALLBACK(do_image_removed), browser); priv->sigThumbReady = g_signal_connect(priv->loader, "pixbuf-loaded", G_CALLBACK(do_thumb_loaded), browser); count = entangle_session_image_count(priv->session); for (int i = 0; i < count; i++) { EntangleImage *img = entangle_session_image_get(priv->session, i); int mod = entangle_image_get_last_modified(img); GtkTreeIter iter; gchar *name = g_path_get_basename(entangle_image_get_filename(img)); gtk_list_store_append(GTK_LIST_STORE(priv->model), &iter); ENTANGLE_DEBUG("ADD IMAGE FIRST %p", img); gtk_list_store_set(GTK_LIST_STORE(priv->model), &iter, FIELD_IMAGE, img, FIELD_PIXMAP, priv->blank, FIELD_LASTMOD, mod, FIELD_NAME, name, -1); entangle_pixbuf_loader_load(ENTANGLE_PIXBUF_LOADER(priv->loader), img); } if (count) { GtkTreePath *path = NULL; path = gtk_tree_path_new_from_indices(count - 1, -1); entangle_session_browser_select_path(ENTANGLE_SESSION_BROWSER(browser), path); entangle_session_browser_scroll_to_path(ENTANGLE_SESSION_BROWSER(browser), path, FALSE, 0, 0); gtk_tree_path_free(path); } } static gint do_image_sort_name(GtkTreeModel *model, GtkTreeIter *a, GtkTreeIter *b, gpointer data G_GNUC_UNUSED) { gchar *ai, *bi; gtk_tree_model_get(model, a, FIELD_NAME, &ai, -1); gtk_tree_model_get(model, b, FIELD_NAME, &bi, -1); return strcmp(ai, bi); } static void entangle_session_browser_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(object); EntangleSessionBrowserPrivate *priv = browser->priv; switch (prop_id) { case PROP_SESSION: g_value_set_object(value, priv->session); break; case PROP_LOADER: g_value_set_object(value, priv->loader); break; case PROP_HADJUSTMENT: g_value_set_object(value, priv->hadjustment); break; case PROP_VADJUSTMENT: g_value_set_object(value, priv->vadjustment); break; case PROP_HSCROLL_POLICY: g_value_set_enum(value, priv->hscroll_policy); break; case PROP_VSCROLL_POLICY: g_value_set_enum(value, priv->vscroll_policy); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_session_browser_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(object); EntangleSessionBrowserPrivate *priv = browser->priv; ENTANGLE_DEBUG("Set prop on session browser %d", prop_id); switch (prop_id) { case PROP_SESSION: entangle_session_browser_set_session(browser, g_value_get_object(value)); break; case PROP_LOADER: entangle_session_browser_set_thumbnail_loader(browser, g_value_get_object(value)); break; case PROP_HADJUSTMENT: entangle_session_browser_set_hadjustment(browser, g_value_get_object(value)); break; case PROP_VADJUSTMENT: entangle_session_browser_set_vadjustment(browser, g_value_get_object(value)); break; case PROP_HSCROLL_POLICY: priv->hscroll_policy = g_value_get_enum(value); gtk_widget_queue_resize(GTK_WIDGET(browser)); break; case PROP_VSCROLL_POLICY: priv->vscroll_policy = g_value_get_enum(value); gtk_widget_queue_resize(GTK_WIDGET(browser)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void verify_items(EntangleSessionBrowser *browser) { GList *items; int i = 0; for (items = browser->priv->items; items; items = items->next) { EntangleSessionBrowserItem *item = items->data; if (item->idx != i) ENTANGLE_DEBUG("List item does not match its index: " "item index %d and list index %d\n", item->idx, i); i++; } } static GtkCellArea * entangle_session_browser_cell_layout_get_area(GtkCellLayout *cell_layout) { EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(cell_layout); EntangleSessionBrowserPrivate *priv = browser->priv; return priv->cell_area; } static void entangle_session_browser_set_cell_data(EntangleSessionBrowser *browser, EntangleSessionBrowserItem *item) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); gboolean iters_persist; GtkTreeIter iter; iters_persist = gtk_tree_model_get_flags(browser->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; if (!iters_persist) { GtkTreePath *path; path = gtk_tree_path_new_from_indices(item->idx, -1); if (!gtk_tree_model_get_iter(browser->priv->model, &iter, path)) return; gtk_tree_path_free(path); } else { iter = item->iter; } gtk_cell_area_apply_attributes(browser->priv->cell_area, browser->priv->model, &iter, FALSE, FALSE); } /* This ensures that all widths have been cached in the * context and we have proper alignments to go on. */ static void entangle_session_browser_cache_widths(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); GList *items; g_signal_handler_block(browser->priv->cell_area_context, browser->priv->context_changed_id); for (items = browser->priv->items; items; items = items->next) { EntangleSessionBrowserItem *item = items->data; /* Only fetch the width of items with invalidated sizes */ if (item->cell_area.width < 0) { entangle_session_browser_set_cell_data(browser, item); gtk_cell_area_get_preferred_width(browser->priv->cell_area, browser->priv->cell_area_context, GTK_WIDGET(browser), NULL, NULL); } } g_signal_handler_unblock(browser->priv->cell_area_context, browser->priv->context_changed_id); } static void entangle_session_browser_item_invalidate_size(EntangleSessionBrowserItem *item) { item->cell_area.width = -1; item->cell_area.height = -1; } static void entangle_session_browser_invalidate_sizes(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); /* Clear all item sizes */ g_list_foreach(browser->priv->items, (GFunc)entangle_session_browser_item_invalidate_size, NULL); /* Reset the context */ if (browser->priv->cell_area_context) { g_signal_handler_block(browser->priv->cell_area_context, browser->priv->context_changed_id); gtk_cell_area_context_reset(browser->priv->cell_area_context); g_signal_handler_unblock(browser->priv->cell_area_context, browser->priv->context_changed_id); } /* Re-layout the items */ entangle_session_browser_queue_layout(browser); } static void entangle_session_browser_context_changed(GtkCellAreaContext *context G_GNUC_UNUSED, GParamSpec *pspec, gpointer data) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(data)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); if (!strcmp(pspec->name, "minimum-width") || !strcmp(pspec->name, "natural-width") || !strcmp(pspec->name, "minimum-height") || !strcmp(pspec->name, "natural-height")) entangle_session_browser_invalidate_sizes(browser); } static void entangle_session_browser_row_changed(GtkTreeModel *model G_GNUC_UNUSED, GtkTreePath *path, GtkTreeIter *iter G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(data)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); /* ignore changes in branches */ if (gtk_tree_path_get_depth(path) > 1) return; /* An icon view subclass might add it's own model and populate * things at init() time instead of waiting for the constructor() * to be called */ if (browser->priv->cell_area) gtk_cell_area_stop_editing(browser->priv->cell_area, TRUE); /* Here we can use a "grow-only" strategy for optimization * and only invalidate a single item and queue a relayout * instead of invalidating the whole thing. * * For now EntangleSessionBrowser still cant deal with huge models * so just invalidate the whole thing when the model * changes. */ entangle_session_browser_invalidate_sizes(browser); verify_items(browser); } static EntangleSessionBrowserItem *entangle_session_browser_item_new(void) { EntangleSessionBrowserItem *item; item = g_slice_new0(EntangleSessionBrowserItem); item->cell_area.width = -1; item->cell_area.height = -1; return item; } static void entangle_session_browser_item_free(EntangleSessionBrowserItem *item) { g_return_if_fail(item != NULL); g_slice_free(EntangleSessionBrowserItem, item); } static void entangle_session_browser_row_inserted(GtkTreeModel *model G_GNUC_UNUSED, GtkTreePath *path, GtkTreeIter *iter, gpointer data) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(data)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); gint idx; EntangleSessionBrowserItem *item; gboolean iters_persist; GList *list; /* ignore changes in branches */ if (gtk_tree_path_get_depth(path) > 1) return; iters_persist = gtk_tree_model_get_flags(browser->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; idx = gtk_tree_path_get_indices(path)[0]; item = entangle_session_browser_item_new(); if (iters_persist) item->iter = *iter; item->idx = idx; /* FIXME: We can be more efficient here, we can store a tail pointer and use that when appending (which is a rather common operation) */ browser->priv->items = g_list_insert(browser->priv->items, item, idx); list = g_list_nth(browser->priv->items, idx + 1); for (; list; list = list->next) { item = list->data; item->idx++; } verify_items(browser); entangle_session_browser_queue_layout(browser); } static void entangle_session_browser_row_deleted(GtkTreeModel *model G_GNUC_UNUSED, GtkTreePath *path, gpointer data) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(data)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); gint idx; EntangleSessionBrowserItem *item; GList *list, *next; gboolean emit = FALSE; /* ignore changes in branches */ if (gtk_tree_path_get_depth(path) > 1) return; idx = gtk_tree_path_get_indices(path)[0]; list = g_list_nth(browser->priv->items, idx); item = list->data; if (browser->priv->cell_area) gtk_cell_area_stop_editing(browser->priv->cell_area, TRUE); if (item->selected) emit = TRUE; entangle_session_browser_item_free(item); for (next = list->next; next; next = next->next) { item = next->data; item->idx--; } browser->priv->items = g_list_delete_link(browser->priv->items, list); verify_items(browser); entangle_session_browser_queue_layout(browser); if (emit) g_signal_emit(browser, browser_signals[SIGNAL_SELECTION_CHANGED], 0); } static void entangle_session_browser_rows_reordered(GtkTreeModel *model, GtkTreePath *parent G_GNUC_UNUSED, GtkTreeIter *iter, gint *new_order, gpointer data) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(data)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); int i; int length; GList *items = NULL, *list; EntangleSessionBrowserItem **item_array; gint *order; /* ignore changes in branches */ if (iter != NULL) return; if (browser->priv->cell_area) gtk_cell_area_stop_editing(browser->priv->cell_area, TRUE); length = gtk_tree_model_iter_n_children(model, NULL); order = g_new(gint, length); for (i = 0; i < length; i++) order[new_order[i]] = i; item_array = g_new(EntangleSessionBrowserItem *, length); for (i = 0, list = browser->priv->items; list != NULL; list = list->next, i++) item_array[order[i]] = list->data; g_free(order); for (i = length - 1; i >= 0; i--) { item_array[i]->idx = i; items = g_list_prepend(items, item_array[i]); } g_free(item_array); g_list_free(browser->priv->items); browser->priv->items = items; entangle_session_browser_queue_layout(browser); verify_items(browser); } static void entangle_session_browser_build_items(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); GtkTreeIter iter; int i; gboolean iters_persist; GList *items = NULL; iters_persist = gtk_tree_model_get_flags(browser->priv->model) & GTK_TREE_MODEL_ITERS_PERSIST; if (!gtk_tree_model_get_iter_first(browser->priv->model, &iter)) return; i = 0; do { EntangleSessionBrowserItem *item = entangle_session_browser_item_new(); if (iters_persist) item->iter = iter; item->idx = i; i++; items = g_list_prepend(items, item); } while (gtk_tree_model_iter_next(browser->priv->model, &iter)); browser->priv->items = g_list_reverse(items); } static void entangle_session_browser_realize(GtkWidget *widget) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; GtkAllocation allocation; GdkWindow *window; GdkWindowAttr attributes; gint attributes_mask; GtkStyleContext *context; gtk_widget_set_realized(widget, TRUE); gtk_widget_get_allocation(widget, &allocation); /* Make the main, clipping window */ attributes.window_type = GDK_WINDOW_CHILD; attributes.x = allocation.x; attributes.y = allocation.y; attributes.width = allocation.width; attributes.height = allocation.height; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual(widget); attributes.event_mask = GDK_VISIBILITY_NOTIFY_MASK; attributes_mask = GDK_WA_X | GDK_WA_Y | GDK_WA_VISUAL; window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, attributes_mask); gtk_widget_set_window(widget, window); gdk_window_set_user_data(window, widget); gtk_widget_get_allocation(widget, &allocation); /* Make the window for the icon view */ attributes.x = 0; attributes.y = 0; attributes.width = MAX(priv->width, allocation.width); attributes.height = MAX(priv->height, allocation.height); attributes.event_mask = (GDK_EXPOSURE_MASK | GDK_SCROLL_MASK | GDK_POINTER_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK) | gtk_widget_get_events(widget); priv->bin_window = gdk_window_new(window, &attributes, attributes_mask); gdk_window_set_user_data(priv->bin_window, widget); context = gtk_widget_get_style_context(widget); gtk_style_context_save(context); gtk_style_context_add_class(context, GTK_STYLE_CLASS_VIEW); gtk_style_context_set_background(context, priv->bin_window); gtk_style_context_restore(context); gdk_window_show(priv->bin_window); } static void entangle_session_browser_unrealize(GtkWidget *widget) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; gdk_window_set_user_data(priv->bin_window, NULL); gdk_window_destroy(priv->bin_window); priv->bin_window = NULL; GTK_WIDGET_CLASS(entangle_session_browser_parent_class)->unrealize(widget); } static void entangle_session_browser_scroll_to_item(EntangleSessionBrowser *browser, EntangleSessionBrowserItem *item) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GtkWidget *widget = GTK_WIDGET(browser); GtkAdjustment *hadj, *vadj; GtkAllocation allocation; gint x, y; GdkRectangle item_area; item_area.x = item->cell_area.x - priv->item_padding; item_area.y = item->cell_area.y - priv->item_padding; item_area.width = item->cell_area.width + priv->item_padding * 2; item_area.height = item->cell_area.height + priv->item_padding * 2; gdk_window_get_position(priv->bin_window, &x, &y); gtk_widget_get_allocation(widget, &allocation); hadj = priv->hadjustment; vadj = priv->vadjustment; if (y + item_area.y < 0) gtk_adjustment_set_value(vadj, gtk_adjustment_get_value(vadj) + y + item_area.y); else if (y + item_area.y + item_area.height > allocation.height) gtk_adjustment_set_value(vadj, gtk_adjustment_get_value(vadj) + y + item_area.y + item_area.height - allocation.height); if (x + item_area.x < 0) gtk_adjustment_set_value(hadj, gtk_adjustment_get_value(hadj) + x + item_area.x); else if (x + item_area.x + item_area.width > allocation.width) gtk_adjustment_set_value(hadj, gtk_adjustment_get_value(hadj) + x + item_area.x + item_area.width - allocation.width); gtk_adjustment_changed(hadj); gtk_adjustment_changed(vadj); } static EntangleSessionBrowserItem * entangle_session_browser_get_item_at_coords(EntangleSessionBrowser *browser, gint x, gint y, gboolean only_in_cell, GtkCellRenderer **cell_at_pos) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; GList *items; if (cell_at_pos) *cell_at_pos = NULL; for (items = priv->items; items; items = items->next) { EntangleSessionBrowserItem *item = items->data; GdkRectangle *item_area = (GdkRectangle *)item; if (x >= item_area->x - priv->column_spacing / 2 && x <= item_area->x + item_area->width + priv->column_spacing / 2 && y >= item_area->y && y <= item_area->y + item_area->height) { if (only_in_cell || cell_at_pos) { GtkCellRenderer *cell = NULL; entangle_session_browser_set_cell_data(browser, item); if (x >= item_area->x && x <= item_area->x + item_area->width && y >= item_area->y && y <= item_area->y + item_area->height) cell = gtk_cell_area_get_cell_at_position(priv->cell_area, priv->cell_area_context, GTK_WIDGET(browser), item_area, x, y, NULL); if (cell_at_pos) *cell_at_pos = cell; if (only_in_cell) return cell != NULL ? item : NULL; else return item; } return item; } } return NULL; } /** * entangle_session_browser_get_image_at_coords: * @browser: (transfer none): the session browser * @x: the horizontal co-ordinate * @y: the vertical co-ordinate * * Retrieve the image displayed at the co-ordinates (@x, @y) * * Returns: (transfer none): the image, or NULL */ EntangleImage *entangle_session_browser_get_image_at_coords(EntangleSessionBrowser *browser, gint x, gint y) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; EntangleSessionBrowserItem *item = entangle_session_browser_get_item_at_coords(browser, x, y, FALSE, NULL); EntangleImage *img; GValue val; if (!item) return NULL; memset(&val, 0, sizeof val); gtk_tree_model_get_value(GTK_TREE_MODEL(priv->model), &item->iter, 0, &val); img = g_value_get_object(&val); return img; } static void entangle_session_browser_queue_draw_item(EntangleSessionBrowser *browser, EntangleSessionBrowserItem *item) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GdkRectangle rect; GdkRectangle *item_area = (GdkRectangle *)item; rect.x = item_area->x - priv->item_padding; rect.y = item_area->y - priv->item_padding; rect.width = item_area->width + priv->item_padding * 2; rect.height = item_area->height + priv->item_padding * 2; if (priv->bin_window && item_area->width != -1 && item_area->height != -1) gdk_window_invalidate_rect(priv->bin_window, &rect, TRUE); } static gboolean entangle_session_browser_unselect_all_internal(EntangleSessionBrowser *browser) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), FALSE); EntangleSessionBrowserPrivate *priv = browser->priv; gboolean dirty = FALSE; GList *items; for (items = priv->items; items; items = items->next) { EntangleSessionBrowserItem *item = items->data; if (item->selected) { item->selected = FALSE; dirty = TRUE; entangle_session_browser_queue_draw_item(browser, item); } } return dirty; } static void entangle_session_browser_select_item(EntangleSessionBrowser *browser, EntangleSessionBrowserItem *item) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); if (item->selected) return; item->selected = TRUE; g_signal_emit(browser, browser_signals[SIGNAL_SELECTION_CHANGED], 0); entangle_session_browser_queue_draw_item(browser, item); } static void entangle_session_browser_unselect_item(EntangleSessionBrowser *browser, EntangleSessionBrowserItem *item) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); if (!item->selected) return; item->selected = FALSE; g_signal_emit(browser, browser_signals[SIGNAL_SELECTION_CHANGED], 0); entangle_session_browser_queue_draw_item(browser, item); } static void entangle_session_browser_select_path(EntangleSessionBrowser *browser, GtkTreePath *path) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; EntangleSessionBrowserItem *item = NULL; if (gtk_tree_path_get_depth(path) > 0) item = g_list_nth_data(priv->items, gtk_tree_path_get_indices(path)[0]); if (item) { entangle_session_browser_unselect_all_internal(browser); entangle_session_browser_select_item(browser, item); } } static void entangle_session_browser_scroll_to_path(EntangleSessionBrowser *browser, GtkTreePath *path, gboolean use_align, gfloat row_align, gfloat col_align) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; EntangleSessionBrowserItem *item = NULL; GtkWidget *widget = GTK_WIDGET(browser); if (gtk_tree_path_get_depth(path) > 0) item = g_list_nth_data(priv->items, gtk_tree_path_get_indices(path)[0]); if (!item || item->cell_area.width < 0 || !gtk_widget_get_realized(widget)) { if (priv->scroll_to_path) gtk_tree_row_reference_free(priv->scroll_to_path); priv->scroll_to_path = NULL; if (path) priv->scroll_to_path = gtk_tree_row_reference_new_proxy(G_OBJECT(browser), priv->model, path); priv->scroll_to_use_align = use_align; priv->scroll_to_row_align = row_align; priv->scroll_to_col_align = col_align; return; } if (use_align) { GtkAllocation allocation; gint x, y; gfloat offset; GdkRectangle item_area = { item->cell_area.x - priv->item_padding, item->cell_area.y - priv->item_padding, item->cell_area.width + priv->item_padding * 2, item->cell_area.height + priv->item_padding * 2 }; gdk_window_get_position(priv->bin_window, &x, &y); gtk_widget_get_allocation(widget, &allocation); offset = y + item_area.y - row_align * (allocation.height - item_area.height); gtk_adjustment_set_value(priv->vadjustment, gtk_adjustment_get_value(priv->vadjustment) + offset); offset = x + item_area.x - col_align * (allocation.width - item_area.width); gtk_adjustment_set_value(priv->hadjustment, gtk_adjustment_get_value(priv->hadjustment) + offset); gtk_adjustment_changed(priv->hadjustment); gtk_adjustment_changed(priv->vadjustment); } else { entangle_session_browser_scroll_to_item(browser, item); } } static gboolean entangle_session_browser_button_press(GtkWidget *widget, GdkEventButton *event) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; EntangleSessionBrowserItem *item; gboolean dirty = FALSE; GtkCellRenderer *cell = NULL; if (event->window != priv->bin_window) return FALSE; if (!gtk_widget_has_focus(widget)) gtk_widget_grab_focus(widget); if (event->button == 1 && event->type == GDK_BUTTON_PRESS) { item = entangle_session_browser_get_item_at_coords(browser, event->x, event->y, FALSE, &cell); /* * We consider only the cells' area as the item area if the * item is not selected, but if it *is* selected, the complete * selection rectangle is considered to be part of the item. */ if (item != NULL && !item->selected) { entangle_session_browser_unselect_all_internal(browser); dirty = TRUE; item->selected = TRUE; entangle_session_browser_queue_draw_item(browser, item); entangle_session_browser_scroll_to_item(browser, item); } if (item != NULL) { priv->dnd_start_x = event->x; priv->dnd_start_y = event->y; } } if (dirty) g_signal_emit(browser, browser_signals[SIGNAL_SELECTION_CHANGED], 0); return event->button == 1; } static gboolean entangle_session_browser_button_release(GtkWidget *widget, GdkEventButton *event) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; if (event->button == 1 && event->type == GDK_BUTTON_RELEASE) { priv->dnd_start_x = -1; priv->dnd_start_y = -1; } return event->button == 1; } static void entangle_session_browser_convert_widget_to_bin_window_coords(EntangleSessionBrowser *browser, gint wx, gint wy, gint *bx, gint *by) { gint x, y; g_return_if_fail(ENTANGLE_SESSION_BROWSER(browser)); if (browser->priv->bin_window) gdk_window_get_position(browser->priv->bin_window, &x, &y); else x = y = 0; if (bx) *bx = wx - x; if (by) *by = wy - y; } static void entangle_session_browser_set_tooltip_cell(EntangleSessionBrowser *browser, GtkTooltip *tooltip, EntangleSessionBrowserItem *item) { GdkRectangle rect; gint x, y; g_return_if_fail(ENTANGLE_SESSION_BROWSER(browser)); g_return_if_fail(GTK_IS_TOOLTIP(tooltip)); rect.x = item->cell_area.x - browser->priv->item_padding; rect.y = item->cell_area.y - browser->priv->item_padding; rect.width = item->cell_area.width + browser->priv->item_padding * 2; rect.height = item->cell_area.height + browser->priv->item_padding * 2; if (browser->priv->bin_window) { gdk_window_get_position(browser->priv->bin_window, &x, &y); rect.x += x; rect.y += y; } gtk_tooltip_set_tip_area(tooltip, &rect); } static gboolean entangle_session_browser_query_tooltip(GtkWidget *widget, gint x, gint y, gboolean keyboard_mode G_GNUC_UNUSED, GtkTooltip *tooltip, gpointer user_data) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserItem *item; GtkCellRenderer *cell = NULL; gint bx = 0; gint by = 0; entangle_session_browser_convert_widget_to_bin_window_coords(browser, x, y, &bx, &by); item = entangle_session_browser_get_item_at_coords(browser, bx, by, FALSE, &cell); if (item != NULL) { GtkTreeModel *model = (GtkTreeModel*)user_data; GtkTreeIter iter = item->iter; gchar *file_name = NULL; gtk_tree_model_get(model, &iter, FIELD_NAME, &file_name, -1); if (file_name) { gtk_tooltip_set_text(tooltip, file_name); entangle_session_browser_set_tooltip_cell(browser, tooltip, item); return TRUE; } } return FALSE; } static gboolean entangle_session_browser_scroll(GtkWidget *widget, GdkEventScroll *event) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; switch (event->direction) { case GDK_SCROLL_UP: case GDK_SCROLL_LEFT: gtk_adjustment_set_value(priv->hadjustment, gtk_adjustment_get_value(priv->hadjustment) - gtk_adjustment_get_step_increment(priv->hadjustment)); break; case GDK_SCROLL_DOWN: case GDK_SCROLL_RIGHT: gtk_adjustment_set_value(priv->hadjustment, gtk_adjustment_get_value(priv->hadjustment) + gtk_adjustment_get_step_increment(priv->hadjustment)); break; #if GTK_CHECK_VERSION(3,4,0) case GDK_SCROLL_SMOOTH: #endif default: break; } return TRUE; } static gboolean entangle_session_browser_motion_notify(GtkWidget *widget, GdkEventMotion *event) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; EntangleSessionBrowserItem *item; GdkPixbuf *pixbuf; GtkTargetEntry tentry[] = { { g_strdup("demo"), GTK_TARGET_SAME_APP, 0,} }; GtkTargetList *tlist; GdkDragContext *ctx; if (priv->dnd_start_y == -1 || priv->dnd_start_x == -1) return FALSE; if (!gtk_drag_check_threshold(widget, priv->dnd_start_x, priv->dnd_start_y, event->x, event->y)) return TRUE; item = entangle_session_browser_get_item_at_coords(browser, priv->dnd_start_x, priv->dnd_start_y, FALSE, NULL); if (!item) { priv->dnd_start_x = priv->dnd_start_y = -1; return FALSE; } gtk_tree_model_get(priv->model, &item->iter, FIELD_PIXMAP, &pixbuf, -1); tlist = gtk_target_list_new(tentry, G_N_ELEMENTS(tentry)); ctx = gtk_drag_begin(widget, tlist, GDK_ACTION_PRIVATE, 1, (GdkEvent*)event); gtk_drag_set_icon_pixbuf(ctx, pixbuf, 0, 0); gtk_target_list_unref(tlist); return TRUE; } static gboolean entangle_session_browser_key_press(GtkWidget *widget, GdkEventKey *event) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; GList *list, *prev = NULL; switch (event->keyval) { case GDK_KEY_Right: for (list = priv->items; list != NULL; list = list->next) { EntangleSessionBrowserItem *item = list->data; if (item->selected && list->next) { EntangleSessionBrowserItem *next = list->next->data; entangle_session_browser_unselect_item(browser, item); entangle_session_browser_select_item(browser, next); entangle_session_browser_scroll_to_item(browser, next); break; } } return TRUE; case GDK_KEY_Left: for (list = priv->items; list != NULL; list = list->next) { EntangleSessionBrowserItem *item = list->data; if (item->selected && prev) { EntangleSessionBrowserItem *prior = prev->data; entangle_session_browser_unselect_item(browser, item); entangle_session_browser_select_item(browser, prior); entangle_session_browser_scroll_to_item(browser, prior); break; } prev = list; } return TRUE; default: return GTK_WIDGET_CLASS(entangle_session_browser_parent_class)->key_press_event(widget, event); } } static void entangle_session_browser_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; gtk_widget_set_allocation(widget, allocation); if (gtk_widget_get_realized(widget)) { gdk_window_move_resize(gtk_widget_get_window(widget), allocation->x, allocation->y, allocation->width, allocation->height); gdk_window_resize(priv->bin_window, MAX(priv->width, allocation->width), MAX(priv->height, allocation->height)); } entangle_session_browser_layout(browser); /* Delay signal emission */ g_object_freeze_notify(G_OBJECT(priv->hadjustment)); g_object_freeze_notify(G_OBJECT(priv->vadjustment)); entangle_session_browser_set_hadjustment_values(browser); entangle_session_browser_set_vadjustment_values(browser); if (gtk_widget_get_realized(widget) && priv->scroll_to_path) { GtkTreePath *path; path = gtk_tree_row_reference_get_path(priv->scroll_to_path); gtk_tree_row_reference_free(priv->scroll_to_path); priv->scroll_to_path = NULL; entangle_session_browser_scroll_to_path(browser, path, priv->scroll_to_use_align, priv->scroll_to_row_align, priv->scroll_to_col_align); gtk_tree_path_free(path); } /* Emit any pending signals now */ g_object_thaw_notify(G_OBJECT(priv->hadjustment)); g_object_thaw_notify(G_OBJECT(priv->vadjustment)); } static void entangle_session_browser_destroy(GtkWidget *widget) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget)); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; if (priv->layout_idle_id != 0) { g_source_remove(priv->layout_idle_id); priv->layout_idle_id = 0; } if (priv->scroll_to_path != NULL) { gtk_tree_row_reference_free(priv->scroll_to_path); priv->scroll_to_path = NULL; } if (priv->hadjustment != NULL) { g_object_unref(priv->hadjustment); priv->hadjustment = NULL; } if (priv->vadjustment != NULL) { g_object_unref(priv->vadjustment); priv->vadjustment = NULL; } GTK_WIDGET_CLASS(entangle_session_browser_parent_class)->destroy(widget); } static void entangle_session_browser_finalize(GObject *object) { EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(object); EntangleSessionBrowserPrivate *priv = browser->priv; if (priv->session && priv->loader) do_model_unload(browser); if (priv->cell_area_context) { g_signal_handler_disconnect(priv->cell_area_context, priv->context_changed_id); priv->context_changed_id = 0; g_object_unref(priv->cell_area_context); priv->cell_area_context = NULL; } if (priv->session) g_object_unref(priv->session); if (priv->loader) g_object_unref(priv->loader); G_OBJECT_CLASS(entangle_session_browser_parent_class)->finalize(object); } static void entangle_session_browser_cell_layout_init(GtkCellLayoutIface *iface) { iface->get_area = entangle_session_browser_cell_layout_get_area; } static void entangle_session_browser_class_init(EntangleSessionBrowserClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); object_class->finalize = entangle_session_browser_finalize; object_class->get_property = entangle_session_browser_get_property; object_class->set_property = entangle_session_browser_set_property; widget_class->destroy = entangle_session_browser_destroy; widget_class->realize = entangle_session_browser_realize; widget_class->unrealize = entangle_session_browser_unrealize; widget_class->draw = entangle_session_browser_draw; widget_class->button_press_event = entangle_session_browser_button_press; widget_class->button_release_event = entangle_session_browser_button_release; widget_class->scroll_event = entangle_session_browser_scroll; widget_class->motion_notify_event = entangle_session_browser_motion_notify; widget_class->key_press_event = entangle_session_browser_key_press; widget_class->size_allocate = entangle_session_browser_size_allocate; g_object_class_install_property(object_class, PROP_SESSION, g_param_spec_object("session", "Session", "Session to be displayed", ENTANGLE_TYPE_SESSION, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_LOADER, g_param_spec_object("thumbnail-loader", "Thumbnail loader", "Thumbnail loader", ENTANGLE_TYPE_THUMBNAIL_LOADER, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); /* Scrollable interface properties */ g_object_class_override_property(object_class, PROP_HADJUSTMENT, "hadjustment"); g_object_class_override_property(object_class, PROP_VADJUSTMENT, "vadjustment"); g_object_class_override_property(object_class, PROP_HSCROLL_POLICY, "hscroll-policy"); g_object_class_override_property(object_class, PROP_VSCROLL_POLICY, "vscroll-policy"); browser_signals[SIGNAL_SELECTION_CHANGED] = g_signal_new("selection-changed", G_TYPE_FROM_CLASS(object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleSessionBrowserClass, selection_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private(klass, sizeof(EntangleSessionBrowserPrivate)); } EntangleSessionBrowser *entangle_session_browser_new(void) { return ENTANGLE_SESSION_BROWSER(g_object_new(ENTANGLE_TYPE_SESSION_BROWSER, NULL)); } static void entangle_session_browser_init(EntangleSessionBrowser *browser) { EntangleSessionBrowserPrivate *priv; priv = browser->priv = ENTANGLE_SESSION_BROWSER_GET_PRIVATE(browser); priv->model = GTK_TREE_MODEL(gtk_list_store_new(FIELD_LAST, ENTANGLE_TYPE_IMAGE, GDK_TYPE_PIXBUF, G_TYPE_INT, G_TYPE_STRING)); gtk_tree_sortable_set_default_sort_func(GTK_TREE_SORTABLE(priv->model), do_image_sort_name, NULL, NULL); gtk_tree_sortable_set_sort_column_id(GTK_TREE_SORTABLE(priv->model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING); priv->cell_area = gtk_cell_area_box_new(); g_object_ref_sink(priv->cell_area); gtk_orientable_set_orientation(GTK_ORIENTABLE(priv->cell_area), GTK_ORIENTATION_VERTICAL); priv->cell_area_context = gtk_cell_area_create_context(priv->cell_area); priv->context_changed_id = g_signal_connect(priv->cell_area_context, "notify", G_CALLBACK(entangle_session_browser_context_changed), browser); priv->pixbuf_cell = gtk_cell_renderer_pixbuf_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(browser), priv->pixbuf_cell, FALSE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(browser), priv->pixbuf_cell, "pixbuf", FIELD_PIXMAP, NULL); g_object_set(priv->pixbuf_cell, "xalign", 0.5, "yalign", 1.0, NULL); gtk_widget_set_has_tooltip(GTK_WIDGET(browser), TRUE); g_signal_connect(priv->model, "row-changed", G_CALLBACK(entangle_session_browser_row_changed), browser); g_signal_connect(priv->model, "row-inserted", G_CALLBACK(entangle_session_browser_row_inserted), browser); g_signal_connect(priv->model, "row-deleted", G_CALLBACK(entangle_session_browser_row_deleted), browser); g_signal_connect(priv->model, "rows-reordered", G_CALLBACK(entangle_session_browser_rows_reordered), browser); g_signal_connect(GTK_WIDGET(browser), "query-tooltip", G_CALLBACK(entangle_session_browser_query_tooltip), priv->model); entangle_session_browser_build_items(browser); entangle_session_browser_queue_layout(browser); priv->margin = 6; priv->item_padding = 0; priv->column_spacing = 6; gtk_widget_set_can_focus(GTK_WIDGET(browser), TRUE); } static GList * entangle_session_browser_get_selected_items(EntangleSessionBrowser *browser) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; GList *list; GList *selected = NULL; for (list = priv->items; list != NULL; list = list->next) { EntangleSessionBrowserItem *item = list->data; if (item->selected) { GtkTreePath *path = gtk_tree_path_new_from_indices(item->idx, -1); selected = g_list_prepend(selected, path); } } return selected; } /** * entangle_session_browser_selected_image: * @browser: (transfer none): the session browser * * Returns: (transfer full): the selected image or NULL */ EntangleImage *entangle_session_browser_selected_image(EntangleSessionBrowser *browser) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; GList *items; EntangleImage *img = NULL; GtkTreePath *path; GtkTreeIter iter; GValue val; items = entangle_session_browser_get_selected_items(browser); if (!items) return NULL; path = g_list_nth_data(items, 0); if (!path) goto cleanup; if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(priv->model), &iter, path)) goto cleanup; memset(&val, 0, sizeof val); gtk_tree_model_get_value(GTK_TREE_MODEL(priv->model), &iter, 0, &val); img = g_value_get_object(&val); cleanup: g_list_foreach(items, (GFunc)(gtk_tree_path_free), NULL); g_list_free(items); return img; } /** * entangle_session_browser_earlier_images: * @browser: (transfer none): the session browser * @include_selected: true to include the current image in the list * @count: maximum number of images to return * * Get a list of images prior to the currently selected image. * If @include_selected is true, then the currently selected * image will be included in the returned list * * Returns: (transfer full)(element-type EntangleImage): the list of images */ GList *entangle_session_browser_earlier_images(EntangleSessionBrowser *browser, gboolean include_selected, gsize count) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; GList *list; GList *images = NULL; for (list = priv->items; list != NULL; list = list->next) { EntangleSessionBrowserItem *item = list->data; if (item->selected) break; } if (list) { if (!include_selected) list = list->prev; for (; list != NULL && count; list = list->prev, count--) { EntangleSessionBrowserItem *item = list->data; GtkTreePath *path = gtk_tree_path_new_from_indices(item->idx, -1); GtkTreeIter iter; GValue val; if (!gtk_tree_model_get_iter(GTK_TREE_MODEL(priv->model), &iter, path)) goto cleanup; memset(&val, 0, sizeof val); gtk_tree_model_get_value(GTK_TREE_MODEL(priv->model), &iter, 0, &val); images = g_list_append(images, g_value_get_object(&val)); } } return images; cleanup: g_list_foreach(images, (GFunc)(g_object_unref), NULL); g_list_free(images); return NULL; } /** * entangle_session_browser_set_thumbnail_loader: * @browser: (transfer none): the session browser * @loader: (transfer none): the thumbnail loader to use * * Set the thumbnail loader to use for generating image * thumbnails */ void entangle_session_browser_set_thumbnail_loader(EntangleSessionBrowser *browser, EntangleThumbnailLoader *loader) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (priv->loader) { if (priv->session) do_model_unload(browser); g_object_unref(priv->loader); } priv->loader = loader; if (priv->loader) { g_object_ref(priv->loader); if (priv->session) do_model_load(browser); } } /** * entangle_session_browser_get_thumbnail_loader: * @browser: the session browser * * Get the thumbnail loader used by the session browser * * Returns: (transfer none): the session browser */ EntangleThumbnailLoader *entangle_session_browser_get_thumbnail_loader(EntangleSessionBrowser *browser) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; return priv->loader; } /** * entangle_session_browser_set_session: * @browser: (transfer none): the session browser * @session: (transfer none): the session to display * * Set the session to be displayed */ void entangle_session_browser_set_session(EntangleSessionBrowser *browser, EntangleSession *session) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (priv->session) { if (priv->loader) do_model_unload(browser); g_object_unref(priv->session); } priv->session = session; if (priv->session) { g_object_ref(priv->session); if (priv->loader) do_model_load(browser); } } /** * entangle_session_browser_get_session: * @browser: (transfer none): the session browser * * Get the session being displayed * * Returns: (transfer none): the session */ EntangleSession *entangle_session_browser_get_session(EntangleSessionBrowser *browser) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser), NULL); EntangleSessionBrowserPrivate *priv = browser->priv; return priv->session; } static void entangle_session_browser_paint_item(EntangleSessionBrowser *browser, cairo_t *cr, EntangleSessionBrowserItem *item, gint x, gint y) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); GdkRectangle cell_area; GtkStateFlags state = 0; GtkCellRendererState flags = 0; GtkStyleContext *style_context; GtkWidget *widget = GTK_WIDGET(browser); EntangleSessionBrowserPrivate *priv = browser->priv; entangle_session_browser_set_cell_data(browser, item); style_context = gtk_widget_get_style_context(widget); gtk_style_context_save(style_context); gtk_style_context_add_class(style_context, GTK_STYLE_CLASS_VIEW); gtk_style_context_add_class(style_context, GTK_STYLE_CLASS_CELL); if (item->selected) { state |= GTK_STATE_FLAG_SELECTED; flags |= GTK_CELL_RENDERER_SELECTED; gtk_style_context_set_state(style_context, state); gtk_render_background(style_context, cr, x - browser->priv->item_padding, y - browser->priv->item_padding, item->cell_area.width + browser->priv->item_padding * 2, item->cell_area.height + browser->priv->item_padding * 2); } cell_area.x = x; cell_area.y = y; cell_area.width = item->cell_area.width; cell_area.height = item->cell_area.height; gtk_cell_area_render(priv->cell_area, priv->cell_area_context, widget, cr, &cell_area, &cell_area, flags, FALSE); gtk_style_context_restore(style_context); } static gboolean entangle_session_browser_draw(GtkWidget *widget, cairo_t *cr) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(widget), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(widget); EntangleSessionBrowserPrivate *priv = browser->priv; GList *icons; int ww, wh; /* Available drawing area extents */ ww = gdk_window_get_width(gtk_widget_get_window(widget)); wh = gdk_window_get_height(gtk_widget_get_window(widget)); cairo_set_source_rgb(cr, 0, 0, 0); cairo_rectangle(cr, 0, 0, ww, wh); cairo_fill(cr); if (!gtk_cairo_should_draw_window(cr, priv->bin_window)) return FALSE; cairo_save(cr); gtk_cairo_transform_to_window(cr, widget, priv->bin_window); cairo_set_line_width(cr, 1.); for (icons = priv->items; icons; icons = icons->next) { EntangleSessionBrowserItem *item = icons->data; GdkRectangle paint_area; paint_area.x = ((GdkRectangle *)item)->x - priv->item_padding; paint_area.y = ((GdkRectangle *)item)->y - priv->item_padding; paint_area.width = ((GdkRectangle *)item)->width + priv->item_padding * 2; paint_area.height = ((GdkRectangle *)item)->height + priv->item_padding * 2; #if 1 cairo_save(cr); cairo_set_source_rgba(cr, 1, 1, 1, 0.1); cairo_rectangle(cr, paint_area.x, paint_area.y, paint_area.width, paint_area.height); cairo_fill(cr); cairo_restore(cr); #endif cairo_save(cr); cairo_rectangle(cr, paint_area.x, paint_area.y, paint_area.width, paint_area.height); cairo_clip(cr); if (gdk_cairo_get_clip_rectangle(cr, NULL)) entangle_session_browser_paint_item(browser, cr, item, ((GdkRectangle *)item)->x, ((GdkRectangle *)item)->y); cairo_restore(cr); } cairo_restore(cr); return TRUE; } static void entangle_session_browser_layout_row(EntangleSessionBrowser *browser, gint item_width, gint *y, gint *maximum_width) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GtkWidget *widget = GTK_WIDGET(browser); GtkAllocation allocation; gint x, current_width; GList *items; gint col; gint max_height = 0; x = 0; col = 0; current_width = 0; x += priv->margin; current_width += 2 * priv->margin; gtk_widget_get_allocation(widget, &allocation); /* In the first loop we iterate horizontally until we hit allocation width * and collect the aligned height-for-width */ items = priv->items; while (items) { EntangleSessionBrowserItem *item = items->data; GdkRectangle *item_area = (GdkRectangle *)item; item_area->width = item_width; current_width += item_area->width + priv->item_padding * 2; /* Get this item's particular width & height (all alignments are cached by now) */ entangle_session_browser_set_cell_data(browser, item); gtk_cell_area_get_preferred_height_for_width(priv->cell_area, priv->cell_area_context, widget, item_width, NULL, NULL); current_width += priv->column_spacing; item_area->y = *y + priv->item_padding; item_area->x = x + priv->item_padding; x = current_width - priv->margin; if (current_width > *maximum_width) *maximum_width = current_width; item->col = col; col++; items = items->next; } gtk_cell_area_context_get_preferred_height_for_width(priv->cell_area_context, item_width, &max_height, NULL); gtk_cell_area_context_allocate(priv->cell_area_context, item_width, max_height); /* In the second loop the item height has been aligned and derived and * we just set the height and handle rtl layout */ for (items = priv->items; items != NULL; items = items->next) { EntangleSessionBrowserItem *item = items->data; GdkRectangle *item_area = (GdkRectangle *)item; /* All items in the same row get the same height */ item_area->height = max_height; } /* Adjust the new y coordinate. */ *y += max_height + priv->item_padding * 2; } static void entangle_session_browser_layout(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GtkAllocation allocation; GtkWidget *widget = GTK_WIDGET(browser); gint y = 0, maximum_width = 0; gint item_width; gboolean size_changed = FALSE; if (priv->layout_idle_id != 0) { g_source_remove(priv->layout_idle_id); priv->layout_idle_id = 0; } /* Update the context widths for any invalidated items */ entangle_session_browser_cache_widths(browser); /* Fetch the new item width if needed */ gtk_cell_area_context_get_preferred_width(priv->cell_area_context, &item_width, NULL); gtk_cell_area_context_allocate(priv->cell_area_context, item_width, -1); y += priv->margin; entangle_session_browser_layout_row(browser, item_width, &y, &maximum_width); if (maximum_width != priv->width) { priv->width = maximum_width; size_changed = TRUE; } y += priv->margin; if (y != priv->height) { priv->height = y; size_changed = TRUE; } entangle_session_browser_set_hadjustment_values(browser); entangle_session_browser_set_vadjustment_values(browser); if (size_changed) gtk_widget_queue_resize_no_redraw(widget); gtk_widget_get_allocation(widget, &allocation); if (gtk_widget_get_realized(widget)) gdk_window_resize(priv->bin_window, MAX(priv->width, allocation.width), MAX(priv->height, allocation.height)); gtk_widget_queue_draw(widget); } static void entangle_session_browser_process_updates(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; /* Prior to drawing, we check if a layout has been scheduled. If so, * do it now that all cell view items have valid sizes before we proceeed * (and resize the bin_window if required). */ if (priv->layout_idle_id != 0) entangle_session_browser_layout(browser); gdk_window_process_updates(priv->bin_window, TRUE); } static gboolean layout_callback(gpointer data) { g_return_val_if_fail(ENTANGLE_IS_SESSION_BROWSER(data), FALSE); EntangleSessionBrowser *browser = ENTANGLE_SESSION_BROWSER(data); EntangleSessionBrowserPrivate *priv = browser->priv; priv->layout_idle_id = 0; entangle_session_browser_layout(browser); return FALSE; } static void entangle_session_browser_queue_layout(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (priv->layout_idle_id != 0) return; priv->layout_idle_id = gdk_threads_add_idle_full(ENTANGLE_SESSION_BROWSER_PRIORITY_LAYOUT, layout_callback, browser, NULL); } static void entangle_session_browser_set_hadjustment_values(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GtkAllocation allocation; GtkAdjustment *adj = priv->hadjustment; gtk_widget_get_allocation(GTK_WIDGET(browser), &allocation); gtk_adjustment_configure(adj, gtk_adjustment_get_value(adj), 0.0, MAX(allocation.width, priv->width), allocation.width * 0.1, allocation.width * 0.9, allocation.width); } static void entangle_session_browser_set_vadjustment_values(EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; GtkAllocation allocation; GtkAdjustment *adj = priv->vadjustment; gtk_widget_get_allocation(GTK_WIDGET(browser), &allocation); gtk_adjustment_configure(adj, gtk_adjustment_get_value(adj), 0.0, MAX(allocation.height, priv->height), allocation.height * 0.1, allocation.height * 0.9, allocation.height); } static void entangle_session_browser_set_hadjustment(EntangleSessionBrowser *browser, GtkAdjustment *adjustment) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (adjustment && priv->hadjustment == adjustment) return; if (priv->hadjustment != NULL) { g_signal_handlers_disconnect_matched(priv->hadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, browser); g_object_unref(priv->hadjustment); } if (!adjustment) adjustment = gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0); g_signal_connect(adjustment, "value-changed", G_CALLBACK(entangle_session_browser_adjustment_changed), browser); priv->hadjustment = g_object_ref_sink(adjustment); entangle_session_browser_set_hadjustment_values(browser); g_object_notify(G_OBJECT(browser), "hadjustment"); } static void entangle_session_browser_set_vadjustment(EntangleSessionBrowser *browser, GtkAdjustment *adjustment) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (adjustment && priv->vadjustment == adjustment) return; if (priv->vadjustment != NULL) { g_signal_handlers_disconnect_matched(priv->vadjustment, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, browser); g_object_unref(priv->vadjustment); } if (!adjustment) adjustment = gtk_adjustment_new(0.0, 0.0, 0.0, 0.0, 0.0, 0.0); g_signal_connect(adjustment, "value-changed", G_CALLBACK(entangle_session_browser_adjustment_changed), browser); priv->vadjustment = g_object_ref_sink(adjustment); entangle_session_browser_set_vadjustment_values(browser); g_object_notify(G_OBJECT(browser), "vadjustment"); } static void entangle_session_browser_adjustment_changed(GtkAdjustment *adjustment G_GNUC_UNUSED, EntangleSessionBrowser *browser) { g_return_if_fail(ENTANGLE_IS_SESSION_BROWSER(browser)); EntangleSessionBrowserPrivate *priv = browser->priv; if (gtk_widget_get_realized(GTK_WIDGET(browser))) { gdk_window_move(priv->bin_window, - gtk_adjustment_get_value(priv->hadjustment), - gtk_adjustment_get_value(priv->vadjustment)); entangle_session_browser_process_updates(browser); } } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-auto-drawer.c0000664000000000000000000006126212253420652017015 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ /* * Formerly autoDrawer.c - * * Subclass of ViewDrawer that encapsulates the behaviour typically required * when using the drawer to implement a menu/toolbar that auto-opens when * moused-over and auto-closes when the mouse leaves. */ #include #include "entangle-auto-drawer.h" struct _EntangleAutoDrawerPrivate { gboolean active; gboolean pinned; gboolean inputUngrabbed; gboolean opened; gboolean forceClosing; gboolean fill; gint offset; guint closeConnection; guint delayConnection; guint delayValue; guint overlapPixels; guint noOverlapPixels; GtkWidget *over; GtkWidget *evBox; }; #define ENTANGLE_AUTO_DRAWER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_AUTO_DRAWER, EntangleAutoDrawerPrivate)) G_DEFINE_TYPE(EntangleAutoDrawer, entangle_auto_drawer, ENTANGLE_TYPE_DRAWER); /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_enforce * * Enforce an AutoDrawer's goal now. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_enforce(EntangleAutoDrawer *drawer, gboolean animate) { double fraction; GtkAllocation allocation; EntangleAutoDrawerPrivate *priv = drawer->priv; if (!priv->active) { entangle_overlay_box_set_min(ENTANGLE_OVERLAY_BOX(drawer), -1); entangle_overlay_box_set_fraction(ENTANGLE_OVERLAY_BOX(drawer), 0); return; } g_assert(priv->over != NULL); g_assert(GTK_IS_WIDGET(priv->over)); entangle_overlay_box_set_min(ENTANGLE_OVERLAY_BOX(drawer), priv->noOverlapPixels); // The forceClosing flag overrides the opened flag. if (priv->opened && !priv->forceClosing) { fraction = 1; } else { gtk_widget_get_allocation(priv->over, &allocation); fraction = ((double)priv->overlapPixels / allocation.height); } if (!animate) { entangle_overlay_box_set_fraction(ENTANGLE_OVERLAY_BOX(drawer), fraction); } entangle_drawer_set_goal(ENTANGLE_DRAWER(drawer), fraction); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_on_enforce_delay -- * * Callback fired when a delayed update happens to update the drawer state. * * Results: * FALSE to indicate timer should not repeat. * * Side effects: * None * *----------------------------------------------------------------------------- */ static gboolean entangle_auto_drawer_on_enforce_delay(EntangleAutoDrawer *drawer) { drawer->priv->delayConnection = 0; entangle_auto_drawer_enforce(drawer, TRUE); return FALSE; } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_on_close_delay -- * * Callback fired when the drawer is closed manually. This prevents the * drawer from reopening right away. * * Results: * FALSE to indicate timer should not repeat. * * Side effects: * None * *----------------------------------------------------------------------------- */ static gboolean entangle_auto_drawer_on_close_delay(EntangleAutoDrawer *drawer) { drawer->priv->closeConnection = 0; drawer->priv->forceClosing = FALSE; return FALSE; } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_update -- * * Decide whether an AutoDrawer should be opened or closed, and enforce * drawer decision now or later. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_update(EntangleAutoDrawer *drawer, gboolean immediate) { EntangleAutoDrawerPrivate *priv = drawer->priv; GtkWidget *toplevel = gtk_widget_get_toplevel(GTK_WIDGET(drawer)); GtkWindow *window; GtkAllocation allocation; if (!toplevel || !gtk_widget_is_toplevel(toplevel)) { // The autoDrawer cannot function properly without a toplevel. return; } window = GTK_WINDOW(toplevel); /* * We decide to open the drawer by OR'ing several conditions. Evaluating a * condition can have the side-effect of setting 'immediate' to TRUE, so we * cannot stop evaluating the conditions after we have found one to be TRUE. */ priv->opened = FALSE; /* Is the AutoDrawer pinned? */ if (priv->pinned) { immediate = TRUE; priv->opened = TRUE; } /* Is the mouse cursor inside the event box? */ if (gtk_widget_get_window(priv->evBox)) { int x; int y; GdkDevice *dev; GdkDeviceManager *devmgr; devmgr = gdk_display_get_device_manager(gtk_widget_get_display(priv->evBox)); dev = gdk_device_manager_get_client_pointer(devmgr); gdk_window_get_device_position(gtk_widget_get_window(priv->evBox), dev, &x, &y, NULL); gtk_widget_get_allocation(priv->evBox, &allocation); g_assert(gtk_container_get_border_width(GTK_CONTAINER(priv->evBox)) == 0); if ((guint)x < (guint)allocation.width && (guint)y < (guint)allocation.height) { priv->opened = TRUE; } } /* If there is a focused widget, is it inside the event box? */ { GtkWidget *focus; focus = gtk_window_get_focus(window); if (focus && gtk_widget_is_ancestor(focus, priv->evBox)) { /* * Override the default 'immediate' to make sure the 'over' widget * immediately appears along with the widget the focused widget. */ immediate = TRUE; priv->opened = TRUE; } } /* If input is grabbed, is it on behalf of a widget inside the event box? */ if (!priv->inputUngrabbed) { GtkWidget *grabbed = NULL; if (gtk_window_has_group(window)) { GtkWindowGroup *group = gtk_window_get_group(window); grabbed = gtk_window_group_get_current_grab(group); } if (!grabbed) { grabbed = gtk_grab_get_current(); } if (grabbed && GTK_IS_MENU(grabbed)) { /* * With cascading menus, the deepest menu owns the grab. Traverse the * menu hierarchy up until we reach the attach widget for the whole * hierarchy. */ for (;;) { GtkWidget *menuAttach; GtkWidget *menuItemParent; menuAttach = gtk_menu_get_attach_widget(GTK_MENU(grabbed)); if (!menuAttach) { /* * It is unfortunately not mandatory for a menu to have a proper * attach widget set. */ break; } grabbed = menuAttach; if (!GTK_IS_MENU_ITEM(grabbed)) { break; } menuItemParent = gtk_widget_get_parent(grabbed); g_return_if_fail(menuItemParent); if (!GTK_IS_MENU(menuItemParent)) { break; } grabbed = menuItemParent; } } if (grabbed && gtk_widget_is_ancestor(grabbed, priv->evBox)) { /* * Override the default 'immediate' to make sure the 'over' widget * immediately appears along with the widget the grab happens on * behalf of. */ immediate = TRUE; priv->opened = TRUE; } } if (priv->delayConnection) { g_source_remove(priv->delayConnection); } if (priv->forceClosing) { entangle_auto_drawer_enforce(drawer, TRUE); } else if (immediate) { entangle_auto_drawer_enforce(drawer, FALSE); } else { priv->delayConnection = g_timeout_add(priv->delayValue, (GSourceFunc)entangle_auto_drawer_on_enforce_delay, drawer); } } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_on_over_enter_leave -- * * Respond to enter/leave events by doing a delayed update of the drawer * state. * * Results: * FALSE to indicate event was not handled. * * Side effects: * Will queue delayed update. * *----------------------------------------------------------------------------- */ static gboolean entangle_auto_drawer_on_over_enter_leave(GtkWidget *evBox G_GNUC_UNUSED, GdkEventCrossing *event G_GNUC_UNUSED, EntangleAutoDrawer *drawer) { /* * This change happens in response to user input. By default, give the user * some time to correct his input before reacting to the change. */ entangle_auto_drawer_update(drawer, FALSE); return FALSE; } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_OnGrabNotify -- * * Respond to grab notifications by updating the drawer state. * * Results: * None * * Side effects: * Might queue delayed update. * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_on_grab_notify(GtkWidget *evBox G_GNUC_UNUSED, gboolean ungrabbed, EntangleAutoDrawer *drawer) { EntangleAutoDrawerPrivate *priv = drawer->priv; priv->inputUngrabbed = ungrabbed; /* * This change happens in response to user input. By default, give the user * some time to correct his input before reacting to the change. */ entangle_auto_drawer_update(drawer, FALSE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_on_set_focus * * Respond to changes in the focus widget of the autoDrawer's toplevel * by recalculating the state. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_on_set_focus(GtkWindow *window G_GNUC_UNUSED, GtkWidget *widget G_GNUC_UNUSED, EntangleAutoDrawer *drawer) { /* * This change happens in response to user input. By default, give the user * some time to correct his input before reacting to the change. */ entangle_auto_drawer_update(drawer, FALSE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_on_hierarchy_changed -- * * Respond to changes in the toplevel for the AutoDrawer. A toplevel is * required for the AutoDrawer to calculate its state. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_on_hierarchy_changed(EntangleAutoDrawer *drawer, GtkWidget *oldToplevel) { GtkWidget *newToplevel = gtk_widget_get_toplevel(GTK_WIDGET(drawer)); if (oldToplevel && gtk_widget_is_toplevel(oldToplevel)) { g_signal_handlers_disconnect_by_func(oldToplevel, G_CALLBACK(entangle_auto_drawer_on_set_focus), drawer); } if (newToplevel && gtk_widget_is_toplevel(newToplevel)) { g_signal_connect_after(newToplevel, "set-focus", G_CALLBACK(entangle_auto_drawer_on_set_focus), drawer); } /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_over -- * * Virtual method override so drawer the user's over widget is placed * inside the AutoDrawer's event box. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_set_over(EntangleOverlayBox *ovBox, GtkWidget *widget) { EntangleAutoDrawer *drawer = ENTANGLE_AUTO_DRAWER(ovBox); EntangleAutoDrawerPrivate *priv = drawer->priv; GtkWidget *oldChild = gtk_bin_get_child(GTK_BIN(priv->evBox)); if (oldChild) { g_object_ref(oldChild); gtk_container_remove(GTK_CONTAINER(priv->evBox), oldChild); } if (widget) { gtk_container_add(GTK_CONTAINER(priv->evBox), widget); } if (oldChild) { g_object_unref(oldChild); } priv->over = widget; } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_refresh_packing -- * * Sets the actual packing values for fill, expand, and packing * given internal settings. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ static void entangle_auto_drawer_refresh_packing(EntangleAutoDrawer *drawer) { gboolean expand; gboolean fill; guint padding; expand = (drawer->priv->fill || (drawer->priv->offset < 0)); fill = drawer->priv->fill; padding = (expand || fill) ? 0 : drawer->priv->offset; gtk_box_set_child_packing(GTK_BOX(drawer), drawer->priv->evBox, expand, fill, padding, GTK_PACK_START); } static void entangle_auto_drawer_init(EntangleAutoDrawer *drawer) { EntangleAutoDrawerPrivate *priv; priv = drawer->priv = ENTANGLE_AUTO_DRAWER_GET_PRIVATE(drawer); priv->active = TRUE; priv->pinned = FALSE; priv->forceClosing = FALSE; priv->inputUngrabbed = TRUE; priv->delayConnection = 0; priv->delayValue = 250; priv->overlapPixels = 0; priv->noOverlapPixels = 1; priv->fill = TRUE; priv->offset = -1; priv->evBox = gtk_event_box_new(); gtk_widget_show(priv->evBox); ENTANGLE_OVERLAY_BOX_CLASS(entangle_auto_drawer_parent_class)->set_over(ENTANGLE_OVERLAY_BOX(drawer), priv->evBox); g_signal_connect(priv->evBox, "enter-notify-event", G_CALLBACK(entangle_auto_drawer_on_over_enter_leave), drawer); g_signal_connect(priv->evBox, "leave-notify-event", G_CALLBACK(entangle_auto_drawer_on_over_enter_leave), drawer); g_signal_connect(priv->evBox, "grab-notify", G_CALLBACK(entangle_auto_drawer_on_grab_notify), drawer); g_signal_connect(drawer, "hierarchy-changed", G_CALLBACK(entangle_auto_drawer_on_hierarchy_changed), NULL); /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); entangle_auto_drawer_refresh_packing(drawer); } static void entangle_auto_drawer_finalize(GObject *object) { EntangleAutoDrawer *drawer; drawer = ENTANGLE_AUTO_DRAWER(object); if (drawer->priv->delayConnection) { g_source_remove(drawer->priv->delayConnection); } G_OBJECT_CLASS(entangle_auto_drawer_parent_class)->finalize(object); } static void entangle_auto_drawer_class_init(EntangleAutoDrawerClass *klass) { GObjectClass *objectClass = G_OBJECT_CLASS(klass); EntangleOverlayBoxClass *ovBoxClass = ENTANGLE_OVERLAY_BOX_CLASS(klass); objectClass->finalize = entangle_auto_drawer_finalize; ovBoxClass->set_over = entangle_auto_drawer_set_over; g_type_class_add_private(objectClass, sizeof(EntangleAutoDrawerPrivate)); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_new -- * * Create a new EntangleAutoDrawer GTK+ widget. * * Results: * The widget * * Side effects: * None * *----------------------------------------------------------------------------- */ EntangleAutoDrawer * entangle_auto_drawer_new(void) { return ENTANGLE_AUTO_DRAWER(g_object_new(ENTANGLE_TYPE_AUTO_DRAWER, NULL)); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_slide_delay -- * * Set the response time of an AutoDrawer in ms., i.e. the time drawer * elapses between: * - when the AutoDrawer notices a change drawer can impact the outcome of * the decision to open or close the drawer, * and * - when the AutoDrawer makes such decision. * * Users move the mouse inaccurately. If they temporarily move the mouse in * or out of the AutoDrawer for less than the reponse time, their move will * be ignored. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_slide_delay(EntangleAutoDrawer *drawer, guint delay) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->delayValue = delay; } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_overlap_pixels -- * * Set the number of pixels drawer the over widget overlaps the under widget * when not open. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_overlap_pixels(EntangleAutoDrawer *drawer, guint overlapPixels) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->overlapPixels = overlapPixels; /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_no_overlap_pixels -- * * Set the number of pixels drawer the drawer reserves when not open. The * over widget does not overlap the under widget over these pixels. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_no_overlap_pixels(EntangleAutoDrawer *drawer, guint noOverlapPixels) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->noOverlapPixels = noOverlapPixels; /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_active -- * * Set whether the AutoDrawer is active or not. Drawer is to say, whether * it is acting as a drawer or not. When inactive, the over and under * widget do not overlap and the net result is very much like a vbox. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_active(EntangleAutoDrawer *drawer, gboolean active) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->active = active; /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_pinned -- * * Set whether the AutoDrawer is pinned or not. When pinned, the * AutoDrawer will stay open regardless of the state of any other inputs. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_pinned(EntangleAutoDrawer *drawer, gboolean pinned) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->pinned = pinned; /* * This change happens in response to user input. By default, give the user * some time to correct his input before reacting to the change. */ entangle_auto_drawer_update(drawer, FALSE); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_fill -- * * Set whether the Over widget of the AutoDrawer should fill the full * width of the AutoDrawer or just occupy the minimum space it needs. * A value of TRUE overrides offset settings. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_fill(EntangleAutoDrawer *drawer, gboolean fill) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->fill = fill; entangle_auto_drawer_refresh_packing(drawer); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_set_offset -- * * Set the drawer's X offset, or distance in pixels from the left side. * If offset is -1, the drawer will be centered. If fill has been set * TRUE by SetFill, these settings will have no effect. * * Results: * None * * Side effects: * Drawer state is updated. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_set_offset(EntangleAutoDrawer *drawer, gint offset) { g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); drawer->priv->offset = offset; entangle_auto_drawer_refresh_packing(drawer); } /* *----------------------------------------------------------------------------- * * entangle_auto_drawer_close -- * * Closes the drawer. This will not unset the pinned state. * * Results: * None * * Side effects: * Drawer state is updated. If there is a focused widget inside the * drawer, unfocus it. * *----------------------------------------------------------------------------- */ void entangle_auto_drawer_close(EntangleAutoDrawer *drawer) { GtkWindow *window; GtkWidget *focus; GtkWidget *toplevel; g_return_if_fail(ENTANGLE_IS_AUTO_DRAWER(drawer)); toplevel = gtk_widget_get_toplevel(GTK_WIDGET(drawer)); if (!toplevel || !gtk_widget_is_toplevel(toplevel)) { // The autoDrawer cannot function properly without a toplevel. return; } window = GTK_WINDOW(toplevel); focus = gtk_window_get_focus(window); if (focus && gtk_widget_is_ancestor(focus, drawer->priv->evBox)) { gtk_window_set_focus(window, NULL); } drawer->priv->forceClosing = TRUE; drawer->priv->closeConnection = g_timeout_add(entangle_drawer_get_close_time(&drawer->parent) + drawer->priv->delayValue, (GSourceFunc)entangle_auto_drawer_on_close_delay, drawer); /* This change happens programmatically. Always react to it immediately. */ entangle_auto_drawer_update(drawer, TRUE); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-display-enums.c0000664000000000000000000000206512253420740020427 00000000000000 #include "entangle-image-display-enums.h" /* enumerations from "frontend/entangle-image-display.h" */ #include "frontend/entangle-image-display.h" static const GEnumValue _entangle_image_display_grid_values[] = { { ENTANGLE_IMAGE_DISPLAY_GRID_NONE, "ENTANGLE_IMAGE_DISPLAY_GRID_NONE", "none" }, { ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES, "ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES", "center-lines" }, { ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS, "ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS", "rule-of-3rds" }, { ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS, "ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS", "quarters" }, { ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS, "ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS", "rule-of-5ths" }, { ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS, "ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS", "golden-sections" }, { 0, NULL, NULL } }; GType entangle_image_display_grid_get_type (void) { static GType type = 0; if (!type) type = g_enum_register_static ("EntangleImageDisplayGrid", _entangle_image_display_grid_values); return type; } entangle-0.5.4/src/frontend/entangle-auto-drawer.h0000664000000000000000000000673012253420652017021 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ #ifndef __ENTANGLE_AUTO_DRAWER_H__ #define __ENTANGLE_AUTO_DRAWER_H__ #include "entangle-drawer.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_AUTO_DRAWER (entangle_auto_drawer_get_type()) #define ENTANGLE_AUTO_DRAWER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ENTANGLE_TYPE_AUTO_DRAWER, EntangleAutoDrawer)) #define ENTANGLE_AUTO_DRAWER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ENTANGLE_TYPE_AUTO_DRAWER, EntangleAutoDrawerClass)) #define ENTANGLE_IS_AUTO_DRAWER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ENTANGLE_TYPE_AUTO_DRAWER)) #define ENTANGLE_IS_AUTO_DRAWER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ENTANGLE_TYPE_AUTO_DRAWER)) #define ENTANGLE_AUTO_DRAWER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ENTANGLE_TYPE_AUTO_DRAWER, EntangleAutoDrawerClass)) typedef struct _EntangleAutoDrawer EntangleAutoDrawer; typedef struct _EntangleAutoDrawerPrivate EntangleAutoDrawerPrivate; typedef struct _EntangleAutoDrawerClass EntangleAutoDrawerClass; struct _EntangleAutoDrawer { EntangleDrawer parent; EntangleAutoDrawerPrivate *priv; }; struct _EntangleAutoDrawerClass { EntangleDrawerClass parent; }; GType entangle_auto_drawer_get_type(void); EntangleAutoDrawer *entangle_auto_drawer_new(void); void entangle_auto_drawer_set_slide_delay(EntangleAutoDrawer *drawer, guint delay); void entangle_auto_drawer_set_overlap_pixels(EntangleAutoDrawer *drawer, guint overlapPixels); void entangle_auto_drawer_set_no_overlap_pixels(EntangleAutoDrawer *drawer, guint noOverlapPixels); void entangle_auto_drawer_set_active(EntangleAutoDrawer *drawer, gboolean active); void entangle_auto_drawer_set_pinned(EntangleAutoDrawer *drawer, gboolean pinned); void entangle_auto_drawer_set_fill(EntangleAutoDrawer *drawer, gboolean fill); void entangle_auto_drawer_set_offset(EntangleAutoDrawer *drawer, gint offset); void entangle_auto_drawer_close(EntangleAutoDrawer *drawer); G_END_DECLS #endif /* LIBENTANGLE_AUTO_DRAWER_H */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-overlay-box.c0000664000000000000000000005254512253420652017036 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ /* * Formerly ovBox.c -- * * Implementation of a GTK+ overlapping box. Allows you to display and * quickly move a child that overlaps another child. * * Implementation notes * -------------------- * * Changing 'fraction' is fast (we just move the 'overWin' X window, which * ultimately copies a rectangle on the X server side), and does not * flicker (the 'under' and 'over' GTK children are not re-drawn, except * for parts of them that become exposed). * * o Initially, we thought it could be done with only 2 X windows * * Layout Hierarchy * ------ --------- * * /- overWin --\ underWin * | | overWin * /-+- underWin -+-\ * | | | | * | \------------/ | * | | * \----------------/ * * But the 'under' GTK child could create other X windows inside * 'underWin', which makes it impossible to guarantee that 'overWin' * will stay stacked on top. * * o So we are forced to use 3 X windows * * Layout Hierarchy * ------ --------- * * /- overWin --\ window * | | overWin * /---+- window ---+---\ underWin * | | | | * | /-+- underWin -+-\ | * | | | | | | * | | \------------/ | | * | | | | * | \----------------/ | * | | * \--------------------/ * * --hpreg */ #include #include "entangle-overlay-box.h" struct _EntangleOverlayBoxPrivate { GdkWindow *underWin; GtkWidget *under; GdkWindow *overWin; GtkWidget *over; GtkRequisition overR; unsigned int min; double fraction; gint verticalOffset; }; #define ENTANGLE_OVERLAY_BOX_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_OVERLAY_BOX, EntangleOverlayBoxPrivate)) G_DEFINE_TYPE(EntangleOverlayBox, entangle_overlay_box, GTK_TYPE_BOX); /* *----------------------------------------------------------------------------- * * entangle_overlay_box_init -- * * Initialize a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_init(EntangleOverlayBox *box) { EntangleOverlayBoxPrivate *priv; priv = box->priv = ENTANGLE_OVERLAY_BOX_GET_PRIVATE(box); gtk_widget_set_has_window(GTK_WIDGET(box), TRUE); priv->underWin = NULL; priv->under = NULL; priv->overWin = NULL; priv->over = NULL; priv->overR.height = -1; priv->overR.width = -1; priv->min = 0; priv->fraction = 0; priv->verticalOffset = 0; } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_map -- * * "map" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_map(GtkWidget *widget) { gdk_window_show(gtk_widget_get_window(widget)); GTK_WIDGET_CLASS(entangle_overlay_box_parent_class)->map(widget); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_unmap -- * * "unmap" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_unmap(GtkWidget *widget) { gdk_window_hide(gtk_widget_get_window(widget)); GTK_WIDGET_CLASS(entangle_overlay_box_parent_class)->unmap(widget); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_get_actual_min -- * * Retrieve the actual 'min' value, i.e. a value that is guaranteed not to * exceed the height of the 'over' child. * * Results: * The actual 'min' value. * * Side effects: * None * *----------------------------------------------------------------------------- */ static inline unsigned int entangle_overlay_box_get_actual_min(EntangleOverlayBox *box) { return MIN(box->priv->min, box->priv->overR.height); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_get_under_geometry -- * * Retrieve the geometry to apply to 'that->underWin'. * * Results: * The geometry * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_get_under_geometry(EntangleOverlayBox *box, int *x, int *y, int *width, int *height) { unsigned int min; GtkAllocation allocation; min = entangle_overlay_box_get_actual_min(box); gtk_widget_get_allocation(GTK_WIDGET(box), &allocation); *x = 0; *y = min; *width = allocation.width; *height = allocation.height - min; } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_get_over_geometry -- * * Retrieve the geometry to apply to 'that->overWin'. * * Results: * The geometry * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_get_over_geometry(EntangleOverlayBox *box, int *x, int *y, int *width, int *height) { EntangleOverlayBoxPrivate *priv; gboolean expand; gboolean fill; guint padding; unsigned int boxWidth; GtkAllocation allocation; priv = box->priv; if (priv->over) { /* * When a child's expand or fill property changes, GtkBox queues * a resize for the child. */ gtk_container_child_get(GTK_CONTAINER(box), priv->over, "expand", &expand, "fill", &fill, "padding", &padding, NULL); } else { /* Default values used by GtkBox. */ expand = TRUE; fill = TRUE; padding = 0; } gtk_widget_get_allocation(GTK_WIDGET(box), &allocation); boxWidth = allocation.width; if (!expand) { *width = MIN(priv->overR.width, boxWidth - padding); *x = padding; } else if (!fill) { *width = MIN(priv->overR.width, boxWidth); *x = (boxWidth - *width) / 2; } else { *width = boxWidth; *x = 0; } *y = (priv->overR.height - entangle_overlay_box_get_actual_min(box)) * (priv->fraction - 1) + priv->verticalOffset; *height = priv->overR.height; } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_set_background -- * * Set the background color of the 'underWin' and 'overWin' X windows. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_set_background(EntangleOverlayBox *box) { GtkWidget *widget; GtkStyleContext *stylecontext; widget = GTK_WIDGET(box); stylecontext = gtk_widget_get_style_context(widget); gtk_style_context_set_background(stylecontext, gtk_widget_get_window(widget)); gtk_style_context_set_background(stylecontext, box->priv->underWin); gtk_style_context_set_background(stylecontext, box->priv->overWin); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_realize -- * * "realize" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_realize(GtkWidget *widget) { EntangleOverlayBox *box; EntangleOverlayBoxPrivate *priv; GdkWindowAttr attributes; gint mask; GtkAllocation allocation; GdkWindow *window; gtk_widget_set_realized(widget, TRUE); box = ENTANGLE_OVERLAY_BOX(widget); priv = box->priv; attributes.window_type = GDK_WINDOW_CHILD; attributes.wclass = GDK_INPUT_OUTPUT; attributes.visual = gtk_widget_get_visual(widget); attributes.event_mask = gtk_widget_get_events(widget) | GDK_EXPOSURE_MASK; mask = GDK_WA_VISUAL | GDK_WA_X | GDK_WA_Y; gtk_widget_get_allocation(widget, &allocation); attributes.x = allocation.x; attributes.y = allocation.y; attributes.width = allocation.width; attributes.height = allocation.height; window = gdk_window_new(gtk_widget_get_parent_window(widget), &attributes, mask); gtk_widget_set_window(widget, window); gdk_window_set_user_data(window, box); /* * The order in which we create the children X window matters: the child * created last is stacked on top. --hpreg */ entangle_overlay_box_get_under_geometry(box, &attributes.x, &attributes.y, &attributes.width, &attributes.height); priv->underWin = gdk_window_new(window, &attributes, mask); gdk_window_set_user_data(priv->underWin, box); if (priv->under) { gtk_widget_set_parent_window(priv->under, priv->underWin); } gdk_window_show(priv->underWin); entangle_overlay_box_get_over_geometry(box, &attributes.x, &attributes.y, &attributes.width, &attributes.height); priv->overWin = gdk_window_new(window, &attributes, mask); gdk_window_set_user_data(priv->overWin, box); if (priv->over) { gtk_widget_set_parent_window(priv->over, priv->overWin); } gdk_window_show(priv->overWin); entangle_overlay_box_set_background(box); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_unrealize -- * * "unrealize" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_unrealize(GtkWidget *widget) { EntangleOverlayBox *box; EntangleOverlayBoxPrivate *priv; box = ENTANGLE_OVERLAY_BOX(widget); priv = box->priv; /* * Unrealize the parent before destroying the windows so that we end up * unrealizing all the child widgets before destroying the child windows, * giving them a chance to reparent their windows before we clobber them. */ GTK_WIDGET_CLASS(entangle_overlay_box_parent_class)->unrealize(widget); gdk_window_set_user_data(priv->underWin, NULL); gdk_window_destroy(priv->underWin); priv->underWin = NULL; gdk_window_set_user_data(priv->overWin, NULL); gdk_window_destroy(priv->overWin); priv->overWin = NULL; } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_size_request -- * * "size_request" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_size_request(GtkWidget *widget, GtkRequisition *requisition) { EntangleOverlayBox *box; EntangleOverlayBoxPrivate *priv; GtkRequisition underR; gboolean expand; gboolean fill; guint padding; unsigned int min; box = ENTANGLE_OVERLAY_BOX(widget); priv = box->priv; gtk_widget_get_preferred_size(priv->under, NULL, &underR); gtk_widget_get_preferred_size(priv->over, NULL, &priv->overR); gtk_container_child_get(GTK_CONTAINER(box), priv->over, "expand", &expand, "fill", &fill, "padding", &padding, NULL); requisition->width = MAX(underR.width, priv->overR.width + ((expand || fill) ? 0 : padding)); min = entangle_overlay_box_get_actual_min(box); requisition->height = MAX(underR.height + min, priv->overR.height); } static void entangle_overlay_box_get_preferred_width(GtkWidget *widget, gint *minimal_width, gint *natural_width) { GtkRequisition requisition; entangle_overlay_box_size_request(widget, &requisition); *minimal_width = *natural_width = requisition.width; } static void entangle_overlay_box_get_preferred_height(GtkWidget *widget, gint *minimal_height, gint *natural_height) { GtkRequisition requisition; entangle_overlay_box_size_request(widget, &requisition); *minimal_height = *natural_height = requisition.height; } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_size_allocate -- * * "size_allocate" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_size_allocate(GtkWidget *widget, GtkAllocation *allocation) { EntangleOverlayBox *box; EntangleOverlayBoxPrivate *priv; GtkAllocation under; GtkAllocation over; gtk_widget_set_allocation(widget, allocation); box = ENTANGLE_OVERLAY_BOX(widget); priv = box->priv; entangle_overlay_box_get_under_geometry(box, &under.x, &under.y, &under.width, &under.height); entangle_overlay_box_get_over_geometry(box, &over.x, &over.y, &over.width, &over.height); if (gtk_widget_get_realized(widget)) { gdk_window_move_resize(gtk_widget_get_window(widget), allocation->x, allocation->y, allocation->width, allocation->height); gdk_window_move_resize(priv->underWin, under.x, under.y, under.width, under.height); gdk_window_move_resize(priv->overWin, over.x, over.y, over.width, over.height); } under.x = 0; under.y = 0; gtk_widget_size_allocate(priv->under, &under); over.x = 0; over.y = 0; gtk_widget_size_allocate(priv->over, &over); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_style_set -- * * "style_set" method of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_style_set(GtkWidget *widget, GtkStyle *previousStyle) { EntangleOverlayBox *box; box = ENTANGLE_OVERLAY_BOX(widget); if (gtk_widget_get_realized(widget)) { entangle_overlay_box_set_background(box); } GTK_WIDGET_CLASS(entangle_overlay_box_parent_class)->style_set(widget, previousStyle); } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_set_child -- * * Set a child of a EntangleOverlayBox. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_set_child(EntangleOverlayBox *box, GtkWidget **child, GdkWindow *childWin, GtkWidget *widget) { GtkWidget *oldChild = *child; if (oldChild) { g_object_ref(oldChild); gtk_container_remove(GTK_CONTAINER(box), oldChild); } *child = widget; if (*child) { gtk_widget_set_parent_window(widget, childWin); gtk_container_add(GTK_CONTAINER(box), *child); } if (oldChild) { g_object_unref(oldChild); } } /* *----------------------------------------------------------------------------- * * entangle_overlay_box_set_over_default -- * * Base implementation of entangle_overlay_box_set_over. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ static void entangle_overlay_box_set_over_default(EntangleOverlayBox *box, GtkWidget *widget) { entangle_overlay_box_set_child(box, &box->priv->over, box->priv->overWin, widget); } static void entangle_overlay_box_class_init(EntangleOverlayBoxClass *klass) { GObjectClass *objectClass; GtkWidgetClass *widgetClass; objectClass = G_OBJECT_CLASS(klass); widgetClass = GTK_WIDGET_CLASS(klass); widgetClass->map = entangle_overlay_box_map; widgetClass->unmap = entangle_overlay_box_unmap; widgetClass->realize = entangle_overlay_box_realize; widgetClass->unrealize = entangle_overlay_box_unrealize; widgetClass->get_preferred_width = entangle_overlay_box_get_preferred_width; widgetClass->get_preferred_height = entangle_overlay_box_get_preferred_height; widgetClass->size_allocate = entangle_overlay_box_size_allocate; widgetClass->style_set = entangle_overlay_box_style_set; klass->set_over = entangle_overlay_box_set_over_default; g_type_class_add_private(objectClass, sizeof(EntangleOverlayBoxPrivate)); } /** * entangle_overlay_box_new: * * Create a new EntangleOverlayBox GTK+ widget. */ EntangleOverlayBox * entangle_overlay_box_new(void) { return ENTANGLE_OVERLAY_BOX(g_object_new(ENTANGLE_TYPE_OVERLAY_BOX, NULL)); } /** * entangle_overlay_box_set_under: * * Set the under widget of a EntangleOverlayBox. */ void entangle_overlay_box_set_under(EntangleOverlayBox *box, GtkWidget *widget) { g_return_if_fail(box != NULL); entangle_overlay_box_set_child(box, &box->priv->under, box->priv->underWin, widget); } /** * entangle_overlay_box_set_over: * * Set the over widget of a EntangleOverlayBox. */ void entangle_overlay_box_set_over(EntangleOverlayBox *box, GtkWidget *widget) { g_return_if_fail(box != NULL); ENTANGLE_OVERLAY_BOX_GET_CLASS(box)->set_over(box, widget); } /** * entangle_overlay_box_set_min: * * Set the 'min' property of a EntangleOverlayBox, i.e. the number of pixel of the * 'over' child that should always be displayed without overlapping on the * 'under' child. * * Using a value of -1 displays the 'over' child entirely. */ void entangle_overlay_box_set_min(EntangleOverlayBox *box, unsigned int min) { g_return_if_fail(box != NULL); box->priv->min = min; gtk_widget_queue_resize(GTK_WIDGET(box)); } /** * entangle_overlay_box_set_fraction: * * Set the 'fraction' property of a EntangleOverlayBox, i.e. how much of the 'over' * child should overlap on the 'under' child. */ void entangle_overlay_box_set_fraction(EntangleOverlayBox *box, double fraction) { g_return_if_fail(box != NULL); g_return_if_fail(fraction >=0 && fraction <= 1); box->priv->fraction = fraction; if (gtk_widget_get_realized(GTK_WIDGET(box))) { int x; int y; int width; int height; entangle_overlay_box_get_over_geometry(box, &x, &y, &width, &height); gdk_window_move(box->priv->overWin, x, y); } } /** * entangle_overlay_box_get_fraction: * * Retrieve the 'fraction' property of a EntangleOverlayBox. */ double entangle_overlay_box_get_fraction(EntangleOverlayBox *box) { g_return_val_if_fail(box != NULL, 0); return box->priv->fraction; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-application.h0000664000000000000000000000504412253420652017067 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_APPLICATION_H__ #define __ENTANGLE_APPLICATION_H__ #include #include #include "entangle-preferences.h" #include "entangle-camera-list.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_APPLICATION (entangle_application_get_type ()) #define ENTANGLE_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_APPLICATION, EntangleApplication)) #define ENTANGLE_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_APPLICATION, EntangleApplicationClass)) #define ENTANGLE_IS_APPLICATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_APPLICATION)) #define ENTANGLE_IS_APPLICATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_APPLICATION)) #define ENTANGLE_APPLICATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_APPLICATION, EntangleApplicationClass)) typedef struct _EntangleApplication EntangleApplication; typedef struct _EntangleApplicationPrivate EntangleApplicationPrivate; typedef struct _EntangleApplicationClass EntangleApplicationClass; struct _EntangleApplication { GtkApplication parent; EntangleApplicationPrivate *priv; }; struct _EntangleApplicationClass { GtkApplicationClass parent_class; }; GType entangle_application_get_type(void) G_GNUC_CONST; EntangleApplication *entangle_application_new(void); EntangleCameraList *entangle_application_get_cameras(EntangleApplication *application); EntanglePreferences *entangle_application_get_preferences(EntangleApplication *application); PeasEngine *entangle_application_get_plugin_engine(EntangleApplication *application); G_END_DECLS #endif /* __ENTANGLE_APPLICATION_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-popup.c0000664000000000000000000002611012253420652016777 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-image-popup.h" #include "entangle-image-display.h" #include "entangle-window.h" #define ENTANGLE_IMAGE_POPUP_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE_POPUP, EntangleImagePopupPrivate)) gboolean do_popup_delete(GtkWidget *src, GdkEvent *ev, gpointer data); struct _EntangleImagePopupPrivate { EntangleImage *image; EntangleImageDisplay *display; GtkBuilder *builder; }; static void entangle_image_popup_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntangleImagePopup, entangle_image_popup, GTK_TYPE_WINDOW, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_image_popup_window_interface_init)); enum { PROP_0, PROP_IMAGE, }; static void entangle_image_popup_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImagePopup *popup = ENTANGLE_IMAGE_POPUP(object); EntangleImagePopupPrivate *priv = popup->priv; switch (prop_id) { case PROP_IMAGE: g_value_set_object(value, priv->image); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_popup_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImagePopup *popup = ENTANGLE_IMAGE_POPUP(object); EntangleImagePopupPrivate *priv = popup->priv; ENTANGLE_DEBUG("Set prop on image popup %d", prop_id); switch (prop_id) { case PROP_IMAGE: { if (priv->image) g_object_unref(priv->image); priv->image = g_value_dup_object(value); entangle_image_display_set_image(priv->display, priv->image); } break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_popup_finalize(GObject *object) { EntangleImagePopup *popup = ENTANGLE_IMAGE_POPUP(object); EntangleImagePopupPrivate *priv = popup->priv; GtkWidget *win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "image-popup")); ENTANGLE_DEBUG("Remove popup"); g_object_unref(priv->builder); gtk_widget_destroy(win); if (priv->image) g_object_unref(priv->image); G_OBJECT_CLASS(entangle_image_popup_parent_class)->finalize(object); } static gboolean entangle_image_popup_button_press(GtkWidget *widget, GdkEventButton *ev, gpointer data G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_POPUP(widget), FALSE); EntangleImagePopup *popup = ENTANGLE_IMAGE_POPUP(widget); EntangleImagePopupPrivate *priv = popup->priv; GtkWidget *win; int w, h; win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "image-popup")); gtk_window_get_size(GTK_WINDOW(win), &w, &h); if (ev->button == 1) { gtk_window_begin_move_drag(GTK_WINDOW(win), ev->button, ev->x_root, ev->y_root, ev->time); } else if (ev->button == 2 || ev->button == 3) { GdkWindowEdge edge; if (ev->x > (w/2)) { if (ev->y > (h/2)) edge = GDK_WINDOW_EDGE_SOUTH_EAST; else edge = GDK_WINDOW_EDGE_NORTH_EAST; } else { if (ev->y > (h/2)) edge = GDK_WINDOW_EDGE_SOUTH_WEST; else edge = GDK_WINDOW_EDGE_NORTH_WEST; } gtk_window_begin_resize_drag(GTK_WINDOW(win), edge, ev->button, ev->x_root, ev->y_root, ev->time); } else { return FALSE; } return TRUE; } static gboolean entangle_image_popup_key_release(GtkWidget *widget, GdkEventKey *ev, gpointer data G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_POPUP(widget), FALSE); if (ev->keyval == GDK_KEY_Escape || ev->keyval == GDK_KEY_KP_Enter || ev->keyval == GDK_KEY_Return) { gtk_widget_hide(widget); return TRUE; } return FALSE; } static void do_entangle_image_popup_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_image_popup_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_image_popup_set_builder; } static void entangle_image_popup_class_init(EntangleImagePopupClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_image_popup_finalize; object_class->get_property = entangle_image_popup_get_property; object_class->set_property = entangle_image_popup_set_property; g_object_class_install_property(object_class, PROP_IMAGE, g_param_spec_object("image", "Image", "Image to be displayed", ENTANGLE_TYPE_IMAGE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_signal_new("popup-close", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleImagePopupClass, popup_close), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_type_class_add_private(klass, sizeof(EntangleImagePopupPrivate)); } EntangleImagePopup *entangle_image_popup_new(void) { return ENTANGLE_IMAGE_POPUP(entangle_window_new(ENTANGLE_TYPE_IMAGE_POPUP, GTK_TYPE_WINDOW, "image-popup")); } gboolean do_popup_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED, gpointer data G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_POPUP(src), FALSE); ENTANGLE_DEBUG("popup delete"); gtk_widget_hide(src); return TRUE; } static void do_entangle_image_popup_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntangleImagePopup *popup = ENTANGLE_IMAGE_POPUP(win); EntangleImagePopupPrivate *priv = popup->priv; priv->builder = g_object_ref(builder); g_signal_connect(popup, "button-press-event", G_CALLBACK(entangle_image_popup_button_press), NULL); g_signal_connect(popup, "key-release-event", G_CALLBACK(entangle_image_popup_key_release), NULL); priv->display = entangle_image_display_new(); gtk_container_add(GTK_CONTAINER(popup), GTK_WIDGET(priv->display)); g_signal_connect(popup, "delete-event", G_CALLBACK(do_popup_delete), NULL); } static void entangle_image_popup_init(EntangleImagePopup *popup) { popup->priv = ENTANGLE_IMAGE_POPUP_GET_PRIVATE(popup); } void entangle_image_popup_show(EntangleImagePopup *popup, GtkWindow *parent, int x, int y) { g_return_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup)); g_return_if_fail(GTK_IS_WINDOW(parent)); EntangleImagePopupPrivate *priv = popup->priv; gtk_widget_realize(GTK_WIDGET(popup)); gtk_window_set_transient_for(GTK_WINDOW(popup), parent); gtk_widget_show(GTK_WIDGET(popup)); gtk_window_move(GTK_WINDOW(popup), x, y); gtk_widget_show(GTK_WIDGET(priv->display)); gtk_window_present(GTK_WINDOW(popup)); } void entangle_image_popup_move_to_monitor(EntangleImagePopup *popup, gint monitor) { g_return_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup)); EntangleImagePopupPrivate *priv = popup->priv; GtkWidget *win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "image-popup")); GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(win)); GdkRectangle r; gdk_screen_get_monitor_geometry(screen, monitor, &r); ENTANGLE_DEBUG("At %d,%d Size %d,%d", r.x, r.y, r.width, r.height); gtk_window_move(GTK_WINDOW(win), r.x, r.y); gtk_window_resize(GTK_WINDOW(win), r.width, r.height); gtk_window_fullscreen(GTK_WINDOW(win)); } void entangle_image_popup_show_on_monitor(EntangleImagePopup *popup, gint monitor) { g_return_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup)); EntangleImagePopupPrivate *priv = popup->priv; GtkWidget *win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "image-popup")); GdkCursor *null_cursor = gdk_cursor_new(GDK_BLANK_CURSOR); gtk_widget_realize(win); gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(win)), null_cursor); g_object_unref(null_cursor); entangle_image_popup_move_to_monitor(popup, monitor); gtk_widget_show(win); gtk_widget_show(GTK_WIDGET(priv->display)); gtk_window_present(GTK_WINDOW(win)); } void entangle_image_popup_set_image(EntangleImagePopup *popup, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup)); g_return_if_fail(ENTANGLE_IS_IMAGE(image)); g_object_set(popup, "image", image, NULL); } EntangleImage *entangle_image_popup_get_image(EntangleImagePopup *popup) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup), NULL); EntangleImagePopupPrivate *priv = popup->priv; return priv->image; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-help-about.ui0000664000000000000000000010377212253420652017021 00000000000000 False 5 About - Entangle True center-on-parent True dialog True True False False Entangle 0.0.1 Copyright (C) 2009-2012 Daniel P. Berrange Tethered Camera Control & Capture http://entangle-photo.org/ entangle-photo.org GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/> Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS Daniel P. Berrange <dan-at-berrange-dot-com> True False vertical 2 True False end False True end 0 entangle-0.5.4/src/frontend/entangle-preferences-display.c0000664000000000000000000014022112253420652020520 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-preferences-display.h" #include "entangle-camera-picker.h" #include "entangle-camera-manager.h" #include "entangle-image-display.h" #include "entangle-window.h" #define ENTANGLE_PREFERENCES_DISPLAY_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_PREFERENCES_DISPLAY, EntanglePreferencesDisplayPrivate)) static void entangle_preferences_display_refresh(EntanglePreferencesDisplay *preferences); struct _EntanglePreferencesDisplayPrivate { PeasGtkPluginManager *pluginManager; gulong prefsID; GtkBuilder *builder; }; static void entangle_preferences_display_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntanglePreferencesDisplay, entangle_preferences_display, GTK_TYPE_DIALOG, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_preferences_display_window_interface_init)); enum { PROP_0, }; void do_preferences_close(GtkButton *src, EntanglePreferencesDisplay *preferences); gboolean do_preferences_delete(GtkWidget *src, GdkEvent *ev, EntanglePreferencesDisplay *preferences); void do_page_changed(GtkTreeSelection *selection, EntanglePreferencesDisplay *preferences); void do_cms_enabled_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_cms_rgb_profile_file_set(GtkFileChooserButton *src, EntanglePreferencesDisplay *display); void do_cms_monitor_profile_file_set(GtkFileChooserButton *src, EntanglePreferencesDisplay *display); void do_cms_detect_system_profile_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_cms_rendering_intent_changed(GtkComboBox *src, EntanglePreferencesDisplay *display); void do_interface_auto_connect_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_interface_screen_blank_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_interface_histogram_linear_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_capture_filename_pattern_changed(GtkEntry *src, EntanglePreferencesDisplay *display); void do_capture_continuous_preview_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_capture_delete_file_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_img_mask_enabled_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_img_aspect_ratio_changed(GtkComboBox *src, EntanglePreferencesDisplay *display); void do_img_mask_opacity_changed(GtkSpinButton *src, EntanglePreferencesDisplay *display); void do_img_focus_point_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_img_grid_lines_changed(GtkComboBox *src, EntanglePreferencesDisplay *display); void do_img_embedded_preview_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_img_onion_skin_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *display); void do_img_onion_layers_changed(GtkSpinButton *src, EntanglePreferencesDisplay *display); static EntanglePreferences *entangle_preferences_display_get_preferences(EntanglePreferencesDisplay *preferences) { GtkApplication *gapp = gtk_window_get_application(GTK_WINDOW(preferences)); EntangleApplication *app = ENTANGLE_APPLICATION(gapp); return entangle_application_get_preferences(app); } static void entangle_preferences_display_notify(GObject *object, GParamSpec *spec, gpointer data) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(data)); EntanglePreferencesDisplay *preferences = ENTANGLE_PREFERENCES_DISPLAY(data); EntanglePreferencesDisplayPrivate *priv = preferences->priv; GtkWidget *tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, spec->name)); ENTANGLE_DEBUG("Internal display Set %p %s", object, spec->name); if (strcmp(spec->name, "cms-enabled") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "cms-detect-system-profile") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "cms-rgb-profile") == 0) { EntangleColourProfile *profile; const gchar *oldvalue; const gchar *newvalue; g_object_get(object, spec->name, &profile, NULL); newvalue = profile ? entangle_colour_profile_filename(profile) : NULL; oldvalue = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(tmp)); if ((newvalue && !oldvalue) || (!newvalue && oldvalue) || strcmp(newvalue, oldvalue) != 0) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(tmp), newvalue); if (profile) g_object_unref(profile); } else if (strcmp(spec->name, "cms-monitor-profile") == 0) { EntangleColourProfile *profile; const gchar *oldvalue; const gchar *newvalue; g_object_get(object, spec->name, &profile, NULL); newvalue = profile ? entangle_colour_profile_filename(profile) : NULL; oldvalue = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(tmp)); if ((newvalue && !oldvalue) || (!newvalue && oldvalue) || strcmp(newvalue, oldvalue) != 0) gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(tmp), newvalue); if (profile) g_object_unref(profile); } else if (strcmp(spec->name, "cms-rendering-intent") == 0) { int newvalue; int oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_combo_box_get_active(GTK_COMBO_BOX(tmp)); if (oldvalue != newvalue) gtk_combo_box_set_active(GTK_COMBO_BOX(tmp), newvalue); } else if (strcmp(spec->name, "interface-auto-connect") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "interface-screen-blank") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "interface-histogram-linear") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "capture-filename-pattern") == 0) { gchar *newvalue; const gchar *oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_entry_get_text(GTK_ENTRY(tmp)); if ((newvalue && !oldvalue) || (!newvalue && oldvalue) || strcmp(newvalue, oldvalue) != 0) gtk_entry_set_text(GTK_ENTRY(tmp), newvalue); g_free(newvalue); } else if (strcmp(spec->name, "capture-continuous-preview") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "capture-delete-file") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "img-mask-enabled") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "img-aspect-ratio") == 0) { gchar *newvalue; const gchar *oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_combo_box_get_active_id(GTK_COMBO_BOX(tmp)); if ((newvalue && !oldvalue) || (!newvalue && oldvalue) || strcmp(newvalue, oldvalue) != 0) gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), newvalue); g_free(newvalue); } else if (strcmp(spec->name, "img-mask-opacity") == 0) { GtkAdjustment *adjust = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(tmp)); gint newvalue; gfloat oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_adjustment_get_value(adjust); if (fabs(newvalue - oldvalue) > 0.0005) gtk_adjustment_set_value(adjust, newvalue); } else if (strcmp(spec->name, "img-focus-point") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "img-grid-lines") == 0) { gint newvalue; gint oldvalue; const gchar *oldid; GEnumClass *enum_class; GEnumValue *enum_value; enum_class = g_type_class_ref(ENTANGLE_TYPE_IMAGE_DISPLAY_GRID); g_object_get(object, spec->name, &newvalue, NULL); oldid = gtk_combo_box_get_active_id(GTK_COMBO_BOX(tmp)); oldvalue = ENTANGLE_IMAGE_DISPLAY_GRID_NONE; if (oldid) { enum_value = g_enum_get_value_by_nick(enum_class, oldid); if (enum_value != NULL) oldvalue = enum_value->value; } if (newvalue != oldvalue) { enum_value = g_enum_get_value(enum_class, newvalue); if (enum_value != NULL) gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), enum_value->value_nick); else gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), "none"); } g_type_class_unref(enum_class); } else if (strcmp(spec->name, "img-embedded-preview") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "img-onion-skin") == 0) { gboolean newvalue; gboolean oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(tmp)); if (newvalue != oldvalue) gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), newvalue); } else if (strcmp(spec->name, "img-onion-layers") == 0) { GtkAdjustment *adjust = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(tmp)); gint newvalue; gfloat oldvalue; g_object_get(object, spec->name, &newvalue, NULL); oldvalue = gtk_adjustment_get_value(adjust); if (fabs(newvalue - oldvalue) > 0.0005) gtk_adjustment_set_value(adjust, newvalue); } } static void do_entangle_preferences_display_set_app(GObject *object, GParamSpec *spec G_GNUC_UNUSED) { EntanglePreferencesDisplay *preferences = ENTANGLE_PREFERENCES_DISPLAY(object); EntanglePreferencesDisplayPrivate *priv = preferences->priv; EntanglePreferences *prefs; PeasEngine *pluginEngine; GtkWidget *panel; EntangleApplication *app; app = ENTANGLE_APPLICATION(gtk_window_get_application(GTK_WINDOW(preferences))); panel = GTK_WIDGET(gtk_builder_get_object(priv->builder, "plugins-panel")); entangle_preferences_display_refresh(preferences); prefs = entangle_preferences_display_get_preferences(preferences); priv->prefsID = g_signal_connect(prefs, "notify", G_CALLBACK(entangle_preferences_display_notify), object); pluginEngine = entangle_application_get_plugin_engine(app); priv->pluginManager = PEAS_GTK_PLUGIN_MANAGER(peas_gtk_plugin_manager_new(pluginEngine)); gtk_container_add(GTK_CONTAINER(panel), GTK_WIDGET(priv->pluginManager)); gtk_widget_show_all(GTK_WIDGET(priv->pluginManager)); } static void entangle_preferences_display_refresh(EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; GtkWidget *tmp; EntangleColourProfile *profile; EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); const gchar *ratio; GtkAdjustment *adjust; gboolean hasRatio; gboolean hasOnion; tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-enabled")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_cms_get_enabled(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-detect-system-profile")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_cms_get_detect_system_profile(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-rgb-profile")); profile = entangle_preferences_cms_get_rgb_profile(prefs); if (profile) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(tmp), entangle_colour_profile_filename(profile)); g_object_unref(profile); } tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-monitor-profile")); profile = entangle_preferences_cms_get_monitor_profile(prefs); if (profile) { gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(tmp), entangle_colour_profile_filename(profile)); g_object_unref(profile); } tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-rendering-intent")); gtk_combo_box_set_active(GTK_COMBO_BOX(tmp), entangle_preferences_cms_get_rendering_intent(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "interface-auto-connect")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_interface_get_auto_connect(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "interface-screen-blank")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_interface_get_screen_blank(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "interface-histogram-linear")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_interface_get_histogram_linear(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "capture-filename-pattern")); gtk_entry_set_text(GTK_ENTRY(tmp), entangle_preferences_capture_get_filename_pattern(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "capture-continuous-preview")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_capture_get_continuous_preview(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "capture-delete-file")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_capture_get_delete_file(prefs)); ratio = entangle_preferences_img_get_aspect_ratio(prefs); hasRatio = entangle_preferences_img_get_mask_enabled(prefs); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-mask-enabled")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), hasRatio); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-aspect-ratio")); gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), ratio); gtk_widget_set_sensitive(tmp, hasRatio); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-aspect-ratio-label")); gtk_widget_set_sensitive(tmp, hasRatio); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-mask-opacity")); gtk_widget_set_sensitive(tmp, hasRatio); adjust = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(tmp)); gtk_adjustment_set_value(adjust, entangle_preferences_img_get_mask_opacity(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-mask-opacity-label")); gtk_widget_set_sensitive(tmp, hasRatio); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-focus-point")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_img_get_focus_point(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-grid-lines")); GEnumClass *enum_class = g_type_class_ref(ENTANGLE_TYPE_IMAGE_DISPLAY_GRID); GEnumValue *enum_value = g_enum_get_value(enum_class, entangle_preferences_img_get_grid_lines(prefs)); g_type_class_unref(enum_class); if (enum_value != NULL) gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), enum_value->value_nick); else gtk_combo_box_set_active_id(GTK_COMBO_BOX(tmp), NULL); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-embedded-preview")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), entangle_preferences_img_get_embedded_preview(prefs)); hasOnion = entangle_preferences_img_get_onion_skin(prefs); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-onion-skin")); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tmp), hasOnion); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-onion-layers")); gtk_widget_set_sensitive(tmp, hasOnion); adjust = gtk_spin_button_get_adjustment(GTK_SPIN_BUTTON(tmp)); gtk_adjustment_set_value(adjust, entangle_preferences_img_get_onion_layers(prefs)); tmp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-onion-layers-label")); gtk_widget_set_sensitive(tmp, hasOnion); } static void entangle_preferences_display_finalize(GObject *object) { EntanglePreferencesDisplay *preferences = ENTANGLE_PREFERENCES_DISPLAY(object); EntanglePreferencesDisplayPrivate *priv = preferences->priv; EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); ENTANGLE_DEBUG("Finalize preferences"); g_signal_handler_disconnect(prefs, priv->prefsID); if (priv->builder) g_object_unref(priv->builder); G_OBJECT_CLASS(entangle_preferences_display_parent_class)->finalize(object); } static void do_entangle_preferences_display_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_preferences_display_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_preferences_display_set_builder; } static void entangle_preferences_display_class_init(EntanglePreferencesDisplayClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_preferences_display_finalize; g_type_class_add_private(klass, sizeof(EntanglePreferencesDisplayPrivate)); } EntanglePreferencesDisplay *entangle_preferences_display_new(void) { return ENTANGLE_PREFERENCES_DISPLAY(entangle_window_new(ENTANGLE_TYPE_PREFERENCES_DISPLAY, GTK_TYPE_DIALOG, "preferences-display")); } void do_preferences_close(GtkButton *src G_GNUC_UNUSED, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); gtk_widget_hide(GTK_WIDGET(preferences)); } gboolean do_preferences_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED, EntanglePreferencesDisplay *preferences) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences), TRUE); ENTANGLE_DEBUG("preferences delete"); gtk_widget_hide(src); return TRUE; } void do_page_changed(GtkTreeSelection *selection, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; GtkWidget *list; GtkTreeIter iter; gboolean selected; GValue val; int page; GtkWidget *notebook; ENTANGLE_DEBUG("select page"); list = GTK_WIDGET(gtk_builder_get_object(priv->builder, "preferences-switch")); selected = gtk_tree_selection_get_selected(selection, NULL, &iter); if (!selected) return; memset(&val, 0, sizeof val); gtk_tree_model_get_value(gtk_tree_view_get_model(GTK_TREE_VIEW(list)), &iter, 0, &val); notebook = GTK_WIDGET(gtk_builder_get_object(priv->builder, "preferences-notebook")); page = g_value_get_int(&val); if (page >= 0) gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook), page); } void do_cms_enabled_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; gboolean enabled = gtk_toggle_button_get_active(src); GtkWidget *rgbProfile = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-rgb-profile")); GtkWidget *monitorProfile = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-monitor-profile")); GtkWidget *systemProfile = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-detect-system-profile")); GtkWidget *renderIntent = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-rendering-intent")); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); entangle_preferences_cms_set_enabled(prefs, enabled); gtk_widget_set_sensitive(rgbProfile, enabled); gtk_widget_set_sensitive(systemProfile, enabled); gtk_widget_set_sensitive(renderIntent, enabled); gtk_widget_set_sensitive(monitorProfile, !gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(systemProfile))); } void do_cms_rgb_profile_file_set(GtkFileChooserButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(src)); EntangleColourProfile *profile = entangle_colour_profile_new_file(filename); entangle_preferences_cms_set_rgb_profile(prefs, profile); g_free(filename); g_object_unref(profile); } void do_cms_monitor_profile_file_set(GtkFileChooserButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); char *filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(src)); EntangleColourProfile *profile = entangle_colour_profile_new_file(filename); entangle_preferences_cms_set_monitor_profile(prefs, profile); g_free(filename); g_object_unref(profile); } void do_cms_detect_system_profile_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); GtkWidget *monitorProfile = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-monitor-profile")); entangle_preferences_cms_set_detect_system_profile(prefs, enabled); gtk_widget_set_sensitive(monitorProfile, !enabled); } void do_cms_rendering_intent_changed(GtkComboBox *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); int option = gtk_combo_box_get_active(src); if (option < 0) option = ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL; entangle_preferences_cms_set_rendering_intent(prefs, option); } void do_capture_filename_pattern_changed(GtkEntry *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); const char *text = gtk_entry_get_text(src); entangle_preferences_capture_set_filename_pattern(prefs, text); } void do_capture_continuous_preview_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_capture_set_continuous_preview(prefs, enabled); } void do_interface_auto_connect_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_interface_set_auto_connect(prefs, enabled); } void do_interface_screen_blank_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_interface_set_screen_blank(prefs, enabled); } void do_interface_histogram_linear_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_interface_set_histogram_linear(prefs, enabled); } void do_capture_delete_file_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_capture_set_delete_file(prefs, enabled); } void do_img_mask_enabled_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); GtkWidget *aspect = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-aspect-ratio")); GtkWidget *aspectLbl = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-aspect-ratio-label")); GtkWidget *opacity = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-mask-opacity")); GtkWidget *opacityLbl = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-mask-opacity-label")); gtk_widget_set_sensitive(aspect, enabled); gtk_widget_set_sensitive(aspectLbl, enabled); gtk_widget_set_sensitive(opacity, enabled); gtk_widget_set_sensitive(opacityLbl, enabled); entangle_preferences_img_set_mask_enabled(prefs, enabled); } void do_img_aspect_ratio_changed(GtkComboBox *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); const gchar *ratio = gtk_combo_box_get_active_id(src); if (ratio == NULL) ratio = ""; entangle_preferences_img_set_aspect_ratio(prefs, ratio); } void do_img_mask_opacity_changed(GtkSpinButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); GtkAdjustment *adjust = gtk_spin_button_get_adjustment(src); entangle_preferences_img_set_mask_opacity(prefs, gtk_adjustment_get_value(adjust)); } void do_img_focus_point_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_img_set_focus_point(prefs, enabled); } void do_img_grid_lines_changed(GtkComboBox *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); const gchar *id = gtk_combo_box_get_active_id(src); EntangleImageDisplayGrid grid = ENTANGLE_IMAGE_DISPLAY_GRID_NONE; if (id) { GEnumClass *enum_class = g_type_class_ref(ENTANGLE_TYPE_IMAGE_DISPLAY_GRID); GEnumValue *enum_value = g_enum_get_value_by_nick(enum_class, id); g_type_class_unref(enum_class); if (enum_value != NULL) grid = enum_value->value; } entangle_preferences_img_set_grid_lines(prefs, grid); } void do_img_embedded_preview_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); entangle_preferences_img_set_embedded_preview(prefs, enabled); } void do_img_onion_skin_toggled(GtkToggleButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferencesDisplayPrivate *priv = preferences->priv; EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); gboolean enabled = gtk_toggle_button_get_active(src); GtkWidget *layers = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-onion-layers")); GtkWidget *layersLbl = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-onion-layers-label")); gtk_widget_set_sensitive(layers, enabled); gtk_widget_set_sensitive(layersLbl, enabled); entangle_preferences_img_set_onion_skin(prefs, enabled); } void do_img_onion_layers_changed(GtkSpinButton *src, EntanglePreferencesDisplay *preferences) { g_return_if_fail(ENTANGLE_IS_PREFERENCES_DISPLAY(preferences)); EntanglePreferences *prefs = entangle_preferences_display_get_preferences(preferences); GtkAdjustment *adjust = gtk_spin_button_get_adjustment(src); entangle_preferences_img_set_onion_layers(prefs, gtk_adjustment_get_value(adjust)); } static void do_entangle_preferences_display_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntanglePreferencesDisplay *preferences = ENTANGLE_PREFERENCES_DISPLAY(win); EntanglePreferencesDisplayPrivate *priv = preferences->priv; GtkWidget *notebook; GtkWidget *box; GtkWidget *image; gboolean local = FALSE; GtkListStore *list; GtkWidget *tree; GtkTreeIter iter; GtkCellRenderer *cellImage; GtkCellRenderer *cellText; GtkTreeViewColumn *colImage; GtkTreeViewColumn *colText; GtkTreeSelection *selection; GtkFileChooser *chooser; GtkFileFilter *allFilter; GtkFileFilter *iccFilter; GtkComboBox *aspectRatio; GtkComboBox *gridLines; priv->builder = g_object_ref(builder); g_signal_connect(preferences, "delete-event", G_CALLBACK(do_preferences_delete), preferences); notebook = GTK_WIDGET(gtk_builder_get_object(priv->builder, "preferences-notebook")); gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE); //gtk_notebook_remove_page(GTK_NOTEBOOK(notebook), 2); box = GTK_WIDGET(gtk_builder_get_object(priv->builder, "interface-box")); gtk_widget_set_state(box, GTK_STATE_SELECTED); image = GTK_WIDGET(gtk_builder_get_object(priv->builder, "interface-image")); if (local) gtk_image_set_from_file(GTK_IMAGE(image), "./interface.png"); else gtk_image_set_from_file(GTK_IMAGE(image), PKGDATADIR "/interface.png"); box = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-box")); gtk_widget_set_state(box, GTK_STATE_SELECTED); image = GTK_WIDGET(gtk_builder_get_object(priv->builder, "cms-image")); if (local) gtk_image_set_from_file(GTK_IMAGE(image), "./color-management.png"); else gtk_image_set_from_file(GTK_IMAGE(image), PKGDATADIR "/color-management.png"); box = GTK_WIDGET(gtk_builder_get_object(priv->builder, "capture-box")); gtk_widget_set_state(box, GTK_STATE_SELECTED); image = GTK_WIDGET(gtk_builder_get_object(priv->builder, "capture-image")); if (local) gtk_image_set_from_file(GTK_IMAGE(image), "./capture.png"); else gtk_image_set_from_file(GTK_IMAGE(image), PKGDATADIR "/capture.png"); box = GTK_WIDGET(gtk_builder_get_object(priv->builder, "plugins-box")); gtk_widget_set_state(box, GTK_STATE_SELECTED); image = GTK_WIDGET(gtk_builder_get_object(priv->builder, "plugins-image")); if (local) gtk_image_set_from_file(GTK_IMAGE(image), "./plugins.png"); else gtk_image_set_from_file(GTK_IMAGE(image), PKGDATADIR "/plugins.png"); box = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-box")); gtk_widget_set_state(box, GTK_STATE_SELECTED); image = GTK_WIDGET(gtk_builder_get_object(priv->builder, "img-image")); if (local) gtk_image_set_from_file(GTK_IMAGE(image), "./imageviewer.png"); else gtk_image_set_from_file(GTK_IMAGE(image), PKGDATADIR "/imageviewer.png"); list = gtk_list_store_new(3, G_TYPE_INT, G_TYPE_STRING, GDK_TYPE_PIXBUF, -1); gtk_list_store_append(list, &iter); if (local) gtk_list_store_set(list, &iter, 0, 3, 1, _("Interface"), 2, gdk_pixbuf_new_from_file("./interface-22.png", NULL), -1); else gtk_list_store_set(list, &iter, 0, 3, 1, _("Interface"), 2, gdk_pixbuf_new_from_file(PKGDATADIR "/interface-22.png", NULL), -1); gtk_list_store_append(list, &iter); if (local) gtk_list_store_set(list, &iter, 0, 4, 1, _("Image Viewer"), 2, gdk_pixbuf_new_from_file("./imageviewer-22.png", NULL), -1); else gtk_list_store_set(list, &iter, 0, 4, 1, _("Image Viewer"), 2, gdk_pixbuf_new_from_file(PKGDATADIR "/imageviewer-22.png", NULL), -1); gtk_list_store_append(list, &iter); if (local) gtk_list_store_set(list, &iter, 0, 0, 1, _("Capture"), 2, gdk_pixbuf_new_from_file("./capture-22.png", NULL), -1); else gtk_list_store_set(list, &iter, 0, 0, 1, _("Capture"), 2, gdk_pixbuf_new_from_file(PKGDATADIR "/capture-22.png", NULL), -1); gtk_list_store_append(list, &iter); if (local) gtk_list_store_set(list, &iter, 0, 1, 1, _("Color Management"), 2, gdk_pixbuf_new_from_file("./color-management-22.png", NULL), -1); else gtk_list_store_set(list, &iter, 0, 1, 1, _("Color Management"), 2, gdk_pixbuf_new_from_file(PKGDATADIR "/color-management-22.png", NULL), -1); gtk_list_store_append(list, &iter); if (local) gtk_list_store_set(list, &iter, 0, 2, 1, _("Plugins"), 2, gdk_pixbuf_new_from_file("./plugins-22.png", NULL), -1); else gtk_list_store_set(list, &iter, 0, 2, 1, _("Plugins"), 2, gdk_pixbuf_new_from_file(PKGDATADIR "/plugins-22.png", NULL), -1); cellText = gtk_cell_renderer_text_new(); cellImage = gtk_cell_renderer_pixbuf_new(); colText = gtk_tree_view_column_new_with_attributes("Label", cellText, "text", 1, NULL); colImage = gtk_tree_view_column_new_with_attributes("Icon", cellImage, "pixbuf", 2, NULL); g_object_set(colText, "expand", TRUE, NULL); g_object_set(colImage, "expand", FALSE, NULL); tree = GTK_WIDGET(gtk_builder_get_object(priv->builder, "preferences-switch")); gtk_tree_view_set_model(GTK_TREE_VIEW(tree), GTK_TREE_MODEL(list)); gtk_tree_view_append_column(GTK_TREE_VIEW(tree), colImage); gtk_tree_view_append_column(GTK_TREE_VIEW(tree), colText); selection = gtk_tree_view_get_selection(GTK_TREE_VIEW(tree)); iccFilter = gtk_file_filter_new(); gtk_file_filter_set_name(iccFilter, _("ICC profiles (*.icc, *.icm)")); gtk_file_filter_add_pattern(iccFilter, "*.[Ii][Cc][Cc]"); gtk_file_filter_add_pattern(iccFilter, "*.[Ii][Cc][Mm]"); allFilter = gtk_file_filter_new(); gtk_file_filter_set_name(allFilter, _("All files (*.*)")); gtk_file_filter_add_pattern(allFilter, "*"); chooser = GTK_FILE_CHOOSER(gtk_builder_get_object(priv->builder, "cms-rgb-profile")); g_object_ref(allFilter); gtk_file_chooser_add_filter(chooser, allFilter); g_object_ref(iccFilter); gtk_file_chooser_add_filter(chooser, iccFilter); gtk_file_chooser_set_filter(chooser, iccFilter); chooser = GTK_FILE_CHOOSER(gtk_builder_get_object(priv->builder, "cms-monitor-profile")); g_object_ref(allFilter); gtk_file_chooser_add_filter(chooser, allFilter); g_object_ref(iccFilter); gtk_file_chooser_add_filter(chooser, iccFilter); gtk_file_chooser_set_filter(chooser, iccFilter); g_object_unref(iccFilter); g_object_unref(allFilter); aspectRatio = GTK_COMBO_BOX(gtk_builder_get_object(priv->builder, "img-aspect-ratio")); list = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING, -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1", 1, _("1:1 - Square / MF 6x6"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.15", 1, _("1.15:1 - Movietone"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.33", 1, _("1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.37", 1, _("1.37:1 - 35mm movie"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.44", 1, _("1.44:1 - IMAX"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.5", 1, _("1.50:1 (3:2, 15:10)- 35mm SLR"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.6", 1, _("1.6:1 (8:5, 16:10) - Widescreen"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.66", 1, _("1.66:1 (5:3, 15:9) - Super 16mm"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.75", 1, _("1.75:1 (7:4) - Widescreen"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.77", 1, _("1.77:1 (16:9) - APS-H / HDTV / Widescreen"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "1.85", 1, _("1.85:1 - 35mm Widescreen"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.0", 1, _("2.00:1 - SuperScope"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.10", 1, _("2.10:1 (21:10) - Planned HDTV"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.20", 1, _("2.20:1 (11:5, 22:10) - 70mm movie"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.35", 1, _("2.35:1 - CinemaScope"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.37", 1, _("2.37:1 (64:27)- HDTV cinema"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.39", 1, _("2.39:1 (12:5)- Panavision"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.55", 1, _("2.55:1 (23:9)- CinemaScope 55"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.59", 1, _("2.59:1 (13:5)- Cinerama"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.66", 1, _("2.66:1 (8:3, 24:9)- Super 16mm"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.76", 1, _("2.76:1 (11:4) - Ultra Panavision"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "2.93", 1, _("2.93:1 - MGM Camera 65"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "3.0", 1, _("3:1 APS Panorama"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "4.0", 1, _("4.00:1 - Polyvision"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "12.0", 1, _("12.00:1 - Circle-Vision 360"), -1); gtk_combo_box_set_model(GTK_COMBO_BOX(aspectRatio), GTK_TREE_MODEL(list)); gtk_combo_box_set_id_column(GTK_COMBO_BOX(aspectRatio), 0); cellText = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(aspectRatio), cellText, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(aspectRatio), cellText, "text", 1, NULL); gridLines = GTK_COMBO_BOX(gtk_builder_get_object(priv->builder, "img-grid-lines")); list = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_STRING, -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "none", 1, _("None"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "center-lines", 1, _("Center lines"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "rule-of-3rds", 1, _("Rule of 3rds"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "quarters", 1, _("Quarters"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "rule-of-5ths", 1, _("Rule of 5ths"), -1); gtk_list_store_append(list, &iter); gtk_list_store_set(list, &iter, 0, "golden-sections", 1, _("Golden sections"), -1); gtk_combo_box_set_model(GTK_COMBO_BOX(gridLines), GTK_TREE_MODEL(list)); gtk_combo_box_set_id_column(GTK_COMBO_BOX(gridLines), 0); cellText = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(gridLines), cellText, TRUE); gtk_cell_layout_set_attributes(GTK_CELL_LAYOUT(gridLines), cellText, "text", 1, NULL); g_signal_connect(selection, "changed", G_CALLBACK(do_page_changed), preferences); } static void entangle_preferences_display_init(EntanglePreferencesDisplay *preferences) { preferences->priv = ENTANGLE_PREFERENCES_DISPLAY_GET_PRIVATE(preferences); g_signal_connect(preferences, "notify::builder", G_CALLBACK(do_entangle_preferences_display_set_builder), NULL); g_signal_connect(preferences, "notify::application", G_CALLBACK(do_entangle_preferences_display_set_app), NULL); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-help-about.c0000664000000000000000000001062712253420652016622 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-help-about.h" #include "entangle-window.h" #define ENTANGLE_HELP_ABOUT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_HELP_ABOUT, EntangleHelpAboutPrivate)) gboolean do_about_delete(GtkWidget *src, GdkEvent *ev, gpointer data); struct _EntangleHelpAboutPrivate { GtkBuilder *builder; }; static void entangle_help_about_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntangleHelpAbout, entangle_help_about, GTK_TYPE_ABOUT_DIALOG, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_help_about_window_interface_init)); static void entangle_help_about_finalize(GObject *object) { EntangleHelpAbout *about = ENTANGLE_HELP_ABOUT(object); EntangleHelpAboutPrivate *priv = about->priv; g_object_unref(priv->builder); G_OBJECT_CLASS(entangle_help_about_parent_class)->finalize(object); } static void do_entangle_help_about_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_help_about_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_help_about_set_builder; } static void entangle_help_about_class_init(EntangleHelpAboutClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_help_about_finalize; g_type_class_add_private(klass, sizeof(EntangleHelpAboutPrivate)); } EntangleHelpAbout *entangle_help_about_new(void) { return ENTANGLE_HELP_ABOUT(entangle_window_new(ENTANGLE_TYPE_HELP_ABOUT, GTK_TYPE_ABOUT_DIALOG, "help-about")); } static void do_about_response(GtkDialog *dialog, gint response G_GNUC_UNUSED, gpointer data G_GNUC_UNUSED) { g_return_if_fail(ENTANGLE_IS_HELP_ABOUT(dialog)); ENTANGLE_DEBUG("about response"); gtk_widget_hide(GTK_WIDGET(dialog)); } gboolean do_about_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED, gpointer data G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_HELP_ABOUT(src), FALSE); ENTANGLE_DEBUG("about delete"); gtk_widget_hide(src); return TRUE; } static void do_entangle_help_about_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntangleHelpAbout *about = ENTANGLE_HELP_ABOUT(win); EntangleHelpAboutPrivate *priv = about->priv; priv->builder = g_object_ref(builder); } static void entangle_help_about_init(EntangleHelpAbout *about) { GdkPixbuf *buf; about->priv = ENTANGLE_HELP_ABOUT_GET_PRIVATE(about); g_signal_connect(about, "response", G_CALLBACK(do_about_response), about); if (access("./entangle-256x256.png", R_OK) < 0) buf = gdk_pixbuf_new_from_file(PKGDATADIR "/entangle-256x256.png", NULL); else buf = gdk_pixbuf_new_from_file("./entangle-256x256.png", NULL); gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about), buf); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), VERSION); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-manager.ui0000664000000000000000000011241512253420652017613 00000000000000 False Entangle 1000 600 True False True False True False _File True True False Select session True False False True True False gtk-close True False True True gtk-quit True False True True True False _Edit True True False gtk-preferences True False True True True False Camera True True False Connect True False False Disconnect True False False True False True False Capture True True False Preview True True False Cancel True True False _View True True False gtk-zoom-fit True False True True True False gtk-zoom-out True False True True gtk-zoom-100 True False True True gtk-zoom-in True False True True True False True False Settings True True True False Fullscreen True True False Presentation True True False True False Present on True True False Windows True True False True False New window True True False True False Synchronize capture True True False _Help True True False gtk-about True False True True True False True False Camera True True False gtk-about True False True True Driver True False False Manual True False False Supported Cameras True False False False True 0 True False True False True False vertical select-folder Select a folder False True False True False True False View the full list of camera settings Settings True gtk-properties True False True True False True False True False Capture an image Capture True capture False True True False Continuous capture preview Preview True preview False True True False 200 True False end False True True False Attempt to cancel the currently executing camera operation Cancel True gtk-cancel False True True False True False True False Shrink the display of the image by one factor Zoom Out True gtk-zoom-out False True True False Enlarge the display of the image by one factor Zoom In True gtk-zoom-in False True True False Resize the image to automatically fit the available window real estate Best Fit True gtk-zoom-fit False True True False Display the image with its native pixel size Normal True gtk-zoom-100 False True True False False True False Switch to fullscreen display mode Full Screen True gtk-fullscreen False True False True 1 True True 6 True False True True never True False queue etched-in True True 0 False True True True True True True True 2 True False gtk-open True False True True True False Open with True False gtk-delete True False True True entangle-0.5.4/src/frontend/entangle-control-panel.h0000664000000000000000000000503512253420652017341 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_PANEL_H__ #define __ENTANGLE_CONTROL_PANEL_H__ #include #include "entangle-camera.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_PANEL (entangle_control_panel_get_type ()) #define ENTANGLE_CONTROL_PANEL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_PANEL, EntangleControlPanel)) #define ENTANGLE_CONTROL_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_PANEL, EntangleControlPanelClass)) #define ENTANGLE_IS_CONTROL_PANEL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_PANEL)) #define ENTANGLE_IS_CONTROL_PANEL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_PANEL)) #define ENTANGLE_CONTROL_PANEL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_PANEL, EntangleControlPanelClass)) typedef struct _EntangleControlPanel EntangleControlPanel; typedef struct _EntangleControlPanelPrivate EntangleControlPanelPrivate; typedef struct _EntangleControlPanelClass EntangleControlPanelClass; struct _EntangleControlPanel { GtkVBox parent; EntangleControlPanelPrivate *priv; }; struct _EntangleControlPanelClass { GtkVBoxClass parent_class; }; GType entangle_control_panel_get_type(void) G_GNUC_CONST; EntangleControlPanel* entangle_control_panel_new(void); void entangle_control_panel_set_camera(EntangleControlPanel *panel, EntangleCamera *cam); EntangleCamera *entangle_control_panel_get_camera(EntangleControlPanel *panel); gboolean entangle_control_panel_get_has_controls(EntangleControlPanel *panel); G_END_DECLS #endif /* __ENTANGLE_CONTROL_PANEL_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-info.h0000664000000000000000000000561112253420652016745 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_INFO_H__ #define __ENTANGLE_CAMERA_INFO_H__ #include #include "entangle-camera.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_INFO (entangle_camera_info_get_type ()) #define ENTANGLE_TYPE_CAMERA_INFO_DATA (entangle_camera_info_data_get_type()) #define ENTANGLE_CAMERA_INFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_INFO, EntangleCameraInfo)) #define ENTANGLE_CAMERA_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_INFO, EntangleCameraInfoClass)) #define ENTANGLE_IS_CAMERA_INFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_INFO)) #define ENTANGLE_IS_CAMERA_INFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_INFO)) #define ENTANGLE_CAMERA_INFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_INFO, EntangleCameraInfoClass)) typedef struct _EntangleCameraInfo EntangleCameraInfo; typedef struct _EntangleCameraInfoPrivate EntangleCameraInfoPrivate; typedef struct _EntangleCameraInfoClass EntangleCameraInfoClass; struct _EntangleCameraInfo { GtkDialog parent; EntangleCameraInfoPrivate *priv; }; struct _EntangleCameraInfoClass { GtkDialogClass parent_class; }; typedef enum { ENTANGLE_CAMERA_INFO_DATA_SUMMARY, ENTANGLE_CAMERA_INFO_DATA_MANUAL, ENTANGLE_CAMERA_INFO_DATA_DRIVER, } EntangleCameraInfoData; GType entangle_camera_info_get_type(void) G_GNUC_CONST; GType entangle_camera_info_data_get_type(void) G_GNUC_CONST; EntangleCameraInfo* entangle_camera_info_new(void); void entangle_camera_info_set_data(EntangleCameraInfo *info, EntangleCameraInfoData data); EntangleCameraInfoData entangle_camera_info_get_data(EntangleCameraInfo *info); void entangle_camera_info_set_camera(EntangleCameraInfo *info, EntangleCamera *camera); EntangleCamera *entangle_camera_info_get_camera(EntangleCameraInfo *info); G_END_DECLS #endif /* __ENTANGLE_CAMERA_INFO_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-popup.h0000664000000000000000000000533612253420652017013 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_POPUP_H__ #define __ENTANGLE_IMAGE_POPUP_H__ #include #include "entangle-image.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE_POPUP (entangle_image_popup_get_type ()) #define ENTANGLE_IMAGE_POPUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE_POPUP, EntangleImagePopup)) #define ENTANGLE_IMAGE_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE_POPUP, EntangleImagePopupClass)) #define ENTANGLE_IS_IMAGE_POPUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE_POPUP)) #define ENTANGLE_IS_IMAGE_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE_POPUP)) #define ENTANGLE_IMAGE_POPUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE_POPUP, EntangleImagePopupClass)) typedef struct _EntangleImagePopup EntangleImagePopup; typedef struct _EntangleImagePopupPrivate EntangleImagePopupPrivate; typedef struct _EntangleImagePopupClass EntangleImagePopupClass; struct _EntangleImagePopup { GtkWindow parent; EntangleImagePopupPrivate *priv; }; struct _EntangleImagePopupClass { GtkWindowClass parent_class; void (*popup_close)(EntangleImagePopup *popup); }; GType entangle_image_popup_get_type(void) G_GNUC_CONST; EntangleImagePopup* entangle_image_popup_new(void); void entangle_image_popup_show(EntangleImagePopup *popup, GtkWindow *parent, int x, int y); void entangle_image_popup_move_to_monitor(EntangleImagePopup *popup, gint monitor); void entangle_image_popup_show_on_monitor(EntangleImagePopup *popup, gint monitor); void entangle_image_popup_set_image(EntangleImagePopup *popup, EntangleImage *image); EntangleImage *entangle_image_popup_get_image(EntangleImagePopup *popup); G_END_DECLS #endif /* __ENTANGLE_IMAGE_POPUP_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-popup.ui0000664000000000000000000000155112253420652017174 00000000000000 False GDK_BUTTON_MOTION_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_STRUCTURE_MASK 200 200 utility True True False False False entangle-0.5.4/src/frontend/entangle-overlay-box.h0000664000000000000000000000616712253420652017042 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ #ifndef __ENTANGLE_OVERLAY_BOX_H__ #define __ENTANGLE_OVERLAY_BOX_H__ #include G_BEGIN_DECLS #define ENTANGLE_TYPE_OVERLAY_BOX (entangle_overlay_box_get_type()) #define ENTANGLE_OVERLAY_BOX(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj), ENTANGLE_TYPE_OVERLAY_BOX, EntangleOverlayBox)) #define ENTANGLE_OVERLAY_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), ENTANGLE_TYPE_OVERLAY_BOX, EntangleOverlayBoxClass)) #define ENTANGLE_IS_OVERLAY_BOX(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj), ENTANGLE_TYPE_OVERLAY_BOX)) #define ENTANGLE_IS_OVERLAY_BOX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass), ENTANGLE_TYPE_OVERLAY_BOX)) #define ENTANGLE_OVERLAY_BOX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS((obj), ENTANGLE_TYPE_OVERLAY_BOX, EntangleOverlayBoxClass)) typedef struct _EntangleOverlayBox EntangleOverlayBox; typedef struct _EntangleOverlayBoxPrivate EntangleOverlayBoxPrivate; typedef struct _EntangleOverlayBoxClass EntangleOverlayBoxClass; struct _EntangleOverlayBox { GtkBox parent; EntangleOverlayBoxPrivate *priv; }; struct _EntangleOverlayBoxClass { GtkBoxClass parent; void (* set_over)(EntangleOverlayBox *box, GtkWidget *widget); }; GType entangle_overlay_box_get_type(void); EntangleOverlayBox *entangle_overlay_box_new(void); void entangle_overlay_box_set_under(EntangleOverlayBox *box, GtkWidget *widget); void entangle_overlay_box_set_over(EntangleOverlayBox *box, GtkWidget *widget); void entangle_overlay_box_set_min(EntangleOverlayBox *box, unsigned int min); void entangle_overlay_box_set_fraction(EntangleOverlayBox *box, double fraction); double entangle_overlay_box_get_fraction(EntangleOverlayBox *box); G_END_DECLS #endif /* __ENTANGLE_OVERLAY_BOX_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-application.c0000664000000000000000000003102412253420652017057 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-application.h" #include "entangle-preferences.h" #include "entangle-camera-manager.h" /** * @Short_description: Global application state base class * @Title: EntangleApplication * * * EntangleApplication maintains some global application state. At this time, * the list of currently attached cameras, the application preferences * and the plugin manager. * * * * This class will normally be sub-classed when creating a Entangle based * application, typically in order to add in UI state. * */ #define ENTANGLE_APPLICATION_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_APPLICATION, EntangleApplicationPrivate)) struct _EntangleApplicationPrivate { EntangleCameraList *cameras; EntanglePreferences *preferences; PeasEngine *pluginEngine; PeasExtensionSet *pluginExt; }; G_DEFINE_TYPE(EntangleApplication, entangle_application, GTK_TYPE_APPLICATION); enum { PROP_0, PROP_CAMERAS, PROP_PREFERENCES, }; static void entangle_application_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleApplication *app = ENTANGLE_APPLICATION(object); EntangleApplicationPrivate *priv = app->priv; switch (prop_id) { case PROP_CAMERAS: g_value_set_object(value, priv->cameras); break; case PROP_PREFERENCES: g_value_set_object(value, priv->preferences); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_application_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleApplication *app = ENTANGLE_APPLICATION(object); EntangleApplicationPrivate *priv = app->priv; switch (prop_id) { case PROP_CAMERAS: if (priv->cameras) g_object_unref(priv->cameras); priv->cameras = g_value_get_object(value); g_object_ref(priv->cameras); break; case PROP_PREFERENCES: if (priv->preferences) g_object_unref(priv->preferences); priv->preferences = g_value_get_object(value); g_object_ref(priv->preferences); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_application_finalize(GObject *object) { EntangleApplication *app = ENTANGLE_APPLICATION(object); EntangleApplicationPrivate *priv = app->priv; ENTANGLE_DEBUG("Finalize application %p", object); if (priv->cameras) g_object_unref(priv->cameras); if (priv->preferences) g_object_unref(priv->preferences); if (priv->pluginEngine) g_object_unref(priv->pluginEngine); if (priv->pluginExt) g_object_unref(priv->pluginExt); G_OBJECT_CLASS(entangle_application_parent_class)->finalize(object); } static void entangle_application_activate(GApplication *gapp) { GList *wins = gtk_application_get_windows(GTK_APPLICATION(gapp)); while (wins) { GtkWindow *win = wins->data; gtk_widget_show(GTK_WIDGET(win)); gtk_window_present(win); wins = wins->next; } } static void entangle_application_startup(GApplication *gapp) { g_return_if_fail(ENTANGLE_IS_APPLICATION(gapp)); EntangleApplication *app = ENTANGLE_APPLICATION(gapp); EntangleApplicationPrivate *priv = app->priv; GList *cameras = NULL, *tmp; if (entangle_preferences_interface_get_auto_connect(priv->preferences)) cameras = tmp = entangle_camera_list_get_cameras(priv->cameras); if (!cameras) { EntangleCameraManager *manager = entangle_camera_manager_new(); gtk_application_add_window(GTK_APPLICATION(gapp), GTK_WINDOW(manager)); gtk_widget_show(GTK_WIDGET(manager)); } else { while (tmp) { EntangleCamera *cam = ENTANGLE_CAMERA(tmp->data); ENTANGLE_DEBUG("Opening window for %s", entangle_camera_get_port(cam)); EntangleCameraManager *manager = entangle_camera_manager_new(); gtk_application_add_window(GTK_APPLICATION(gapp), GTK_WINDOW(manager)); gtk_widget_show(GTK_WIDGET(manager)); entangle_camera_manager_set_camera(manager, cam); tmp = tmp->next; } g_list_free(cameras); } (*G_APPLICATION_CLASS(entangle_application_parent_class)->startup)(gapp); } static void entangle_application_class_init(EntangleApplicationClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); GApplicationClass *app_class = G_APPLICATION_CLASS(klass); object_class->finalize = entangle_application_finalize; object_class->get_property = entangle_application_get_property; object_class->set_property = entangle_application_set_property; app_class->activate = entangle_application_activate; app_class->startup = entangle_application_startup; g_object_class_install_property(object_class, PROP_CAMERAS, g_param_spec_object("cameras", "Camera list", "List of detected cameras", ENTANGLE_TYPE_CAMERA_LIST, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_PREFERENCES, g_param_spec_object("preferences", "Preferences", "Application preferences", ENTANGLE_TYPE_PREFERENCES, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleApplicationPrivate)); } EntangleApplication *entangle_application_new(void) { return ENTANGLE_APPLICATION(g_object_new(ENTANGLE_TYPE_APPLICATION, "application-id", "org.entangle_photo.Manager", NULL)); } static void on_extension_added(PeasExtensionSet *set G_GNUC_UNUSED, PeasPluginInfo *info G_GNUC_UNUSED, PeasExtension *exten, gpointer opaque) { peas_extension_call(exten, "activate", opaque); } static void on_extension_removed(PeasExtensionSet *set G_GNUC_UNUSED, PeasPluginInfo *info G_GNUC_UNUSED, PeasExtension *exten, gpointer opaque G_GNUC_UNUSED) { peas_extension_call(exten, "deactivate"); } static void on_plugin_load(PeasEngine *engine G_GNUC_UNUSED, PeasPluginInfo *info, gpointer data) { g_return_if_fail(ENTANGLE_IS_APPLICATION(data)); EntangleApplication *app = data; EntangleApplicationPrivate *priv = app->priv; entangle_preferences_interface_add_plugin(priv->preferences, peas_plugin_info_get_module_name(info)); } static void on_plugin_unload(PeasEngine *engine G_GNUC_UNUSED, PeasPluginInfo *info, gpointer data) { g_return_if_fail(ENTANGLE_IS_APPLICATION(data)); EntangleApplication *app = data; EntangleApplicationPrivate *priv = app->priv; entangle_preferences_interface_remove_plugin(priv->preferences, peas_plugin_info_get_module_name(info)); } static void entangle_application_init(EntangleApplication *app) { EntangleApplicationPrivate *priv; int i; gchar *userdir; gchar **plugins; priv = app->priv = ENTANGLE_APPLICATION_GET_PRIVATE(app); priv->preferences = entangle_preferences_new(); priv->cameras = entangle_camera_list_new(); g_irepository_require(g_irepository_get_default(), "Peas", "1.0", 0, NULL); userdir = g_build_filename(g_get_user_config_dir(), "entangle/plugins", NULL); g_mkdir_with_parents(userdir, 0777); priv->pluginEngine = peas_engine_get_default(); peas_engine_enable_loader(priv->pluginEngine, "gjs"); peas_engine_add_search_path(priv->pluginEngine, userdir, userdir); g_free(userdir); peas_engine_add_search_path(priv->pluginEngine, LIBDIR "/entangle/plugins", DATADIR "/entangle/plugins"); peas_engine_rescan_plugins(priv->pluginEngine); priv->pluginExt = peas_extension_set_new(priv->pluginEngine, PEAS_TYPE_ACTIVATABLE, "object", app, NULL); peas_extension_set_call(priv->pluginExt, "activate"); g_signal_connect(priv->pluginExt, "extension-added", G_CALLBACK(on_extension_added), app); g_signal_connect(priv->pluginExt, "extension-removed", G_CALLBACK(on_extension_removed), app); g_signal_connect(priv->pluginEngine, "load-plugin", G_CALLBACK(on_plugin_load), app); g_signal_connect(priv->pluginEngine, "unload-plugin", G_CALLBACK(on_plugin_unload), app); plugins = entangle_preferences_interface_get_plugins(priv->preferences); for (i = 0; plugins[i] != NULL; i++) { PeasPluginInfo *plugin = peas_engine_get_plugin_info(priv->pluginEngine, plugins[i]); if (plugin) { ENTANGLE_DEBUG("Plugin %p %s", plugin, plugins[i]); peas_engine_load_plugin(priv->pluginEngine, plugin); } } g_strfreev(plugins); } /** * entangle_application_get_cameras: Retrieve the camera list * * Returns: (transfer none): the camera list */ EntangleCameraList *entangle_application_get_cameras(EntangleApplication *app) { g_return_val_if_fail(ENTANGLE_IS_APPLICATION(app), NULL); EntangleApplicationPrivate *priv = app->priv; return priv->cameras; } /** * entangle_application_get_preferences: Retrieve the application preferences object * * Returns: (transfer none): the application preferences */ EntanglePreferences *entangle_application_get_preferences(EntangleApplication *app) { g_return_val_if_fail(ENTANGLE_IS_APPLICATION(app), NULL); EntangleApplicationPrivate *priv = app->priv; return priv->preferences; } /** * entangle_application_get_plugin_engine: Retrieve the plugin manager * * Returns: (transfer none): the plugin engine */ PeasEngine *entangle_application_get_plugin_engine(EntangleApplication *app) { g_return_val_if_fail(ENTANGLE_IS_APPLICATION(app), NULL); EntangleApplicationPrivate *priv = app->priv; return priv->pluginEngine; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-display-enums.h0000664000000000000000000000056612253420740020440 00000000000000 #ifndef __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__ #define __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__ #include G_BEGIN_DECLS /* --- frontend/entangle-image-display.h --- */ #define ENTANGLE_TYPE_IMAGE_DISPLAY_GRID entangle_image_display_grid_get_type() GType entangle_image_display_grid_get_type (void); G_END_DECLS #endif /* __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__ */ entangle-0.5.4/src/frontend/entangle-help-about.h0000664000000000000000000000430412253420652016622 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_HELP_ABOUT_H__ #define __ENTANGLE_HELP_ABOUT_H__ #include G_BEGIN_DECLS #define ENTANGLE_TYPE_HELP_ABOUT (entangle_help_about_get_type ()) #define ENTANGLE_HELP_ABOUT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_HELP_ABOUT, EntangleHelpAbout)) #define ENTANGLE_HELP_ABOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_HELP_ABOUT, EntangleHelpAboutClass)) #define ENTANGLE_IS_HELP_ABOUT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_HELP_ABOUT)) #define ENTANGLE_IS_HELP_ABOUT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_HELP_ABOUT)) #define ENTANGLE_HELP_ABOUT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_HELP_ABOUT, EntangleHelpAboutClass)) typedef struct _EntangleHelpAbout EntangleHelpAbout; typedef struct _EntangleHelpAboutPrivate EntangleHelpAboutPrivate; typedef struct _EntangleHelpAboutClass EntangleHelpAboutClass; struct _EntangleHelpAbout { GtkAboutDialog parent; EntangleHelpAboutPrivate *priv; }; struct _EntangleHelpAboutClass { GtkAboutDialogClass parent_class; void (*about_close)(EntangleHelpAbout *about); }; GType entangle_help_about_get_type(void) G_GNUC_CONST; EntangleHelpAbout* entangle_help_about_new(void); G_END_DECLS #endif /* __ENTANGLE_HELP_ABOUT_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-histogram.c0000664000000000000000000003240212253420652017632 00000000000000/* * Entangle: Entangle Assists Photograph Aquisition * * Copyright (C) 2009 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include "entangle-debug.h" #include "entangle-image-histogram.h" #include "entangle-image.h" #define ENTANGLE_IMAGE_HISTOGRAM_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE_HISTOGRAM, EntangleImageHistogramPrivate)) struct _EntangleImageHistogramPrivate { double freq_red[255]; double freq_green[255]; double freq_blue[255]; gboolean hasFreq; gboolean linear; gulong imageNotifyID; EntangleImage *image; }; G_DEFINE_TYPE(EntangleImageHistogram, entangle_image_histogram, GTK_TYPE_DRAWING_AREA); enum { PROP_O, PROP_IMAGE, }; #define DOUBLE_EQUAL(a, b) \ (fabs((a) - (b)) < 0.005) static void do_entangle_pixmap_setup(EntangleImageHistogram *histogram) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(histogram)); EntangleImageHistogramPrivate *priv = histogram->priv; GdkPixbuf *pixbuf = NULL; if (priv->image) pixbuf = entangle_image_get_pixbuf(priv->image); memset(priv->freq_red, 0, sizeof(priv->freq_red)); memset(priv->freq_green, 0, sizeof(priv->freq_green)); memset(priv->freq_blue, 0, sizeof(priv->freq_blue)); if (!pixbuf) { priv->hasFreq = FALSE; return; } guchar *pixels = gdk_pixbuf_get_pixels(pixbuf); guint w = gdk_pixbuf_get_width(pixbuf); guint h = gdk_pixbuf_get_height(pixbuf); guint stride = gdk_pixbuf_get_rowstride(pixbuf); int x, y; for (y = 0; y < h; y++) { guchar *pixel = pixels; for (x = 0; x < w; x++) { guchar level_red = pixel[0]; guchar level_green = pixel[1]; guchar level_blue = pixel[2]; priv->freq_red[level_red]++; priv->freq_green[level_green]++; priv->freq_blue[level_blue]++; pixel+=3; } pixels += stride; } priv->hasFreq = TRUE; } static void entangle_image_histogram_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImageHistogram *histogram = ENTANGLE_IMAGE_HISTOGRAM(object); EntangleImageHistogramPrivate *priv = histogram->priv; switch (prop_id) { case PROP_IMAGE: g_value_set_object(value, priv->image); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_histogram_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImageHistogram *histogram = ENTANGLE_IMAGE_HISTOGRAM(object); ENTANGLE_DEBUG("Set prop on image histogram %d", prop_id); switch (prop_id) { case PROP_IMAGE: entangle_image_histogram_set_image(histogram, g_value_get_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_histogram_finalize(GObject *object) { EntangleImageHistogram *histogram = ENTANGLE_IMAGE_HISTOGRAM(object); EntangleImageHistogramPrivate *priv = histogram->priv; if (priv->image) { g_signal_handler_disconnect(priv->image, priv->imageNotifyID); g_object_unref(priv->image); } G_OBJECT_CLASS(entangle_image_histogram_parent_class)->finalize(object); } static void entangle_image_histogram_draw_line(cairo_t *cr, float from_x, float from_y, float to_x, float to_y) { cairo_move_to(cr, from_x, from_y); cairo_line_to(cr, to_x, to_y); } static void entangle_image_histogram_draw_grid(cairo_t *cr, const float width, const float height) { for (int k = 1; k < 4; k++) { entangle_image_histogram_draw_line(cr, k/(float)4 * width, 0, k/(float)4 * width, height); cairo_stroke(cr); entangle_image_histogram_draw_line(cr, 0, k/(float)4 * height, width, k/(float)4 * height); cairo_stroke(cr); } } static double entangle_image_histogram_calculate_value(double d, gboolean l) { if (!l) { return DOUBLE_EQUAL(d, 0.0) ? 0.0 : log(d); } return d; } static gboolean entangle_image_histogram_draw(GtkWidget *widget, cairo_t *cr) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(widget), FALSE); EntangleImageHistogram *histogram = ENTANGLE_IMAGE_HISTOGRAM(widget); EntangleImageHistogramPrivate *priv = histogram->priv; int ww, wh; /* Available drawing area extents */ double peak = 0.0; int idx; ww = gdk_window_get_width(gtk_widget_get_window(widget)); wh = gdk_window_get_height(gtk_widget_get_window(widget)); cairo_save(cr); /* We need to fill the background first */ cairo_set_source_rgba(cr, 0.0, 0.0, 0.0, 1.0); cairo_rectangle(cr, 0, 0, ww, wh); cairo_fill(cr); /* Draw a grid */ cairo_save(cr); cairo_set_line_width(cr, 0.4); cairo_set_source_rgba(cr, 0.4, 0.4, 0.4, 0.2); entangle_image_histogram_draw_grid(cr, ww, wh); cairo_restore(cr); if (priv->hasFreq) { for (idx = 0; idx < 255; idx++) { double rv = entangle_image_histogram_calculate_value(priv->freq_red[idx], priv->linear); double gv = entangle_image_histogram_calculate_value(priv->freq_green[idx], priv->linear); double bv = entangle_image_histogram_calculate_value(priv->freq_blue[idx], priv->linear); if (rv > peak) peak = rv; if (gv > peak) peak = gv; if (bv > peak) peak = bv; } cairo_set_line_width(cr, 3); cairo_set_line_cap(cr, CAIRO_LINE_CAP_ROUND); cairo_set_operator(cr, CAIRO_OPERATOR_ADD); /* Draw the actual histogram */ /* Red channel */ cairo_save(cr); cairo_set_source_rgba(cr, 1.0, 0.0, 0.0, 0.7); cairo_move_to(cr, 0, wh); for (idx = 0; idx < 255; idx++) { double rv = entangle_image_histogram_calculate_value(priv->freq_red[idx], priv->linear); double x = (double)ww * (double)idx / 255.0; double y = (double)(wh - 2) * (double)rv / peak; cairo_line_to(cr, x, wh - y); } cairo_line_to(cr, ww, wh); cairo_line_to(cr, 0, wh); cairo_fill(cr); cairo_restore(cr); /* Green channel */ cairo_save(cr); cairo_set_source_rgba(cr, 0.0, 1.0, 0.0, 0.7); cairo_move_to(cr, 0, wh); for (idx = 0; idx < 255; idx++) { double gv = entangle_image_histogram_calculate_value(priv->freq_green[idx], priv->linear); double x = (double)ww * (double)idx / 255.0; double y = (double)(wh - 2) * (double)gv / peak; cairo_line_to(cr, x, wh - y); } cairo_line_to(cr, ww, wh); cairo_line_to(cr, 0, wh); cairo_fill(cr); cairo_restore(cr); /* Blue channel */ cairo_save(cr); cairo_set_source_rgba(cr, 0.0, 0.0, 1.0, 0.7); cairo_move_to(cr, 0, wh); for (idx = 0; idx < 255; idx++) { double bv = entangle_image_histogram_calculate_value(priv->freq_blue[idx], priv->linear); double x = (double)ww * (double)idx / 255.0; double y = (double)(wh - 2) * (double)bv / peak; cairo_line_to(cr, x, wh - y); } cairo_line_to(cr, ww, wh); cairo_line_to(cr, 0, wh); cairo_fill(cr); cairo_restore(cr); } cairo_restore(cr); return TRUE; } static void entangle_image_histogram_get_preferred_width(GtkWidget *widget, gint *minwidth, gint *natwidth) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(widget)); *minwidth = 100; *natwidth = 250; } static void entangle_image_histogram_get_preferred_height(GtkWidget *widget, gint *minheight, gint *natheight) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(widget)); *minheight = 50; *natheight = 170; } static void entangle_image_histogram_class_init(EntangleImageHistogramClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); object_class->finalize = entangle_image_histogram_finalize; object_class->get_property = entangle_image_histogram_get_property; object_class->set_property = entangle_image_histogram_set_property; widget_class->draw = entangle_image_histogram_draw; widget_class->get_preferred_width = entangle_image_histogram_get_preferred_width; widget_class->get_preferred_height = entangle_image_histogram_get_preferred_height; g_object_class_install_property(object_class, PROP_IMAGE, g_param_spec_object("image", "Image", "Image to be histogramed", ENTANGLE_TYPE_IMAGE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleImageHistogramPrivate)); } EntangleImageHistogram *entangle_image_histogram_new(void) { return ENTANGLE_IMAGE_HISTOGRAM(g_object_new(ENTANGLE_TYPE_IMAGE_HISTOGRAM, NULL)); } static void entangle_image_histogram_init(EntangleImageHistogram *histogram) { EntangleImageHistogramPrivate *priv; priv = histogram->priv = ENTANGLE_IMAGE_HISTOGRAM_GET_PRIVATE(histogram); memset(priv, 0, sizeof *priv); gtk_widget_set_double_buffered(GTK_WIDGET(histogram), FALSE); } static void entangle_image_histogram_image_pixbuf_notify(GObject *image G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(data)); EntangleImageHistogram *histogram = ENTANGLE_IMAGE_HISTOGRAM(data); do_entangle_pixmap_setup(histogram); gtk_widget_queue_draw(GTK_WIDGET(histogram)); } void entangle_image_histogram_set_image(EntangleImageHistogram *histogram, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(histogram)); g_return_if_fail(!image || ENTANGLE_IS_IMAGE(image)); EntangleImageHistogramPrivate *priv = histogram->priv; if (priv->image) { g_signal_handler_disconnect(priv->image, priv->imageNotifyID); g_object_unref(priv->image); } priv->image = image; if (priv->image) { g_object_ref(priv->image); priv->imageNotifyID = g_signal_connect(priv->image, "notify::pixbuf", G_CALLBACK(entangle_image_histogram_image_pixbuf_notify), histogram); } do_entangle_pixmap_setup(histogram); if (gtk_widget_get_visible((GtkWidget*)histogram)) gtk_widget_queue_draw(GTK_WIDGET(histogram)); } EntangleImage *entangle_image_histogram_get_image(EntangleImageHistogram *histogram) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(histogram), NULL); EntangleImageHistogramPrivate *priv = histogram->priv; return priv->image; } void entangle_image_histogram_set_histogram_linear(EntangleImageHistogram *histogram, gboolean linear) { g_return_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(histogram)); EntangleImageHistogramPrivate *priv = histogram->priv; priv->linear = linear; gtk_widget_queue_draw(GTK_WIDGET(histogram)); } gboolean entangle_image_histogram_get_histogram_linear(EntangleImageHistogram *histogram) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_HISTOGRAM(histogram), FALSE); EntangleImageHistogramPrivate *priv = histogram->priv; return priv->linear; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-info.ui0000664000000000000000000000677212253420652017144 00000000000000 False 5 True center-on-parent 650 400 True dialog True True True False vertical 2 True False end gtk-close True True True False True False False 0 False True end 0 True True etched-in True False True False label True True 1 button1 entangle-0.5.4/src/frontend/entangle-camera-manager.c0000664000000000000000000034744612253420652017436 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-manager.h" #include "entangle-camera-list.h" #include "entangle-camera-info.h" #include "entangle-camera-support.h" #include "entangle-camera-picker.h" #include "entangle-session.h" #include "entangle-image-display.h" #include "entangle-image-statusbar.h" #include "entangle-image-loader.h" #include "entangle-thumbnail-loader.h" #include "entangle-image-popup.h" #include "entangle-image-histogram.h" #include "entangle-help-about.h" #include "entangle-session-browser.h" #include "entangle-control-panel.h" #include "entangle-colour-profile.h" #include "entangle-preferences-display.h" #include "entangle-progress.h" #include "entangle-dpms.h" #include "entangle-window.h" #include "entangle-auto-drawer.h" #define ENTANGLE_CAMERA_MANAGER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_MANAGER, EntangleCameraManagerPrivate)) struct _EntangleCameraManagerPrivate { EntangleCamera *camera; gboolean cameraReady; gboolean cameraChanged; EntangleSession *session; EntangleCameraPicker *picker; EntangleHelpAbout *about; EntangleCameraInfo *summary; EntangleCameraInfo *manual; EntangleCameraInfo *driver; EntangleCameraSupport *supported; EntangleImageLoader *imageLoader; EntangleThumbnailLoader *thumbLoader; EntangleColourProfileTransform *colourTransform; GtkScrolledWindow *imageScroll; EntangleImageDisplay *imageDisplay; EntangleImageStatusbar *imageStatusbar; EntangleAutoDrawer *imageDrawer; gulong imageDrawerTimer; EntangleSessionBrowser *sessionBrowser; GtkMenu *sessionBrowserMenu; EntangleImage *sessionBrowserImage; EntangleControlPanel *controlPanel; EntanglePreferencesDisplay *prefsDisplay; EntangleImageHistogram *imageHistogram; EntangleImage *currentImage; EntangleImagePopup *imagePresentation; gint presentationMonitor; GHashTable *popups; gdouble imageScrollVOffset; gdouble imageScrollHOffset; gboolean imageScrollRestored; int zoomLevel; gulong sigFileDownload; gulong sigFilePreview; gulong sigFileAdd; gulong sigChanged; gulong sigPrefsNotify; GCancellable *monitorCancel; GCancellable *taskCancel; GCancellable *taskConfirm; gboolean taskCapture; gboolean taskPreview; gboolean taskActive; gboolean taskProcessEvents; float taskTarget; char *deleteImageDup; GtkBuilder *builder; }; typedef struct _EntangleCameraFileTaskData EntangleCameraFileTaskData; struct _EntangleCameraFileTaskData { EntangleCameraManager *manager; EntangleCameraFile *file; }; static void entangle_camera_progress_interface_init(gpointer g_iface, gpointer iface_data); static void entangle_camera_manager_window_interface_init(gpointer g_iface, gpointer iface_data); static void do_select_image(EntangleCameraManager *manager, EntangleImage *image); G_DEFINE_TYPE_EXTENDED(EntangleCameraManager, entangle_camera_manager, GTK_TYPE_WINDOW, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_PROGRESS, entangle_camera_progress_interface_init) G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_camera_manager_window_interface_init)); enum { PROP_O, PROP_CAMERA, }; void do_menu_help_summary(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_help_manual(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_help_driver(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_help_supported(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_new_window(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_select_session(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_settings_toggled(GtkCheckMenuItem *src, EntangleCameraManager *manager); void do_menu_zoom_in(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_zoom_out(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_zoom_normal(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_zoom_best(GtkImageMenuItem *src, EntangleCameraManager *manager); void do_menu_fullscreen(GtkCheckMenuItem *src, EntangleCameraManager *manager); void do_menu_presentation(GtkCheckMenuItem *src, EntangleCameraManager *manager); void do_menu_preferences(GtkCheckMenuItem *src, EntangleCameraManager *manager); void do_toolbar_select_session(GtkFileChooserButton *src, EntangleCameraManager *manager); void do_toolbar_settings(GtkToggleToolButton *src, EntangleCameraManager *manager); void do_toolbar_cancel_clicked(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_capture(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_preview(GtkToggleToolButton *src, EntangleCameraManager *manager); void do_toolbar_zoom_in(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_zoom_out(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_zoom_normal(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_zoom_best(GtkToolButton *src, EntangleCameraManager *manager); void do_toolbar_fullscreen(GtkToggleToolButton *src, EntangleCameraManager *manager); void do_menu_close(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_quit(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_help_about(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_connect(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_disconnect(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_capture(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_preview(GtkMenuItem *src, EntangleCameraManager *manager); void do_menu_cancel(GtkMenuItem *src, EntangleCameraManager *manager); gboolean do_manager_key_release(GtkWidget *widget G_GNUC_UNUSED, GdkEventKey *ev, gpointer data); void do_menu_session_open_activate(GtkMenuItem *item G_GNUC_UNUSED, EntangleCameraManager *manager); void do_menu_session_delete_activate(GtkMenuItem *item G_GNUC_UNUSED, EntangleCameraManager *manager); static EntanglePreferences *entangle_camera_manager_get_preferences(EntangleCameraManager *manager) { GtkApplication *gapp = gtk_window_get_application(GTK_WINDOW(manager)); EntangleApplication *app = ENTANGLE_APPLICATION(gapp); return entangle_application_get_preferences(app); } static EntangleColourProfile *entangle_camera_manager_monitor_profile(GtkWindow *window) { GdkScreen *screen; GByteArray *profileData; gchar *atom; int monitor = 0; GdkAtom type = GDK_NONE; gint format = 0; gint nitems = 0; guint8 *data = NULL; EntangleColourProfile *profile = NULL; gtk_widget_realize(GTK_WIDGET(window)); screen = gtk_widget_get_screen(GTK_WIDGET(window)); monitor = gdk_screen_get_monitor_at_window(screen, gtk_widget_get_window(GTK_WIDGET(window))); if (monitor == 0) atom = g_strdup("_ICC_PROFILE"); else atom = g_strdup_printf("_ICC_PROFILE_%d", monitor); if (!gdk_property_get(gdk_screen_get_root_window(screen), gdk_atom_intern(atom, FALSE), GDK_NONE, 0, 64 * 1024 * 1024, FALSE, &type, &format, &nitems, &data) || nitems <= 0) goto cleanup; profileData = g_byte_array_new(); g_byte_array_append(profileData, data, nitems); profile = entangle_colour_profile_new_data(profileData); g_byte_array_unref(profileData); cleanup: g_free(data); g_free(atom); return profile; } static EntangleColourProfileTransform *entangle_camera_manager_colour_transform(EntangleCameraManager *manager) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager), NULL); EntangleColourProfileTransform *transform = NULL; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); if (entangle_preferences_cms_get_enabled(prefs)) { EntangleColourProfile *rgbProfile; EntangleColourProfile *monitorProfile; EntangleColourProfileIntent intent; rgbProfile = entangle_preferences_cms_get_rgb_profile(prefs); intent = entangle_preferences_cms_get_rendering_intent(prefs); if (entangle_preferences_cms_get_detect_system_profile(prefs)) { monitorProfile = entangle_camera_manager_monitor_profile(GTK_WINDOW(manager)); } else { monitorProfile = entangle_preferences_cms_get_monitor_profile(prefs); } if (monitorProfile) { transform = entangle_colour_profile_transform_new(rgbProfile, monitorProfile, intent); g_object_unref(monitorProfile); } g_object_unref(rgbProfile); } return transform; } static void entangle_camera_manager_update_colour_transform(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->colourTransform) g_object_unref(priv->colourTransform); priv->colourTransform = entangle_camera_manager_colour_transform(manager); if (priv->imageLoader) entangle_pixbuf_loader_set_colour_transform(ENTANGLE_PIXBUF_LOADER(priv->imageLoader), priv->colourTransform); if (priv->thumbLoader) entangle_pixbuf_loader_set_colour_transform(ENTANGLE_PIXBUF_LOADER(priv->thumbLoader), priv->colourTransform); } static void entangle_camera_manager_update_aspect_ratio(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); const gchar *aspect = entangle_preferences_img_get_aspect_ratio(prefs); if (!aspect) { entangle_image_display_set_aspect_ratio(priv->imageDisplay, 1.33); } else { gdouble d; gchar *end; d = g_ascii_strtod(aspect, &end); if (end == aspect || (errno == ERANGE)) entangle_image_display_set_aspect_ratio(priv->imageDisplay, 1.33); else entangle_image_display_set_aspect_ratio(priv->imageDisplay, d); } } static void entangle_camera_manager_update_mask_opacity(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gint opacity = entangle_preferences_img_get_mask_opacity(prefs); entangle_image_display_set_mask_opacity(priv->imageDisplay, opacity / 100.0); } static void entangle_camera_manager_update_mask_enabled(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gboolean enabled = entangle_preferences_img_get_mask_enabled(prefs); entangle_image_display_set_mask_enabled(priv->imageDisplay, enabled); } static void entangle_camera_manager_update_histogram_linear(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gboolean histogram_linear = entangle_preferences_interface_get_histogram_linear(prefs); entangle_image_histogram_set_histogram_linear(priv->imageHistogram, histogram_linear); } static void do_presentation_monitor_toggled(GtkCheckMenuItem *menu, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; gpointer mon = g_object_get_data(G_OBJECT(menu), "monitor"); priv->presentationMonitor = GPOINTER_TO_INT(mon); ENTANGLE_DEBUG("Set monitor %d", priv->presentationMonitor); if (priv->imagePresentation) entangle_image_popup_move_to_monitor(priv->imagePresentation, priv->presentationMonitor); } static GtkWidget *entangle_camera_manager_monitor_menu(EntangleCameraManager *manager) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager), NULL); EntangleCameraManagerPrivate *priv = manager->priv; GdkScreen *screen = gtk_window_get_screen(GTK_WINDOW(manager)); GtkWidget *menu = gtk_menu_new(); GSList *group = NULL; #ifdef gdk_screen_get_primary_monitor int active = gdk_screen_get_primary_monitor(screen); #else int active = 0; #endif for (int i = 0; i < gdk_screen_get_n_monitors(screen); i++) { const gchar *name = gdk_screen_get_monitor_plug_name(screen, i); GtkWidget *submenu = gtk_radio_menu_item_new_with_label(group, name); g_object_set_data(G_OBJECT(submenu), "monitor", GINT_TO_POINTER(i)); group = gtk_radio_menu_item_get_group(GTK_RADIO_MENU_ITEM(submenu)); gtk_menu_shell_append(GTK_MENU_SHELL(menu), submenu); if (i == active) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(submenu), TRUE); g_signal_connect(submenu, "toggled", G_CALLBACK(do_presentation_monitor_toggled), manager); } priv->presentationMonitor = active; gtk_widget_show_all(menu); return menu; } static void entangle_camera_manager_update_viewfinder(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->taskPreview) { EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gint gridLines = entangle_preferences_img_get_grid_lines(prefs); gboolean focusPoint = entangle_preferences_img_get_focus_point(prefs); entangle_image_display_set_focus_point(priv->imageDisplay, focusPoint); entangle_image_display_set_grid_display(priv->imageDisplay, gridLines); } else { entangle_image_display_set_focus_point(priv->imageDisplay, FALSE); entangle_image_display_set_grid_display(priv->imageDisplay, ENTANGLE_IMAGE_DISPLAY_GRID_NONE); } } static void entangle_camera_manager_update_image_loader(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gboolean embeddedPreview = entangle_preferences_img_get_embedded_preview(prefs); entangle_image_loader_set_embedded_preview(priv->imageLoader, embeddedPreview); } static void entangle_camera_manager_prefs_changed(GObject *object G_GNUC_UNUSED, GParamSpec *spec, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); if (g_str_equal(spec->name, "interface-histogram-linear")) { entangle_camera_manager_update_histogram_linear(manager); } else if (g_str_equal(spec->name, "cms-enabled") || g_str_equal(spec->name, "cms-rgb-profile") || g_str_equal(spec->name, "cms-monitor-profile") || g_str_equal(spec->name, "cms-detect-system-profile") || g_str_equal(spec->name, "cms-rendering-intent")) { entangle_camera_manager_update_colour_transform(manager); } else if (g_str_equal(spec->name, "img-aspect-ratio")) { entangle_camera_manager_update_aspect_ratio(manager); } else if (g_str_equal(spec->name, "img-mask-opacity")) { entangle_camera_manager_update_mask_opacity(manager); } else if (g_str_equal(spec->name, "img-mask-enabled")) { entangle_camera_manager_update_mask_enabled(manager); } else if (g_str_equal(spec->name, "img-focus-point") || g_str_equal(spec->name, "img-grid-lines")) { entangle_camera_manager_update_viewfinder(manager); } else if (g_str_equal(spec->name, "img-embedded-preview")) { entangle_camera_manager_update_image_loader(manager); } else if (g_str_equal(spec->name, "img-onion-skin") || g_str_equal(spec->name, "img-onion-layers")) { EntangleCameraManagerPrivate *priv = manager->priv; do_select_image(manager, priv->currentImage); } } static void do_capture_widget_sensitivity(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *toolCapture; GtkWidget *toolPreview; GtkWidget *toolCancel; GtkWidget *menuCapture; GtkWidget *menuPreview; GtkWidget *menuCancel; GtkWidget *toolSession; GtkWidget *menuSession; GtkWidget *menuConnect; GtkWidget *menuDisconnect; GtkWidget *menuHelp; toolCapture = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-capture")); toolPreview = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-preview")); toolCancel = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-cancel")); menuCapture = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-capture")); menuPreview = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-preview")); menuCancel = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-cancel")); toolSession = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-session")); menuSession = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-session")); menuConnect = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-connect")); menuDisconnect = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-disconnect")); menuHelp = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-help-camera")); gtk_widget_set_sensitive(toolCapture, priv->cameraReady && !priv->taskCapture && priv->camera && entangle_camera_get_has_capture(priv->camera) ? TRUE : FALSE); gtk_widget_set_sensitive(toolPreview, priv->cameraReady && !priv->taskCapture && priv->camera && entangle_camera_get_has_capture(priv->camera) && entangle_camera_get_has_preview(priv->camera) && !priv->taskCapture ? TRUE : FALSE); gtk_widget_set_sensitive(menuCapture, priv->cameraReady && !priv->taskCapture && priv->camera && entangle_camera_get_has_capture(priv->camera) ? TRUE : FALSE); gtk_widget_set_sensitive(menuPreview, priv->cameraReady && !priv->taskCapture && priv->camera && entangle_camera_get_has_capture(priv->camera) && entangle_camera_get_has_preview(priv->camera) && !priv->taskCapture ? TRUE : FALSE); gtk_widget_set_sensitive(toolSession, !priv->taskActive); gtk_widget_set_sensitive(menuSession, !priv->taskActive); gtk_widget_set_sensitive(menuConnect, priv->camera ? FALSE : TRUE); gtk_widget_set_sensitive(menuDisconnect, priv->camera && priv->cameraReady ? TRUE : FALSE); gtk_widget_set_sensitive(menuHelp, priv->camera ? TRUE : FALSE); gtk_widget_set_tooltip_text(toolCapture, _("Capture an image")); gtk_widget_set_tooltip_text(toolPreview, _("Continuous capture preview")); if (priv->camera) { if (!entangle_camera_get_has_capture(priv->camera)) gtk_widget_set_tooltip_text(toolCapture, _("This camera does not support image capture")); if (!entangle_camera_get_has_capture(priv->camera) || !entangle_camera_get_has_preview(priv->camera)) gtk_widget_set_tooltip_text(toolPreview, _("This camera does not support image preview")); } #if 0 if (priv->camera && hasControls) { gtk_widget_show(settingsScroll); gtk_widget_set_sensitive(settingsScroll, priv->cameraReady); } else { gtk_widget_hide(settingsScroll); } #endif if (priv->taskCapture) { gtk_widget_set_sensitive(toolCancel, True); gtk_widget_set_sensitive(menuCancel, True); } else { gtk_widget_set_sensitive(toolCancel, False); gtk_widget_set_sensitive(menuCancel, False); } entangle_camera_manager_update_viewfinder(manager); } static void do_restore_scroll(GtkWidget *widget, GdkRectangle *allocation G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); GtkAdjustment *hadjust; GtkAdjustment *vadjust; EntangleCameraManagerPrivate *priv = manager->priv; if (!entangle_image_display_get_loaded(ENTANGLE_IMAGE_DISPLAY(widget))) return; hadjust = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(priv->imageScroll)); vadjust = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(priv->imageScroll)); gtk_adjustment_set_value(hadjust, priv->imageScrollHOffset); gtk_adjustment_set_value(vadjust, priv->imageScrollVOffset); priv->imageScrollRestored = TRUE; } static void do_select_image(EntangleCameraManager *manager, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); g_return_if_fail(!image || ENTANGLE_IS_IMAGE(image)); GList *newimages = NULL; GList *oldimages; GList *tmp; GtkAdjustment *hadjust; GtkAdjustment *vadjust; EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); ENTANGLE_DEBUG("Selected image %p %s", image, image ? entangle_image_get_filename(image) : ""); if (image) { if (entangle_preferences_img_get_onion_skin(prefs)) newimages = entangle_session_browser_earlier_images (priv->sessionBrowser, entangle_image_get_filename(image) == NULL, entangle_preferences_img_get_onion_layers(prefs)); newimages = g_list_prepend(newimages, g_object_ref(image)); } /* Load all new images first */ tmp = newimages; while (tmp) { EntangleImage *thisimage = tmp->data; ENTANGLE_DEBUG("New image %p %s", thisimage, entangle_image_get_filename(thisimage)); if (entangle_image_get_filename(thisimage)) entangle_pixbuf_loader_load(ENTANGLE_PIXBUF_LOADER(priv->imageLoader), thisimage); tmp = tmp->next; } /* Now unload old images */ tmp = oldimages = entangle_image_display_get_image_list(priv->imageDisplay); while (tmp) { EntangleImage *thisimage = tmp->data; ENTANGLE_DEBUG("Old %p %s", thisimage, entangle_image_get_filename(thisimage)); if (entangle_image_get_filename(thisimage)) entangle_pixbuf_loader_unload(ENTANGLE_PIXBUF_LOADER(priv->imageLoader), thisimage); tmp = tmp->next; } hadjust = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(priv->imageScroll)); vadjust = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(priv->imageScroll)); if (priv->imageScrollRestored) { priv->imageScrollHOffset = gtk_adjustment_get_value(hadjust); priv->imageScrollVOffset = gtk_adjustment_get_value(vadjust); priv->imageScrollRestored = FALSE; } entangle_image_display_set_image_list(priv->imageDisplay, newimages); if (image) g_object_ref(image); if (priv->currentImage) g_object_unref(priv->currentImage); priv->currentImage = image; entangle_image_statusbar_set_image(priv->imageStatusbar, priv->currentImage); entangle_image_histogram_set_image(priv->imageHistogram, priv->currentImage); if (priv->imagePresentation) entangle_image_popup_set_image(priv->imagePresentation, priv->currentImage); g_list_foreach(oldimages, (GFunc)g_object_unref, NULL); g_list_free(oldimages); g_list_foreach(newimages, (GFunc)g_object_unref, NULL); g_list_free(newimages); } static void do_camera_task_error(EntangleCameraManager *manager, const char *label, GError *error) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Operation: %s"), label); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Operation failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); } static void do_camera_process_events(EntangleCameraManager *manager); static void do_camera_load_controls_refresh_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCamera *camera = ENTANGLE_CAMERA(source); GError *error = NULL; if (!entangle_camera_load_controls_finish(camera, result, &error)) { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Camera load controls failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera load controls failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); g_error_free(error); } g_cancellable_reset(priv->monitorCancel); do_camera_process_events(manager); } static void do_camera_process_events_finish(GObject *src, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCamera *camera = ENTANGLE_CAMERA(src); GError *error = NULL; priv->taskProcessEvents = FALSE; if (!entangle_camera_process_events_finish(camera, result, &error)) { if (g_cancellable_is_cancelled(priv->monitorCancel)) { g_cancellable_reset(priv->monitorCancel); } else { do_camera_task_error(manager, _("Monitor"), error); } g_error_free(error); return; } if (!priv->cameraReady) { priv->cameraReady = TRUE; do_capture_widget_sensitivity(manager); } if (!priv->camera) return; if (priv->cameraChanged) { priv->cameraChanged = FALSE; entangle_camera_load_controls_async(priv->camera, NULL, do_camera_load_controls_refresh_finish, manager); } else { do_camera_process_events(manager); } } static void do_camera_process_events(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->camera) return; if (priv->taskProcessEvents) return; entangle_camera_process_events_async(priv->camera, 500, priv->monitorCancel, do_camera_process_events_finish, manager); priv->taskProcessEvents = TRUE; } static void do_camera_preview_image_finish(GObject *src, GAsyncResult *res, gpointer opaque); static EntangleCameraFileTaskData *do_camera_task_begin(EntangleCameraManager *manager) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager), NULL); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCameraFileTaskData *data; if (priv->taskActive) return NULL; data = g_new0(EntangleCameraFileTaskData, 1); data->manager = g_object_ref(manager); g_cancellable_cancel(priv->monitorCancel); g_cancellable_reset(priv->taskConfirm); g_cancellable_reset(priv->taskCancel); priv->taskActive = TRUE; g_free(priv->deleteImageDup); priv->deleteImageDup = NULL; return data; } static void do_camera_task_complete(EntangleCameraFileTaskData *data) { EntangleCameraManagerPrivate *priv = data->manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(data->manager); GtkWidget *preview; if (data->file) { g_object_unref(data->file); data->file = NULL; } if (priv->taskPreview && priv->camera && !g_cancellable_is_cancelled(priv->taskCancel) && entangle_preferences_capture_get_continuous_preview(prefs)) { entangle_camera_preview_image_async(priv->camera, priv->taskCancel, do_camera_preview_image_finish, data); } else { preview = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-preview")); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(preview), FALSE); priv->taskActive = priv->taskPreview = priv->taskCapture = FALSE; do_capture_widget_sensitivity(data->manager); g_cancellable_reset(priv->taskConfirm); g_cancellable_reset(priv->taskCancel); g_cancellable_reset(priv->monitorCancel); do_camera_process_events(data->manager); g_object_unref(data->manager); g_free(data); } } static void do_camera_file_download(EntangleCamera *cam G_GNUC_UNUSED, EntangleCameraFile *file, void *data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; EntangleImage *image; gchar *localpath; ENTANGLE_DEBUG("File download %p %p %p", cam, file, data); localpath = entangle_session_next_filename(priv->session, file); if (!entangle_camera_file_save_path(file, localpath, NULL)) { ENTANGLE_DEBUG("Failed save path"); goto cleanup; } ENTANGLE_DEBUG("Saved to %s", localpath); image = entangle_image_new_file(localpath); entangle_session_add(priv->session, image); do_select_image(manager, image); g_object_unref(image); cleanup: g_free(localpath); } static void do_camera_delete_file_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCamera *camera = ENTANGLE_CAMERA(src); GError *error = NULL; if (!entangle_camera_delete_file_finish(camera, res, &error)) { do_camera_task_error(data->manager, _("Delete"), error); g_error_free(error); /* Fallthrough to unref */ } do_camera_task_complete(data); } static void do_camera_download_file_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCamera *camera = ENTANGLE_CAMERA(src); EntanglePreferences *prefs = entangle_camera_manager_get_preferences(data->manager); GError *error = NULL; if (!entangle_camera_download_file_finish(camera, res, &error)) { do_camera_task_error(data->manager, _("Download"), error); g_error_free(error); /* Fallthrough to delete anyway */ } if (entangle_preferences_capture_get_delete_file(prefs)) { entangle_camera_delete_file_async(camera, data->file, NULL, do_camera_delete_file_finish, data); } else { do_camera_task_complete(data); } } static void do_camera_capture_image_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCameraManagerPrivate *priv = data->manager->priv; EntangleCamera *camera = ENTANGLE_CAMERA(src); EntanglePreferences *prefs = entangle_camera_manager_get_preferences(data->manager); GError *error = NULL; if (entangle_preferences_interface_get_screen_blank(prefs)) entangle_dpms_set_blanking(FALSE, NULL); if (!(data->file = entangle_camera_capture_image_finish(camera, res, &error))) { do_camera_task_error(data->manager, _("Capture"), error); do_camera_task_complete(data); g_error_free(error); return; } if (g_cancellable_is_cancelled(priv->taskCancel)) { if (entangle_preferences_capture_get_delete_file(prefs)) { entangle_camera_delete_file_async(camera, data->file, NULL, do_camera_delete_file_finish, data); } else { do_camera_task_complete(data); } } else { entangle_camera_download_file_async(camera, data->file, NULL, do_camera_download_file_finish, data); } } static void do_camera_capture_image_discard_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCameraManagerPrivate *priv = data->manager->priv; EntangleCamera *camera = ENTANGLE_CAMERA(src); GError *error = NULL; char *filename; char *tmp; if (!(data->file = entangle_camera_capture_image_finish(camera, res, &error))) { do_camera_task_error(data->manager, _("Capture"), error); do_camera_task_complete(data); g_error_free(error); return; } filename = g_strdup(entangle_camera_file_get_name(data->file)); if ((tmp = strrchr(filename, '.'))) *tmp = '\0'; priv->deleteImageDup = filename; entangle_camera_delete_file_async(camera, data->file, NULL, do_camera_delete_file_finish, data); } static void do_camera_set_viewfinder_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCamera *camera = ENTANGLE_CAMERA(src); GError *error = NULL; if (!entangle_camera_set_viewfinder_finish(camera, res, &error)) { do_camera_task_error(data->manager, _("Capture"), error); do_camera_task_complete(data); g_error_free(error); return; } do_camera_task_complete(data); } static void do_camera_preview_image_finish(GObject *src, GAsyncResult *res, gpointer opaque) { EntangleCameraFileTaskData *data = opaque; EntangleCameraManagerPrivate *priv = data->manager->priv; EntangleCamera *camera = ENTANGLE_CAMERA(src); EntangleCameraFile *file; GError *error = NULL; if (!(file = entangle_camera_preview_image_finish(camera, res, &error))) { if (g_cancellable_is_cancelled(priv->taskCancel) && priv->camera) { if (entangle_camera_get_has_viewfinder(priv->camera)) entangle_camera_set_viewfinder_async(priv->camera, FALSE, NULL, do_camera_set_viewfinder_finish, data); else entangle_camera_capture_image_async(priv->camera, NULL, do_camera_capture_image_discard_finish, data); } else { priv->taskPreview = FALSE; do_camera_task_error(data->manager, _("Preview"), error); do_camera_task_complete(data); } g_error_free(error); return; } g_object_unref(file); if (g_cancellable_is_cancelled(priv->taskCancel)) { if (entangle_camera_get_has_viewfinder(priv->camera)) entangle_camera_set_viewfinder_async(priv->camera, FALSE, NULL, do_camera_set_viewfinder_finish, data); else entangle_camera_capture_image_async(priv->camera, NULL, do_camera_capture_image_discard_finish, data); } else if (g_cancellable_is_cancelled(priv->taskConfirm)) { EntanglePreferences *prefs = entangle_camera_manager_get_preferences(data->manager); if (entangle_preferences_interface_get_screen_blank(prefs)) entangle_dpms_set_blanking(TRUE, NULL); g_cancellable_reset(priv->taskConfirm); entangle_camera_capture_image_async(priv->camera, priv->taskCancel, do_camera_capture_image_finish, data); } else { entangle_camera_preview_image_async(priv->camera, priv->taskCancel, do_camera_preview_image_finish, data); } } static void do_camera_file_add(EntangleCamera *camera, EntangleCameraFile *file, void *opaque) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(opaque)); g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(opaque); EntangleCameraFileTaskData *data = g_new0(EntangleCameraFileTaskData, 1); EntangleCameraManagerPrivate *priv = manager->priv; ENTANGLE_DEBUG("File add %p %p %p", camera, file, data); data->manager = g_object_ref(manager); data->file = g_object_ref(file); if (priv->deleteImageDup) { gsize len = strlen(priv->deleteImageDup); if (strncmp(entangle_camera_file_get_name(file), priv->deleteImageDup, len) == 0) { g_free(priv->deleteImageDup); priv->deleteImageDup = NULL; entangle_camera_delete_file_async(camera, data->file, NULL, do_camera_delete_file_finish, data); return; } } entangle_camera_download_file_async(camera, data->file, NULL, do_camera_download_file_finish, data); } static void do_camera_file_preview(EntangleCamera *cam G_GNUC_UNUSED, EntangleCameraFile *file, void *data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; GdkPixbuf *pixbuf; GByteArray *bytes; GInputStream *is; EntangleImage *image; if (priv->taskPreview && priv->taskCancel && !g_cancellable_is_cancelled(priv->taskCancel)) { ENTANGLE_DEBUG("File preview %p %p %p", cam, file, data); bytes = entangle_camera_file_get_data(file); is = g_memory_input_stream_new_from_data(bytes->data, bytes->len, NULL); pixbuf = gdk_pixbuf_new_from_stream(is, NULL, NULL); image = entangle_image_new_pixbuf(pixbuf); do_select_image(manager, image); g_object_unref(pixbuf); g_object_unref(is); g_object_unref(image); } } static void do_entangle_camera_progress_start(EntangleProgress *iface, float target, const char *msg) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(iface)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(iface); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; priv->taskTarget = target; mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); gtk_widget_set_tooltip_text(mtr, msg); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), msg); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); } static void do_entangle_camera_progress_update(EntangleProgress *iface, float current) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(iface)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(iface); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), current / priv->taskTarget); } static void do_entangle_camera_progress_stop(EntangleProgress *iface) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(iface)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(iface); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); gtk_widget_set_tooltip_text(mtr, ""); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), ""); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); } static void entangle_camera_progress_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleProgressInterface *iface = g_iface; iface->start = do_entangle_camera_progress_start; iface->update = do_entangle_camera_progress_update; iface->stop = do_entangle_camera_progress_stop; } static void do_entangle_camera_manager_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_camera_manager_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_camera_manager_set_builder; } static void do_remove_camera(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *mtr; g_cancellable_cancel(priv->monitorCancel); g_cancellable_cancel(priv->taskCancel); gtk_window_set_title(GTK_WINDOW(manager), _("Camera Manager - Entangle")); entangle_control_panel_set_camera(priv->controlPanel, NULL); entangle_camera_set_progress(priv->camera, NULL); g_signal_handler_disconnect(priv->camera, priv->sigFilePreview); g_signal_handler_disconnect(priv->camera, priv->sigFileDownload); g_signal_handler_disconnect(priv->camera, priv->sigFileAdd); if (priv->imagePresentation) { gtk_widget_hide(GTK_WIDGET(priv->imagePresentation)); g_object_unref(priv->imagePresentation); priv->imagePresentation = NULL; } mtr = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-progress")); gtk_widget_set_tooltip_text(mtr, ""); gtk_progress_bar_set_text(GTK_PROGRESS_BAR(mtr), ""); gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(mtr), 0); } static void do_camera_load_controls_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCamera *cam = ENTANGLE_CAMERA(source); GError *error = NULL; if (entangle_camera_load_controls_finish(cam, result, &error)) { do_capture_widget_sensitivity(manager); entangle_control_panel_set_camera(priv->controlPanel, priv->camera); } else { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Camera load controls failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera load controls failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); g_error_free(error); } g_cancellable_reset(priv->monitorCancel); do_camera_process_events(manager); } static void do_camera_connect_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCamera *cam = ENTANGLE_CAMERA(source); GError *error = NULL; if (entangle_camera_connect_finish(cam, result, &error)) { entangle_camera_load_controls_async(priv->camera, NULL, do_camera_load_controls_finish, manager); } else { int response; GtkWidget *msg = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, _("Unable to connect to camera: %s"), error->message); gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(msg), "%s", _("Check that the camera is not\n\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n")); gtk_dialog_add_button(GTK_DIALOG(msg), _("Cancel"), GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(msg), _("Retry"), GTK_RESPONSE_ACCEPT); gtk_dialog_set_default_response(GTK_DIALOG(msg), GTK_RESPONSE_ACCEPT); response = gtk_dialog_run(GTK_DIALOG(msg)); gtk_widget_destroy(msg); if (response == GTK_RESPONSE_CANCEL) { entangle_camera_manager_set_camera(manager, NULL); } else { entangle_camera_connect_async(cam, NULL, do_camera_connect_finish, manager); } g_error_free(error); } } static gboolean need_camera_unmount(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); if (entangle_camera_is_mounted(cam)) { int response; GtkWidget *msg = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, "%s", _("Camera is in use")); gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(msg), "%s", _("The camera cannot be opened because it is " "currently mounted as a filesystem. Do you " "wish to umount it now ?")); gtk_dialog_add_button(GTK_DIALOG(msg), _("No"), GTK_RESPONSE_NO); gtk_dialog_add_button(GTK_DIALOG(msg), _("Yes"), GTK_RESPONSE_YES); gtk_dialog_set_default_response(GTK_DIALOG(msg), GTK_RESPONSE_YES); response = gtk_dialog_run(GTK_DIALOG(msg)); gtk_widget_destroy(msg); if (response == GTK_RESPONSE_YES) return TRUE; } return FALSE; } static void do_camera_unmount_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCamera *cam = ENTANGLE_CAMERA(source); GError *error = NULL; if (entangle_camera_unmount_finish(cam, result, &error)) { entangle_camera_connect_async(priv->camera, NULL, do_camera_connect_finish, manager); } else { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Camera connect failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera connect failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); entangle_camera_manager_set_camera(manager, NULL); g_error_free(error); } } static void do_camera_control_changed(EntangleCamera *cam G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; priv->cameraChanged = TRUE; } static void do_add_camera(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; char *title; title = g_strdup_printf(_("%s Camera Manager - Entangle"), entangle_camera_get_model(priv->camera)); gtk_window_set_title(GTK_WINDOW(manager), title); g_free(title); priv->sigFilePreview = g_signal_connect(priv->camera, "camera-file-previewed", G_CALLBACK(do_camera_file_preview), manager); priv->sigFileDownload = g_signal_connect(priv->camera, "camera-file-downloaded", G_CALLBACK(do_camera_file_download), manager); priv->sigFileAdd = g_signal_connect(priv->camera, "camera-file-added", G_CALLBACK(do_camera_file_add), manager); priv->sigChanged = g_signal_connect(priv->camera, "camera-controls-changed", G_CALLBACK(do_camera_control_changed), manager); entangle_camera_set_progress(priv->camera, ENTANGLE_PROGRESS(manager)); if (need_camera_unmount(priv->camera)) { entangle_camera_unmount_async(priv->camera, NULL, do_camera_unmount_finish, manager); } else { entangle_camera_connect_async(priv->camera, NULL, do_camera_connect_finish, manager); } } static void entangle_camera_manager_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(object); EntangleCameraManagerPrivate *priv = manager->priv; switch (prop_id) { case PROP_CAMERA: g_value_set_object(value, priv->camera); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void do_camera_removed(EntangleCameraList *cameras G_GNUC_UNUSED, EntangleCamera *camera, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->camera == camera) entangle_camera_manager_set_camera(manager, NULL); } static void do_entangle_camera_manager_set_app(GObject *object, GParamSpec *spec G_GNUC_UNUSED) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(object)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(object); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs; EntangleCameraList *cameras; gchar *directory; gchar *pattern; GtkWidget *chooser; EntangleApplication *app; app = ENTANGLE_APPLICATION(gtk_window_get_application(GTK_WINDOW(manager))); prefs = entangle_application_get_preferences(app); priv->sigPrefsNotify = g_signal_connect(prefs, "notify", G_CALLBACK(entangle_camera_manager_prefs_changed), manager); cameras = entangle_application_get_cameras(app); g_signal_connect(cameras, "camera-removed", G_CALLBACK(do_camera_removed), manager); directory = entangle_preferences_capture_get_last_session(prefs); pattern = entangle_preferences_capture_get_filename_pattern(prefs); entangle_camera_manager_update_histogram_linear(manager); entangle_camera_manager_update_colour_transform(manager); entangle_camera_manager_update_aspect_ratio(manager); entangle_camera_manager_update_mask_opacity(manager); entangle_camera_manager_update_mask_enabled(manager); entangle_camera_manager_update_image_loader(manager); priv->session = entangle_session_new(directory, pattern); chooser = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-session-button")); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), directory); entangle_session_load(priv->session); entangle_session_browser_set_session(priv->sessionBrowser, priv->session); g_free(directory); g_free(pattern); } static void entangle_camera_manager_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(object); ENTANGLE_DEBUG("Set prop %d", prop_id); switch (prop_id) { case PROP_CAMERA: entangle_camera_manager_set_camera(manager, g_value_get_object(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_manager_finalize(GObject *object) { EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(object); EntangleCameraManagerPrivate *priv = manager->priv; ENTANGLE_DEBUG("Finalize manager"); g_free(priv->deleteImageDup); g_object_unref(priv->monitorCancel); g_object_unref(priv->taskCancel); g_object_unref(priv->taskConfirm); if (priv->imageLoader) g_object_unref(priv->imageLoader); if (priv->thumbLoader) g_object_unref(priv->thumbLoader); if (priv->colourTransform) g_object_unref(priv->colourTransform); if (priv->camera) g_object_unref(priv->camera); if (priv->prefsDisplay) g_object_unref(priv->prefsDisplay); if (priv->picker) g_object_unref(priv->picker); if (priv->imagePresentation) g_object_unref(priv->imagePresentation); if (priv->builder) g_object_unref(priv->builder); g_hash_table_destroy(priv->popups); G_OBJECT_CLASS(entangle_camera_manager_parent_class)->finalize(object); } static void entangle_camera_manager_class_init(EntangleCameraManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_manager_finalize; object_class->get_property = entangle_camera_manager_get_property; object_class->set_property = entangle_camera_manager_set_property; g_signal_new("closed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraManagerClass, manager_connect), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_object_class_install_property(object_class, PROP_CAMERA, g_param_spec_object("camera", "Camera", "Camera to be managed", ENTANGLE_TYPE_CAMERA, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleCameraManagerPrivate)); } void do_menu_help_summary(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->summary) { priv->summary = entangle_camera_info_new(); entangle_camera_info_set_camera(priv->summary, priv->camera); entangle_camera_info_set_data(priv->summary, ENTANGLE_CAMERA_INFO_DATA_SUMMARY); gtk_window_set_transient_for(GTK_WINDOW(priv->summary), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->summary)); } void do_menu_help_manual(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->manual) { priv->manual = entangle_camera_info_new(); entangle_camera_info_set_camera(priv->manual, priv->camera); entangle_camera_info_set_data(priv->manual, ENTANGLE_CAMERA_INFO_DATA_MANUAL); gtk_window_set_transient_for(GTK_WINDOW(priv->manual), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->manual)); } void do_menu_help_driver(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->driver) { priv->driver = entangle_camera_info_new(); entangle_camera_info_set_camera(priv->driver, priv->camera); entangle_camera_info_set_data(priv->driver, ENTANGLE_CAMERA_INFO_DATA_DRIVER); gtk_window_set_transient_for(GTK_WINDOW(priv->driver), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->driver)); } void do_menu_help_supported(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->supported) { EntangleApplication *app = ENTANGLE_APPLICATION(gtk_window_get_application(GTK_WINDOW(manager))); priv->supported = entangle_camera_support_new(); entangle_camera_support_set_camera_list(priv->supported, entangle_application_get_cameras(app)); gtk_window_set_transient_for(GTK_WINDOW(priv->supported), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->supported)); } void do_menu_new_window(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); EntangleCameraManager *newmanager = entangle_camera_manager_new(); gtk_window_set_application(GTK_WINDOW(newmanager), app); gtk_widget_show(GTK_WIDGET(newmanager)); gtk_window_present(GTK_WINDOW(newmanager)); } void do_toolbar_select_session(GtkFileChooserButton *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); EntangleSession *session; gchar *pattern; gchar *dir; do_select_image(manager, NULL); dir = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(src)); pattern = entangle_preferences_capture_get_filename_pattern(prefs); session = entangle_session_new(dir, pattern); entangle_preferences_capture_set_last_session(prefs, dir); g_free(dir); g_free(pattern); entangle_session_load(session); if (priv->session) g_object_unref(priv->session); priv->session = session; entangle_session_browser_set_session(priv->sessionBrowser, session); g_hash_table_remove_all(priv->popups); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(src), dir); } void do_menu_select_session(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *chooser; gchar *dir; EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); chooser = gtk_file_chooser_dialog_new(_("Select a folder"), GTK_WINDOW(manager), GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER, GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, GTK_STOCK_OK, GTK_RESPONSE_ACCEPT, NULL); gtk_file_chooser_set_local_only(GTK_FILE_CHOOSER(chooser), TRUE); gtk_file_chooser_set_select_multiple(GTK_FILE_CHOOSER(chooser), FALSE); dir = entangle_preferences_capture_get_last_session(prefs); g_mkdir_with_parents(dir, 0777); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(chooser), dir); g_free(dir); gtk_widget_hide(chooser); if (gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_ACCEPT) { GtkWidget *toolchooser = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-session-button")); EntangleSession *session; gchar *pattern; do_select_image(manager, NULL); dir = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(chooser)); pattern = entangle_preferences_capture_get_filename_pattern(prefs); session = entangle_session_new(dir, pattern); entangle_preferences_capture_set_last_session(prefs, dir); g_free(dir); g_free(pattern); entangle_session_load(session); if (priv->session) g_object_unref(priv->session); priv->session = session; entangle_session_browser_set_session(priv->sessionBrowser, session); g_hash_table_remove_all(priv->popups); gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(toolchooser), dir); } gtk_widget_destroy(chooser); } void do_menu_settings_toggled(GtkCheckMenuItem *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *settings; GtkWidget *toolbar; gboolean active; settings = GTK_WIDGET(gtk_builder_get_object(priv->builder, "settings-box")); toolbar = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-settings")); active = gtk_check_menu_item_get_active(src); gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(toolbar), active); if (active) gtk_widget_show(settings); else gtk_widget_hide(settings); } void do_toolbar_settings(GtkToggleToolButton *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *settings; GtkWidget *menu; gboolean active; settings = GTK_WIDGET(gtk_builder_get_object(priv->builder, "settings-box")); menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-settings")); active = gtk_toggle_tool_button_get_active(src); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), active); if (active) gtk_widget_show(settings); else gtk_widget_hide(settings); } void do_toolbar_cancel_clicked(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->taskCancel) g_cancellable_cancel(priv->taskCancel); } static void do_camera_manager_capture(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder, "menu-sync-windows")); if (gtk_check_menu_item_get_active(item)) { GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); GList *windows = gtk_application_get_windows(app); while (windows) { GtkWindow *window = windows->data; if (ENTANGLE_IS_CAMERA_MANAGER(window)) entangle_camera_manager_capture(ENTANGLE_CAMERA_MANAGER(window)); windows = windows->next; } } else { entangle_camera_manager_capture(manager); } } static void do_camera_manager_preview_begin(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder, "menu-sync-windows")); if (gtk_check_menu_item_get_active(item)) { GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); GList *windows = gtk_application_get_windows(app); while (windows) { GtkWindow *window = windows->data; if (ENTANGLE_IS_CAMERA_MANAGER(window)) entangle_camera_manager_preview_begin(ENTANGLE_CAMERA_MANAGER(window)); windows = windows->next; } } else { entangle_camera_manager_preview_begin(manager); } } static void do_camera_manager_preview_cancel(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder, "menu-sync-windows")); if (gtk_check_menu_item_get_active(item)) { GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); GList *windows = gtk_application_get_windows(app); while (windows) { GtkWindow *window = windows->data; if (ENTANGLE_IS_CAMERA_MANAGER(window)) entangle_camera_manager_preview_cancel(ENTANGLE_CAMERA_MANAGER(window)); windows = windows->next; } } else { entangle_camera_manager_preview_cancel(manager); } } void entangle_camera_manager_capture(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; ENTANGLE_DEBUG("starting capture operation"); if (!priv->camera) return; if (priv->taskPreview) { g_cancellable_cancel(priv->taskConfirm); } else { EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); EntangleCameraFileTaskData *data; if (!(data = do_camera_task_begin(manager))) return; priv->taskCapture = TRUE; do_capture_widget_sensitivity(manager); if (entangle_preferences_interface_get_screen_blank(prefs)) entangle_dpms_set_blanking(TRUE, NULL); entangle_camera_capture_image_async(priv->camera, priv->taskCancel, do_camera_capture_image_finish, data); } } void entangle_camera_manager_preview_begin(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntangleCameraFileTaskData *data; if (!priv->camera) return; ENTANGLE_DEBUG("starting preview operation"); if (!(data = do_camera_task_begin(manager))) return; priv->taskPreview = TRUE; do_capture_widget_sensitivity(manager); entangle_camera_preview_image_async(priv->camera, priv->taskCancel, do_camera_preview_image_finish, data); } void entangle_camera_manager_preview_cancel(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntangleImage *img; if (!priv->camera) return; if (priv->taskPreview) { ENTANGLE_DEBUG("Cancelling capture operation"); g_cancellable_cancel(priv->taskCancel); img = entangle_session_browser_selected_image(priv->sessionBrowser); if (img) { do_select_image(manager, img); g_object_unref(img); } } } void do_toolbar_capture(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); do_camera_manager_capture(manager); } void do_toolbar_preview(GtkToggleToolButton *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkCheckMenuItem *item = GTK_CHECK_MENU_ITEM(gtk_builder_get_object(priv->builder, "menu-preview")); if (gtk_toggle_tool_button_get_active(src)) { if (!gtk_check_menu_item_get_active(item)) { gtk_check_menu_item_set_active(item, True); do_camera_manager_preview_begin(manager); } } else { if (gtk_check_menu_item_get_active(item)) { gtk_check_menu_item_set_active(item, False); do_camera_manager_preview_cancel(manager); } } } void do_menu_capture(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); do_camera_manager_capture(manager); } void do_menu_preview(GtkMenuItem *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkToggleToolButton *button = GTK_TOGGLE_TOOL_BUTTON(gtk_builder_get_object(priv->builder, "toolbar-preview")); if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(src))) { if (!gtk_toggle_tool_button_get_active(button)) { gtk_toggle_tool_button_set_active(button, True); do_camera_manager_preview_begin(manager); } } else { if (gtk_toggle_tool_button_get_active(button)) { gtk_toggle_tool_button_set_active(button, False); do_camera_manager_preview_cancel(manager); } } } void do_menu_cancel(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->taskCancel) g_cancellable_cancel(priv->taskCancel); } static void do_camera_autofocus_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCamera *camera = ENTANGLE_CAMERA(source); GError *error = NULL; if (!entangle_camera_autofocus_finish(camera, result, &error)) { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Autofocus failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera autofocus failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); g_error_free(error); } } static void do_camera_manualfocus_finish(GObject *source, GAsyncResult *result, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCamera *camera = ENTANGLE_CAMERA(source); GError *error = NULL; if (!entangle_camera_manualfocus_finish(camera, result, &error)) { GtkWidget *msg = gtk_message_dialog_new(NULL, 0, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, _("Manual focus failed")); gtk_window_set_title(GTK_WINDOW(msg), _("Entangle: Camera manual focus failed")); gtk_message_dialog_format_secondary_text(GTK_MESSAGE_DIALOG(msg), "%s", error->message); g_signal_connect_swapped(msg, "response", G_CALLBACK(gtk_widget_destroy), msg); gtk_widget_show_all(msg); g_error_free(error); } } gboolean do_manager_key_release(GtkWidget *widget G_GNUC_UNUSED, GdkEventKey *ev, gpointer data) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data), FALSE); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; switch (ev->keyval) { case GDK_KEY_m: { EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gboolean enabled = entangle_preferences_img_get_mask_enabled(prefs); entangle_preferences_img_set_mask_enabled(prefs, !enabled); } break; case GDK_KEY_h: { EntanglePreferences *prefs = entangle_camera_manager_get_preferences(manager); gboolean linear = entangle_preferences_interface_get_histogram_linear(prefs); entangle_preferences_interface_set_histogram_linear(prefs, !linear); } break; case GDK_KEY_a: { if (priv->taskPreview) { entangle_camera_autofocus_async(priv->camera, NULL, do_camera_autofocus_finish, manager); } } break; case GDK_KEY_comma: { if (priv->taskPreview) { entangle_camera_manualfocus_async(priv->camera, -64, NULL, do_camera_manualfocus_finish, manager); } } break; case GDK_KEY_period: { if (priv->taskPreview) { entangle_camera_manualfocus_async(priv->camera, 64, NULL, do_camera_manualfocus_finish, manager); } } break; case GDK_KEY_less: { if (priv->taskPreview) { entangle_camera_manualfocus_async(priv->camera, -512, NULL, do_camera_manualfocus_finish, manager); } } break; case GDK_KEY_greater: { if (priv->taskPreview) { entangle_camera_manualfocus_async(priv->camera, 512, NULL, do_camera_manualfocus_finish, manager); } } break; default: break; } return FALSE; } static void do_zoom_widget_sensitivity(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *toolzoomnormal = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-zoom-normal")); GtkWidget *toolzoombest = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-zoom-best")); GtkWidget *toolzoomin = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-zoom-in")); GtkWidget *toolzoomout = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-zoom-out")); GtkWidget *menuzoomnormal = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-zoom-normal")); GtkWidget *menuzoombest = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-zoom-best")); GtkWidget *menuzoomin = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-zoom-in")); GtkWidget *menuzoomout = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-zoom-out")); gboolean autoscale; autoscale = entangle_image_display_get_autoscale(priv->imageDisplay); if (autoscale) { gtk_widget_set_sensitive(toolzoombest, FALSE); gtk_widget_set_sensitive(toolzoomnormal, TRUE); gtk_widget_set_sensitive(toolzoomin, FALSE); gtk_widget_set_sensitive(toolzoomout, FALSE); gtk_widget_set_sensitive(menuzoombest, FALSE); gtk_widget_set_sensitive(menuzoomnormal, TRUE); gtk_widget_set_sensitive(menuzoomin, FALSE); gtk_widget_set_sensitive(menuzoomout, FALSE); } else { gtk_widget_set_sensitive(toolzoombest, TRUE); gtk_widget_set_sensitive(toolzoomnormal, priv->zoomLevel == 0 ? FALSE : TRUE); gtk_widget_set_sensitive(toolzoomin, priv->zoomLevel == 10 ? FALSE : TRUE); gtk_widget_set_sensitive(toolzoomout, priv->zoomLevel == -10 ? FALSE : TRUE); gtk_widget_set_sensitive(menuzoombest, TRUE); gtk_widget_set_sensitive(menuzoomnormal, priv->zoomLevel == 0 ? FALSE : TRUE); gtk_widget_set_sensitive(menuzoomin, priv->zoomLevel == 10 ? FALSE : TRUE); gtk_widget_set_sensitive(menuzoomout, priv->zoomLevel == -10 ? FALSE : TRUE); } } static void entangle_camera_manager_update_zoom(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->zoomLevel > 0) entangle_image_display_set_scale(priv->imageDisplay, 1.0+priv->zoomLevel); else if (priv->zoomLevel < 0) entangle_image_display_set_scale(priv->imageDisplay, 1.0/pow(1.5, -priv->zoomLevel)); else entangle_image_display_set_scale(priv->imageDisplay, 0.0); do_zoom_widget_sensitivity(manager); } static void entangle_camera_manager_zoom_in(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->zoomLevel < 10) priv->zoomLevel += 1; entangle_camera_manager_update_zoom(manager); } static void entangle_camera_manager_zoom_out(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->zoomLevel > -10) priv->zoomLevel -= 1; entangle_camera_manager_update_zoom(manager); } static void entangle_camera_manager_zoom_normal(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; priv->zoomLevel = 0; entangle_image_display_set_scale(priv->imageDisplay, 0.0); entangle_image_display_set_autoscale(priv->imageDisplay, FALSE); do_zoom_widget_sensitivity(manager); } static void entangle_camera_manager_zoom_best(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; priv->zoomLevel = 0; entangle_image_display_set_autoscale(priv->imageDisplay, TRUE); do_zoom_widget_sensitivity(manager); } void do_toolbar_zoom_in(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_in(manager); } void do_toolbar_zoom_out(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_out(manager); } void do_toolbar_zoom_normal(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_normal(manager); } void do_toolbar_zoom_best(GtkToolButton *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_best(manager); } void do_menu_zoom_in(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_in(manager); } void do_menu_zoom_out(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_out(manager); } void do_menu_zoom_normal(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_normal(manager); } void do_menu_zoom_best(GtkImageMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_zoom_best(manager); } void do_toolbar_fullscreen(GtkToggleToolButton *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-fullscreen")); GtkWidget *menubar = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menubar")); if (gtk_toggle_tool_button_get_active(src)) { if (0) gtk_widget_hide(menubar); gtk_window_fullscreen(GTK_WINDOW(manager)); } else { gtk_window_unfullscreen(GTK_WINDOW(manager)); if (0) gtk_widget_show(menubar); } if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu)) != gtk_toggle_tool_button_get_active(src)) gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), gtk_toggle_tool_button_get_active(src)); } void do_menu_fullscreen(GtkCheckMenuItem *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *tool = GTK_WIDGET(gtk_builder_get_object(priv->builder, "toolbar-fullscreen")); GtkWidget *menubar = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menubar")); if (gtk_check_menu_item_get_active(src)) { gtk_widget_hide(menubar); gtk_window_fullscreen(GTK_WINDOW(manager)); } else { gtk_window_unfullscreen(GTK_WINDOW(manager)); gtk_widget_show(menubar); } if (gtk_toggle_tool_button_get_active(GTK_TOGGLE_TOOL_BUTTON(tool)) != gtk_check_menu_item_get_active(src)) gtk_toggle_tool_button_set_active(GTK_TOGGLE_TOOL_BUTTON(tool), gtk_check_menu_item_get_active(src)); } static void do_presentation_end(EntangleImagePopup *popup G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-presentation")); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu), FALSE); } void do_menu_presentation(GtkCheckMenuItem *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (gtk_check_menu_item_get_active(src)) { if (!priv->imagePresentation) { priv->imagePresentation = entangle_image_popup_new(); g_signal_connect(priv->imagePresentation, "popup-close", G_CALLBACK(do_presentation_end), manager); } entangle_image_popup_set_image(priv->imagePresentation, priv->currentImage); entangle_image_popup_show_on_monitor(priv->imagePresentation, priv->presentationMonitor); } else if (priv->imagePresentation) { gtk_widget_hide(GTK_WIDGET(priv->imagePresentation)); g_object_unref(priv->imagePresentation); priv->imagePresentation = NULL; } } void do_menu_preferences(GtkCheckMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->prefsDisplay == NULL) { GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); priv->prefsDisplay = entangle_preferences_display_new(); gtk_application_add_window(app, GTK_WINDOW(priv->prefsDisplay)); gtk_window_set_transient_for(GTK_WINDOW(priv->prefsDisplay), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->prefsDisplay)); } void do_menu_close(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); gtk_widget_destroy(GTK_WIDGET(manager)); } void do_menu_quit(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); GtkApplication *app = gtk_window_get_application(GTK_WINDOW(manager)); GList *windows = gtk_application_get_windows(app); GList *tmp = g_list_copy(windows); while (tmp) { GtkWidget *window = GTK_WIDGET(tmp->data); gtk_widget_destroy(window); tmp = tmp->next; } g_list_free(tmp); } void do_menu_help_about(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (!priv->about) { priv->about = entangle_help_about_new(); gtk_window_set_transient_for(GTK_WINDOW(priv->about), GTK_WINDOW(manager)); } gtk_widget_show(GTK_WIDGET(priv->about)); } static void do_picker_refresh(EntangleCameraPicker *picker G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleApplication *app = ENTANGLE_APPLICATION(gtk_window_get_application(GTK_WINDOW(manager))); EntangleCameraList *list = entangle_application_get_cameras(app); entangle_camera_list_refresh(list, NULL); } static void do_picker_connect(EntangleCameraPicker *picker G_GNUC_UNUSED, EntangleCamera *cam, gpointer *data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(data); EntangleCameraManagerPrivate *priv = manager->priv; #if 0 GError *error = NULL; ENTANGLE_DEBUG("emit connect %p %s", cam, entangle_camera_get_model(cam)); if (need_camera_unmount(cam)) do_camera_unmount(cam); while (!entangle_camera_connect(cam, &error)) { int response; GtkWidget *msg = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_BUTTONS_NONE, _("Unable to connect to camera: %s"), error->message); g_error_free(error); gtk_message_dialog_format_secondary_markup(GTK_MESSAGE_DIALOG(msg), "%s", _("Check that the camera is not\n\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n")); gtk_dialog_add_button(GTK_DIALOG(msg), _("Cancel"), GTK_RESPONSE_CANCEL); gtk_dialog_add_button(GTK_DIALOG(msg), _("Retry"), GTK_RESPONSE_ACCEPT); gtk_dialog_set_default_response(GTK_DIALOG(msg), GTK_RESPONSE_ACCEPT); response = gtk_dialog_run(GTK_DIALOG(msg)); gtk_widget_destroy(msg); if (response == GTK_RESPONSE_CANCEL) return; } #endif entangle_camera_manager_set_camera(manager, cam); gtk_widget_hide(GTK_WIDGET(priv->picker)); } static void do_camera_connect(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntangleApplication *app = ENTANGLE_APPLICATION(gtk_window_get_application(GTK_WINDOW(manager))); EntangleCameraList *cameras = entangle_application_get_cameras(app); if (!priv->picker) { priv->picker = entangle_camera_picker_new(); entangle_camera_picker_set_camera_list(priv->picker, cameras); gtk_window_set_transient_for(GTK_WINDOW(priv->picker), GTK_WINDOW(manager)); g_signal_connect(priv->picker, "picker-refresh", G_CALLBACK(do_picker_refresh), manager); g_signal_connect(priv->picker, "picker-connect", G_CALLBACK(do_picker_connect), manager); } gtk_widget_show(GTK_WIDGET(priv->picker)); } void do_menu_connect(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); do_camera_connect(manager); } void do_menu_disconnect(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); entangle_camera_manager_set_camera(manager, NULL); } static void do_session_image_selected(GtkIconView *view G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; EntangleImage *img = entangle_session_browser_selected_image(priv->sessionBrowser); ENTANGLE_DEBUG("Image selection changed"); if (img) { ENTANGLE_DEBUG("Try load"); do_select_image(manager, img); g_object_unref(img); } } void do_menu_session_open_activate(GtkMenuItem *item G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; gchar *ctype = NULL; GList *files = NULL; GAppInfo *info = NULL; const gchar *filename; if (!priv->sessionBrowserImage) return; filename = entangle_image_get_filename(priv->sessionBrowserImage); ctype = g_content_type_guess(filename, NULL, 0, NULL); if (!ctype) return; info = g_app_info_get_default_for_type(ctype, FALSE); g_free(ctype); if (!info) return; files = g_list_append(files, g_file_new_for_path(filename)); g_app_info_launch(info, files, NULL, NULL); g_list_foreach(files, (GFunc)g_object_unref, NULL); g_list_free(files); } void do_menu_session_delete_activate(GtkMenuItem *item G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GError *error = NULL; if (!priv->sessionBrowserImage) return; if (!entangle_image_delete(priv->sessionBrowserImage, &error)) { do_camera_task_error(manager, _("Delete"), error); return; } entangle_session_remove(priv->session, priv->sessionBrowserImage); } static void do_session_browser_open_with_app(GtkMenuItem *src, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GAppInfo *info = g_object_get_data(G_OBJECT(src), "appinfo"); GList *files = NULL; const gchar *filename; if (!info) return; if (!priv->sessionBrowserImage) return; filename = entangle_image_get_filename(priv->sessionBrowserImage); files = g_list_append(files, g_file_new_for_path(filename)); g_app_info_launch(info, files, NULL, NULL); g_list_foreach(files, (GFunc)g_object_unref, NULL); g_list_free(files); } static void do_session_browser_open_with_select(GtkMenuItem *src G_GNUC_UNUSED, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; GtkDialog *dialog; GFile *file; GAppInfo *info; GList *files = NULL; if (!priv->sessionBrowserImage) return; file = g_file_new_for_path(entangle_image_get_filename(priv->sessionBrowserImage)); dialog = GTK_DIALOG(gtk_app_chooser_dialog_new(GTK_WINDOW(manager), GTK_DIALOG_MODAL|GTK_DIALOG_DESTROY_WITH_PARENT, file)); gtk_dialog_run(dialog); info = gtk_app_chooser_get_app_info(GTK_APP_CHOOSER(dialog)); files = g_list_append(files, file); if (info) g_app_info_launch(info, files, NULL, NULL); g_list_foreach(files, (GFunc)g_object_unref, NULL); g_list_free(files); gtk_widget_destroy(GTK_WIDGET(dialog)); } static gboolean do_session_browser_popup(EntangleSessionBrowser *browser, GdkEventButton *event, EntangleCameraManager *manager) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager), FALSE); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *open; GtkWidget *openWith; GtkMenu *appList; GtkMenuItem *child; gchar *ctype = NULL; GList *appInfoList = NULL; const gchar *filename; if (event->type != GDK_BUTTON_PRESS) return FALSE; if (event->button != 3) return FALSE; priv->sessionBrowserImage = entangle_session_browser_get_image_at_coords(browser, event->x, event->y); if (!priv->sessionBrowserImage) return FALSE; filename = entangle_image_get_filename(priv->sessionBrowserImage); open = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-session-open")); openWith = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-session-open-with")); ctype = g_content_type_guess(filename, NULL, 0, NULL); if (!ctype) goto cleanup; appInfoList = g_app_info_get_all_for_type(ctype); appList = GTK_MENU(gtk_menu_new()); if (appInfoList) { GList *tmp = appInfoList; while (tmp) { GAppInfo *appInfo = tmp->data; child = GTK_MENU_ITEM(gtk_menu_item_new_with_label (g_app_info_get_display_name(appInfo))); g_signal_connect(child, "activate", G_CALLBACK(do_session_browser_open_with_app), manager); g_object_set_data_full(G_OBJECT(child), "appinfo", appInfo, (GDestroyNotify)g_object_unref); gtk_container_add(GTK_CONTAINER(appList), GTK_WIDGET(child)); tmp = tmp->next; } g_list_free(appInfoList); child = GTK_MENU_ITEM(gtk_separator_menu_item_new()); gtk_container_add(GTK_CONTAINER(appList), GTK_WIDGET(child)); } child = GTK_MENU_ITEM(gtk_menu_item_new_with_label(_("Select application..."))); g_signal_connect(child, "activate", G_CALLBACK(do_session_browser_open_with_select), manager); gtk_container_add(GTK_CONTAINER(appList), GTK_WIDGET(child)); gtk_widget_show_all(GTK_WIDGET(appList)); gtk_menu_item_set_submenu(GTK_MENU_ITEM(openWith), GTK_WIDGET(appList)); gtk_menu_popup(priv->sessionBrowserMenu, NULL, NULL, NULL, NULL, event->button, event->time); cleanup: gtk_widget_set_sensitive(GTK_WIDGET(open), ctype && appInfoList ? TRUE : FALSE); return TRUE; } static void do_popup_close(EntangleImagePopup *popup, EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_IMAGE_POPUP(popup)); g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; EntangleImage *img = entangle_image_popup_get_image(popup); const char *filename = entangle_image_get_filename(img); g_hash_table_remove(priv->popups, filename); entangle_pixbuf_loader_unload(ENTANGLE_PIXBUF_LOADER(priv->imageLoader), img); } static void do_session_browser_drag_failed(GtkWidget *widget G_GNUC_UNUSED, GdkDragContext *ctx G_GNUC_UNUSED, GtkDragResult res, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; if (res == GTK_DRAG_RESULT_NO_TARGET) { EntangleImage *img = entangle_session_browser_selected_image(priv->sessionBrowser); if (img) { GdkScreen *screen; GdkDevice *dev; GdkDeviceManager *devmgr; int x, y; devmgr = gdk_display_get_device_manager(gtk_widget_get_display(widget)); dev = gdk_device_manager_get_client_pointer(devmgr); gdk_device_get_position(dev, &screen, &x, &y); const gchar *filename = entangle_image_get_filename(img); EntangleImagePopup *pol; if (!(pol = g_hash_table_lookup(priv->popups, filename))) { pol = entangle_image_popup_new(); entangle_image_popup_set_image(pol, img); g_signal_connect(pol, "hide", G_CALLBACK(do_popup_close), manager); g_hash_table_insert(priv->popups, g_strdup(filename), pol); entangle_pixbuf_loader_load(ENTANGLE_PIXBUF_LOADER(priv->imageLoader), img); } ENTANGLE_DEBUG("Popup %p for %s", pol, filename); entangle_image_popup_show(pol, GTK_WINDOW(manager), x, y); g_object_unref(img); } } } static void do_pixbuf_loaded(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); GdkPixbuf *pixbuf = entangle_pixbuf_loader_get_pixbuf(loader, image); entangle_image_set_pixbuf(image, pixbuf); } static void do_metadata_loaded(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); GExiv2Metadata *metadata = entangle_pixbuf_loader_get_metadata(loader, image); entangle_image_set_metadata(image, metadata); } static void do_pixbuf_unloaded(EntanglePixbufLoader *loader G_GNUC_UNUSED, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); entangle_image_set_pixbuf(image, NULL); } static void do_metadata_unloaded(EntanglePixbufLoader *loader G_GNUC_UNUSED, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); entangle_image_set_metadata(image, NULL); } static gboolean do_image_status_hide(gpointer data) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data), FALSE); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; entangle_auto_drawer_set_pinned(ENTANGLE_AUTO_DRAWER(priv->imageDrawer), FALSE); priv->imageDrawerTimer = 0; return FALSE; } static void do_image_status_show(GtkWidget *widget G_GNUC_UNUSED, GdkEvent *event G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(data)); EntangleCameraManager *manager = data; EntangleCameraManagerPrivate *priv = manager->priv; entangle_auto_drawer_set_pinned(ENTANGLE_AUTO_DRAWER(priv->imageDrawer), TRUE); if (priv->imageDrawerTimer) g_source_remove(priv->imageDrawerTimer); priv->imageDrawerTimer = g_timeout_add_seconds(3, do_image_status_hide, manager); } static void do_entangle_camera_manager_hide(EntangleCameraManager *manager) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; entangle_camera_manager_set_camera(manager, NULL); ENTANGLE_DEBUG("Removing all popups"); g_hash_table_remove_all(priv->popups); } static void do_entangle_camera_manager_set_builder(EntangleWindow *window, GtkBuilder *builder) { EntangleCameraManager *manager = ENTANGLE_CAMERA_MANAGER(window); EntangleCameraManagerPrivate *priv = manager->priv; GtkWidget *display; GtkWidget *iconScroll; GtkWidget *settingsBox; GtkWidget *settingsViewport; GtkWidget *menu; GtkWidget *monitorMenu; GtkWidget *imageViewport; priv->builder = g_object_ref(builder); menu = GTK_WIDGET(gtk_builder_get_object(priv->builder, "menu-monitor")); monitorMenu = entangle_camera_manager_monitor_menu(manager); gtk_menu_item_set_submenu(GTK_MENU_ITEM(menu), monitorMenu); imageViewport = gtk_viewport_new(NULL, NULL); priv->imageScroll = GTK_SCROLLED_WINDOW (gtk_scrolled_window_new(gtk_scrollable_get_hadjustment(GTK_SCROLLABLE(imageViewport)), gtk_scrollable_get_vadjustment(GTK_SCROLLABLE(imageViewport)))); gtk_container_add(GTK_CONTAINER(priv->imageScroll), imageViewport); priv->imageLoader = entangle_image_loader_new(); priv->thumbLoader = entangle_thumbnail_loader_new(140, 140); g_signal_connect(priv->imageLoader, "pixbuf-loaded", G_CALLBACK(do_pixbuf_loaded), NULL); g_signal_connect(priv->imageLoader, "metadata-loaded", G_CALLBACK(do_metadata_loaded), NULL); g_signal_connect(priv->imageLoader, "pixbuf-unloaded", G_CALLBACK(do_pixbuf_unloaded), NULL); g_signal_connect(priv->imageLoader, "metadata-unloaded", G_CALLBACK(do_metadata_unloaded), NULL); priv->imageDisplay = entangle_image_display_new(); priv->imageStatusbar = entangle_image_statusbar_new(); priv->imageDrawer = entangle_auto_drawer_new(); priv->sessionBrowser = entangle_session_browser_new(); priv->sessionBrowserMenu = GTK_MENU(gtk_builder_get_object(priv->builder, "menu-session-browser")); priv->controlPanel = entangle_control_panel_new(); priv->imageHistogram = entangle_image_histogram_new(); gtk_widget_show(GTK_WIDGET(priv->imageHistogram)); g_object_set(priv->sessionBrowser, "thumbnail-loader", priv->thumbLoader, NULL); g_signal_connect(priv->imageDisplay, "size-allocate", G_CALLBACK(do_restore_scroll), manager); g_signal_connect(priv->sessionBrowser, "selection-changed", G_CALLBACK(do_session_image_selected), manager); g_signal_connect(priv->sessionBrowser, "button-press-event", G_CALLBACK(do_session_browser_popup), manager); g_signal_connect(priv->sessionBrowser, "drag-failed", G_CALLBACK(do_session_browser_drag_failed), manager); settingsBox = GTK_WIDGET(gtk_builder_get_object(priv->builder, "settings-box")); settingsViewport = GTK_WIDGET(gtk_builder_get_object(priv->builder, "settings-viewport")); display = GTK_WIDGET(gtk_builder_get_object(priv->builder, "display-panel")); iconScroll = gtk_scrolled_window_new(NULL, NULL); gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(iconScroll), GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); /* XXX match icon size + padding + scrollbar needs */ gtk_widget_set_size_request(settingsBox, 300, 100); gtk_widget_set_size_request(iconScroll, 140, 170); priv->popups = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, g_object_unref); gtk_container_add(GTK_CONTAINER(imageViewport), GTK_WIDGET(priv->imageDisplay)); entangle_overlay_box_set_over(ENTANGLE_OVERLAY_BOX(priv->imageDrawer), GTK_WIDGET(priv->imageStatusbar)); entangle_overlay_box_set_under(ENTANGLE_OVERLAY_BOX(priv->imageDrawer), GTK_WIDGET(priv->imageScroll)); entangle_auto_drawer_set_offset(priv->imageDrawer, -1); entangle_auto_drawer_set_fill(priv->imageDrawer, TRUE); entangle_auto_drawer_set_overlap_pixels(priv->imageDrawer, 1); entangle_auto_drawer_set_no_overlap_pixels(priv->imageDrawer, 0); entangle_drawer_set_speed(ENTANGLE_DRAWER(priv->imageDrawer), 20, 0.05); gtk_widget_show(GTK_WIDGET(priv->imageDrawer)); gtk_widget_show(GTK_WIDGET(priv->imageStatusbar)); entangle_auto_drawer_set_active(priv->imageDrawer, TRUE); gtk_widget_realize(GTK_WIDGET(manager)); GdkWindow *imgWin = gtk_widget_get_window(GTK_WIDGET(manager)); gdk_window_set_events(imgWin, gdk_window_get_events(imgWin) | GDK_POINTER_MOTION_MASK); g_signal_connect(manager, "motion-notify-event", G_CALLBACK(do_image_status_show), manager); ENTANGLE_DEBUG("Adding %p to %p", priv->imageDisplay, imageViewport); gtk_paned_pack1(GTK_PANED(display), GTK_WIDGET(priv->imageDrawer), TRUE, TRUE); gtk_paned_pack2(GTK_PANED(display), GTK_WIDGET(iconScroll), FALSE, TRUE); gtk_widget_show_all(display); gtk_container_add(GTK_CONTAINER(iconScroll), GTK_WIDGET(priv->sessionBrowser)); gtk_container_add(GTK_CONTAINER(settingsViewport), GTK_WIDGET(priv->controlPanel)); gtk_box_pack_start(GTK_BOX(settingsBox), GTK_WIDGET(priv->imageHistogram), FALSE, TRUE, 0); priv->monitorCancel = g_cancellable_new(); priv->taskCancel = g_cancellable_new(); priv->taskConfirm = g_cancellable_new(); do_zoom_widget_sensitivity(manager); do_capture_widget_sensitivity(manager); gtk_widget_show(GTK_WIDGET(manager)); gtk_widget_show(GTK_WIDGET(priv->controlPanel)); gtk_widget_show(GTK_WIDGET(priv->imageDisplay)); gtk_widget_show(GTK_WIDGET(priv->sessionBrowser)); g_signal_connect(manager, "hide", G_CALLBACK(do_entangle_camera_manager_hide), NULL); } static void entangle_camera_manager_init(EntangleCameraManager *manager) { EntangleCameraManagerPrivate *priv; priv = manager->priv = ENTANGLE_CAMERA_MANAGER_GET_PRIVATE(manager); priv->imageScrollHOffset = 0; priv->imageScrollVOffset = 0; g_signal_connect(manager, "notify::application", G_CALLBACK(do_entangle_camera_manager_set_app), NULL); } EntangleCameraManager *entangle_camera_manager_new(void) { return ENTANGLE_CAMERA_MANAGER(entangle_window_new(ENTANGLE_TYPE_CAMERA_MANAGER, GTK_TYPE_WINDOW, "camera-manager")); } static void do_camera_disconnect_finish(GObject *source, GAsyncResult *result, gpointer opaque G_GNUC_UNUSED) { EntangleCamera *cam = ENTANGLE_CAMERA(source); GError *error = NULL; if (entangle_camera_disconnect_finish(cam, result, &error)) { ENTANGLE_DEBUG("Unable to disconnect from camera"); } } void entangle_camera_manager_set_camera(EntangleCameraManager *manager, EntangleCamera *cam) { g_return_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager)); EntangleCameraManagerPrivate *priv = manager->priv; if (priv->camera) { do_remove_camera(manager); entangle_camera_disconnect_async(priv->camera, NULL, do_camera_disconnect_finish, manager); g_object_unref(priv->camera); } priv->camera = cam; priv->cameraReady = FALSE; if (priv->camera) { g_object_ref(priv->camera); do_add_camera(manager); } do_capture_widget_sensitivity(manager); } EntangleCamera *entangle_camera_manager_get_camera(EntangleCameraManager *manager) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_MANAGER(manager), NULL); EntangleCameraManagerPrivate *priv = manager->priv; return priv->camera; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-histogram.h0000664000000000000000000000544212253420652017643 00000000000000/* * Entangle: Entangle Assists Photograph Aquisition * * Copyright (C) 2009 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_HISTOGRAM_H__ #define __ENTANGLE_IMAGE_HISTOGRAM_H__ #include #include "entangle-image-loader.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE_HISTOGRAM (entangle_image_histogram_get_type ()) #define ENTANGLE_IMAGE_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE_HISTOGRAM, EntangleImageHistogram)) #define ENTANGLE_IMAGE_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE_HISTOGRAM, EntangleImageHistogramClass)) #define ENTANGLE_IS_IMAGE_HISTOGRAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE_HISTOGRAM)) #define ENTANGLE_IS_IMAGE_HISTOGRAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE_HISTOGRAM)) #define ENTANGLE_IMAGE_HISTOGRAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE_HISTOGRAM, EntangleImageHistogramClass)) typedef struct _EntangleImageHistogram EntangleImageHistogram; typedef struct _EntangleImageHistogramPrivate EntangleImageHistogramPrivate; typedef struct _EntangleImageHistogramClass EntangleImageHistogramClass; struct _EntangleImageHistogram { GtkDrawingArea parent; EntangleImageHistogramPrivate *priv; }; struct _EntangleImageHistogramClass { GtkDrawingAreaClass parent_class; }; GType entangle_image_histogram_get_type(void) G_GNUC_CONST; EntangleImageHistogram* entangle_image_histogram_new(void); void entangle_image_histogram_set_image(EntangleImageHistogram *histogram, EntangleImage *image); EntangleImage *entangle_image_histogram_get_image(EntangleImageHistogram *histogram); void entangle_image_histogram_set_histogram_linear(EntangleImageHistogram *histogram, gboolean linear); gboolean entangle_image_histogram_get_histogram_linear(EntangleImageHistogram *histogram); G_END_DECLS #endif /* __ENTANGLE_IMAGE_HISTOGRAM_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-display.h0000664000000000000000000001115112253420652017305 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_DISPLAY_H__ #define __ENTANGLE_IMAGE_DISPLAY_H__ #include #include "entangle-image-loader.h" #include "entangle-image-display-enums.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE_DISPLAY (entangle_image_display_get_type ()) #define ENTANGLE_IMAGE_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE_DISPLAY, EntangleImageDisplay)) #define ENTANGLE_IMAGE_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE_DISPLAY, EntangleImageDisplayClass)) #define ENTANGLE_IS_IMAGE_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE_DISPLAY)) #define ENTANGLE_IS_IMAGE_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE_DISPLAY)) #define ENTANGLE_IMAGE_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE_DISPLAY, EntangleImageDisplayClass)) typedef struct _EntangleImageDisplay EntangleImageDisplay; typedef struct _EntangleImageDisplayPrivate EntangleImageDisplayPrivate; typedef struct _EntangleImageDisplayClass EntangleImageDisplayClass; struct _EntangleImageDisplay { GtkDrawingArea parent; EntangleImageDisplayPrivate *priv; }; struct _EntangleImageDisplayClass { GtkDrawingAreaClass parent_class; }; GType entangle_image_display_get_type(void) G_GNUC_CONST; EntangleImageDisplay* entangle_image_display_new(void); void entangle_image_display_set_image(EntangleImageDisplay *display, EntangleImage *image); EntangleImage *entangle_image_display_get_image(EntangleImageDisplay *display); void entangle_image_display_set_image_list(EntangleImageDisplay *display, GList *image); GList *entangle_image_display_get_image_list(EntangleImageDisplay *display); void entangle_image_display_set_autoscale(EntangleImageDisplay *displsy, gboolean autoscale); gboolean entangle_image_display_get_autoscale(EntangleImageDisplay *display); void entangle_image_display_set_scale(EntangleImageDisplay *display, gdouble scale); gdouble entangle_image_display_get_scale(EntangleImageDisplay *display); void entangle_image_display_set_aspect_ratio(EntangleImageDisplay *display, gdouble aspect); gdouble entangle_image_display_get_aspect_ratio(EntangleImageDisplay *display); void entangle_image_display_set_mask_opacity(EntangleImageDisplay *display, gdouble opacity); gdouble entangle_image_display_get_mask_opacity(EntangleImageDisplay *display); void entangle_image_display_set_mask_enabled(EntangleImageDisplay *display, gboolean enabled); gboolean entangle_image_display_get_mask_enabled(EntangleImageDisplay *display); void entangle_image_display_set_focus_point(EntangleImageDisplay *display, gboolean enabled); gboolean entangle_image_display_get_focus_point(EntangleImageDisplay *display); gboolean entangle_image_display_get_loaded(EntangleImageDisplay *display); typedef enum { ENTANGLE_IMAGE_DISPLAY_GRID_NONE, ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES, ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS, ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS, ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS, ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS, } EntangleImageDisplayGrid; void entangle_image_display_set_grid_display(EntangleImageDisplay *display, EntangleImageDisplayGrid mode); EntangleImageDisplayGrid entangle_image_display_get_grid_display(EntangleImageDisplay *display); G_END_DECLS #endif /* __ENTANGLE_IMAGE_DISPLAY_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-image-display.c0000664000000000000000000010462012253420652017304 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include "entangle-debug.h" #include "entangle-image-display.h" #include "entangle-image.h" #define ENTANGLE_IMAGE_DISPLAY_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE_DISPLAY, EntangleImageDisplayPrivate)) struct _EntangleImageDisplayPrivate { GList *images; cairo_surface_t *pixmap; gboolean autoscale; gdouble scale; gdouble aspectRatio; gdouble maskOpacity; gboolean maskEnabled; gboolean focusPoint; EntangleImageDisplayGrid gridDisplay; }; G_DEFINE_TYPE(EntangleImageDisplay, entangle_image_display, GTK_TYPE_DRAWING_AREA); enum { PROP_O, PROP_IMAGE, PROP_AUTOSCALE, PROP_SCALE, PROP_ASPECT_RATIO, PROP_MASK_OPACITY, PROP_MASK_ENABLED, PROP_FOCUS_POINT, PROP_GRID_DISPLAY, }; static void entangle_image_display_image_pixbuf_notify(GObject *image, GParamSpec *pspec, gpointer data); static void do_entangle_image_display_render_pixmap(EntangleImageDisplay *display) { EntangleImageDisplayPrivate *priv = display->priv; int width, height; GdkPixbuf *pixbuf = NULL; GList *tmp = priv->images; EntangleImage *image = ENTANGLE_IMAGE(priv->images->data); ENTANGLE_DEBUG("Setting up server pixmap for %p %s", image, entangle_image_get_filename(image)); image = ENTANGLE_IMAGE(tmp->data); pixbuf = entangle_image_get_pixbuf(image); width = gdk_pixbuf_get_width(pixbuf); height = gdk_pixbuf_get_height(pixbuf); priv->pixmap = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); /* Paint the stack of images - the first one * is completely opaque and determine the base * dimensions. Others are scaled layers on top. */ cairo_t *cr = cairo_create(priv->pixmap); while (tmp) { int pw, ph; image = ENTANGLE_IMAGE(tmp->data); pixbuf = entangle_image_get_pixbuf(image); pw = gdk_pixbuf_get_width(pixbuf); ph = gdk_pixbuf_get_height(pixbuf); if (pw != width || ph != height) { GdkPixbuf *scaled; scaled = gdk_pixbuf_scale_simple(pixbuf, width, height, GDK_INTERP_BILINEAR); gdk_cairo_set_source_pixbuf(cr, scaled, 0, 0); g_object_unref(scaled); } else { gdk_cairo_set_source_pixbuf(cr, pixbuf, 0, 0); } if (tmp == priv->images) cairo_paint(cr); else if (tmp->next) cairo_paint_with_alpha(cr, 0.3); else cairo_paint_with_alpha(cr, 0.65); tmp = tmp->next; } cairo_destroy(cr); } static void entangle_image_display_try_render_pixmap(EntangleImageDisplay *display) { EntangleImageDisplayPrivate *priv = display->priv; GList *tmp = priv->images; gboolean missing = FALSE; if (!gtk_widget_get_realized(GTK_WIDGET(display))) { ENTANGLE_DEBUG("Skipping setup for non-realized widget"); return; } if (priv->pixmap) { cairo_surface_destroy(priv->pixmap); priv->pixmap = NULL; } if (!priv->images) return; while (tmp) { EntangleImage *image = tmp->data; if (entangle_image_get_pixbuf(image) == NULL) missing = TRUE; tmp = tmp->next; } if (!missing) { do_entangle_image_display_render_pixmap(display); } else { ENTANGLE_DEBUG("Not ready to render yet"); } } static void entangle_image_display_image_pixbuf_notify(GObject *object G_GNUC_UNUSED, GParamSpec *pspec G_GNUC_UNUSED, gpointer data) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(data)); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(data); entangle_image_display_try_render_pixmap(display); gtk_widget_queue_resize(GTK_WIDGET(display)); gtk_widget_queue_draw(GTK_WIDGET(display)); } static void do_entangle_image_display_connect(EntangleImageDisplay *display, EntangleImage *image) { g_signal_connect(image, "notify::pixbuf", G_CALLBACK(entangle_image_display_image_pixbuf_notify), display); entangle_image_display_try_render_pixmap(display); } static void entangle_image_display_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(object); EntangleImageDisplayPrivate *priv = display->priv; switch (prop_id) { case PROP_AUTOSCALE: g_value_set_boolean(value, priv->autoscale); break; case PROP_SCALE: g_value_set_float(value, priv->scale); break; case PROP_ASPECT_RATIO: g_value_set_float(value, priv->aspectRatio); break; case PROP_MASK_OPACITY: g_value_set_float(value, priv->maskOpacity); break; case PROP_MASK_ENABLED: g_value_set_boolean(value, priv->maskEnabled); break; case PROP_FOCUS_POINT: g_value_set_boolean(value, priv->focusPoint); break; case PROP_GRID_DISPLAY: g_value_set_enum(value, priv->gridDisplay); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_display_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(object); ENTANGLE_DEBUG("Set prop on image display %d", prop_id); switch (prop_id) { case PROP_AUTOSCALE: entangle_image_display_set_autoscale(display, g_value_get_boolean(value)); break; case PROP_SCALE: entangle_image_display_set_scale(display, g_value_get_float(value)); break; case PROP_ASPECT_RATIO: entangle_image_display_set_aspect_ratio(display, g_value_get_float(value)); break; case PROP_MASK_OPACITY: entangle_image_display_set_mask_opacity(display, g_value_get_float(value)); break; case PROP_MASK_ENABLED: entangle_image_display_set_mask_enabled(display, g_value_get_boolean(value)); break; case PROP_FOCUS_POINT: entangle_image_display_set_focus_point(display, g_value_get_boolean(value)); break; case PROP_GRID_DISPLAY: entangle_image_display_set_grid_display(display, g_value_get_enum(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_display_finalize(GObject *object) { EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(object); EntangleImageDisplayPrivate *priv = display->priv; GList *tmp = priv->images; while (tmp) { EntangleImage *image = tmp->data; g_signal_handlers_disconnect_by_data(image, display); g_object_unref(image); tmp = tmp->next; } g_list_free(priv->images); if (priv->pixmap) cairo_surface_destroy(priv->pixmap); G_OBJECT_CLASS(entangle_image_display_parent_class)->finalize(object); } static void entangle_image_display_realize(GtkWidget *widget) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget)); GTK_WIDGET_CLASS(entangle_image_display_parent_class)->realize(widget); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(widget); entangle_image_display_try_render_pixmap(display); } static void entangle_image_display_draw_focus_point(GtkWidget *widget, cairo_t *cr) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget)); gint ww, wh, cx, cy; ww = gdk_window_get_width(gtk_widget_get_window(widget)); wh = gdk_window_get_height(gtk_widget_get_window(widget)); cx = ww / 2; cy = wh / 2; cairo_set_source_rgba(cr, 0.7, 0, 0, 1); #define SIZE 12 #define GAP 4 #define WIDTH 3 /* top left */ cairo_move_to(cr, cx - SIZE, cy - SIZE); cairo_line_to(cr, cx - GAP, cy - SIZE); cairo_line_to(cr, cx - GAP, cy - SIZE + WIDTH); cairo_line_to(cr, cx - SIZE + WIDTH, cy - SIZE + WIDTH); cairo_line_to(cr, cx - SIZE + WIDTH, cy - GAP); cairo_line_to(cr, cx - SIZE, cy - GAP); cairo_move_to(cr, cx - SIZE, cy - SIZE); cairo_fill(cr); /* top right */ cairo_move_to(cr, cx + GAP, cy - SIZE); cairo_line_to(cr, cx + SIZE, cy - SIZE); cairo_line_to(cr, cx + SIZE, cy - GAP); cairo_line_to(cr, cx + SIZE - WIDTH, cy - GAP); cairo_line_to(cr, cx + SIZE - WIDTH, cy - SIZE + WIDTH); cairo_line_to(cr, cx + GAP, cy - SIZE + WIDTH); cairo_move_to(cr, cx + GAP, cy - SIZE); cairo_fill(cr); /* bottom left */ cairo_move_to(cr, cx - SIZE, cy + SIZE); cairo_line_to(cr, cx - SIZE, cy + GAP); cairo_line_to(cr, cx - SIZE + WIDTH, cy + GAP); cairo_line_to(cr, cx - SIZE + WIDTH, cy + SIZE - WIDTH); cairo_line_to(cr, cx - GAP, cy + SIZE - WIDTH); cairo_line_to(cr, cx - GAP, cy + SIZE); cairo_line_to(cr, cx - SIZE, cy + SIZE); cairo_fill(cr); /* bottom right */ cairo_move_to(cr, cx + WIDTH, cy + SIZE); cairo_line_to(cr, cx + SIZE, cy + SIZE); cairo_line_to(cr, cx + SIZE, cy + WIDTH); cairo_line_to(cr, cx + SIZE - WIDTH, cy + WIDTH); cairo_line_to(cr, cx + SIZE - WIDTH, cy + SIZE - WIDTH); cairo_line_to(cr, cx + WIDTH, cy + SIZE - WIDTH); cairo_line_to(cr, cx + WIDTH, cy + SIZE); cairo_fill(cr); } static void entangle_image_display_draw_grid_display(GtkWidget *widget, cairo_t *cr, gdouble mx, gdouble my) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget)); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(widget); EntangleImageDisplayPrivate *priv = display->priv; gint ww = gdk_window_get_width(gtk_widget_get_window(widget)); gint wh = gdk_window_get_height(gtk_widget_get_window(widget)); gdouble cx = (ww - (mx * 2))/2.0; gdouble cy = (wh - (my * 2))/2.0; gdouble offx[4], offy[4]; gint count; gint i; cairo_set_source_rgba(cr, 0.7, 0, 0, 1); if (priv->focusPoint) { /* Cut out the area where the focus point lives * to avoid lines going through it */ cairo_rectangle(cr, mx, my, ww - (mx * 2), wh - (my * 2)); cairo_rectangle(cr, ww - mx - cx + SIZE, my + cy - SIZE, -1 * SIZE * 2, SIZE * 2); cairo_clip(cr); } switch (priv->gridDisplay) { case ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES: count = 1; offx[0] = (ww - (mx * 2)) / 2; offy[0] = (wh - (my * 2)) / 2; break; case ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS: count = 2; offx[0] = (ww - (mx * 2)) / 3; offy[0] = (wh - (my * 2)) / 3; offx[1] = (ww - (mx * 2)) / 3 * 2; offy[1] = (wh - (my * 2)) / 3 * 2; break; case ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS: count = 3; offx[0] = (ww - (mx * 2)) / 4; offy[0] = (wh - (my * 2)) / 4; offx[1] = (ww - (mx * 2)) / 4 * 2; offy[1] = (wh - (my * 2)) / 4 * 2; offx[2] = (ww - (mx * 2)) / 4 * 3; offy[2] = (wh - (my * 2)) / 4 * 3; break; case ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS: count = 4; offx[0] = (ww - (mx * 2)) / 5; offy[0] = (wh - (my * 2)) / 5; offx[1] = (ww - (mx * 2)) / 5 * 2; offy[1] = (wh - (my * 2)) / 5 * 2; offx[2] = (ww - (mx * 2)) / 5 * 3; offy[2] = (wh - (my * 2)) / 5 * 3; offx[3] = (ww - (mx * 2)) / 5 * 4; offy[3] = (wh - (my * 2)) / 5 * 4; break; case ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS: count = 2; offx[0] = (ww - (mx * 2)) / 100 * 38; offy[0] = (wh - (my * 2)) / 100 * 38; offx[1] = (ww - (mx * 2)) / 100 * 62; offy[1] = (wh - (my * 2)) / 100 * 62; break; case ENTANGLE_IMAGE_DISPLAY_GRID_NONE: default: count = 0; break; } for (i = 0; i < count; i++) { /* Horizontal line */ cairo_move_to(cr, mx, my + offy[i] - 1); cairo_line_to(cr, ww - mx, my + offy[i] - 1); cairo_line_to(cr, ww - mx, my + offy[i]); cairo_line_to(cr, mx, my + offy[i]); cairo_line_to(cr, mx, my + offy[i] - 1); cairo_fill(cr); /* Vertical line */ cairo_move_to(cr, mx + offx[i] - 1, my); cairo_line_to(cr, mx + offx[i], my); cairo_line_to(cr, mx + offx[i], wh - my); cairo_line_to(cr, mx + offx[i] - 1, wh - my); cairo_line_to(cr, mx + offx[i] - 1, my); cairo_fill(cr); } } static gboolean entangle_image_display_draw(GtkWidget *widget, cairo_t *cr) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget), FALSE); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(widget); EntangleImageDisplayPrivate *priv = display->priv; int ww, wh; /* Available drawing area extents */ int pw = 0, ph = 0; /* Original image size */ double iw, ih; /* Desired image size */ double mx = 0, my = 0; /* Offset of image within available area */ double sx = 1, sy = 1; /* Amount to scale by */ double aspectWin, aspectImage = 0.0; ww = gdk_window_get_width(gtk_widget_get_window(widget)); wh = gdk_window_get_height(gtk_widget_get_window(widget)); aspectWin = (double)ww / (double)wh; if (priv->pixmap) { pw = cairo_image_surface_get_width(priv->pixmap); ph = cairo_image_surface_get_height(priv->pixmap); aspectImage = (double)pw / (double)ph; } /* Decide what size we're going to draw the image */ if (priv->autoscale) { if (aspectWin > aspectImage) { /* Match drawn height to widget height, scale width preserving aspect */ ih = (double)wh; iw = (double)ih * aspectImage; } else if (aspectWin < aspectImage) { /* Match drawn width to widget width, scale height preserving aspect */ iw = (double)ww; ih = (double)iw / aspectImage; } else { /* Match drawn size to widget size */ iw = (double)ww; ih = (double)wh; } } else { if (priv->scale > 0) { /* Scale image larger */ iw = (double)pw * priv->scale; ih = (double)ph * priv->scale; } else { /* Use native image size */ iw = (double)pw; ih = (double)ph; } } /* Calculate any offset within available area */ mx = (ww - iw)/2; my = (wh - ih)/2; /* Calculate the scale factor for drawing */ sx = iw / pw; sy = ih / ph; ENTANGLE_DEBUG("Got win %dx%d image %dx%d, autoscale=%d scale=%lf", ww, wh, pw, ph, priv->autoscale ? 1 : 0, priv->scale); ENTANGLE_DEBUG("Drawing image %lf,%lf at %lf %lf sclaed %lfx%lf", iw, ih, mx, my, sx, sy); /* We need to fill the background first */ cairo_rectangle(cr, 0, 0, ww, wh); /* Next cut out the inner area where the pixmap will be drawn. This avoids 'flashing' since we're not double-buffering. Note we're using the undocumented behaviour of drawing the rectangle from right to left to cut out the whole */ if (priv->pixmap) cairo_rectangle(cr, mx + iw, my, -1 * iw, ih); cairo_fill(cr); /* Draw the actual image(s) */ if (priv->pixmap) { cairo_matrix_t m; cairo_get_matrix(cr, &m); cairo_scale(cr, sx, sy); cairo_set_source_surface(cr, priv->pixmap, mx/sx, my/sy); cairo_paint(cr); cairo_set_matrix(cr, &m); } /* Draw the focus point */ if (priv->focusPoint) entangle_image_display_draw_focus_point(widget, cr); /* Draw the grid lines */ entangle_image_display_draw_grid_display(widget, cr, mx, my); /* Finally a possible aspect ratio mask */ if (priv->pixmap && priv->maskEnabled && (fabs(priv->aspectRatio - aspectImage) > 0.005)) { cairo_set_source_rgba(cr, 0, 0, 0, priv->maskOpacity); if (priv->aspectRatio > aspectImage) { /* mask top & bottom */ double ah = (ih - (iw / priv->aspectRatio)) / 2; cairo_rectangle(cr, mx, my, iw, ah); cairo_fill(cr); cairo_rectangle(cr, mx, my + ih - ah, iw, ah); cairo_fill(cr); } else { /* mask left & right */ double aw = (iw - (ih * priv->aspectRatio)) / 2; cairo_rectangle(cr, mx, my, aw, ih); cairo_fill(cr); cairo_rectangle(cr, mx + iw - aw, my, aw, ih); cairo_fill(cr); } } return TRUE; } static void entangle_image_display_get_preferred_width(GtkWidget *widget, gint *minwidth, gint *natwidth) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget)); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(widget); EntangleImageDisplayPrivate *priv = display->priv; GdkPixbuf *pixbuf = NULL; EntangleImage *image = entangle_image_display_get_image(display); if (image) pixbuf = entangle_image_get_pixbuf(image); if (!pixbuf) { *minwidth = *natwidth = 100; ENTANGLE_DEBUG("No image, size request 100,100"); return; } if (priv->autoscale) { /* For best fit mode, we'll say 100x100 is the smallest we're happy * to draw to. Whatever the container allocates us beyond that will * be used filled with the image */ *minwidth = *natwidth = 100; } else { /* Start a 1-to-1 mode */ *minwidth = *natwidth = gdk_pixbuf_get_width(pixbuf); if (priv->scale > 0) { /* Scaling mode */ *minwidth = *natwidth = (int)((double)*minwidth * priv->scale); } } } static void entangle_image_display_get_preferred_height(GtkWidget *widget, gint *minheight, gint *natheight) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(widget)); EntangleImageDisplay *display = ENTANGLE_IMAGE_DISPLAY(widget); EntangleImageDisplayPrivate *priv = display->priv; GdkPixbuf *pixbuf = NULL; EntangleImage *image = entangle_image_display_get_image(display); if (image) pixbuf = entangle_image_get_pixbuf(image); if (!pixbuf) { *minheight = *natheight = 100; ENTANGLE_DEBUG("No image, size request 100,100"); return; } if (priv->autoscale) { /* For best fit mode, we'll say 100x100 is the smallest we're happy * to draw to. Whatever the container allocates us beyond that will * be used filled with the image */ *minheight = *natheight = 100; } else { /* Start a 1-to-1 mode */ *minheight = *natheight = gdk_pixbuf_get_height(pixbuf); if (priv->scale > 0) { /* Scaling mode */ *minheight = *natheight = (int)((double)*minheight * priv->scale); } } } static void entangle_image_display_class_init(EntangleImageDisplayClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS(klass); object_class->finalize = entangle_image_display_finalize; object_class->get_property = entangle_image_display_get_property; object_class->set_property = entangle_image_display_set_property; widget_class->realize = entangle_image_display_realize; widget_class->draw = entangle_image_display_draw; widget_class->get_preferred_width = entangle_image_display_get_preferred_width; widget_class->get_preferred_height = entangle_image_display_get_preferred_height; g_object_class_install_property(object_class, PROP_IMAGE, g_param_spec_object("image", "Image", "Image", ENTANGLE_TYPE_IMAGE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_AUTOSCALE, g_param_spec_boolean("autoscale", "Automatic scaling", "Automatically scale image to fit available area", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_SCALE, g_param_spec_float("scale", "Scale image", "Scale factor for image, 0-1 for zoom out, 1->32 for zoom in", 0.0, 32.0, 0.0, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_ASPECT_RATIO, g_param_spec_float("aspect-ratio", "Aspect ratio", "Aspect ratio to mask image to", 0.0, 100.0, 1.69, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_MASK_OPACITY, g_param_spec_float("mask-opacity", "Mask opacity", "Mask opacity when adjusting aspect ratio", 0.0, 1.0, 0.5, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_MASK_ENABLED, g_param_spec_boolean("mask-enabled", "Mask enabled", "Enable aspect ratio image mask", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_FOCUS_POINT, g_param_spec_boolean("focus-point", "Focus point", "Overlay center focus point", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_GRID_DISPLAY, g_param_spec_enum("grid-display", "Grid display", "Grid line display", ENTANGLE_TYPE_IMAGE_DISPLAY_GRID, ENTANGLE_IMAGE_DISPLAY_GRID_NONE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleImageDisplayPrivate)); } EntangleImageDisplay *entangle_image_display_new(void) { return ENTANGLE_IMAGE_DISPLAY(g_object_new(ENTANGLE_TYPE_IMAGE_DISPLAY, NULL)); } static void entangle_image_display_init(EntangleImageDisplay *display) { EntangleImageDisplayPrivate *priv; priv = display->priv = ENTANGLE_IMAGE_DISPLAY_GET_PRIVATE(display); priv->autoscale = TRUE; priv->maskOpacity = 0.9; priv->aspectRatio = 1.33; priv->maskEnabled = FALSE; } void entangle_image_display_set_image(EntangleImageDisplay *display, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); g_return_if_fail(!image || ENTANGLE_IS_IMAGE(image)); GList *tmp = g_list_append(NULL, image); entangle_image_display_set_image_list(display, tmp); g_list_free(tmp); } EntangleImage *entangle_image_display_get_image(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), NULL); EntangleImageDisplayPrivate *priv = display->priv; if (!priv->images) return NULL; return ENTANGLE_IMAGE(priv->images->data); } void entangle_image_display_set_image_list(EntangleImageDisplay *display, GList *images) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; GList *tmp; tmp = priv->images; while (tmp) { EntangleImage *image = ENTANGLE_IMAGE(tmp->data); g_signal_handlers_disconnect_by_data(image, display); g_object_unref(image); tmp = tmp->next; } g_list_free(priv->images); priv->images = NULL; tmp = images; while (tmp) { EntangleImage *image = ENTANGLE_IMAGE(tmp->data); do_entangle_image_display_connect(display, image); priv->images = g_list_append(priv->images, g_object_ref(image)); tmp = tmp->next; } priv->images = g_list_reverse(priv->images); entangle_image_display_try_render_pixmap(display); gtk_widget_queue_resize(GTK_WIDGET(display)); gtk_widget_queue_draw(GTK_WIDGET(display)); } GList *entangle_image_display_get_image_list(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), FALSE); EntangleImageDisplayPrivate *priv = display->priv; g_list_foreach(priv->images, (GFunc)g_object_ref, NULL); return g_list_copy(priv->images); } void entangle_image_display_set_autoscale(EntangleImageDisplay *display, gboolean autoscale) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; priv->autoscale = autoscale; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gboolean entangle_image_display_get_autoscale(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), FALSE); EntangleImageDisplayPrivate *priv = display->priv; return priv->autoscale; } void entangle_image_display_set_scale(EntangleImageDisplay *display, gdouble scale) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; priv->scale = scale; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gdouble entangle_image_display_get_scale(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), 1.0); EntangleImageDisplayPrivate *priv = display->priv; return priv->scale; } void entangle_image_display_set_aspect_ratio(EntangleImageDisplay *display, gdouble aspect) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; priv->aspectRatio = aspect; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gdouble entangle_image_display_get_aspect_ratio(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), 1.0); EntangleImageDisplayPrivate *priv = display->priv; return priv->aspectRatio; } void entangle_image_display_set_mask_opacity(EntangleImageDisplay *display, gdouble opacity) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; priv->maskOpacity = opacity; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gdouble entangle_image_display_get_mask_opacity(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), 1.0); EntangleImageDisplayPrivate *priv = display->priv; return priv->maskOpacity; } void entangle_image_display_set_mask_enabled(EntangleImageDisplay *display, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display)); EntangleImageDisplayPrivate *priv = display->priv; priv->maskEnabled = enabled; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gboolean entangle_image_display_get_mask_enabled(EntangleImageDisplay *display) { g_return_val_if_fail(ENTANGLE_IS_IMAGE_DISPLAY(display), FALSE); EntangleImageDisplayPrivate *priv = display->priv; return priv->maskEnabled; } void entangle_image_display_set_focus_point(EntangleImageDisplay *display, gboolean enabled) { EntangleImageDisplayPrivate *priv = display->priv; priv->focusPoint = enabled; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } gboolean entangle_image_display_get_focus_point(EntangleImageDisplay *display) { EntangleImageDisplayPrivate *priv = display->priv; return priv->focusPoint; } void entangle_image_display_set_grid_display(EntangleImageDisplay *display, EntangleImageDisplayGrid mode) { EntangleImageDisplayPrivate *priv = display->priv; priv->gridDisplay = mode; if (gtk_widget_get_visible((GtkWidget*)display)) gtk_widget_queue_resize(GTK_WIDGET(display)); } EntangleImageDisplayGrid entangle_image_display_get_grid_display(EntangleImageDisplay *display) { EntangleImageDisplayPrivate *priv = display->priv; return priv->gridDisplay; } gboolean entangle_image_display_get_loaded(EntangleImageDisplay *display) { EntangleImage *image = entangle_image_display_get_image(display); GdkPixbuf *pixbuf = NULL; if (image) pixbuf = entangle_image_get_pixbuf(image); return pixbuf != NULL; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-dpms.h0000664000000000000000000000211712253420652015525 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_DPMS_H__ #define __ENTANGLE_DPMS_H__ #include gboolean entangle_dpms_set_blanking(gboolean enabled, GError **error); #endif /* __ENTANGLE_DPMS_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-preferences-display.h0000664000000000000000000000467012253420652020534 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_PREFERENCES_DISPLAY_H__ #define __ENTANGLE_PREFERENCES_DISPLAY_H__ #include #include "entangle-application.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_PREFERENCES_DISPLAY (entangle_preferences_display_get_type ()) #define ENTANGLE_PREFERENCES_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_PREFERENCES_DISPLAY, EntanglePreferencesDisplay)) #define ENTANGLE_PREFERENCES_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_PREFERENCES_DISPLAY, EntanglePreferencesDisplayClass)) #define ENTANGLE_IS_PREFERENCES_DISPLAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_PREFERENCES_DISPLAY)) #define ENTANGLE_IS_PREFERENCES_DISPLAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_PREFERENCES_DISPLAY)) #define ENTANGLE_PREFERENCES_DISPLAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_PREFERENCES_DISPLAY, EntanglePreferencesDisplayClass)) typedef struct _EntanglePreferencesDisplay EntanglePreferencesDisplay; typedef struct _EntanglePreferencesDisplayPrivate EntanglePreferencesDisplayPrivate; typedef struct _EntanglePreferencesDisplayClass EntanglePreferencesDisplayClass; struct _EntanglePreferencesDisplay { GtkDialog parent; EntanglePreferencesDisplayPrivate *priv; }; struct _EntanglePreferencesDisplayClass { GtkDialogClass parent_class; }; GType entangle_preferences_display_get_type(void) G_GNUC_CONST; EntanglePreferencesDisplay *entangle_preferences_display_new(void); G_END_DECLS #endif /* __ENTANGLE_PREFERENCES_DISPLAY_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-picker.c0000664000000000000000000004442112253420652017264 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-picker.h" #include "entangle-window.h" #define ENTANGLE_CAMERA_PICKER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_PICKER, EntangleCameraPickerPrivate)) gboolean do_picker_close(GtkButton *src, gpointer data); gboolean do_picker_delete(GtkWidget *src, GdkEvent *ev); struct _EntangleCameraPickerPrivate { EntangleCameraList *cameras; gulong addSignal; gulong removeSignal; GtkListStore *model; GtkBuilder *builder; }; static void entangle_camera_picker_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntangleCameraPicker, entangle_camera_picker, GTK_TYPE_DIALOG, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_camera_picker_window_interface_init)); enum { PROP_O, PROP_CAMERAS }; void do_picker_refresh(GtkButton *src, EntangleCameraPicker *picker); void do_picker_activate(GtkTreeView *src, GtkTreePath *path, GtkTreeViewColumn *col, EntangleCameraPicker *picker); void do_picker_connect(GtkButton *src, EntangleCameraPicker *picker); static void entangle_camera_cell_data_model_func(GtkTreeViewColumn *col G_GNUC_UNUSED, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data G_GNUC_UNUSED) { GValue val; EntangleCamera *cam; memset(&val, 0, sizeof val); gtk_tree_model_get_value(model, iter, 0, &val); cam = g_value_get_object(&val); g_object_set(cell, "text", entangle_camera_get_model(cam), NULL); g_object_unref(cam); } static void entangle_camera_cell_data_port_func(GtkTreeViewColumn *col G_GNUC_UNUSED, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data G_GNUC_UNUSED) { GValue val; EntangleCamera *cam; memset(&val, 0, sizeof val); gtk_tree_model_get_value(model, iter, 0, &val); cam = g_value_get_object(&val); g_object_set(cell, "text", entangle_camera_get_port(cam), NULL); g_object_unref(cam); } static void entangle_camera_cell_data_capture_func(GtkTreeViewColumn *col G_GNUC_UNUSED, GtkCellRenderer *cell, GtkTreeModel *model, GtkTreeIter *iter, gpointer data G_GNUC_UNUSED) { GValue val; EntangleCamera *cam; memset(&val, 0, sizeof val); gtk_tree_model_get_value(model, iter, 0, &val); cam = g_value_get_object(&val); ENTANGLE_DEBUG("Has %d", entangle_camera_get_has_capture(cam)); g_object_set(cell, "text", entangle_camera_get_has_capture(cam) ? _("Yes") : _("No"), NULL); g_object_unref(cam); } static void do_model_sensitivity_update(EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCameraPickerPrivate *priv = picker->priv; GtkWidget *warning; GtkWidget *list; GtkWidget *win; warning = GTK_WIDGET(gtk_builder_get_object(priv->builder, "warning-no-cameras")); list = GTK_WIDGET(gtk_builder_get_object(priv->builder, "camera-list")); win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "camera-picker")); if (priv->cameras && entangle_camera_list_count(priv->cameras)) { int w, h; gtk_window_get_default_size(GTK_WINDOW(win), &w, &h); gtk_window_resize(GTK_WINDOW(win), w, h); gtk_widget_set_sensitive(list, TRUE); gtk_widget_hide(warning); } else { gtk_widget_set_sensitive(list, FALSE); gtk_widget_show(warning); } } static void do_model_refresh(EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCameraPickerPrivate *priv = picker->priv; ENTANGLE_DEBUG("Refresh model"); gtk_list_store_clear(priv->model); if (!priv->cameras) { do_model_sensitivity_update(picker); return; } for (int i = 0; i < entangle_camera_list_count(priv->cameras); i++) { EntangleCamera *cam = entangle_camera_list_get(priv->cameras, i); GtkTreeIter iter; gtk_list_store_append(priv->model, &iter); gtk_list_store_set(priv->model, &iter, 0, cam, -1); //g_object_unref(cam); } do_model_sensitivity_update(picker); } static void entangle_camera_picker_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraPicker *picker = ENTANGLE_CAMERA_PICKER(object); EntangleCameraPickerPrivate *priv = picker->priv; switch (prop_id) { case PROP_CAMERAS: g_value_set_object(value, priv->cameras); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void do_camera_list_add(EntangleCameraList *cameras G_GNUC_UNUSED, EntangleCamera *cam, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraPickerPrivate *priv = picker->priv; GtkTreeIter iter; ENTANGLE_DEBUG("Add camrea %p to model", cam); gtk_list_store_append(priv->model, &iter); gtk_list_store_set(priv->model, &iter, 0, cam, -1); do_model_sensitivity_update(picker); } static void do_camera_list_remove(EntangleCameraList *cameras G_GNUC_UNUSED, EntangleCamera *cam, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraPickerPrivate *priv = picker->priv; GtkTreeIter iter; if (!gtk_tree_model_get_iter_first(GTK_TREE_MODEL(priv->model), &iter)) return; do { GValue val; EntangleCamera *thiscam; memset(&val, 0, sizeof val); gtk_tree_model_get_value(GTK_TREE_MODEL(priv->model), &iter, 0, &val); thiscam = g_value_get_object(&val); g_value_unset(&val); if (cam == thiscam) { ENTANGLE_DEBUG("Remove camera %p from model", cam); gtk_list_store_remove(priv->model, &iter); break; } } while (gtk_tree_model_iter_next(GTK_TREE_MODEL(priv->model), &iter)); do_model_sensitivity_update(picker); } static void entangle_camera_picker_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraPicker *picker = ENTANGLE_CAMERA_PICKER(object); ENTANGLE_DEBUG("Set prop %d", prop_id); switch (prop_id) { case PROP_CAMERAS: entangle_camera_picker_set_camera_list(picker, ENTANGLE_CAMERA_LIST(g_value_get_object(value))); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_picker_finalize(GObject *object) { EntangleCameraPicker *picker = ENTANGLE_CAMERA_PICKER(object); EntangleCameraPickerPrivate *priv = picker->priv; ENTANGLE_DEBUG("Finalize camera picker"); gtk_list_store_clear(priv->model); if (priv->cameras) g_object_unref(priv->cameras); g_object_unref(priv->model); g_object_unref(priv->builder); G_OBJECT_CLASS(entangle_camera_picker_parent_class)->finalize(object); } static void do_entangle_camera_picker_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_camera_picker_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_camera_picker_set_builder; } static void entangle_camera_picker_class_init(EntangleCameraPickerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_picker_finalize; object_class->get_property = entangle_camera_picker_get_property; object_class->set_property = entangle_camera_picker_set_property; g_signal_new("picker-connect", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraPickerClass, picker_connect), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, G_TYPE_OBJECT); g_signal_new("picker-refresh", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraPickerClass, picker_refresh), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_object_class_install_property(object_class, PROP_CAMERAS, g_param_spec_object("cameras", "Camera List", "List of known camera objects", ENTANGLE_TYPE_CAMERA_LIST, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleCameraPickerPrivate)); } EntangleCameraPicker *entangle_camera_picker_new(void) { return ENTANGLE_CAMERA_PICKER(entangle_window_new(ENTANGLE_TYPE_CAMERA_PICKER, GTK_TYPE_DIALOG, "camera-picker")); } gboolean do_picker_close(GtkButton *src G_GNUC_UNUSED, gpointer data) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_PICKER(data), FALSE); EntangleCameraPicker *picker = ENTANGLE_CAMERA_PICKER(data); ENTANGLE_DEBUG("picker delete"); gtk_widget_hide(GTK_WIDGET(picker)); return TRUE; } gboolean do_picker_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_PICKER(src), FALSE); ENTANGLE_DEBUG("picker delete"); gtk_widget_hide(src); return TRUE; } void do_picker_refresh(GtkButton *src G_GNUC_UNUSED, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); ENTANGLE_DEBUG("picker refresh %p", picker); g_signal_emit_by_name(picker, "picker-refresh", NULL); } static EntangleCamera *entangle_picker_get_selected_camera(EntangleCameraPicker *picker) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker), NULL); EntangleCameraPickerPrivate *priv = picker->priv; GtkWidget *list; GtkTreeSelection *sel; GtkTreeIter iter; gboolean selected; GValue val; ENTANGLE_DEBUG("select camera"); list = GTK_WIDGET(gtk_builder_get_object(priv->builder, "camera-list")); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(list)); selected = gtk_tree_selection_get_selected(sel, NULL, &iter); if (!selected) return NULL; memset(&val, 0, sizeof val); gtk_tree_model_get_value(GTK_TREE_MODEL(priv->model), &iter, 0, &val); return g_value_get_object(&val); } void do_picker_activate(GtkTreeView *src G_GNUC_UNUSED, GtkTreePath *path G_GNUC_UNUSED, GtkTreeViewColumn *col G_GNUC_UNUSED, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCamera *cam; cam = entangle_picker_get_selected_camera(picker); ENTANGLE_DEBUG("picker activate %p %p", picker, cam); if (cam) { GValue val; memset(&val, 0, sizeof val); g_value_init(&val, G_TYPE_OBJECT); g_value_set_object(&val, cam); //g_signal_emit_by_name(picker, "picker-connect", &val); g_signal_emit_by_name(picker, "picker-connect", cam); g_value_unset(&val); g_object_unref(cam); } } void do_picker_connect(GtkButton *src G_GNUC_UNUSED, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCamera *cam; cam = entangle_picker_get_selected_camera(picker); ENTANGLE_DEBUG("picker connect %p %p", picker, cam); if (cam) { GValue val; memset(&val, 0, sizeof val); g_value_init(&val, G_TYPE_OBJECT); g_value_set_object(&val, cam); //g_signal_emit_by_name(picker, "picker-connect", &val); g_signal_emit_by_name(picker, "picker-connect", cam); g_value_unset(&val); g_object_unref(cam); } } static void do_camera_select(GtkTreeSelection *sel, EntangleCameraPicker *picker) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCameraPickerPrivate *priv = picker->priv; GtkWidget *connect; GtkTreeIter iter; gboolean selected; ENTANGLE_DEBUG("selection changed"); connect = GTK_WIDGET(gtk_builder_get_object(priv->builder, "picker-connect")); selected = gtk_tree_selection_get_selected(sel, NULL, &iter); gtk_widget_set_sensitive(connect, selected); } static void do_entangle_camera_picker_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntangleCameraPicker *picker = ENTANGLE_CAMERA_PICKER(win); EntangleCameraPickerPrivate *priv = picker->priv; GtkWidget *list; GtkCellRenderer *model; GtkCellRenderer *port; GtkCellRenderer *capture; GtkTreeViewColumn *modelCol; GtkTreeViewColumn *portCol; GtkTreeViewColumn *captureCol; GtkTreeSelection *sel; GtkWidget *connect; priv->builder = g_object_ref(builder); list = GTK_WIDGET(gtk_builder_get_object(priv->builder, "camera-list")); model = gtk_cell_renderer_text_new(); port = gtk_cell_renderer_text_new(); capture = gtk_cell_renderer_text_new(); modelCol = gtk_tree_view_column_new_with_attributes(_("Model"), model, NULL); portCol = gtk_tree_view_column_new_with_attributes(_("Port"), port, NULL); captureCol = gtk_tree_view_column_new_with_attributes(_("Capture"), capture, NULL); g_object_set(modelCol, "expand", TRUE, NULL); g_object_set(portCol, "expand", FALSE, NULL); g_object_set(captureCol, "expand", FALSE, NULL); gtk_tree_view_append_column(GTK_TREE_VIEW(list), modelCol); gtk_tree_view_append_column(GTK_TREE_VIEW(list), portCol); gtk_tree_view_append_column(GTK_TREE_VIEW(list), captureCol); gtk_tree_view_column_set_cell_data_func(modelCol, model, entangle_camera_cell_data_model_func, NULL, NULL); gtk_tree_view_column_set_cell_data_func(portCol, port, entangle_camera_cell_data_port_func, NULL, NULL); gtk_tree_view_column_set_cell_data_func(captureCol, capture, entangle_camera_cell_data_capture_func, NULL, NULL); gtk_tree_view_set_model(GTK_TREE_VIEW(list), GTK_TREE_MODEL(priv->model)); sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(list)); g_signal_connect(sel, "changed", G_CALLBACK(do_camera_select), picker); connect = GTK_WIDGET(gtk_builder_get_object(priv->builder, "picker-connect")); gtk_widget_set_sensitive(connect, FALSE); do_model_sensitivity_update(picker); } static void entangle_camera_picker_init(EntangleCameraPicker *picker) { EntangleCameraPickerPrivate *priv; priv = picker->priv = ENTANGLE_CAMERA_PICKER_GET_PRIVATE(picker); priv->model = gtk_list_store_new(1, G_TYPE_OBJECT); } void entangle_camera_picker_set_camera_list(EntangleCameraPicker *picker, EntangleCameraList *cameras) { g_return_if_fail(ENTANGLE_IS_CAMERA_PICKER(picker)); EntangleCameraPickerPrivate *priv = picker->priv; if (priv->cameras) { g_signal_handler_disconnect(priv->cameras, priv->addSignal); g_signal_handler_disconnect(priv->cameras, priv->removeSignal); g_object_unref(priv->cameras); } priv->cameras = g_object_ref(cameras); priv->addSignal = g_signal_connect(priv->cameras, "camera-added", G_CALLBACK(do_camera_list_add), picker); priv->removeSignal = g_signal_connect(priv->cameras, "camera-removed", G_CALLBACK(do_camera_list_remove), picker); do_model_refresh(picker); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-preferences-display.ui0000664000000000000000000015473412253420652020731 00000000000000 100 1 10 1 5 3 1 1 Perceptual Relative colourimetric Saturation Absolute colourimetric False 5 Entangle Preferences center-on-parent normal True False True False vertical 2 True False end gtk-close True True True True False False 0 False True end 0 True False True True 6 never in True True False True True 0 True True False True False 6 0 0 True False 6 True False True False 6 True False 0 <b>Capture</b> True True True 0 True False gtk-missing-image False True 1 True True 0 True False 6 3 2 6 6 True False 0 Filename pattern: True True 1 2 Continue preview mode after capture True True False 0 True 2 1 2 Delete file from camera after downloading True True False 0 True 2 2 3 True True 1 True False Capture False True False 6 0 0 True False 6 True False True False 6 True False 0 <b>Colour management</b> True True True 0 True False gtk-missing-image False True 1 True True 0 True False 6 5 2 6 6 True False 0 Mode of operation: True False 0 RGB profile: 1 2 True False 0 Monitor profile: 2 3 True False 0 Rendering intent: 4 5 Detect the system monitor profile True True False 0.5 True 1 2 3 4 True False model1 0 1 2 4 5 True False False 1 2 1 2 True False False 1 2 2 3 Colour managed display True True False 0.5 True 1 2 True True 1 1 True False Color Management 1 False True False 6 0 0 True False 6 True False True False 6 True False 0 <b>Plugins</b> True True True 0 True False gtk-missing-image False True 1 True True 0 2 True False Plugins 2 False True False 6 0 0 True False 6 True False True False 6 True False 0 <b>Interface</b> True True True 0 True False gtk-missing-image False True 1 True True 0 True False 6 2 2 6 6 Automatically connect to cameras at startup True True False 0 True 2 Blank screen when capturing images True True False 0 True 2 1 2 Show linear histogram True True False 0 True 2 2 3 True True 1 3 True False Interface 3 False True False 6 0 0 True False 6 True False True False 6 True False 0 <b>Image Viewer</b> True True True 0 True False gtk-missing-image False True 1 True True 0 True False 6 8 2 6 6 Apply mask to alter aspect ratio True True False 0 True 2 True False 0 Aspect ratio: 1 2 True False 0 Mask opacity: 2 3 True False 1 1 2 1 2 True True adjustment1 1 2 2 3 Display focus point during preview True True False 0 True 2 3 4 True False 0 Grid lines: 4 5 True False 1 1 2 4 5 Use embedded preview from raw files True True False 0 True 2 5 6 Overlay earlier images True True False 0 True 2 6 7 True False 0 Overlay layers: 7 8 True True True adjustment2 1 2 7 8 True True 1 4 True False Image Viewer 4 False True True 1 False True 1 close entangle-0.5.4/src/frontend/entangle-camera-support.ui0000664000000000000000000000711312253420652017713 00000000000000 False 5 True center-on-parent 650 400 True dialog True True True False vertical 2 True False end gtk-close False True True True False True False False 0 False True end 0 True True etched-in True False True False label True True 1 button1 entangle-0.5.4/src/frontend/entangle-image-statusbar.h0000664000000000000000000000504512253420652017655 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_STATUSBAR_H__ #define __ENTANGLE_IMAGE_STATUSBAR_H__ #include #include "entangle-image-loader.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE_STATUSBAR (entangle_image_statusbar_get_type ()) #define ENTANGLE_IMAGE_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE_STATUSBAR, EntangleImageStatusbar)) #define ENTANGLE_IMAGE_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE_STATUSBAR, EntangleImageStatusbarClass)) #define ENTANGLE_IS_IMAGE_STATUSBAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE_STATUSBAR)) #define ENTANGLE_IS_IMAGE_STATUSBAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE_STATUSBAR)) #define ENTANGLE_IMAGE_STATUSBAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE_STATUSBAR, EntangleImageStatusbarClass)) typedef struct _EntangleImageStatusbar EntangleImageStatusbar; typedef struct _EntangleImageStatusbarPrivate EntangleImageStatusbarPrivate; typedef struct _EntangleImageStatusbarClass EntangleImageStatusbarClass; struct _EntangleImageStatusbar { GtkEventBox parent; EntangleImageStatusbarPrivate *priv; }; struct _EntangleImageStatusbarClass { GtkEventBoxClass parent_class; }; GType entangle_image_statusbar_get_type(void) G_GNUC_CONST; EntangleImageStatusbar* entangle_image_statusbar_new(void); void entangle_image_statusbar_set_image(EntangleImageStatusbar *statusbar, EntangleImage *image); EntangleImage *entangle_image_statusbar_get_image(EntangleImageStatusbar *statusbar); G_END_DECLS #endif /* __ENTANGLE_IMAGE_STATUSBAR_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-support.h0000664000000000000000000000515612253420652017532 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_SUPPORT_H__ #define __ENTANGLE_CAMERA_SUPPORT_H__ #include #include "entangle-camera-list.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_SUPPORT (entangle_camera_support_get_type ()) #define ENTANGLE_TYPE_CAMERA_SUPPORT_DATA (entangle_camera_support_data_get_type()) #define ENTANGLE_CAMERA_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_SUPPORT, EntangleCameraSupport)) #define ENTANGLE_CAMERA_SUPPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_SUPPORT, EntangleCameraSupportClass)) #define ENTANGLE_IS_CAMERA_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_SUPPORT)) #define ENTANGLE_IS_CAMERA_SUPPORT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_SUPPORT)) #define ENTANGLE_CAMERA_SUPPORT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_SUPPORT, EntangleCameraSupportClass)) typedef struct _EntangleCameraSupport EntangleCameraSupport; typedef struct _EntangleCameraSupportPrivate EntangleCameraSupportPrivate; typedef struct _EntangleCameraSupportClass EntangleCameraSupportClass; struct _EntangleCameraSupport { GtkDialog parent; EntangleCameraSupportPrivate *priv; }; struct _EntangleCameraSupportClass { GtkDialogClass parent_class; }; GType entangle_camera_support_get_type(void) G_GNUC_CONST; EntangleCameraSupport* entangle_camera_support_new(void); void entangle_camera_support_set_camera_list(EntangleCameraSupport *support, EntangleCameraList *list); EntangleCameraList *entangle_camera_support_get_camera_list(EntangleCameraSupport *support); G_END_DECLS #endif /* __ENTANGLE_CAMERA_SUPPORT_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-dpms.c0000664000000000000000000000440712253420652015524 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include "entangle-dpms.h" #include "entangle-debug.h" #include #include #define ENTANGLE_ERROR(err, msg...) \ g_set_error((err), \ g_quark_from_string("entangle-dpms"), \ 0, \ msg) #if defined(HAVE_XEXT) && defined(GDK_WINDOWING_X11) #include #include #include #endif gboolean entangle_dpms_set_blanking(gboolean enabled, GError **error) { GdkDisplay *dpy = gdk_display_get_default(); ENTANGLE_DEBUG("Toggle set blanking %d", enabled); #if defined(HAVE_XEXT) && defined(GDK_WINDOWING_X11) if (GDK_IS_X11_DISPLAY(dpy)) { Display *xdpy = gdk_x11_display_get_xdisplay(dpy); int ignore1, ignore2; if (!DPMSQueryExtension(xdpy, &ignore1, &ignore2) || !DPMSCapable(xdpy)) { ENTANGLE_ERROR(error, "%s", _("Screen blanking is not available on this display")); return FALSE; } DPMSEnable(xdpy); DPMSForceLevel(xdpy, enabled ? DPMSModeStandby : DPMSModeOn); return TRUE; } #endif ENTANGLE_ERROR(error, "%s", _("Screen blanking is not implemented on this platform")); return FALSE; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-info.c0000664000000000000000000002455712253420652016752 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-info.h" #include "entangle-camera.h" #include "entangle-window.h" #define ENTANGLE_CAMERA_INFO_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_INFO, EntangleCameraInfoPrivate)) gboolean do_info_close(GtkButton *src, gpointer data); gboolean do_info_delete(GtkWidget *src, GdkEvent *ev); struct _EntangleCameraInfoPrivate { EntangleCamera *camera; int data; GtkBuilder *builder; }; static void entangle_camera_info_window_interface_init(gpointer g_iface, gpointer iface_data); G_DEFINE_TYPE_EXTENDED(EntangleCameraInfo, entangle_camera_info, GTK_TYPE_DIALOG, 0, G_IMPLEMENT_INTERFACE(ENTANGLE_TYPE_WINDOW, entangle_camera_info_window_interface_init)); enum { PROP_O, PROP_CAMERA, PROP_DATA, }; static void entangle_camera_info_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraInfo *info = ENTANGLE_CAMERA_INFO(object); EntangleCameraInfoPrivate *priv = info->priv; switch (prop_id) { case PROP_CAMERA: g_value_set_object(value, priv->camera); break; case PROP_DATA: g_value_set_enum(value, priv->data); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_info_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraInfo *info = ENTANGLE_CAMERA_INFO(object); ENTANGLE_DEBUG("Set prop %d", prop_id); switch (prop_id) { case PROP_CAMERA: entangle_camera_info_set_camera(info, g_value_get_object(value)); break; case PROP_DATA: entangle_camera_info_set_data(info, g_value_get_enum(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_info_finalize(GObject *object) { EntangleCameraInfo *info = ENTANGLE_CAMERA_INFO(object); EntangleCameraInfoPrivate *priv = info->priv; if (priv->camera) g_object_unref(priv->camera); g_object_unref(priv->builder); G_OBJECT_CLASS(entangle_camera_info_parent_class)->finalize(object); } static void do_entangle_camera_info_set_builder(EntangleWindow *window, GtkBuilder *builder); static void entangle_camera_info_window_interface_init(gpointer g_iface, gpointer iface_data G_GNUC_UNUSED) { EntangleWindowInterface *iface = g_iface; iface->set_builder = do_entangle_camera_info_set_builder; } static void entangle_camera_info_class_init(EntangleCameraInfoClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_info_finalize; object_class->get_property = entangle_camera_info_get_property; object_class->set_property = entangle_camera_info_set_property; g_object_class_install_property(object_class, PROP_CAMERA, g_param_spec_object("camera", "Camera", "Camera to be managed", ENTANGLE_TYPE_CAMERA, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DATA, g_param_spec_enum("data", "Data", "Data type to display", ENTANGLE_TYPE_CAMERA_INFO_DATA, ENTANGLE_CAMERA_INFO_DATA_SUMMARY, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleCameraInfoPrivate)); } GType entangle_camera_info_data_get_type(void) { static GType etype = 0; if (etype == 0) { static const GEnumValue values[] = { { ENTANGLE_CAMERA_INFO_DATA_SUMMARY, "ENTANGLE_CAMERA_INFO_DATA_SUMMARY", "summary" }, { ENTANGLE_CAMERA_INFO_DATA_MANUAL, "ENTANGLE_CAMERA_INFO_DATA_MANUAL", "manual" }, { ENTANGLE_CAMERA_INFO_DATA_DRIVER, "ENTANGLE_CAMERA_INFO_DATA_DRIVER", "driver" }, { 0, NULL, NULL } }; etype = g_enum_register_static("EntangleCameraInfoData", values); } return etype; } EntangleCameraInfo *entangle_camera_info_new(void) { return ENTANGLE_CAMERA_INFO(entangle_window_new(ENTANGLE_TYPE_CAMERA_INFO, GTK_TYPE_DIALOG, "camera-info")); } gboolean do_info_close(GtkButton *src G_GNUC_UNUSED, gpointer data) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_INFO(data), FALSE); EntangleCameraInfo *info = ENTANGLE_CAMERA_INFO(data); ENTANGLE_DEBUG("info close"); gtk_widget_hide(GTK_WIDGET(info)); return FALSE; } gboolean do_info_delete(GtkWidget *src, GdkEvent *ev G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_INFO(src), FALSE); ENTANGLE_DEBUG("info delete"); gtk_widget_hide(src); return FALSE; } static void do_entangle_camera_info_set_builder(EntangleWindow *win, GtkBuilder *builder) { EntangleCameraInfo *info = ENTANGLE_CAMERA_INFO(win); EntangleCameraInfoPrivate *priv = info->priv; priv->builder = g_object_ref(builder); } static void entangle_camera_info_init(EntangleCameraInfo *info) { info->priv = ENTANGLE_CAMERA_INFO_GET_PRIVATE(info); } static void do_info_refresh(EntangleCameraInfo *info) { g_return_if_fail(ENTANGLE_IS_CAMERA_INFO(info)); EntangleCameraInfoPrivate *priv = info->priv; GtkWidget *text = GTK_WIDGET(gtk_builder_get_object(priv->builder, "info-text")); if (priv->camera) { switch (priv->data) { case ENTANGLE_CAMERA_INFO_DATA_SUMMARY: { char *str = entangle_camera_get_summary(priv->camera); gtk_label_set_text(GTK_LABEL(text), str); g_free(str); } break; case ENTANGLE_CAMERA_INFO_DATA_MANUAL: { char *str = entangle_camera_get_manual(priv->camera); gtk_label_set_text(GTK_LABEL(text), str); g_free(str); } break; case ENTANGLE_CAMERA_INFO_DATA_DRIVER: { char *str = entangle_camera_get_driver(priv->camera); gtk_label_set_text(GTK_LABEL(text), str); g_free(str); } break; default: gtk_label_set_text(GTK_LABEL(text), _("Unknown information")); break; } } else { gtk_label_set_text(GTK_LABEL(text), ""); } } void entangle_camera_info_set_data(EntangleCameraInfo *info, EntangleCameraInfoData data) { g_return_if_fail(ENTANGLE_IS_CAMERA_INFO(info)); EntangleCameraInfoPrivate *priv = info->priv; priv->data = data; do_info_refresh(info); } EntangleCameraInfoData entangle_camera_info_get_data(EntangleCameraInfo *info) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_INFO(info), 0); EntangleCameraInfoPrivate *priv = info->priv; return priv->data; } void entangle_camera_info_set_camera(EntangleCameraInfo *info, EntangleCamera *camera) { g_return_if_fail(ENTANGLE_IS_CAMERA_INFO(info)); g_return_if_fail(!camera || ENTANGLE_IS_CAMERA_INFO(camera)); EntangleCameraInfoPrivate *priv = info->priv; char *title; GtkWidget *win; if (priv->camera) g_object_unref(priv->camera); priv->camera = camera; if (priv->camera) { g_object_ref(priv->camera); title = g_strdup_printf(_("%s Camera Info - Entangle"), entangle_camera_get_model(priv->camera)); } else { title = g_strdup(_("Camera Info - Entangle")); } win = GTK_WIDGET(gtk_builder_get_object(priv->builder, "camera-info")); gtk_window_set_title(GTK_WINDOW(win), title); g_free(title); do_info_refresh(info); } EntangleCamera *entangle_camera_info_get_camera(EntangleCameraInfo *info) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_INFO(info), NULL); EntangleCameraInfoPrivate *priv = info->priv; return priv->camera; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-camera-picker.h0000664000000000000000000000507612253420652017274 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_PICKER_H__ #define __ENTANGLE_CAMERA_PICKER_H__ #include #include "entangle-camera.h" #include "entangle-camera-list.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_PICKER (entangle_camera_picker_get_type ()) #define ENTANGLE_CAMERA_PICKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_PICKER, EntangleCameraPicker)) #define ENTANGLE_CAMERA_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_PICKER, EntangleCameraPickerClass)) #define ENTANGLE_IS_CAMERA_PICKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_PICKER)) #define ENTANGLE_IS_CAMERA_PICKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_PICKER)) #define ENTANGLE_CAMERA_PICKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_PICKER, EntangleCameraPickerClass)) typedef struct _EntangleCameraPicker EntangleCameraPicker; typedef struct _EntangleCameraPickerPrivate EntangleCameraPickerPrivate; typedef struct _EntangleCameraPickerClass EntangleCameraPickerClass; struct _EntangleCameraPicker { GtkDialog parent; EntangleCameraPickerPrivate *priv; }; struct _EntangleCameraPickerClass { GtkDialogClass parent_class; void (*picker_connect)(EntangleCameraPicker *picker, EntangleCamera *cam); void (*picker_refresh)(EntangleCameraPicker *picker); }; GType entangle_camera_picker_get_type(void) G_GNUC_CONST; EntangleCameraPicker* entangle_camera_picker_new(void); void entangle_camera_picker_set_camera_list(EntangleCameraPicker *picker, EntangleCameraList *cameras); G_END_DECLS #endif /* __ENTANGLE_CAMERA_PICKER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/frontend/entangle-drawer.c0000664000000000000000000001524212253420652016044 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (c) 2005 VMware, Inc. * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files (the * "Software"), to deal in the Software without restriction, including * without limitation the rights to use, copy, modify, merge, publish, * distribute, sublicense, and/or sell copies of the Software, and to * permit persons to whom the Software is furnished to do so, subject to * the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * */ /* * Formerly: drawer.c - * * Implementation of a GTK+ drawer, i.e. a widget that opens and closes by * sliding smoothly, at constant speed, over another one. */ #include #include #include "entangle-drawer.h" struct _EntangleDrawerPrivate { unsigned int period; double step; double goal; struct { gboolean pending; guint id; } timer; }; #define ENTANGLE_DRAWER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_DRAWER, EntangleDrawerPrivate)) G_DEFINE_TYPE(EntangleDrawer, entangle_drawer, ENTANGLE_TYPE_OVERLAY_BOX); static void entangle_drawer_init(EntangleDrawer *drawer) { EntangleDrawerPrivate *priv; priv = drawer->priv = ENTANGLE_DRAWER_GET_PRIVATE(drawer); priv->period = 10; priv->step = 0.2; priv->timer.pending = FALSE; } static void entangle_drawer_finalize(GObject *object) { EntangleDrawer *drawer; EntangleDrawerPrivate *priv; drawer = ENTANGLE_DRAWER(object); priv = drawer->priv; if (priv->timer.pending) { g_source_remove(priv->timer.id); priv->timer.pending = FALSE; } G_OBJECT_CLASS(entangle_drawer_parent_class)->finalize(object); } static void entangle_drawer_class_init(EntangleDrawerClass *klass) { GObjectClass *objectClass = G_OBJECT_CLASS(klass); objectClass->finalize = entangle_drawer_finalize; g_type_class_add_private(objectClass, sizeof(EntangleDrawerPrivate)); } /* *----------------------------------------------------------------------------- * * entangle_drawer_new -- * * Create a new EntangleDrawer GTK+ widget. * * Results: * The widget * * Side effects: * None * *----------------------------------------------------------------------------- */ EntangleDrawer * entangle_drawer_new(void) { return ENTANGLE_DRAWER(g_object_new(ENTANGLE_TYPE_DRAWER, NULL)); } /* *----------------------------------------------------------------------------- * * EntangleDrawerOnTimer -- * * Timer callback of a EntangleDrawer. If we have reached the goal, deschedule * the timer. Otherwise make progress towards the goal, and keep the timer * scheduled. * * Results: * TRUE if the timer must be rescheduled. * FALSE if the timer must not be rescheduled. * * Side effects: * None * *----------------------------------------------------------------------------- */ static gint entangle_drawer_on_timer(gpointer data) { EntangleDrawer *drawer; EntangleDrawerPrivate *priv; double fraction; drawer = ENTANGLE_DRAWER(data); priv = drawer->priv; fraction = entangle_overlay_box_get_fraction(ENTANGLE_OVERLAY_BOX(drawer)); if (fabs(priv->goal - fraction) < 0.00001) { return priv->timer.pending = FALSE; } entangle_overlay_box_set_fraction(ENTANGLE_OVERLAY_BOX(drawer), priv->goal > fraction ? MIN(fraction + priv->step, priv->goal) : MAX(fraction - priv->step, priv->goal)); return TRUE; } /* *----------------------------------------------------------------------------- * * entangle_drawer_set_speed -- * * Set the 'period' (in ms.) and 'step' properties of a EntangleDrawer, which * determine the speed and smoothness of the drawer's motion. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ void entangle_drawer_set_speed(EntangleDrawer *drawer, unsigned int period, double step) { EntangleDrawerPrivate *priv; g_return_if_fail(drawer != NULL); priv = drawer->priv; priv->period = period; if (priv->timer.pending) { g_source_remove(priv->timer.id); priv->timer.id = g_timeout_add(priv->period, entangle_drawer_on_timer, drawer); } priv->step = step; } /* *----------------------------------------------------------------------------- * * entangle_drawer_set_goal -- * * Set the 'goal' property of a EntangleDrawer, i.e. how much the drawer should * be opened when it is done sliding. * * Results: * None * * Side effects: * None * *----------------------------------------------------------------------------- */ void entangle_drawer_set_goal(EntangleDrawer *drawer, double goal) { EntangleDrawerPrivate *priv; g_return_if_fail(drawer != NULL); g_return_if_fail(goal >= 0 && goal <= 1); priv = drawer->priv; priv->goal = goal; if (priv->timer.pending == FALSE) { priv->timer.id = g_timeout_add(priv->period, entangle_drawer_on_timer, drawer); priv->timer.pending = TRUE; } } /* *----------------------------------------------------------------------------- * * entangle_drawer_get_close_time -- * * Get the approximate amount of time it will take for this drawer to * open and close, in ms. * * Results: * The time it takes to open or close the drawer. * * Side effects: * None * *----------------------------------------------------------------------------- */ int entangle_drawer_get_close_time(EntangleDrawer *drawer) { EntangleDrawerPrivate *priv; if (drawer == NULL) { return 0; } priv = drawer->priv; return priv->period * ((int)(1/priv->step) + 1); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/color-management-22.png0000664000000000000000000000206112253420652015154 00000000000000PNG  IHDRĴl;bKGD pHYs 7˭tIME 7C$IDAT8˵oE?3?v?H$U[U44"jTDNW*!U8!$RpZ)REQ-TMI[y֯^;@0y;h~? +jIe/2/rLD %oP9ܦ옊"[Wv2K0(+$8emǨTkX(eCS _٥C61Ⱦ/]A|4CL )dG"NpPYcyn|D$_,lJe\EX'<  (Th 04`BgsA itI T21X@㓡B-Ty.ܡj R(ǶGм)|ayڴ(.̜Z[]B )_őU & jdȡD; }F@jK[Fm{(,֨ *Ȝy!JQ)M/yB:5x-6H2ˀɆ @1=5 <:'JKQV!^>*D)[u.婧ZHZN&na04Ez}ͭ Hz`-*vǿasW"#^!t!%bNRq:k' D3?]&3qM W$hbţTUK LuPLf8ap1xZtJ)fL˕-<.@;e3WI$6pQcSOg8= w[zmφ 'viIENDB`entangle-0.5.4/src/Makefile.in0000664000000000000000000034416012253420721013050 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = entangle$(EXEEXT) subdir = src DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \ $(top_srcdir)/depcomp ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libentangle_backend_la_LIBADD = am_libentangle_backend_la_OBJECTS = \ libentangle_backend_la-entangle-camera.lo \ libentangle_backend_la-entangle-camera-file.lo \ libentangle_backend_la-entangle-camera-list.lo \ libentangle_backend_la-entangle-colour-profile.lo \ libentangle_backend_la-entangle-colour-profile-enums.lo \ libentangle_backend_la-entangle-control.lo \ libentangle_backend_la-entangle-control-button.lo \ libentangle_backend_la-entangle-control-choice.lo \ libentangle_backend_la-entangle-control-date.lo \ libentangle_backend_la-entangle-control-group.lo \ libentangle_backend_la-entangle-control-range.lo \ libentangle_backend_la-entangle-control-text.lo \ libentangle_backend_la-entangle-control-toggle.lo \ libentangle_backend_la-entangle-debug.lo \ libentangle_backend_la-entangle-device-manager.lo \ libentangle_backend_la-entangle-image.lo \ libentangle_backend_la-entangle-pixbuf.lo \ libentangle_backend_la-entangle-image-loader.lo \ libentangle_backend_la-entangle-pixbuf-loader.lo \ libentangle_backend_la-entangle-preferences.lo \ libentangle_backend_la-entangle-progress.lo \ libentangle_backend_la-entangle-session.lo \ libentangle_backend_la-entangle-thumbnail-loader.lo libentangle_backend_la_OBJECTS = $(am_libentangle_backend_la_OBJECTS) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent am__v_lt_1 = libentangle_backend_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(libentangle_backend_la_CFLAGS) $(CFLAGS) \ $(libentangle_backend_la_LDFLAGS) $(LDFLAGS) -o $@ libentangle_frontend_la_DEPENDENCIES = libentangle_backend.la am_libentangle_frontend_la_OBJECTS = \ libentangle_frontend_la-entangle-window.lo \ libentangle_frontend_la-entangle-application.lo \ libentangle_frontend_la-entangle-camera-info.lo \ libentangle_frontend_la-entangle-camera-support.lo \ libentangle_frontend_la-entangle-camera-manager.lo \ libentangle_frontend_la-entangle-camera-picker.lo \ libentangle_frontend_la-entangle-control-panel.lo \ libentangle_frontend_la-entangle-dpms.lo \ libentangle_frontend_la-entangle-help-about.lo \ libentangle_frontend_la-entangle-image-display.lo \ libentangle_frontend_la-entangle-image-display-enums.lo \ libentangle_frontend_la-entangle-image-histogram.lo \ libentangle_frontend_la-entangle-image-popup.lo \ libentangle_frontend_la-entangle-image-statusbar.lo \ libentangle_frontend_la-entangle-preferences-display.lo \ libentangle_frontend_la-entangle-session-browser.lo \ libentangle_frontend_la-entangle-overlay-box.lo \ libentangle_frontend_la-entangle-auto-drawer.lo \ libentangle_frontend_la-entangle-drawer.lo libentangle_frontend_la_OBJECTS = \ $(am_libentangle_frontend_la_OBJECTS) libentangle_frontend_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(libentangle_frontend_la_CFLAGS) $(CFLAGS) \ $(libentangle_frontend_la_LDFLAGS) $(LDFLAGS) -o $@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdatadir)" \ "$(DESTDIR)$(builderdir)" "$(DESTDIR)$(desktopdir)" \ "$(DESTDIR)$(girdir)" "$(DESTDIR)$(iccdir)" \ "$(DESTDIR)$(icondir)" "$(DESTDIR)$(typelibsdir)" PROGRAMS = $(bin_PROGRAMS) am_entangle_OBJECTS = entangle-entangle-main.$(OBJEXT) entangle_OBJECTS = $(am_entangle_OBJECTS) entangle_DEPENDENCIES = libentangle_frontend.la entangle_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(entangle_CFLAGS) \ $(CFLAGS) $(entangle_LDFLAGS) $(LDFLAGS) -o $@ AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles am__mv = mv -f COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) AM_V_CC = $(am__v_CC_@AM_V@) am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@) am__v_CC_0 = @echo " CC " $@; am__v_CC_1 = CCLD = $(CC) LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ AM_V_CCLD = $(am__v_CCLD_@AM_V@) am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@) am__v_CCLD_0 = @echo " CCLD " $@; am__v_CCLD_1 = SOURCES = $(libentangle_backend_la_SOURCES) \ $(libentangle_frontend_la_SOURCES) $(entangle_SOURCES) DIST_SOURCES = $(libentangle_backend_la_SOURCES) \ $(libentangle_frontend_la_SOURCES) $(entangle_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } DATA = $(appdata_DATA) $(builder_DATA) $(desktop_DATA) $(gir_DATA) \ $(icc_DATA) $(icon_DATA) $(typelibs_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = icons GITIGNOREFILES = org.entangle-photo.manager.gschema.valid noinst_LTLIBRARIES = libentangle_backend.la libentangle_frontend.la builderdir = $(pkgdatadir) builder_DATA = \ frontend/entangle-camera-info.ui \ frontend/entangle-camera-support.ui \ frontend/entangle-camera-manager.ui \ frontend/entangle-camera-picker.ui \ frontend/entangle-help-about.ui \ frontend/entangle-image-popup.ui \ frontend/entangle-preferences-display.ui desktopdir = $(datadir)/applications desktop_DATA_IN = entangle.desktop.in desktop_DATA = entangle.desktop appdatadir = $(datadir)/appdata appdata_DATA = entangle.appdata.xml icondir = $(pkgdatadir) icon_DATA = $(PACKAGE).svg $(wildcard *.png) gsettings_SCHEMAS = org.entangle-photo.manager.gschema.xml iccdir = $(pkgdatadir) icc_DATA = sRGB.icc BUILT_SOURCES = \ backend/entangle-colour-profile-enums.h \ backend/entangle-colour-profile-enums.c \ frontend/entangle-image-display-enums.h \ frontend/entangle-image-display-enums.c \ $(NULL) EXTRA_DIST = $(builder_DATA) $(desktop_DATA_IN) $(appdata_DATA) $(icon_DATA) $(icc_DATA) $(gsettings_SCHEMAS) libentangle_backend_la_SOURCES = \ backend/entangle-camera.h backend/entangle-camera.c \ backend/entangle-camera-file.h backend/entangle-camera-file.c \ backend/entangle-camera-list.h backend/entangle-camera-list.c \ backend/entangle-colour-profile.h backend/entangle-colour-profile.c \ backend/entangle-colour-profile-enums.h backend/entangle-colour-profile-enums.c \ backend/entangle-control.h backend/entangle-control.c \ backend/entangle-control-button.h backend/entangle-control-button.c \ backend/entangle-control-choice.h backend/entangle-control-choice.c \ backend/entangle-control-date.h backend/entangle-control-date.c \ backend/entangle-control-group.h backend/entangle-control-group.c \ backend/entangle-control-range.h backend/entangle-control-range.c \ backend/entangle-control-text.h backend/entangle-control-text.c \ backend/entangle-control-toggle.h backend/entangle-control-toggle.c \ backend/entangle-debug.h backend/entangle-debug.c \ backend/entangle-device-manager.h backend/entangle-device-manager.c \ backend/entangle-image.h backend/entangle-image.c \ backend/entangle-pixbuf.h backend/entangle-pixbuf.c \ backend/entangle-image-loader.h backend/entangle-image-loader.c \ backend/entangle-pixbuf-loader.h backend/entangle-pixbuf-loader.c \ backend/entangle-preferences.h backend/entangle-preferences.c \ backend/entangle-progress.h backend/entangle-progress.c \ backend/entangle-session.h backend/entangle-session.c \ backend/entangle-thumbnail-loader.h backend/entangle-thumbnail-loader.c libentangle_backend_la_LDFLAGS = \ $(GLIB_LIBS) \ $(GIO_LIBS) \ $(GTHREAD_LIBS) \ $(GDK_PIXBUF_LIBS) \ $(GPHOTO2_LIBS) \ $(LCMS_LIBS) \ $(GUDEV_LIBS) \ $(DBUS_GLIB_LIBS) \ $(LIBPEAS_LIBS) \ $(GEXIV2_LIBS) \ $(LIBRAW_LIBS) \ $(WARN_LDFLAGS) libentangle_backend_la_CFLAGS = \ $(GLIB_CFLAGS) \ $(GIO_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) \ $(GPHOTO2_CFLAGS) \ $(LCMS_CFLAGS) \ $(GUDEV_CFLAGS) \ $(DBUS_GLIB_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(GEXIV2_CFLAGS) \ $(LIBRAW_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DDATADIR="\"$(datadir)\"" \ -DLIBDIR="\"$(libdir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) libentangle_frontend_la_SOURCES = \ frontend/entangle-window.h frontend/entangle-window.c \ frontend/entangle-application.h frontend/entangle-application.c \ frontend/entangle-camera-info.h frontend/entangle-camera-info.c \ frontend/entangle-camera-support.h frontend/entangle-camera-support.c \ frontend/entangle-camera-manager.h frontend/entangle-camera-manager.c \ frontend/entangle-camera-picker.h frontend/entangle-camera-picker.c \ frontend/entangle-control-panel.h frontend/entangle-control-panel.c \ frontend/entangle-dpms.h frontend/entangle-dpms.c \ frontend/entangle-help-about.h frontend/entangle-help-about.c \ frontend/entangle-image-display.h frontend/entangle-image-display.c \ frontend/entangle-image-display-enums.h \ frontend/entangle-image-display-enums.c \ frontend/entangle-image-histogram.h frontend/entangle-image-histogram.c \ frontend/entangle-image-popup.h frontend/entangle-image-popup.c \ frontend/entangle-image-statusbar.h frontend/entangle-image-statusbar.c \ frontend/entangle-preferences-display.h frontend/entangle-preferences-display.c \ frontend/entangle-session-browser.h frontend/entangle-session-browser.c \ frontend/entangle-overlay-box.h frontend/entangle-overlay-box.c \ frontend/entangle-auto-drawer.h frontend/entangle-auto-drawer.c \ frontend/entangle-drawer.h frontend/entangle-drawer.c libentangle_frontend_la_LIBADD = libentangle_backend.la libentangle_frontend_la_LDFLAGS = \ $(GTHREAD_LIBS) \ $(GMODULE_LIBS) \ $(GTK_LIBS) \ $(LIBPEAS_LIBS) \ $(LIBPEAS_UI_LIBS) \ $(GEXIV2_LIBS) \ $(XEXT_LIBS) \ $(WARN_LDFLAGS) libentangle_frontend_la_CFLAGS = \ -I$(srcdir)/backend \ $(GTHREAD_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTK_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(LIBPEAS_UI_CFLAGS) \ $(GEXIV2_CFLAGS) \ $(XEXT_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DDATADIR="\"$(datadir)\"" \ -DLIBDIR="\"$(libdir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) entangle_SOURCES = entangle-main.c entangle_LDADD = libentangle_frontend.la entangle_LDFLAGS = \ $(GTHREAD_LIBS) \ $(GMODULE_LIBS) \ $(GTK_LIBS) \ $(GOBJECT_INTROSPECTION_LIBS) \ $(LIBPEAS_LIBS) \ $(WARN_LDFLAGS) entangle_CFLAGS = \ -DLOCALE_DIR=\""$(datadir)/locale"\" \ -I$(srcdir)/backend \ -I$(srcdir)/frontend \ $(GTHREAD_FLAGS) \ $(GMODULE_FLAGS) \ $(GTK_CFLAGS) \ $(GOBJECT_INTROSPECTION_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(WARN_CFLAGS) \ -DPKGDATADIR="\"$(pkgdatadir)\"" \ -DG_LOG_DOMAIN="\"$(PACKAGE)\"" \ $(NULL) CLEANFILES = *~ $(desktop_DATA) $(BUILT_SOURCES) Entangle-0.1.gir \ $(typelibs_DATA) girdir = $(datadir)/gir-1.0 gir_DATA = Entangle-0.1.gir typelibsdir = $(libdir)/girepository-1.0 typelibs_DATA = Entangle-0.1.typelib all: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; \ locs=`for p in $$list; do echo $$p; done | \ sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \ sort -u`; \ test -z "$$locs" || { \ echo rm -f $${locs}; \ rm -f $${locs}; \ } libentangle_backend.la: $(libentangle_backend_la_OBJECTS) $(libentangle_backend_la_DEPENDENCIES) $(EXTRA_libentangle_backend_la_DEPENDENCIES) $(AM_V_CCLD)$(libentangle_backend_la_LINK) $(libentangle_backend_la_OBJECTS) $(libentangle_backend_la_LIBADD) $(LIBS) libentangle_frontend.la: $(libentangle_frontend_la_OBJECTS) $(libentangle_frontend_la_DEPENDENCIES) $(EXTRA_libentangle_frontend_la_DEPENDENCIES) $(AM_V_CCLD)$(libentangle_frontend_la_LINK) $(libentangle_frontend_la_OBJECTS) $(libentangle_frontend_la_LIBADD) $(LIBS) install-binPROGRAMS: $(bin_PROGRAMS) @$(NORMAL_INSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \ $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \ fi; \ for p in $$list; do echo "$$p $$p"; done | \ sed 's/$(EXEEXT)$$//' | \ while read p p1; do if test -f $$p \ || test -f $$p1 \ ; then echo "$$p"; echo "$$p"; else :; fi; \ done | \ sed -e 'p;s,.*/,,;n;h' \ -e 's|.*|.|' \ -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \ sed 'N;N;N;s,\n, ,g' | \ $(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \ { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \ if ($$2 == $$4) files[d] = files[d] " " $$1; \ else { print "f", $$3 "/" $$4, $$1; } } \ END { for (d in files) print "f", d, files[d] }' | \ while read type dir files; do \ if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \ test -z "$$files" || { \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \ } \ ; done uninstall-binPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \ files=`for p in $$list; do echo "$$p"; done | \ sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \ -e 's/$$/$(EXEEXT)/' \ `; \ test -n "$$list" || exit 0; \ echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(bindir)" && rm -f $$files clean-binPROGRAMS: @list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \ echo " rm -f" $$list; \ rm -f $$list || exit $$?; \ test -n "$(EXEEXT)" || exit 0; \ list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \ echo " rm -f" $$list; \ rm -f $$list entangle$(EXEEXT): $(entangle_OBJECTS) $(entangle_DEPENDENCIES) $(EXTRA_entangle_DEPENDENCIES) @rm -f entangle$(EXEEXT) $(AM_V_CCLD)$(entangle_LINK) $(entangle_OBJECTS) $(entangle_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entangle-entangle-main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-camera-file.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-camera-list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-camera.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-colour-profile-enums.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-colour-profile.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-button.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-choice.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-date.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-group.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-range.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-text.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control-toggle.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-control.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-debug.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-device-manager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-image-loader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-image.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-pixbuf-loader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-pixbuf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-preferences.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-progress.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-session.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_backend_la-entangle-thumbnail-loader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-application.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-auto-drawer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-camera-info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-camera-manager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-camera-picker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-camera-support.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-control-panel.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-dpms.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-drawer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-help-about.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-image-display-enums.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-image-display.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-image-histogram.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-image-popup.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-image-statusbar.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-overlay-box.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-preferences-display.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-session-browser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libentangle_frontend_la-entangle-window.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $< libentangle_backend_la-entangle-camera.lo: backend/entangle-camera.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-camera.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-camera.Tpo -c -o libentangle_backend_la-entangle-camera.lo `test -f 'backend/entangle-camera.c' || echo '$(srcdir)/'`backend/entangle-camera.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-camera.Tpo $(DEPDIR)/libentangle_backend_la-entangle-camera.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-camera.c' object='libentangle_backend_la-entangle-camera.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-camera.lo `test -f 'backend/entangle-camera.c' || echo '$(srcdir)/'`backend/entangle-camera.c libentangle_backend_la-entangle-camera-file.lo: backend/entangle-camera-file.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-camera-file.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-camera-file.Tpo -c -o libentangle_backend_la-entangle-camera-file.lo `test -f 'backend/entangle-camera-file.c' || echo '$(srcdir)/'`backend/entangle-camera-file.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-camera-file.Tpo $(DEPDIR)/libentangle_backend_la-entangle-camera-file.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-camera-file.c' object='libentangle_backend_la-entangle-camera-file.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-camera-file.lo `test -f 'backend/entangle-camera-file.c' || echo '$(srcdir)/'`backend/entangle-camera-file.c libentangle_backend_la-entangle-camera-list.lo: backend/entangle-camera-list.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-camera-list.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-camera-list.Tpo -c -o libentangle_backend_la-entangle-camera-list.lo `test -f 'backend/entangle-camera-list.c' || echo '$(srcdir)/'`backend/entangle-camera-list.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-camera-list.Tpo $(DEPDIR)/libentangle_backend_la-entangle-camera-list.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-camera-list.c' object='libentangle_backend_la-entangle-camera-list.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-camera-list.lo `test -f 'backend/entangle-camera-list.c' || echo '$(srcdir)/'`backend/entangle-camera-list.c libentangle_backend_la-entangle-colour-profile.lo: backend/entangle-colour-profile.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-colour-profile.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-colour-profile.Tpo -c -o libentangle_backend_la-entangle-colour-profile.lo `test -f 'backend/entangle-colour-profile.c' || echo '$(srcdir)/'`backend/entangle-colour-profile.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-colour-profile.Tpo $(DEPDIR)/libentangle_backend_la-entangle-colour-profile.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-colour-profile.c' object='libentangle_backend_la-entangle-colour-profile.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-colour-profile.lo `test -f 'backend/entangle-colour-profile.c' || echo '$(srcdir)/'`backend/entangle-colour-profile.c libentangle_backend_la-entangle-colour-profile-enums.lo: backend/entangle-colour-profile-enums.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-colour-profile-enums.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-colour-profile-enums.Tpo -c -o libentangle_backend_la-entangle-colour-profile-enums.lo `test -f 'backend/entangle-colour-profile-enums.c' || echo '$(srcdir)/'`backend/entangle-colour-profile-enums.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-colour-profile-enums.Tpo $(DEPDIR)/libentangle_backend_la-entangle-colour-profile-enums.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-colour-profile-enums.c' object='libentangle_backend_la-entangle-colour-profile-enums.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-colour-profile-enums.lo `test -f 'backend/entangle-colour-profile-enums.c' || echo '$(srcdir)/'`backend/entangle-colour-profile-enums.c libentangle_backend_la-entangle-control.lo: backend/entangle-control.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control.Tpo -c -o libentangle_backend_la-entangle-control.lo `test -f 'backend/entangle-control.c' || echo '$(srcdir)/'`backend/entangle-control.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control.c' object='libentangle_backend_la-entangle-control.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control.lo `test -f 'backend/entangle-control.c' || echo '$(srcdir)/'`backend/entangle-control.c libentangle_backend_la-entangle-control-button.lo: backend/entangle-control-button.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-button.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-button.Tpo -c -o libentangle_backend_la-entangle-control-button.lo `test -f 'backend/entangle-control-button.c' || echo '$(srcdir)/'`backend/entangle-control-button.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-button.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-button.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-button.c' object='libentangle_backend_la-entangle-control-button.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-button.lo `test -f 'backend/entangle-control-button.c' || echo '$(srcdir)/'`backend/entangle-control-button.c libentangle_backend_la-entangle-control-choice.lo: backend/entangle-control-choice.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-choice.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-choice.Tpo -c -o libentangle_backend_la-entangle-control-choice.lo `test -f 'backend/entangle-control-choice.c' || echo '$(srcdir)/'`backend/entangle-control-choice.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-choice.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-choice.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-choice.c' object='libentangle_backend_la-entangle-control-choice.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-choice.lo `test -f 'backend/entangle-control-choice.c' || echo '$(srcdir)/'`backend/entangle-control-choice.c libentangle_backend_la-entangle-control-date.lo: backend/entangle-control-date.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-date.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-date.Tpo -c -o libentangle_backend_la-entangle-control-date.lo `test -f 'backend/entangle-control-date.c' || echo '$(srcdir)/'`backend/entangle-control-date.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-date.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-date.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-date.c' object='libentangle_backend_la-entangle-control-date.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-date.lo `test -f 'backend/entangle-control-date.c' || echo '$(srcdir)/'`backend/entangle-control-date.c libentangle_backend_la-entangle-control-group.lo: backend/entangle-control-group.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-group.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-group.Tpo -c -o libentangle_backend_la-entangle-control-group.lo `test -f 'backend/entangle-control-group.c' || echo '$(srcdir)/'`backend/entangle-control-group.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-group.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-group.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-group.c' object='libentangle_backend_la-entangle-control-group.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-group.lo `test -f 'backend/entangle-control-group.c' || echo '$(srcdir)/'`backend/entangle-control-group.c libentangle_backend_la-entangle-control-range.lo: backend/entangle-control-range.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-range.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-range.Tpo -c -o libentangle_backend_la-entangle-control-range.lo `test -f 'backend/entangle-control-range.c' || echo '$(srcdir)/'`backend/entangle-control-range.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-range.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-range.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-range.c' object='libentangle_backend_la-entangle-control-range.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-range.lo `test -f 'backend/entangle-control-range.c' || echo '$(srcdir)/'`backend/entangle-control-range.c libentangle_backend_la-entangle-control-text.lo: backend/entangle-control-text.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-text.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-text.Tpo -c -o libentangle_backend_la-entangle-control-text.lo `test -f 'backend/entangle-control-text.c' || echo '$(srcdir)/'`backend/entangle-control-text.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-text.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-text.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-text.c' object='libentangle_backend_la-entangle-control-text.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-text.lo `test -f 'backend/entangle-control-text.c' || echo '$(srcdir)/'`backend/entangle-control-text.c libentangle_backend_la-entangle-control-toggle.lo: backend/entangle-control-toggle.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-control-toggle.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-control-toggle.Tpo -c -o libentangle_backend_la-entangle-control-toggle.lo `test -f 'backend/entangle-control-toggle.c' || echo '$(srcdir)/'`backend/entangle-control-toggle.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-control-toggle.Tpo $(DEPDIR)/libentangle_backend_la-entangle-control-toggle.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-control-toggle.c' object='libentangle_backend_la-entangle-control-toggle.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-control-toggle.lo `test -f 'backend/entangle-control-toggle.c' || echo '$(srcdir)/'`backend/entangle-control-toggle.c libentangle_backend_la-entangle-debug.lo: backend/entangle-debug.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-debug.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-debug.Tpo -c -o libentangle_backend_la-entangle-debug.lo `test -f 'backend/entangle-debug.c' || echo '$(srcdir)/'`backend/entangle-debug.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-debug.Tpo $(DEPDIR)/libentangle_backend_la-entangle-debug.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-debug.c' object='libentangle_backend_la-entangle-debug.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-debug.lo `test -f 'backend/entangle-debug.c' || echo '$(srcdir)/'`backend/entangle-debug.c libentangle_backend_la-entangle-device-manager.lo: backend/entangle-device-manager.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-device-manager.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-device-manager.Tpo -c -o libentangle_backend_la-entangle-device-manager.lo `test -f 'backend/entangle-device-manager.c' || echo '$(srcdir)/'`backend/entangle-device-manager.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-device-manager.Tpo $(DEPDIR)/libentangle_backend_la-entangle-device-manager.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-device-manager.c' object='libentangle_backend_la-entangle-device-manager.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-device-manager.lo `test -f 'backend/entangle-device-manager.c' || echo '$(srcdir)/'`backend/entangle-device-manager.c libentangle_backend_la-entangle-image.lo: backend/entangle-image.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-image.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-image.Tpo -c -o libentangle_backend_la-entangle-image.lo `test -f 'backend/entangle-image.c' || echo '$(srcdir)/'`backend/entangle-image.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-image.Tpo $(DEPDIR)/libentangle_backend_la-entangle-image.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-image.c' object='libentangle_backend_la-entangle-image.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-image.lo `test -f 'backend/entangle-image.c' || echo '$(srcdir)/'`backend/entangle-image.c libentangle_backend_la-entangle-pixbuf.lo: backend/entangle-pixbuf.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-pixbuf.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-pixbuf.Tpo -c -o libentangle_backend_la-entangle-pixbuf.lo `test -f 'backend/entangle-pixbuf.c' || echo '$(srcdir)/'`backend/entangle-pixbuf.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-pixbuf.Tpo $(DEPDIR)/libentangle_backend_la-entangle-pixbuf.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-pixbuf.c' object='libentangle_backend_la-entangle-pixbuf.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-pixbuf.lo `test -f 'backend/entangle-pixbuf.c' || echo '$(srcdir)/'`backend/entangle-pixbuf.c libentangle_backend_la-entangle-image-loader.lo: backend/entangle-image-loader.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-image-loader.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-image-loader.Tpo -c -o libentangle_backend_la-entangle-image-loader.lo `test -f 'backend/entangle-image-loader.c' || echo '$(srcdir)/'`backend/entangle-image-loader.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-image-loader.Tpo $(DEPDIR)/libentangle_backend_la-entangle-image-loader.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-image-loader.c' object='libentangle_backend_la-entangle-image-loader.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-image-loader.lo `test -f 'backend/entangle-image-loader.c' || echo '$(srcdir)/'`backend/entangle-image-loader.c libentangle_backend_la-entangle-pixbuf-loader.lo: backend/entangle-pixbuf-loader.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-pixbuf-loader.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-pixbuf-loader.Tpo -c -o libentangle_backend_la-entangle-pixbuf-loader.lo `test -f 'backend/entangle-pixbuf-loader.c' || echo '$(srcdir)/'`backend/entangle-pixbuf-loader.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-pixbuf-loader.Tpo $(DEPDIR)/libentangle_backend_la-entangle-pixbuf-loader.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-pixbuf-loader.c' object='libentangle_backend_la-entangle-pixbuf-loader.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-pixbuf-loader.lo `test -f 'backend/entangle-pixbuf-loader.c' || echo '$(srcdir)/'`backend/entangle-pixbuf-loader.c libentangle_backend_la-entangle-preferences.lo: backend/entangle-preferences.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-preferences.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-preferences.Tpo -c -o libentangle_backend_la-entangle-preferences.lo `test -f 'backend/entangle-preferences.c' || echo '$(srcdir)/'`backend/entangle-preferences.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-preferences.Tpo $(DEPDIR)/libentangle_backend_la-entangle-preferences.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-preferences.c' object='libentangle_backend_la-entangle-preferences.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-preferences.lo `test -f 'backend/entangle-preferences.c' || echo '$(srcdir)/'`backend/entangle-preferences.c libentangle_backend_la-entangle-progress.lo: backend/entangle-progress.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-progress.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-progress.Tpo -c -o libentangle_backend_la-entangle-progress.lo `test -f 'backend/entangle-progress.c' || echo '$(srcdir)/'`backend/entangle-progress.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-progress.Tpo $(DEPDIR)/libentangle_backend_la-entangle-progress.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-progress.c' object='libentangle_backend_la-entangle-progress.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-progress.lo `test -f 'backend/entangle-progress.c' || echo '$(srcdir)/'`backend/entangle-progress.c libentangle_backend_la-entangle-session.lo: backend/entangle-session.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-session.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-session.Tpo -c -o libentangle_backend_la-entangle-session.lo `test -f 'backend/entangle-session.c' || echo '$(srcdir)/'`backend/entangle-session.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-session.Tpo $(DEPDIR)/libentangle_backend_la-entangle-session.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-session.c' object='libentangle_backend_la-entangle-session.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-session.lo `test -f 'backend/entangle-session.c' || echo '$(srcdir)/'`backend/entangle-session.c libentangle_backend_la-entangle-thumbnail-loader.lo: backend/entangle-thumbnail-loader.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -MT libentangle_backend_la-entangle-thumbnail-loader.lo -MD -MP -MF $(DEPDIR)/libentangle_backend_la-entangle-thumbnail-loader.Tpo -c -o libentangle_backend_la-entangle-thumbnail-loader.lo `test -f 'backend/entangle-thumbnail-loader.c' || echo '$(srcdir)/'`backend/entangle-thumbnail-loader.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_backend_la-entangle-thumbnail-loader.Tpo $(DEPDIR)/libentangle_backend_la-entangle-thumbnail-loader.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='backend/entangle-thumbnail-loader.c' object='libentangle_backend_la-entangle-thumbnail-loader.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_backend_la_CFLAGS) $(CFLAGS) -c -o libentangle_backend_la-entangle-thumbnail-loader.lo `test -f 'backend/entangle-thumbnail-loader.c' || echo '$(srcdir)/'`backend/entangle-thumbnail-loader.c libentangle_frontend_la-entangle-window.lo: frontend/entangle-window.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-window.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-window.Tpo -c -o libentangle_frontend_la-entangle-window.lo `test -f 'frontend/entangle-window.c' || echo '$(srcdir)/'`frontend/entangle-window.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-window.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-window.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-window.c' object='libentangle_frontend_la-entangle-window.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-window.lo `test -f 'frontend/entangle-window.c' || echo '$(srcdir)/'`frontend/entangle-window.c libentangle_frontend_la-entangle-application.lo: frontend/entangle-application.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-application.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-application.Tpo -c -o libentangle_frontend_la-entangle-application.lo `test -f 'frontend/entangle-application.c' || echo '$(srcdir)/'`frontend/entangle-application.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-application.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-application.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-application.c' object='libentangle_frontend_la-entangle-application.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-application.lo `test -f 'frontend/entangle-application.c' || echo '$(srcdir)/'`frontend/entangle-application.c libentangle_frontend_la-entangle-camera-info.lo: frontend/entangle-camera-info.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-camera-info.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-camera-info.Tpo -c -o libentangle_frontend_la-entangle-camera-info.lo `test -f 'frontend/entangle-camera-info.c' || echo '$(srcdir)/'`frontend/entangle-camera-info.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-camera-info.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-camera-info.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-camera-info.c' object='libentangle_frontend_la-entangle-camera-info.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-camera-info.lo `test -f 'frontend/entangle-camera-info.c' || echo '$(srcdir)/'`frontend/entangle-camera-info.c libentangle_frontend_la-entangle-camera-support.lo: frontend/entangle-camera-support.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-camera-support.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-camera-support.Tpo -c -o libentangle_frontend_la-entangle-camera-support.lo `test -f 'frontend/entangle-camera-support.c' || echo '$(srcdir)/'`frontend/entangle-camera-support.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-camera-support.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-camera-support.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-camera-support.c' object='libentangle_frontend_la-entangle-camera-support.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-camera-support.lo `test -f 'frontend/entangle-camera-support.c' || echo '$(srcdir)/'`frontend/entangle-camera-support.c libentangle_frontend_la-entangle-camera-manager.lo: frontend/entangle-camera-manager.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-camera-manager.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-camera-manager.Tpo -c -o libentangle_frontend_la-entangle-camera-manager.lo `test -f 'frontend/entangle-camera-manager.c' || echo '$(srcdir)/'`frontend/entangle-camera-manager.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-camera-manager.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-camera-manager.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-camera-manager.c' object='libentangle_frontend_la-entangle-camera-manager.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-camera-manager.lo `test -f 'frontend/entangle-camera-manager.c' || echo '$(srcdir)/'`frontend/entangle-camera-manager.c libentangle_frontend_la-entangle-camera-picker.lo: frontend/entangle-camera-picker.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-camera-picker.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-camera-picker.Tpo -c -o libentangle_frontend_la-entangle-camera-picker.lo `test -f 'frontend/entangle-camera-picker.c' || echo '$(srcdir)/'`frontend/entangle-camera-picker.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-camera-picker.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-camera-picker.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-camera-picker.c' object='libentangle_frontend_la-entangle-camera-picker.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-camera-picker.lo `test -f 'frontend/entangle-camera-picker.c' || echo '$(srcdir)/'`frontend/entangle-camera-picker.c libentangle_frontend_la-entangle-control-panel.lo: frontend/entangle-control-panel.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-control-panel.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-control-panel.Tpo -c -o libentangle_frontend_la-entangle-control-panel.lo `test -f 'frontend/entangle-control-panel.c' || echo '$(srcdir)/'`frontend/entangle-control-panel.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-control-panel.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-control-panel.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-control-panel.c' object='libentangle_frontend_la-entangle-control-panel.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-control-panel.lo `test -f 'frontend/entangle-control-panel.c' || echo '$(srcdir)/'`frontend/entangle-control-panel.c libentangle_frontend_la-entangle-dpms.lo: frontend/entangle-dpms.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-dpms.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-dpms.Tpo -c -o libentangle_frontend_la-entangle-dpms.lo `test -f 'frontend/entangle-dpms.c' || echo '$(srcdir)/'`frontend/entangle-dpms.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-dpms.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-dpms.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-dpms.c' object='libentangle_frontend_la-entangle-dpms.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-dpms.lo `test -f 'frontend/entangle-dpms.c' || echo '$(srcdir)/'`frontend/entangle-dpms.c libentangle_frontend_la-entangle-help-about.lo: frontend/entangle-help-about.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-help-about.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-help-about.Tpo -c -o libentangle_frontend_la-entangle-help-about.lo `test -f 'frontend/entangle-help-about.c' || echo '$(srcdir)/'`frontend/entangle-help-about.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-help-about.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-help-about.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-help-about.c' object='libentangle_frontend_la-entangle-help-about.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-help-about.lo `test -f 'frontend/entangle-help-about.c' || echo '$(srcdir)/'`frontend/entangle-help-about.c libentangle_frontend_la-entangle-image-display.lo: frontend/entangle-image-display.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-image-display.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-image-display.Tpo -c -o libentangle_frontend_la-entangle-image-display.lo `test -f 'frontend/entangle-image-display.c' || echo '$(srcdir)/'`frontend/entangle-image-display.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-image-display.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-image-display.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-image-display.c' object='libentangle_frontend_la-entangle-image-display.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-image-display.lo `test -f 'frontend/entangle-image-display.c' || echo '$(srcdir)/'`frontend/entangle-image-display.c libentangle_frontend_la-entangle-image-display-enums.lo: frontend/entangle-image-display-enums.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-image-display-enums.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-image-display-enums.Tpo -c -o libentangle_frontend_la-entangle-image-display-enums.lo `test -f 'frontend/entangle-image-display-enums.c' || echo '$(srcdir)/'`frontend/entangle-image-display-enums.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-image-display-enums.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-image-display-enums.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-image-display-enums.c' object='libentangle_frontend_la-entangle-image-display-enums.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-image-display-enums.lo `test -f 'frontend/entangle-image-display-enums.c' || echo '$(srcdir)/'`frontend/entangle-image-display-enums.c libentangle_frontend_la-entangle-image-histogram.lo: frontend/entangle-image-histogram.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-image-histogram.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-image-histogram.Tpo -c -o libentangle_frontend_la-entangle-image-histogram.lo `test -f 'frontend/entangle-image-histogram.c' || echo '$(srcdir)/'`frontend/entangle-image-histogram.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-image-histogram.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-image-histogram.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-image-histogram.c' object='libentangle_frontend_la-entangle-image-histogram.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-image-histogram.lo `test -f 'frontend/entangle-image-histogram.c' || echo '$(srcdir)/'`frontend/entangle-image-histogram.c libentangle_frontend_la-entangle-image-popup.lo: frontend/entangle-image-popup.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-image-popup.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-image-popup.Tpo -c -o libentangle_frontend_la-entangle-image-popup.lo `test -f 'frontend/entangle-image-popup.c' || echo '$(srcdir)/'`frontend/entangle-image-popup.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-image-popup.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-image-popup.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-image-popup.c' object='libentangle_frontend_la-entangle-image-popup.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-image-popup.lo `test -f 'frontend/entangle-image-popup.c' || echo '$(srcdir)/'`frontend/entangle-image-popup.c libentangle_frontend_la-entangle-image-statusbar.lo: frontend/entangle-image-statusbar.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-image-statusbar.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-image-statusbar.Tpo -c -o libentangle_frontend_la-entangle-image-statusbar.lo `test -f 'frontend/entangle-image-statusbar.c' || echo '$(srcdir)/'`frontend/entangle-image-statusbar.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-image-statusbar.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-image-statusbar.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-image-statusbar.c' object='libentangle_frontend_la-entangle-image-statusbar.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-image-statusbar.lo `test -f 'frontend/entangle-image-statusbar.c' || echo '$(srcdir)/'`frontend/entangle-image-statusbar.c libentangle_frontend_la-entangle-preferences-display.lo: frontend/entangle-preferences-display.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-preferences-display.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-preferences-display.Tpo -c -o libentangle_frontend_la-entangle-preferences-display.lo `test -f 'frontend/entangle-preferences-display.c' || echo '$(srcdir)/'`frontend/entangle-preferences-display.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-preferences-display.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-preferences-display.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-preferences-display.c' object='libentangle_frontend_la-entangle-preferences-display.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-preferences-display.lo `test -f 'frontend/entangle-preferences-display.c' || echo '$(srcdir)/'`frontend/entangle-preferences-display.c libentangle_frontend_la-entangle-session-browser.lo: frontend/entangle-session-browser.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-session-browser.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-session-browser.Tpo -c -o libentangle_frontend_la-entangle-session-browser.lo `test -f 'frontend/entangle-session-browser.c' || echo '$(srcdir)/'`frontend/entangle-session-browser.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-session-browser.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-session-browser.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-session-browser.c' object='libentangle_frontend_la-entangle-session-browser.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-session-browser.lo `test -f 'frontend/entangle-session-browser.c' || echo '$(srcdir)/'`frontend/entangle-session-browser.c libentangle_frontend_la-entangle-overlay-box.lo: frontend/entangle-overlay-box.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-overlay-box.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-overlay-box.Tpo -c -o libentangle_frontend_la-entangle-overlay-box.lo `test -f 'frontend/entangle-overlay-box.c' || echo '$(srcdir)/'`frontend/entangle-overlay-box.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-overlay-box.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-overlay-box.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-overlay-box.c' object='libentangle_frontend_la-entangle-overlay-box.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-overlay-box.lo `test -f 'frontend/entangle-overlay-box.c' || echo '$(srcdir)/'`frontend/entangle-overlay-box.c libentangle_frontend_la-entangle-auto-drawer.lo: frontend/entangle-auto-drawer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-auto-drawer.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-auto-drawer.Tpo -c -o libentangle_frontend_la-entangle-auto-drawer.lo `test -f 'frontend/entangle-auto-drawer.c' || echo '$(srcdir)/'`frontend/entangle-auto-drawer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-auto-drawer.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-auto-drawer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-auto-drawer.c' object='libentangle_frontend_la-entangle-auto-drawer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-auto-drawer.lo `test -f 'frontend/entangle-auto-drawer.c' || echo '$(srcdir)/'`frontend/entangle-auto-drawer.c libentangle_frontend_la-entangle-drawer.lo: frontend/entangle-drawer.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -MT libentangle_frontend_la-entangle-drawer.lo -MD -MP -MF $(DEPDIR)/libentangle_frontend_la-entangle-drawer.Tpo -c -o libentangle_frontend_la-entangle-drawer.lo `test -f 'frontend/entangle-drawer.c' || echo '$(srcdir)/'`frontend/entangle-drawer.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/libentangle_frontend_la-entangle-drawer.Tpo $(DEPDIR)/libentangle_frontend_la-entangle-drawer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='frontend/entangle-drawer.c' object='libentangle_frontend_la-entangle-drawer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libentangle_frontend_la_CFLAGS) $(CFLAGS) -c -o libentangle_frontend_la-entangle-drawer.lo `test -f 'frontend/entangle-drawer.c' || echo '$(srcdir)/'`frontend/entangle-drawer.c entangle-entangle-main.o: entangle-main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(entangle_CFLAGS) $(CFLAGS) -MT entangle-entangle-main.o -MD -MP -MF $(DEPDIR)/entangle-entangle-main.Tpo -c -o entangle-entangle-main.o `test -f 'entangle-main.c' || echo '$(srcdir)/'`entangle-main.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/entangle-entangle-main.Tpo $(DEPDIR)/entangle-entangle-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='entangle-main.c' object='entangle-entangle-main.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(entangle_CFLAGS) $(CFLAGS) -c -o entangle-entangle-main.o `test -f 'entangle-main.c' || echo '$(srcdir)/'`entangle-main.c entangle-entangle-main.obj: entangle-main.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(entangle_CFLAGS) $(CFLAGS) -MT entangle-entangle-main.obj -MD -MP -MF $(DEPDIR)/entangle-entangle-main.Tpo -c -o entangle-entangle-main.obj `if test -f 'entangle-main.c'; then $(CYGPATH_W) 'entangle-main.c'; else $(CYGPATH_W) '$(srcdir)/entangle-main.c'; fi` @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) $(DEPDIR)/entangle-entangle-main.Tpo $(DEPDIR)/entangle-entangle-main.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='entangle-main.c' object='entangle-entangle-main.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(entangle_CFLAGS) $(CFLAGS) -c -o entangle-entangle-main.obj `if test -f 'entangle-main.c'; then $(CYGPATH_W) 'entangle-main.c'; else $(CYGPATH_W) '$(srcdir)/entangle-main.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-appdataDATA: $(appdata_DATA) @$(NORMAL_INSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(appdatadir)'"; \ $(MKDIR_P) "$(DESTDIR)$(appdatadir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(appdatadir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(appdatadir)" || exit $$?; \ done uninstall-appdataDATA: @$(NORMAL_UNINSTALL) @list='$(appdata_DATA)'; test -n "$(appdatadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(appdatadir)'; $(am__uninstall_files_from_dir) install-builderDATA: $(builder_DATA) @$(NORMAL_INSTALL) @list='$(builder_DATA)'; test -n "$(builderdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(builderdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(builderdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(builderdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(builderdir)" || exit $$?; \ done uninstall-builderDATA: @$(NORMAL_UNINSTALL) @list='$(builder_DATA)'; test -n "$(builderdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(builderdir)'; $(am__uninstall_files_from_dir) install-desktopDATA: $(desktop_DATA) @$(NORMAL_INSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(desktopdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(desktopdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \ done uninstall-desktopDATA: @$(NORMAL_UNINSTALL) @list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir) install-girDATA: $(gir_DATA) @$(NORMAL_INSTALL) @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(girdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(girdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(girdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(girdir)" || exit $$?; \ done uninstall-girDATA: @$(NORMAL_UNINSTALL) @list='$(gir_DATA)'; test -n "$(girdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(girdir)'; $(am__uninstall_files_from_dir) install-iccDATA: $(icc_DATA) @$(NORMAL_INSTALL) @list='$(icc_DATA)'; test -n "$(iccdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(iccdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(iccdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(iccdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(iccdir)" || exit $$?; \ done uninstall-iccDATA: @$(NORMAL_UNINSTALL) @list='$(icc_DATA)'; test -n "$(iccdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(iccdir)'; $(am__uninstall_files_from_dir) install-iconDATA: $(icon_DATA) @$(NORMAL_INSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(icondir)'"; \ $(MKDIR_P) "$(DESTDIR)$(icondir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(icondir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(icondir)" || exit $$?; \ done uninstall-iconDATA: @$(NORMAL_UNINSTALL) @list='$(icon_DATA)'; test -n "$(icondir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(icondir)'; $(am__uninstall_files_from_dir) install-typelibsDATA: $(typelibs_DATA) @$(NORMAL_INSTALL) @list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \ if test -n "$$list"; then \ echo " $(MKDIR_P) '$(DESTDIR)$(typelibsdir)'"; \ $(MKDIR_P) "$(DESTDIR)$(typelibsdir)" || exit 1; \ fi; \ for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; \ done | $(am__base_list) | \ while read files; do \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(typelibsdir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(typelibsdir)" || exit $$?; \ done uninstall-typelibsDATA: @$(NORMAL_UNINSTALL) @list='$(typelibs_DATA)'; test -n "$(typelibsdir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \ dir='$(DESTDIR)$(typelibsdir)'; $(am__uninstall_files_from_dir) # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) check-recursive all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(appdatadir)" "$(DESTDIR)$(builderdir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(girdir)" "$(DESTDIR)$(iccdir)" "$(DESTDIR)$(icondir)" "$(DESTDIR)$(typelibsdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: $(BUILT_SOURCES) $(MAKE) $(AM_MAKEFLAGS) install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstLTLIBRARIES mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-appdataDATA install-builderDATA \ install-data-local install-desktopDATA install-girDATA \ install-iccDATA install-iconDATA install-typelibsDATA install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-binPROGRAMS install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-appdataDATA uninstall-binPROGRAMS \ uninstall-builderDATA uninstall-desktopDATA uninstall-girDATA \ uninstall-iccDATA uninstall-iconDATA uninstall-local \ uninstall-typelibsDATA .MAKE: $(am__recursive_targets) all check install install-am \ install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-binPROGRAMS clean-generic clean-libtool \ clean-noinstLTLIBRARIES cscopelist-am ctags ctags-am distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-appdataDATA install-binPROGRAMS \ install-builderDATA install-data install-data-am \ install-data-local install-desktopDATA install-dvi \ install-dvi-am install-exec install-exec-am install-girDATA \ install-html install-html-am install-iccDATA install-iconDATA \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ install-typelibsDATA installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \ uninstall-am uninstall-appdataDATA uninstall-binPROGRAMS \ uninstall-builderDATA uninstall-desktopDATA uninstall-girDATA \ uninstall-iccDATA uninstall-iconDATA uninstall-local \ uninstall-typelibsDATA @GSETTINGS_RULES@ %.desktop: $(srcdir)/%.desktop.in $(AM_V_GEN)sed -e "s,::DATADIR::,$(datadir),g" < $< > $@ backend/entangle-colour-profile-enums.c: backend/entangle-colour-profile.h backend/entangle-colour-profile-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-colour-profile-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ backend/entangle-colour-profile-enums.h: backend/entangle-colour-profile.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ backend/entangle-config-entry-enums.c: backend/entangle-config-entry.h backend/entangle-config-entry-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-config-entry-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ backend/entangle-config-entry-enums.h: backend/entangle-config-entry.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_COLOUR_PROFILE_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ frontend/entangle-image-display-enums.c: frontend/entangle-image-display.h frontend/entangle-image-display-enums.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#include \"entangle-image-display-enums.h\"\n\n" \ --fprod "\n/* enumerations from \"@filename@\" */" \ --fprod "\n#include \"@filename@\"\n" \ --vhead "static const G@Type@Value _@enum_name@_values[] = {" \ --vprod " { @VALUENAME@, \"@VALUENAME@\", \"@valuenick@\" }," \ --vtail " { 0, NULL, NULL }\n};\n\n" \ --vtail "GType\n@enum_name@_get_type (void)\n{\n" \ --vtail " static GType type = 0;\n\n" \ --vtail " if (!type)\n" \ --vtail " type = g_@type@_register_static (\"@EnumName@\", _@enum_name@_values);\n\n" \ --vtail " return type;\n}\n\n" \ $< > $@ frontend/entangle-image-display-enums.h: frontend/entangle-image-display.h Makefile.am $(AM_V_GEN)glib-mkenums \ --fhead "#ifndef __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__\n" \ --fhead "#define __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__\n\n" \ --fhead "#include \n" \ --fhead "G_BEGIN_DECLS\n\n" \ --ftail "G_END_DECLS\n\n" \ --ftail "#endif /* __ENTANGLE_IMAGE_DISPLAY_ENUMS_H__ */\n" \ --fprod "\n/* --- @filename@ --- */" \ --eprod "#define ENTANGLE_TYPE_@ENUMSHORT@ @enum_name@_get_type()\n" \ --eprod "GType @enum_name@_get_type (void);\n" \ $< > $@ install-data-local: $(MKDIR_P) $(DESTDIR)$(libdir)/entangle/plugins $(MKDIR_P) $(DESTDIR)$(datadir)/entangle/plugins uninstall-local:: rmdir $(DESTDIR)$(libdir)/entangle/plugins ||: rmdir $(DESTDIR)$(libdir)/entangle ||: rmdir $(DESTDIR)$(datadir)/entangle/plugins ||: rmdir $(DESTDIR)$(datadir)/entangle ||: Entangle-0.1.gir: entangle $(G_IR_SCANNER) Makefile.am $(AM_V_GEN)$(G_IR_SCANNER) -v --warn-all \ --namespace Entangle \ --nsversion 0.1 \ --include GObject-2.0 \ --include Gtk-3.0 \ --include Peas-1.0 \ --program=$(builddir)/entangle \ --add-include-path=$(srcdir) \ --add-include-path=$(builddir) \ --output $@ \ -I$(srcdir)/backend \ -I$(srcdir)/frontend \ --verbose \ --pkg=glib-2.0 \ --pkg=gthread-2.0 \ --pkg=gdk-pixbuf-2.0 \ --pkg=gobject-2.0 \ --pkg=gtk+-3.0 \ --pkg=libgphoto2 \ --pkg=libpeas-1.0 \ --pkg=dbus-glib-1 \ --pkg=gexiv2 \ $(libentangle_backend_la_SOURCES:%=$(srcdir)/%) \ $(libentangle_frontend_la_SOURCES:%=$(srcdir)/%) \ $(entangle_SOURCES:%=$(srcdir)/%) %.typelib: %.gir $(AM_V_GEN)$(G_IR_COMPILER) \ --includedir=$(srcdir) \ --includedir=$(builddir) \ -o $@ $< -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/src/capture-22.png0000664000000000000000000000123112253420652013365 00000000000000PNG  IHDRĴl;bKGD pHYs  tIME 1TtEXtCommentid logow IDAT8˥kQb4ȦŅPUt dҺtgۭR0.* "@ {.2$i:=00yg;jVuf4J\.}Qv70MR^%ަel4< %RJLiwX,|xxt"XV!W'z.д>!mjOvTu\Nj/aY.ADS*VGZVwe B @JEF8!(ee}@3,/DË X* image/svg+xml http://www.openclipart.org/detail/20295/camera-lens-by-rg1024-20295 entangle-0.5.4/src/imageviewer-22.png0000664000000000000000000000160412253420653014233 00000000000000PNG  IHDRĴl;bKGD pHYs B(xtIME 1)IDAT8ՕOEޞޝf1D#Aѣg!G \<+xYL uuE#nc&̄=d3;{ig2hbCQUۥN, ,cX91Qy>M!F١z@: ,VGgÂI>|?Q)[@oeXGm#?Œؽ`IENDB`entangle-0.5.4/src/color-management.png0000664000000000000000000000625512253420652014744 00000000000000PNG  IHDR00WbKGDC pHYs 7˭tIME0\:= :IDATh՚Y\WVuuZ}rclj!qfh@ 0#03hFy)BHDa!DYqv׽ݮy8߹u [w;ix)H?wiPto>O!_)57QZ/"ݻ.S(dD/j>i]Q>z!$_ IB)4IsQH'v8 $JkjKCwr=)4e_foɾ?C,^d*"XRoVjvB̛Wݒ􀮂m[ L~${k F23O)BV|co.v<xgQ$CSta'{E Rbl? ~ Gy]k+P__gPL(Ӧ)M 0l%qDLPب=r`^DIQDŻtؒ6u魬._Ii0 ? H4,%._$I,03qPJ@Y\Ɓ2]>Pa|/VʺVF]Rc"E&hm`{vhq={&+!Ya<3eՀZDGvw*eRO&@ӧCiT_,ȡ#K|mlm)gWAN+CUإT=Mɞ[`6E6D5u`EXKց >?c#M8'IBǤq ZB{IℴAH)6SyR&HuD ^7yį(.IHkr^rOm&hZ<~\tukmz4wA|@QLJYMBO p!rD…K[.R2G9qs|z]گI`]&7M@R'[Wn0:b ,\bZ^ kާ- ]O\(r\GVD@3ڑy'^3eqdQ)֟EX,pA>"a_ 3u^ JCpj#ǝLgN`qRI܍6iwx8-ij3z 4^9<@IH^x0~,|~]a=S&JuM|;~jJ;nYǟ='ۆ`3=p@?g兲i[lD)`~|&ā>158 7^8+ 7ݎr^3%(+("tRn^Y󁗚|HȮ %1 Z~Oq14 yJb,pGC'!DʟeY(˕_Ys$qm h3871׷|:IO;]ZL5I*Hσ-ɝBg["=b\i&BĶ >N{_t}j6"TVڣhƄ$@>f  b@7`+ sU+t}I6%18BJh]K@\<73ѸF}>~ lR% Ș ěxY6n֨M="("Oj!pfUl"m\Ene0T W8Y7l[}㱧J9U!Aމ3nݶ u'pC+V5VfhP:YzPx O5FBn.\ oPL`{ ,y:J<|0Gru9$%R):UƘ_dL@cb?TA\D,ttADDH!T iSlWYgta ꝇ+}DI+'(JH/L$nb 5ۀ0rFB" #Z$$;n,2Z9˲L[%mSZcD' :7ylPy|Bh44M ð Xѷ~}퇭b>~^?"$qR ?k޻m5J)a 0{qʏ^yayyy H]w,8"N:5 "?1A 6/}p^@D)| @}헁ڡ3'#{q( ͛7~_KKK2!0l@pְ. * */ #ifndef __ENTANGLE_CAMERA_LIST_H__ #define __ENTANGLE_CAMERA_LIST_H__ #include "entangle-camera.h" #include G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_LIST (entangle_camera_list_get_type ()) #define ENTANGLE_CAMERA_LIST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_LIST, EntangleCameraList)) #define ENTANGLE_CAMERA_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_LIST, EntangleCameraListClass)) #define ENTANGLE_IS_CAMERA_LIST(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_LIST)) #define ENTANGLE_IS_CAMERA_LIST_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_LIST)) #define ENTANGLE_CAMERA_LIST_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_LIST, EntangleCameraListClass)) typedef struct _EntangleCameraList EntangleCameraList; typedef struct _EntangleCameraListPrivate EntangleCameraListPrivate; typedef struct _EntangleCameraListClass EntangleCameraListClass; struct _EntangleCameraList { GObject parent; EntangleCameraListPrivate *priv; }; struct _EntangleCameraListClass { GObjectClass parent_class; void (*camera_added)(EntangleCameraList *list, EntangleCamera *cam); void (*camera_removed)(EntangleCameraList *list, EntangleCamera *cam); }; GType entangle_camera_list_get_type(void) G_GNUC_CONST; EntangleCameraList* entangle_camera_list_new(void); gboolean entangle_camera_list_refresh(EntangleCameraList *list, GError **error); int entangle_camera_list_count(EntangleCameraList *list); void entangle_camera_list_add(EntangleCameraList *list, EntangleCamera *cam); void entangle_camera_list_remove(EntangleCameraList *list, EntangleCamera *cam); EntangleCamera *entangle_camera_list_get(EntangleCameraList *list, int entry); GList *entangle_camera_list_get_cameras(EntangleCameraList *list); EntangleCamera *entangle_camera_list_find(EntangleCameraList *list, const char *port); gchar **entangle_camera_list_get_supported(EntangleCameraList *list); G_END_DECLS #endif /* __ENTANGLE_CAMERA_LIST_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-session.c0000664000000000000000000004064512253420652016020 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-session.h" #include "entangle-image.h" #define ENTANGLE_SESSION_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_SESSION, EntangleSessionPrivate)) struct _EntangleSessionPrivate { char *directory; char *filenamePattern; gboolean recalculateDigit; int nextFilenameDigit; char *lastFilePrefixSrc; char *lastFilePrefixDst; GList *images; }; G_DEFINE_TYPE(EntangleSession, entangle_session, G_TYPE_OBJECT); enum { PROP_0, PROP_DIRECTORY, PROP_FILENAME_PATTERN, }; static void entangle_session_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleSession *picker = ENTANGLE_SESSION(object); EntangleSessionPrivate *priv = picker->priv; switch (prop_id) { case PROP_DIRECTORY: g_value_set_string(value, priv->directory); break; case PROP_FILENAME_PATTERN: g_value_set_string(value, priv->filenamePattern); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_session_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleSession *picker = ENTANGLE_SESSION(object); EntangleSessionPrivate *priv = picker->priv; switch (prop_id) { case PROP_DIRECTORY: g_free(priv->directory); priv->directory = g_value_dup_string(value); g_mkdir_with_parents(priv->directory, 0777); break; case PROP_FILENAME_PATTERN: g_free(priv->filenamePattern); priv->filenamePattern = g_value_dup_string(value); priv->recalculateDigit = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void do_image_unref(gpointer object, gpointer opaque G_GNUC_UNUSED) { EntangleImage *image = object; g_object_unref(image); } static void entangle_session_finalize(GObject *object) { EntangleSession *session = ENTANGLE_SESSION(object); EntangleSessionPrivate *priv = session->priv; ENTANGLE_DEBUG("Finalize session %p", object); if (priv->images) { g_list_foreach(priv->images, do_image_unref, NULL); g_list_free(priv->images); } g_free(priv->lastFilePrefixSrc); g_free(priv->lastFilePrefixDst); g_free(priv->filenamePattern); g_free(priv->directory); G_OBJECT_CLASS(entangle_session_parent_class)->finalize(object); } static void entangle_session_class_init(EntangleSessionClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_session_finalize; object_class->get_property = entangle_session_get_property; object_class->set_property = entangle_session_set_property; g_signal_new("session-image-added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleSessionClass, session_image_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_signal_new("session-image-removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleSessionClass, session_image_removed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_object_class_install_property(object_class, PROP_DIRECTORY, g_param_spec_string("directory", "Session directory", "Full path to session file", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_FILENAME_PATTERN, g_param_spec_string("filename-pattern", "Filename patern", "Pattern for creating new filenames", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleSessionPrivate)); } EntangleSession *entangle_session_new(const char *directory, const char *filenamePattern) { return ENTANGLE_SESSION(g_object_new(ENTANGLE_TYPE_SESSION, "directory", directory, "filename-pattern", filenamePattern, NULL)); } static void entangle_session_init(EntangleSession *session) { EntangleSessionPrivate *priv; priv = session->priv = ENTANGLE_SESSION_GET_PRIVATE(session); priv->recalculateDigit = TRUE; } const char *entangle_session_directory(EntangleSession *session) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), NULL); EntangleSessionPrivate *priv = session->priv; return priv->directory; } const char *entangle_session_filename_pattern(EntangleSession *session) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), NULL); EntangleSessionPrivate *priv = session->priv; return priv->filenamePattern; } static gint entangle_session_next_digit(EntangleSession *session) { EntangleSessionPrivate *priv = session->priv; gint maxDigit = -1; GList *images = priv->images; const gchar *template = strchr(priv->filenamePattern, 'X'); gchar *prefix = g_strndup(priv->filenamePattern, (template - priv->filenamePattern)); gint prefixlen = strlen(prefix); gint templatelen = 0; const gchar *postfix; gint postfixlen; while (*template == 'X') { templatelen++; template++; } postfix = template; postfixlen = strlen(postfix); ENTANGLE_DEBUG("Template '%s' with prefixlen %d, %d digits and postfix %d", priv->filenamePattern, prefixlen, templatelen, postfixlen); while (images) { EntangleImage *image = images->data; const gchar *name = entangle_image_get_filename(image); gsize remain = templatelen; gint digit = 0; if (!g_str_has_prefix(name, priv->directory)) { ENTANGLE_DEBUG("File %s does not match directory", entangle_image_get_filename(image)); goto next; } name += strlen(priv->directory); while (*name == '/') name++; /* Ignore files not matching the template prefix */ if (!g_str_has_prefix(name, prefix)) { ENTANGLE_DEBUG("File %s does not match prefix", entangle_image_get_filename(image)); goto next; } name += prefixlen; /* Skip over filename matching digits */ while (remain && g_ascii_isdigit(*name)) { digit *= 10; digit += *name - '0'; name++; remain--; } /* See if unexpectedly got a non-digit before end of template */ if (remain) { ENTANGLE_DEBUG("File %s has too few digits", entangle_image_get_filename(image)); goto next; } if (!g_str_has_prefix(name, postfix)) { ENTANGLE_DEBUG("File %s does not match postfix", entangle_image_get_filename(image)); goto next; } name += postfixlen; /* Verify there is a file extension following the digits */ if (*name != '.') { ENTANGLE_DEBUG("File %s has trailing data", entangle_image_get_filename(image)); goto next; } if (digit > maxDigit) maxDigit = digit; ENTANGLE_DEBUG("File %s matches maxDigit is %d", entangle_image_get_filename(image), maxDigit); next: images = images->next; } g_free(prefix); return maxDigit + 1; } static char *entangle_session_next_file_prefix(EntangleSession *session) { EntangleSessionPrivate *priv = session->priv; const char *template = strchr(priv->filenamePattern, 'X'); const char *postfix; char *prefix; char *format; char *filename; int ndigits; ENTANGLE_DEBUG("NEXT FILENAME '%s'", template); if (!template) return NULL; if (priv->recalculateDigit) { priv->nextFilenameDigit = entangle_session_next_digit(session); priv->recalculateDigit = FALSE; } postfix = template; while (*postfix == 'X') postfix++; prefix = g_strndup(priv->filenamePattern, template - priv->filenamePattern); ndigits = postfix - template; format = g_strdup_printf("%%s%%0%dd%%s", ndigits); ENTANGLE_DEBUG("Format '%s' prefix='%s' postfix='%s' ndigits=%d nextDigits=%d", format, prefix, postfix, ndigits, priv->nextFilenameDigit); filename = g_strdup_printf(format, prefix, priv->nextFilenameDigit, postfix); priv->nextFilenameDigit++; g_free(prefix); g_free(format); return filename; } char *entangle_session_next_filename(EntangleSession *session, EntangleCameraFile *file) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), NULL); EntangleSessionPrivate *priv = session->priv; const char *srcname = entangle_camera_file_get_name(file); char *dstname = NULL; const char *offset = strrchr(srcname, '.'); char *ext; char *srcprefix; ENTANGLE_DEBUG("Next filename %s against (%s, %s)", srcname, priv->lastFilePrefixSrc ? priv->lastFilePrefixSrc : "", priv->lastFilePrefixDst ? priv->lastFilePrefixDst : ""); if (!offset) { srcprefix = g_strdup(srcname); ext = g_strdup("jpeg"); } else { srcprefix = g_strndup(srcname, (offset - srcname)); ext = g_ascii_strdown(offset + 1, -1); } if (priv->lastFilePrefixSrc && priv->lastFilePrefixDst && g_str_equal(priv->lastFilePrefixSrc, srcprefix)) { } else { g_free(priv->lastFilePrefixSrc); g_free(priv->lastFilePrefixDst); priv->lastFilePrefixSrc = srcprefix; priv->lastFilePrefixDst = entangle_session_next_file_prefix(session); } if (priv->lastFilePrefixDst) dstname = g_strdup_printf("%s/%s.%s", priv->directory, priv->lastFilePrefixDst, ext); g_free(ext); ENTANGLE_DEBUG("Built '%s'", dstname); if (access(dstname, R_OK) == 0 || errno != ENOENT) { ENTANGLE_DEBUG("Filename %s unexpectedly exists", dstname); g_free(dstname); dstname = NULL; } return dstname; } void entangle_session_add(EntangleSession *session, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_SESSION(session)); g_return_if_fail(ENTANGLE_IS_IMAGE(image)); EntangleSessionPrivate *priv = session->priv; g_object_ref(image); priv->images = g_list_prepend(priv->images, image); g_signal_emit_by_name(session, "session-image-added", image); } void entangle_session_remove(EntangleSession *session, EntangleImage *image) { g_return_if_fail(ENTANGLE_IS_SESSION(session)); g_return_if_fail(ENTANGLE_IS_IMAGE(image)); EntangleSessionPrivate *priv = session->priv; GList *tmp = g_list_find(priv->images, image); if (!tmp) return; priv->images = g_list_delete_link(priv->images, tmp); g_signal_emit_by_name(session, "session-image-removed", image); g_object_unref(image); } static gboolean entangle_session_image_supported(const gchar *name) { const char *extlist[] = { ".cr2", ".nef", ".nrw", ".arw", ".orf", ".dng", ".pef", ".crw", ".erf", ".mrw", ".raw", ".rw2", ".raf", ".jpg", ".jpeg", ".png", ".tif", ".tiff", NULL }; const char **tmp; char *filename = g_utf8_strdown(name, -1); gboolean ret = TRUE; tmp = extlist; while (*tmp) { const char *ext = *tmp; if (g_str_has_suffix(filename, ext)) goto cleanup; tmp++; } ret = FALSE; cleanup: g_free(filename); return ret; } gboolean entangle_session_load(EntangleSession *session) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), FALSE); EntangleSessionPrivate *priv = session->priv; GFile *dir = g_file_new_for_path(priv->directory); GFileEnumerator *children = g_file_enumerate_children(dir, "standard::name,standard::type", G_FILE_QUERY_INFO_NONE, NULL, NULL); GFileInfo *childinfo; while ((childinfo = g_file_enumerator_next_file(children, NULL, NULL)) != NULL) { const gchar *thisname = g_file_info_get_name(childinfo); GFile *child = g_file_get_child(dir, thisname); if (g_file_info_get_file_type(childinfo) == G_FILE_TYPE_REGULAR || g_file_info_get_file_type(childinfo) == G_FILE_TYPE_SYMBOLIC_LINK) { if (entangle_session_image_supported(thisname)) { EntangleImage *image = entangle_image_new_file(g_file_get_path(child)); ENTANGLE_DEBUG("Adding '%s'", g_file_get_path(child)); entangle_session_add(session, image); g_object_unref(image); } } g_object_unref(child); g_object_unref(childinfo); } g_object_unref(children); priv->recalculateDigit = TRUE; return TRUE; } int entangle_session_image_count(EntangleSession *session) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), 0); EntangleSessionPrivate *priv = session->priv; return g_list_length(priv->images); } EntangleImage *entangle_session_image_get(EntangleSession *session, int idx) { g_return_val_if_fail(ENTANGLE_IS_SESSION(session), NULL); EntangleSessionPrivate *priv = session->priv; return g_list_nth_data(priv->images, idx); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-group.h0000664000000000000000000000570612253420651017152 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_GROUP_H__ #define __ENTANGLE_CONTROL_GROUP_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_GROUP (entangle_control_group_get_type ()) #define ENTANGLE_CONTROL_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_GROUP, EntangleControlGroup)) #define ENTANGLE_CONTROL_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_GROUP, EntangleControlGroupClass)) #define ENTANGLE_IS_CONTROL_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_GROUP)) #define ENTANGLE_IS_CONTROL_GROUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_GROUP)) #define ENTANGLE_CONTROL_GROUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_GROUP, EntangleControlGroupClass)) typedef struct _EntangleControlGroup EntangleControlGroup; typedef struct _EntangleControlGroupPrivate EntangleControlGroupPrivate; typedef struct _EntangleControlGroupClass EntangleControlGroupClass; struct _EntangleControlGroup { EntangleControl parent; EntangleControlGroupPrivate *priv; }; struct _EntangleControlGroupClass { EntangleControlClass parent_class; }; GType entangle_control_group_get_type(void) G_GNUC_CONST; EntangleControlGroup* entangle_control_group_new(const gchar *path, gint id, const gchar *label, const gchar *info, gboolean readonly); void entangle_control_group_add(EntangleControlGroup *group, EntangleControl *control); guint entangle_control_group_count(EntangleControlGroup *group); EntangleControl *entangle_control_group_get(EntangleControlGroup *group, int idx); EntangleControl *entangle_control_group_get_by_path(EntangleControlGroup *group, const gchar *path); G_END_DECLS #endif /* __ENTANGLE_CONTROL_GROUP_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-camera-list.c0000664000000000000000000003443612253420651016536 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-list.h" #include "entangle-device-manager.h" #define ENTANGLE_CAMERA_LIST_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_LIST, EntangleCameraListPrivate)) struct _EntangleCameraListPrivate { size_t ncamera; EntangleCamera **cameras; EntangleDeviceManager *devManager; GPContext *ctx; CameraAbilitiesList *caps; GPPortInfoList *ports; }; G_DEFINE_TYPE(EntangleCameraList, entangle_camera_list, G_TYPE_OBJECT); enum { PROP_0, PROP_DEVMANAGER, }; static void entangle_camera_list_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraList *list = ENTANGLE_CAMERA_LIST(object); EntangleCameraListPrivate *priv = list->priv; switch (prop_id) { case PROP_DEVMANAGER: g_value_set_object(value, priv->devManager); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_list_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraList *list = ENTANGLE_CAMERA_LIST(object); EntangleCameraListPrivate *priv = list->priv; switch (prop_id) { case PROP_DEVMANAGER: if (priv->devManager) g_object_unref(priv->devManager); priv->devManager = g_value_get_object(value); g_object_ref(priv->devManager); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_list_finalize(GObject *object) { EntangleCameraList *list = ENTANGLE_CAMERA_LIST(object); EntangleCameraListPrivate *priv = list->priv; ENTANGLE_DEBUG("Finalize list"); for (int i = 0; i < priv->ncamera; i++) { ENTANGLE_DEBUG("Unref camera in list %p", priv->cameras[i]); g_object_unref(priv->cameras[i]); } g_free(priv->cameras); if (priv->devManager) g_object_unref(priv->devManager); if (priv->ports) gp_port_info_list_free(priv->ports); if (priv->caps) gp_abilities_list_free(priv->caps); gp_context_unref(priv->ctx); G_OBJECT_CLASS(entangle_camera_list_parent_class)->finalize(object); } static void entangle_camera_list_udev_event(EntangleDeviceManager *manager G_GNUC_UNUSED, char *port G_GNUC_UNUSED, gpointer opaque) { EntangleCameraList *list = ENTANGLE_CAMERA_LIST(opaque); if (!entangle_camera_list_refresh(list, NULL)) { ENTANGLE_DEBUG("Failed to refresh cameras after device hotplug/unplug"); } } #ifdef HAVE_GPHOTO25 static void entangle_camera_list_gphoto_log(GPLogLevel level G_GNUC_UNUSED, const char *domain, const char *msg, void *data G_GNUC_UNUSED) { g_debug("%s: %s", domain, msg); } #else static void entangle_camera_list_gphoto_log(GPLogLevel level G_GNUC_UNUSED, const char *domain, const char *format, va_list args, void *data G_GNUC_UNUSED) { char *msg = g_strdup_vprintf(format, args); g_debug("%s: %s", domain, msg); g_free(msg); } #endif static void entangle_camera_list_class_init(EntangleCameraListClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_list_finalize; object_class->get_property = entangle_camera_list_get_property; object_class->set_property = entangle_camera_list_set_property; g_signal_new("camera-added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraListClass, camera_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA); g_signal_new("camera-removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraListClass, camera_removed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA); g_object_class_install_property(object_class, PROP_DEVMANAGER, g_param_spec_object("device-manager", "Device manager", "Device manager for detecting cameras", ENTANGLE_TYPE_DEVICE_MANAGER, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleCameraListPrivate)); } EntangleCameraList *entangle_camera_list_new(void) { return ENTANGLE_CAMERA_LIST(g_object_new(ENTANGLE_TYPE_CAMERA_LIST, NULL)); } static void entangle_camera_list_init(EntangleCameraList *list) { EntangleCameraListPrivate *priv; priv = list->priv = ENTANGLE_CAMERA_LIST_GET_PRIVATE(list); if (entangle_debug_gphoto) gp_log_add_func(GP_LOG_DEBUG, entangle_camera_list_gphoto_log, NULL); priv->ctx = gp_context_new(); priv->devManager = entangle_device_manager_new(); if (gp_abilities_list_new(&priv->caps) != GP_OK) g_error(_("Cannot initialize gphoto2 abilities")); if (gp_abilities_list_load(priv->caps, priv->ctx) != GP_OK) g_error(_("Cannot load gphoto2 abilities")); if (gp_port_info_list_new(&priv->ports) != GP_OK) g_error(_("Cannot initialize gphoto2 ports")); if (gp_port_info_list_load(priv->ports) != GP_OK) g_error(_("Cannot load gphoto2 ports")); g_signal_connect(priv->devManager, "device-added", G_CALLBACK(entangle_camera_list_udev_event), list); g_signal_connect(priv->devManager, "device-removed", G_CALLBACK(entangle_camera_list_udev_event), list); entangle_camera_list_refresh(list, NULL); } gboolean entangle_camera_list_refresh(EntangleCameraList *list, GError **error G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_LIST(list), FALSE); EntangleCameraListPrivate *priv = list->priv; CameraList *cams = NULL; GHashTable *toRemove; GHashTableIter iter; gpointer key, value; if (priv->ports) gp_port_info_list_free(priv->ports); if (gp_port_info_list_new(&priv->ports) != GP_OK) return FALSE; if (gp_port_info_list_load(priv->ports) != GP_OK) return FALSE; ENTANGLE_DEBUG("Detecting cameras"); if (gp_list_new(&cams) != GP_OK) return FALSE; gp_abilities_list_detect(priv->caps, priv->ports, cams, priv->ctx); for (int i = 0; i < gp_list_count(cams); i++) { const char *model, *port; int n; EntangleCamera *cam; CameraAbilities cap; gp_list_get_name(cams, i, &model); gp_list_get_value(cams, i, &port); cam = entangle_camera_list_find(list, port); if (cam) continue; n = gp_abilities_list_lookup_model(priv->caps, model); gp_abilities_list_get_abilities(priv->caps, n, &cap); /* For back compat, libgphoto2 always adds a default * USB camera called 'usb:'. We ignore that, since we * can go for the exact camera entries */ if (strcmp(port, "usb:") == 0) continue; ENTANGLE_DEBUG("New camera '%s' '%s' %d", model, port, cap.operations); cam = entangle_camera_new(model, port, cap.operations & GP_OPERATION_CAPTURE_IMAGE ? TRUE : FALSE, cap.operations & GP_OPERATION_CAPTURE_PREVIEW ? TRUE : FALSE, cap.operations & GP_OPERATION_CONFIG ? TRUE : FALSE); entangle_camera_list_add(list, cam); g_object_unref(cam); } toRemove = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); for (int i = 0; i < entangle_camera_list_count(list); i++) { gboolean found = FALSE; EntangleCamera *cam = entangle_camera_list_get(list, i); ENTANGLE_DEBUG("Checking if %s exists", entangle_camera_get_port(cam)); for (int j = 0; j < gp_list_count(cams); j++) { const char *port; gp_list_get_value(cams, j, &port); if (strcmp(port, entangle_camera_get_port(cam)) == 0) { found = TRUE; break; } } if (!found) g_hash_table_insert(toRemove, g_strdup(entangle_camera_get_port(cam)), cam); } gp_list_unref(cams); g_hash_table_iter_init(&iter, toRemove); while (g_hash_table_iter_next(&iter, &key, &value)) { EntangleCamera *cam = value; entangle_camera_list_remove(list, cam); } g_hash_table_unref(toRemove); return TRUE; } int entangle_camera_list_count(EntangleCameraList *list) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_LIST(list), 0); EntangleCameraListPrivate *priv = list->priv; return priv->ncamera; } void entangle_camera_list_add(EntangleCameraList *list, EntangleCamera *cam) { g_return_if_fail(ENTANGLE_IS_CAMERA_LIST(list)); g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraListPrivate *priv = list->priv; priv->cameras = g_renew(EntangleCamera *, priv->cameras, priv->ncamera+1); priv->cameras[priv->ncamera++] = cam; g_object_ref(cam); g_signal_emit_by_name(list, "camera-added", cam); ENTANGLE_DEBUG("Added camera %p", cam); } void entangle_camera_list_remove(EntangleCameraList *list, EntangleCamera *cam) { g_return_if_fail(ENTANGLE_IS_CAMERA_LIST(list)); g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraListPrivate *priv = list->priv; for (int i = 0; i < priv->ncamera; i++) { if (priv->cameras[i] == cam) { if (i < (priv->ncamera-1)) memmove(priv->cameras + i, priv->cameras + i + 1, sizeof(*priv->cameras) * (priv->ncamera - i - 1)); priv->ncamera--; } } ENTANGLE_DEBUG("Removed camera %p from list", cam); g_signal_emit_by_name(list, "camera-removed", cam); g_object_unref(cam); } EntangleCamera *entangle_camera_list_get(EntangleCameraList *list, int entry) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_LIST(list), NULL); EntangleCameraListPrivate *priv = list->priv; if (entry < 0 || entry >= priv->ncamera) return NULL; return priv->cameras[entry]; } /** * entangle_camera_list_get_cameras: * @list: the camera list * * Returns: (transfer container): a list of #EntangleCamera objects */ GList *entangle_camera_list_get_cameras(EntangleCameraList *list) { EntangleCameraListPrivate *priv = list->priv; GList *cameras = NULL; for (int i = (priv->ncamera - 1); i >= 0; i--) { cameras = g_list_append(cameras, priv->cameras[i]); } return cameras; } EntangleCamera *entangle_camera_list_find(EntangleCameraList *list, const char *port) { EntangleCameraListPrivate *priv = list->priv; int i; for (i = 0; i < priv->ncamera; i++) { const char *thisport = entangle_camera_get_port(priv->cameras[i]); ENTANGLE_DEBUG("Compare '%s' '%s'", port, thisport); if (strcmp(thisport, port) == 0) return priv->cameras[i]; } return NULL; } static const gchar *entangle_camera_list_get_status(CameraDriverStatus status) { switch (status) { case GP_DRIVER_STATUS_PRODUCTION: return "Production"; case GP_DRIVER_STATUS_TESTING: return "Testing"; case GP_DRIVER_STATUS_EXPERIMENTAL: return "Experimental"; case GP_DRIVER_STATUS_DEPRECATED: return "Deprecated"; default: return "Unknown"; } } gchar **entangle_camera_list_get_supported(EntangleCameraList *list) { EntangleCameraListPrivate *priv = list->priv; gchar **ret = NULL; int cnt; gsize i; cnt = gp_abilities_list_count(priv->caps); ret = g_new0(gchar *, cnt + 1); for (i = 0; i < cnt; i++) { CameraAbilities ab; gp_abilities_list_get_abilities(priv->caps, i, &ab); ret[i] = g_strdup_printf("%s (%s)", ab.model, entangle_camera_list_get_status(ab.status)); } ret[cnt] = NULL; return ret; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-colour-profile.c0000664000000000000000000004776412253420651017306 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-colour-profile.h" #define DEBUG_CMS 0 #define ENTANGLE_COLOUR_PROFILE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_COLOUR_PROFILE, EntangleColourProfilePrivate)) #define ENTANGLE_COLOUR_PROFILE_TRANSFORM_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, EntangleColourProfileTransformPrivate)) #if GLIB_CHECK_VERSION(2, 31, 0) #define g_mutex_new() g_new0(GMutex, 1) #define g_mutex_free(m) g_free(m) #endif struct _EntangleColourProfilePrivate { GMutex *lock; GByteArray *data; char *filename; cmsHPROFILE *profile; gboolean dirty; }; struct _EntangleColourProfileTransformPrivate { EntangleColourProfile *srcProfile; EntangleColourProfile *dstProfile; EntangleColourProfileIntent renderIntent; }; G_DEFINE_TYPE(EntangleColourProfile, entangle_colour_profile, G_TYPE_OBJECT); G_DEFINE_TYPE(EntangleColourProfileTransform, entangle_colour_profile_transform, G_TYPE_OBJECT); enum { PROP_0, PROP_FILENAME, PROP_DATA, }; enum { PROP_00, PROP_SRC_PROFILE, PROP_DST_PROFILE, PROP_RENDERING_INTENT, }; static void entangle_colour_profile_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleColourProfile *picker = ENTANGLE_COLOUR_PROFILE(object); EntangleColourProfilePrivate *priv = picker->priv; switch (prop_id) { case PROP_FILENAME: g_value_set_string(value, priv->filename); break; case PROP_DATA: g_value_set_boxed(value, priv->data); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_colour_profile_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleColourProfile *picker = ENTANGLE_COLOUR_PROFILE(object); EntangleColourProfilePrivate *priv = picker->priv; switch (prop_id) { case PROP_FILENAME: g_free(priv->filename); priv->filename = g_value_dup_string(value); priv->dirty = TRUE; break; case PROP_DATA: if (priv->data) g_byte_array_unref(priv->data); priv->data = g_value_dup_boxed(value); priv->dirty = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_colour_profile_transform_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleColourProfileTransform *picker = ENTANGLE_COLOUR_PROFILE_TRANSFORM(object); EntangleColourProfileTransformPrivate *priv = picker->priv; switch (prop_id) { case PROP_SRC_PROFILE: g_value_set_object(value, priv->srcProfile); break; case PROP_DST_PROFILE: g_value_set_object(value, priv->dstProfile); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_colour_profile_transform_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleColourProfileTransform *picker = ENTANGLE_COLOUR_PROFILE_TRANSFORM(object); EntangleColourProfileTransformPrivate *priv = picker->priv; switch (prop_id) { case PROP_SRC_PROFILE: if (priv->srcProfile) g_object_unref(priv->srcProfile); priv->srcProfile = g_value_get_object(value); if (priv->srcProfile) g_object_ref(priv->srcProfile); break; case PROP_DST_PROFILE: if (priv->dstProfile) g_object_unref(priv->dstProfile); priv->dstProfile = g_value_get_object(value); if (priv->dstProfile) g_object_ref(priv->dstProfile); break; case PROP_RENDERING_INTENT: priv->renderIntent = g_value_get_enum(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_colour_profile_finalize(GObject *object) { EntangleColourProfile *profile = ENTANGLE_COLOUR_PROFILE(object); EntangleColourProfilePrivate *priv = profile->priv; ENTANGLE_DEBUG("Finalize profile"); if (priv->data) g_byte_array_unref(priv->data); g_free(priv->filename); if (priv->profile) cmsCloseProfile(priv->profile); g_mutex_free(priv->lock); G_OBJECT_CLASS(entangle_colour_profile_parent_class)->finalize(object); } static void entangle_colour_profile_transform_finalize(GObject *object) { EntangleColourProfileTransform *profile = ENTANGLE_COLOUR_PROFILE_TRANSFORM(object); EntangleColourProfileTransformPrivate *priv = profile->priv; ENTANGLE_DEBUG("Finalize profile transform"); if (priv->srcProfile) g_object_unref(priv->srcProfile); if (priv->dstProfile) g_object_unref(priv->dstProfile); G_OBJECT_CLASS(entangle_colour_profile_transform_parent_class)->finalize(object); } static void entangle_colour_profile_class_init(EntangleColourProfileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_colour_profile_finalize; object_class->get_property = entangle_colour_profile_get_property; object_class->set_property = entangle_colour_profile_set_property; g_object_class_install_property(object_class, PROP_FILENAME, g_param_spec_string("filename", "Profile filename", "Filename of the profile", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DATA, g_param_spec_boxed("data", "Profile data", "Raw data for the profile", G_TYPE_BYTE_ARRAY, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleColourProfilePrivate)); /* Stop lcms calling exit() */ cmsErrorAction(LCMS_ERROR_IGNORE); } static void entangle_colour_profile_transform_class_init(EntangleColourProfileTransformClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_colour_profile_transform_finalize; object_class->get_property = entangle_colour_profile_transform_get_property; object_class->set_property = entangle_colour_profile_transform_set_property; g_object_class_install_property(object_class, PROP_SRC_PROFILE, g_param_spec_object("src-profile", "Source profile", "Source profile", ENTANGLE_TYPE_COLOUR_PROFILE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DST_PROFILE, g_param_spec_object("dst-profile", "Destination Profile", "Destination Profile", ENTANGLE_TYPE_COLOUR_PROFILE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_RENDERING_INTENT, g_param_spec_enum("rendering-intent", "Rendering intent", "Profile rendering intent", ENTANGLE_TYPE_COLOUR_PROFILE_INTENT, ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleColourProfileTransformPrivate)); } EntangleColourProfile *entangle_colour_profile_new_file(const char *filename) { return ENTANGLE_COLOUR_PROFILE(g_object_new(ENTANGLE_TYPE_COLOUR_PROFILE, "filename", filename, NULL)); } EntangleColourProfile *entangle_colour_profile_new_data(GByteArray *data) { return ENTANGLE_COLOUR_PROFILE(g_object_new(ENTANGLE_TYPE_COLOUR_PROFILE, "data", data, NULL)); } static gboolean entangle_colour_profile_load(EntangleColourProfile *profile) { EntangleColourProfilePrivate *priv = profile->priv; gboolean ret; g_mutex_lock(priv->lock); if (!priv->dirty) { goto cleanup; } if (priv->profile) { cmsCloseProfile(priv->profile); priv->profile = NULL; } if (priv->filename) { if (!(priv->profile = cmsOpenProfileFromFile(priv->filename, "r"))) ENTANGLE_DEBUG("Unable to load profile from %s", priv->filename); } else if (priv->data) { if (!(priv->profile = cmsOpenProfileFromMem(priv->data->data, priv->data->len))) ENTANGLE_DEBUG("Unable to load profile from %p", priv->data); } priv->dirty = FALSE; cleanup: ret = priv->profile ? TRUE : FALSE; g_mutex_unlock(priv->lock); return ret; } static void entangle_colour_profile_init(EntangleColourProfile *profile) { EntangleColourProfilePrivate *priv; priv = profile->priv = ENTANGLE_COLOUR_PROFILE_GET_PRIVATE(profile); priv->lock = g_mutex_new(); } static void entangle_colour_profile_transform_init(EntangleColourProfileTransform *profile) { EntangleColourProfileTransformPrivate *priv; priv = profile->priv = ENTANGLE_COLOUR_PROFILE_TRANSFORM_GET_PRIVATE(profile); memset(priv, 0, sizeof(*priv)); } const char *entangle_colour_profile_filename(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; return priv->filename; } char *entangle_colour_profile_product_name(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeProductName(priv->profile); return g_strdup(data); } char *entangle_colour_profile_product_desc(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeProductDesc(priv->profile); return g_strdup(data); } char *entangle_colour_profile_product_info(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeProductInfo(priv->profile); return g_strdup(data); } char *entangle_colour_profile_manufacturer(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeManufacturer(priv->profile); return g_strdup(data); } char *entangle_colour_profile_model(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeModel(priv->profile); return g_strdup(data); } char *entangle_colour_profile_copyright(EntangleColourProfile *profile) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(profile), NULL); EntangleColourProfilePrivate *priv = profile->priv; const char *data; if (!entangle_colour_profile_load(profile)) return NULL; data = cmsTakeCopyright(priv->profile); return g_strdup(data); } static int entangle_colour_profile_pixel_type(GdkPixbuf *pixbuf) { int type = COLORSPACE_SH(PT_RGB); /* GdkPixbuf only supports RGB for now */ if (gdk_pixbuf_get_has_alpha(pixbuf)) { type |= CHANNELS_SH(gdk_pixbuf_get_n_channels(pixbuf)-1); type |= EXTRA_SH(1); } else { type |= CHANNELS_SH(gdk_pixbuf_get_n_channels(pixbuf)); } type |= BYTES_SH(gdk_pixbuf_get_bits_per_sample(pixbuf) / 8); return type; } EntangleColourProfileTransform *entangle_colour_profile_transform_new(EntangleColourProfile *src, EntangleColourProfile *dst, EntangleColourProfileIntent intent) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(src), NULL); g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE(dst), NULL); return ENTANGLE_COLOUR_PROFILE_TRANSFORM(g_object_new(ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, "src-profile", src, "dst-profile", dst, "rendering-intent", intent, NULL)); } GdkPixbuf *entangle_colour_profile_transform_apply(EntangleColourProfileTransform *trans, GdkPixbuf *srcpixbuf) { g_return_val_if_fail(ENTANGLE_IS_COLOUR_PROFILE_TRANSFORM(trans), NULL); g_return_val_if_fail(GDK_IS_PIXBUF(srcpixbuf), NULL); EntangleColourProfileTransformPrivate *priv = trans->priv; EntangleColourProfilePrivate *srcpriv = priv->srcProfile->priv; EntangleColourProfilePrivate *dstpriv = priv->dstProfile->priv; cmsHTRANSFORM transform; GdkPixbuf *dstpixbuf; guchar *srcpixels; guchar *dstpixels; int type = entangle_colour_profile_pixel_type(srcpixbuf); int stride = gdk_pixbuf_get_rowstride(srcpixbuf); int height = gdk_pixbuf_get_height(srcpixbuf); int width = gdk_pixbuf_get_width(srcpixbuf); int intent = INTENT_PERCEPTUAL; if (!priv->srcProfile || !priv->dstProfile) { g_object_ref(srcpixbuf); return srcpixbuf; } if (!entangle_colour_profile_load(priv->srcProfile) || !entangle_colour_profile_load(priv->dstProfile)) { g_object_ref(srcpixbuf); return srcpixbuf; } dstpixbuf = gdk_pixbuf_copy(srcpixbuf); switch (priv->renderIntent) { case ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL: intent = INTENT_PERCEPTUAL; break; case ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC: intent = INTENT_RELATIVE_COLORIMETRIC; break; case ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION: intent = INTENT_SATURATION; break; case ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC: intent = INTENT_ABSOLUTE_COLORIMETRIC; break; default: g_warn_if_reached(); break; } g_mutex_lock(srcpriv->lock); g_mutex_lock(dstpriv->lock); transform = cmsCreateTransform(srcpriv->profile, type, dstpriv->profile, type, intent, 0); g_mutex_unlock(srcpriv->lock); g_mutex_unlock(dstpriv->lock); srcpixels = gdk_pixbuf_get_pixels(srcpixbuf); dstpixels = gdk_pixbuf_get_pixels(dstpixbuf); /* We do it row-wise, since lcms can't cope with a * rowstride that isn't equal to width */ for (int row = 0; row < height; row++) cmsDoTransform(transform, srcpixels + (row * stride), dstpixels + (row * stride), #if DEBUG_CMS /* A crude hack which causes the colour transform * to be applied to only half the image in a diagonal */ (int)((double)width * (1.0-(double)row/(double)height))); #else width); #endif cmsDeleteTransform(transform); return dstpixbuf; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-preferences.c0000664000000000000000000014706012253420652016635 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-preferences.h" #include "entangle-progress.h" #define ENTANGLE_PREFERENCES_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_PREFERENCES, EntanglePreferencesPrivate)) struct _EntanglePreferencesPrivate { GSettings *interfaceSettings; GSettings *captureSettings; GSettings *cmsSettings; GSettings *imgSettings; }; G_DEFINE_TYPE(EntanglePreferences, entangle_preferences, G_TYPE_OBJECT); #define SETTING_INTERFACE "interface" #define SETTING_CAPTURE "capture" #define SETTING_CMS "cms" #define SETTING_IMG "img" #define SETTING_INTERFACE_AUTO_CONNECT "auto-connect" #define SETTING_INTERFACE_SCREEN_BLANK "screen-blank" #define SETTING_INTERFACE_PLUGINS "plugins" #define SETTING_INTERFACE_HISTOGRAM_LINEAR "histogram-linear" #define SETTING_CAPTURE_FILENAME_PATTERN "filename-pattern" #define SETTING_CAPTURE_LAST_SESSION "last-session" #define SETTING_CAPTURE_CONTINUOUS_PREVIEW "continuous-preview" #define SETTING_CAPTURE_DELETE_FILE "delete-file" #define SETTING_CMS_ENABLED "enabled" #define SETTING_CMS_DETECT_SYSTEM_PROFILE "detect-system-profile" #define SETTING_CMS_RGB_PROFILE "rgb-profile" #define SETTING_CMS_MONITOR_PROFILE "monitor-profile" #define SETTING_CMS_RENDERING_INTENT "rendering-intent" #define SETTING_IMG_ASPECT_RATIO "aspect-ratio" #define SETTING_IMG_MASK_OPACITY "mask-opacity" #define SETTING_IMG_MASK_ENABLED "mask-enabled" #define SETTING_IMG_FOCUS_POINT "focus-point" #define SETTING_IMG_GRID_LINES "grid-lines" #define SETTING_IMG_EMBEDDED_PREVIEW "embedded-preview" #define SETTING_IMG_ONION_SKIN "onion-skin" #define SETTING_IMG_ONION_LAYERS "onion-layers" #define PROP_NAME_INTERFACE_AUTO_CONNECT SETTING_INTERFACE "-" SETTING_INTERFACE_AUTO_CONNECT #define PROP_NAME_INTERFACE_SCREEN_BLANK SETTING_INTERFACE "-" SETTING_INTERFACE_SCREEN_BLANK #define PROP_NAME_INTERFACE_HISTOGRAM_LINEAR SETTING_INTERFACE "-" SETTING_INTERFACE_HISTOGRAM_LINEAR #define PROP_NAME_CAPTURE_FILENAME_PATTERN SETTING_CAPTURE "-" SETTING_CAPTURE_FILENAME_PATTERN #define PROP_NAME_CAPTURE_LAST_SESSION SETTING_CAPTURE "-" SETTING_CAPTURE_LAST_SESSION #define PROP_NAME_CAPTURE_CONTINUOUS_PREVIEW SETTING_CAPTURE "-" SETTING_CAPTURE_CONTINUOUS_PREVIEW #define PROP_NAME_CAPTURE_DELETE_FILE SETTING_CAPTURE "-" SETTING_CAPTURE_DELETE_FILE #define PROP_NAME_CMS_ENABLED SETTING_CMS "-" SETTING_CMS_ENABLED #define PROP_NAME_CMS_DETECT_SYSTEM_PROFILE SETTING_CMS "-" SETTING_CMS_DETECT_SYSTEM_PROFILE #define PROP_NAME_CMS_RGB_PROFILE SETTING_CMS "-" SETTING_CMS_RGB_PROFILE #define PROP_NAME_CMS_MONITOR_PROFILE SETTING_CMS "-" SETTING_CMS_MONITOR_PROFILE #define PROP_NAME_CMS_RENDERING_INTENT SETTING_CMS "-" SETTING_CMS_RENDERING_INTENT #define PROP_NAME_IMG_ASPECT_RATIO SETTING_IMG "-" SETTING_IMG_ASPECT_RATIO #define PROP_NAME_IMG_MASK_OPACITY SETTING_IMG "-" SETTING_IMG_MASK_OPACITY #define PROP_NAME_IMG_MASK_ENABLED SETTING_IMG "-" SETTING_IMG_MASK_ENABLED #define PROP_NAME_IMG_FOCUS_POINT SETTING_IMG "-" SETTING_IMG_FOCUS_POINT #define PROP_NAME_IMG_GRID_LINES SETTING_IMG "-" SETTING_IMG_GRID_LINES #define PROP_NAME_IMG_EMBEDDED_PREVIEW SETTING_IMG "-" SETTING_IMG_EMBEDDED_PREVIEW #define PROP_NAME_IMG_ONION_LAYERS SETTING_IMG "-" SETTING_IMG_ONION_LAYERS #define PROP_NAME_IMG_ONION_SKIN SETTING_IMG "-" SETTING_IMG_ONION_SKIN enum { PROP_0, PROP_INTERFACE_AUTO_CONNECT, PROP_INTERFACE_SCREEN_BLANK, PROP_INTERFACE_HISTOGRAM_LINEAR, PROP_CAPTURE_FILENAME_PATTERN, PROP_CAPTURE_LAST_SESSION, PROP_CAPTURE_CONTINUOUS_PREVIEW, PROP_CAPTURE_DELETE_FILE, PROP_CMS_ENABLED, PROP_CMS_RGB_PROFILE, PROP_CMS_MONITOR_PROFILE, PROP_CMS_DETECT_SYSTEM_PROFILE, PROP_CMS_RENDERING_INTENT, PROP_IMG_ASPECT_RATIO, PROP_IMG_MASK_OPACITY, PROP_IMG_MASK_ENABLED, PROP_IMG_FOCUS_POINT, PROP_IMG_GRID_LINES, PROP_IMG_EMBEDDED_PREVIEW, PROP_IMG_ONION_SKIN, PROP_IMG_ONION_LAYERS, }; static char *entangle_find_picture_dir(void) { const gchar *baseDir = g_get_user_special_dir(G_USER_DIRECTORY_PICTURES); gchar *ret; if (baseDir) { ret = g_strdup_printf("%s/%s", baseDir, "Capture"); } else { ret = g_strdup_printf("Capture"); } ENTANGLE_DEBUG("******** PICTURE '%s'", ret); return ret; } static char *entangle_find_srgb_profile(void) { gchar *filename; if (access("./sRGB.icc", R_OK) == 0) filename = g_strdup("./sRGB.icc"); else filename = g_strdup(PKGDATADIR "/sRGB.icc"); return filename; } static void entangle_preferences_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntanglePreferences *picker = ENTANGLE_PREFERENCES(object); EntanglePreferencesPrivate *priv = picker->priv; EntangleColourProfile *prof; gchar *dir; gchar *file; switch (prop_id) { case PROP_INTERFACE_AUTO_CONNECT: g_value_set_boolean(value, g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_AUTO_CONNECT)); break; case PROP_INTERFACE_SCREEN_BLANK: g_value_set_boolean(value, g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_SCREEN_BLANK)); break; case PROP_INTERFACE_HISTOGRAM_LINEAR: g_value_set_boolean(value, g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_HISTOGRAM_LINEAR)); break; case PROP_CAPTURE_LAST_SESSION: dir = g_settings_get_string(priv->captureSettings, SETTING_CAPTURE_LAST_SESSION); if (!dir) dir = entangle_find_picture_dir(); g_value_set_string(value, dir); break; case PROP_CAPTURE_FILENAME_PATTERN: file = g_settings_get_string(priv->captureSettings, SETTING_CAPTURE_FILENAME_PATTERN); g_value_set_string(value, file); g_free(file); break; case PROP_CAPTURE_CONTINUOUS_PREVIEW: g_value_set_boolean(value, g_settings_get_boolean(priv->captureSettings, SETTING_CAPTURE_CONTINUOUS_PREVIEW)); break; case PROP_CAPTURE_DELETE_FILE: g_value_set_boolean(value, g_settings_get_boolean(priv->captureSettings, SETTING_CAPTURE_DELETE_FILE)); break; case PROP_CMS_ENABLED: g_value_set_boolean(value, g_settings_get_boolean(priv->cmsSettings, SETTING_CMS_ENABLED)); break; case PROP_CMS_RGB_PROFILE: file = g_settings_get_string(priv->cmsSettings, SETTING_CMS_RGB_PROFILE); if (!file) file = entangle_find_srgb_profile(); prof = entangle_colour_profile_new_file(file); g_value_set_object(value, prof); g_object_unref(prof); g_free(file); break; case PROP_CMS_MONITOR_PROFILE: file = g_settings_get_string(priv->cmsSettings, SETTING_CMS_MONITOR_PROFILE); if (file) prof = entangle_colour_profile_new_file(file); else prof = NULL; g_value_set_object(value, prof); g_object_unref(prof); g_free(file); break; case PROP_CMS_DETECT_SYSTEM_PROFILE: g_value_set_boolean(value, g_settings_get_boolean(priv->cmsSettings, SETTING_CMS_DETECT_SYSTEM_PROFILE)); break; case PROP_CMS_RENDERING_INTENT: g_value_set_enum(value, g_settings_get_enum(priv->cmsSettings, SETTING_CMS_RENDERING_INTENT)); break; case PROP_IMG_MASK_ENABLED: g_value_set_boolean(value, g_settings_get_boolean(priv->imgSettings, SETTING_IMG_MASK_ENABLED)); break; case PROP_IMG_ASPECT_RATIO: g_value_set_string(value, g_settings_get_string(priv->imgSettings, SETTING_IMG_ASPECT_RATIO)); break; case PROP_IMG_MASK_OPACITY: g_value_set_int(value, g_settings_get_int(priv->imgSettings, SETTING_IMG_MASK_OPACITY)); break; case PROP_IMG_FOCUS_POINT: g_value_set_boolean(value, g_settings_get_boolean(priv->imgSettings, SETTING_IMG_FOCUS_POINT)); break; case PROP_IMG_GRID_LINES: g_value_set_int(value, g_settings_get_enum(priv->imgSettings, SETTING_IMG_GRID_LINES)); break; case PROP_IMG_EMBEDDED_PREVIEW: g_value_set_boolean(value, g_settings_get_boolean(priv->imgSettings, SETTING_IMG_EMBEDDED_PREVIEW)); break; case PROP_IMG_ONION_SKIN: g_value_set_boolean(value, g_settings_get_boolean(priv->imgSettings, SETTING_IMG_ONION_SKIN)); break; case PROP_IMG_ONION_LAYERS: g_value_set_int(value, g_settings_get_int(priv->imgSettings, SETTING_IMG_ONION_LAYERS)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_preferences_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntanglePreferences *picker = ENTANGLE_PREFERENCES(object); EntanglePreferencesPrivate *priv = picker->priv; EntangleColourProfile *prof; switch (prop_id) { case PROP_INTERFACE_AUTO_CONNECT: g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_AUTO_CONNECT, g_value_get_boolean(value)); break; case PROP_INTERFACE_SCREEN_BLANK: g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_SCREEN_BLANK, g_value_get_boolean(value)); break; case PROP_INTERFACE_HISTOGRAM_LINEAR: g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_HISTOGRAM_LINEAR, g_value_get_boolean(value)); break; case PROP_CAPTURE_LAST_SESSION: g_settings_set_string(priv->captureSettings, SETTING_CAPTURE_LAST_SESSION, g_value_get_string(value)); break; case PROP_CAPTURE_FILENAME_PATTERN: g_settings_set_string(priv->captureSettings, SETTING_CAPTURE_FILENAME_PATTERN, g_value_get_string(value)); break; case PROP_CAPTURE_CONTINUOUS_PREVIEW: g_settings_set_boolean(priv->captureSettings, SETTING_CAPTURE_CONTINUOUS_PREVIEW, g_value_get_boolean(value)); break; case PROP_CAPTURE_DELETE_FILE: g_settings_set_boolean(priv->captureSettings, SETTING_CAPTURE_LAST_SESSION, g_value_get_boolean(value)); break; case PROP_CMS_ENABLED: g_settings_set_boolean(priv->cmsSettings, SETTING_CMS_ENABLED, g_value_get_boolean(value)); break; case PROP_CMS_RGB_PROFILE: prof = g_value_get_object(value); if (prof) g_settings_set_string(priv->cmsSettings, SETTING_CMS_RGB_PROFILE, entangle_colour_profile_filename(prof)); else g_settings_set_string(priv->cmsSettings, SETTING_CMS_RGB_PROFILE, NULL); break; case PROP_CMS_MONITOR_PROFILE: prof = g_value_get_object(value); if (prof) g_settings_set_string(priv->cmsSettings, SETTING_CMS_MONITOR_PROFILE, entangle_colour_profile_filename(prof)); else g_settings_set_string(priv->cmsSettings, SETTING_CMS_MONITOR_PROFILE, NULL); break; case PROP_CMS_DETECT_SYSTEM_PROFILE: g_settings_set_boolean(priv->cmsSettings, SETTING_CMS_DETECT_SYSTEM_PROFILE, g_value_get_boolean(value)); break; case PROP_CMS_RENDERING_INTENT: g_settings_set_enum(priv->cmsSettings, SETTING_CMS_RENDERING_INTENT, g_value_get_enum(value)); break; case PROP_IMG_MASK_ENABLED: g_settings_set_boolean(priv->imgSettings, SETTING_IMG_MASK_ENABLED, g_value_get_boolean(value)); break; case PROP_IMG_ASPECT_RATIO: g_settings_set_string(priv->imgSettings, SETTING_IMG_ASPECT_RATIO, g_value_get_string(value)); break; case PROP_IMG_MASK_OPACITY: g_settings_set_int(priv->imgSettings, SETTING_IMG_MASK_OPACITY, g_value_get_int(value)); break; case PROP_IMG_FOCUS_POINT: g_settings_set_boolean(priv->imgSettings, SETTING_IMG_FOCUS_POINT, g_value_get_boolean(value)); break; case PROP_IMG_GRID_LINES: g_settings_set_enum(priv->imgSettings, SETTING_IMG_GRID_LINES, g_value_get_int(value)); break; case PROP_IMG_EMBEDDED_PREVIEW: g_settings_set_boolean(priv->imgSettings, SETTING_IMG_EMBEDDED_PREVIEW, g_value_get_boolean(value)); break; case PROP_IMG_ONION_SKIN: g_settings_set_boolean(priv->imgSettings, SETTING_IMG_ONION_SKIN, g_value_get_boolean(value)); break; case PROP_IMG_ONION_LAYERS: g_settings_set_int(priv->imgSettings, SETTING_IMG_ONION_LAYERS, g_value_get_int(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_preferences_finalize(GObject *object) { EntanglePreferences *preferences = ENTANGLE_PREFERENCES(object); EntanglePreferencesPrivate *priv = preferences->priv; ENTANGLE_DEBUG("Finalize preferences %p", object); g_object_unref(priv->interfaceSettings); g_object_unref(priv->captureSettings); g_object_unref(priv->cmsSettings); g_object_unref(priv->imgSettings); G_OBJECT_CLASS(entangle_preferences_parent_class)->finalize(object); } static void entangle_preferences_class_init(EntanglePreferencesClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_preferences_finalize; object_class->get_property = entangle_preferences_get_property; object_class->set_property = entangle_preferences_set_property; g_object_class_install_property(object_class, PROP_INTERFACE_AUTO_CONNECT, g_param_spec_boolean(PROP_NAME_INTERFACE_AUTO_CONNECT, "Auto connect", "Automatically connect to cameras at startup", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_INTERFACE_SCREEN_BLANK, g_param_spec_boolean(PROP_NAME_INTERFACE_SCREEN_BLANK, "Screen blank", "Blank screen while capturing images", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_INTERFACE_HISTOGRAM_LINEAR, g_param_spec_boolean(PROP_NAME_INTERFACE_HISTOGRAM_LINEAR, "Linear histogram", "Use linear histogram", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CAPTURE_LAST_SESSION, g_param_spec_string(PROP_NAME_CAPTURE_LAST_SESSION, "Pictures directory", "Directory to store pictures in", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CAPTURE_FILENAME_PATTERN, g_param_spec_string(PROP_NAME_CAPTURE_FILENAME_PATTERN, "Filename pattern", "Pattern for creating new filenames", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CAPTURE_DELETE_FILE, g_param_spec_boolean(PROP_NAME_CAPTURE_DELETE_FILE, "Delete file", "Delete file after capturing", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CAPTURE_CONTINUOUS_PREVIEW, g_param_spec_boolean(PROP_NAME_CAPTURE_CONTINUOUS_PREVIEW, "Continuous preview", "Continue preview after capturing", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CMS_ENABLED, g_param_spec_boolean(PROP_NAME_CMS_ENABLED, "Colour managed display", "Whether to enable colour management on display", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CMS_RGB_PROFILE, g_param_spec_object(PROP_NAME_CMS_RGB_PROFILE, "RGB Profile", "Colour profile for workspace", ENTANGLE_TYPE_COLOUR_PROFILE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CMS_MONITOR_PROFILE, g_param_spec_object(PROP_NAME_CMS_MONITOR_PROFILE, "Monitor profile", "Colour profile for monitor", ENTANGLE_TYPE_COLOUR_PROFILE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CMS_DETECT_SYSTEM_PROFILE, g_param_spec_boolean(PROP_NAME_CMS_DETECT_SYSTEM_PROFILE, "Detect system profile", "Detect the monitor colour profile", TRUE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_CMS_RENDERING_INTENT, g_param_spec_enum(PROP_NAME_CMS_RENDERING_INTENT, "Profile rendering intent", "Rendering intent for images", ENTANGLE_TYPE_COLOUR_PROFILE_INTENT, ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_ASPECT_RATIO, g_param_spec_string(PROP_NAME_IMG_ASPECT_RATIO, "Aspect ratio", "Image mask aspect ratio", "1.33", G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_MASK_OPACITY, g_param_spec_int(PROP_NAME_IMG_MASK_OPACITY, "Mask opacity", "Image mask border opacity", 0, 100, 90, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_MASK_ENABLED, g_param_spec_boolean(PROP_NAME_IMG_MASK_ENABLED, "Mask enabled", "Enable aspect ratio image mask", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_FOCUS_POINT, g_param_spec_boolean(PROP_NAME_IMG_FOCUS_POINT, "Focus point", "Focus point during preview", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_GRID_LINES, g_param_spec_int(PROP_NAME_IMG_GRID_LINES, "Grid lines", "Grid lines during preview", 0, 4, 4, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_EMBEDDED_PREVIEW, g_param_spec_boolean(PROP_NAME_IMG_EMBEDDED_PREVIEW, "Embedded preview", "Embedded preview for raw files", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_ONION_LAYERS, g_param_spec_int(PROP_NAME_IMG_ONION_LAYERS, "Onion layer count", "Overlay layers in image display", 1, 5, 3, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_IMG_ONION_SKIN, g_param_spec_boolean(PROP_NAME_IMG_ONION_SKIN, "Onion skin", "Enable image overlay display", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntanglePreferencesPrivate)); } EntanglePreferences *entangle_preferences_new(void) { return ENTANGLE_PREFERENCES(g_object_new(ENTANGLE_TYPE_PREFERENCES, NULL)); } static void entangle_preferences_ensure_data_dir(void) { const char *const *dirs; const char *dir; for (dirs = g_get_system_data_dirs(); *dirs; dirs++) { if (g_str_equal(*dirs, DATADIR)) { ENTANGLE_DEBUG("Found dir %s in system search dirs", *dirs); return; } } if ((dir = getenv("GSETTINGS_SCHEMA_DIR")) && g_str_equal(dir, DATADIR "/glib-2.0/schemas")) { ENTANGLE_DEBUG("Found dir %s in GSETTINGS_SCHEMA_DIR", dir); return; } ENTANGLE_DEBUG("Setting %s in GSETTINGS_SCHEMA_DIR", DATADIR "/glib-2.0/schemas"); setenv("GSETTINGS_SCHEMA_DIR", DATADIR "/glib-2.0/schemas", 1); } static void entangle_preferences_init(EntanglePreferences *picker) { EntanglePreferencesPrivate *priv; GSettings *settings; priv = picker->priv = ENTANGLE_PREFERENCES_GET_PRIVATE(picker); entangle_preferences_ensure_data_dir(); settings = g_settings_new("org.entangle-photo.manager"); priv->interfaceSettings = g_settings_get_child(settings, SETTING_INTERFACE); priv->captureSettings = g_settings_get_child(settings, SETTING_CAPTURE); priv->cmsSettings = g_settings_get_child(settings, SETTING_CMS); priv->imgSettings = g_settings_get_child(settings, SETTING_IMG); g_object_unref(settings); } gboolean entangle_preferences_interface_get_auto_connect(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_AUTO_CONNECT); } void entangle_preferences_interface_set_auto_connect(EntanglePreferences *prefs, gboolean autoconn) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_AUTO_CONNECT, autoconn); g_object_notify(G_OBJECT(prefs), PROP_NAME_INTERFACE_AUTO_CONNECT); } gboolean entangle_preferences_interface_get_screen_blank(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_SCREEN_BLANK); } void entangle_preferences_interface_set_screen_blank(EntanglePreferences *prefs, gboolean blank) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_SCREEN_BLANK, blank); g_object_notify(G_OBJECT(prefs), PROP_NAME_INTERFACE_SCREEN_BLANK); } gboolean entangle_preferences_interface_get_histogram_linear(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->interfaceSettings, SETTING_INTERFACE_HISTOGRAM_LINEAR); } void entangle_preferences_interface_set_histogram_linear(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->interfaceSettings, SETTING_INTERFACE_HISTOGRAM_LINEAR, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_INTERFACE_HISTOGRAM_LINEAR); } gchar **entangle_preferences_interface_get_plugins(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_strv(priv->interfaceSettings, SETTING_INTERFACE_PLUGINS); } void entangle_preferences_interface_add_plugin(EntanglePreferences *prefs, const char *name) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; gchar **plugins = g_settings_get_strv(priv->interfaceSettings, SETTING_INTERFACE_PLUGINS); gsize len = g_strv_length(plugins); plugins = g_renew(gchar *, plugins, len + 2); len++; plugins[len-1] = g_strdup(name); plugins[len] = NULL; g_settings_set_strv(priv->interfaceSettings, SETTING_INTERFACE_PLUGINS, (const gchar *const*)plugins); g_strfreev(plugins); } void entangle_preferences_interface_remove_plugin(EntanglePreferences *prefs, const char *name) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; gchar **plugins = g_settings_get_strv(priv->interfaceSettings, SETTING_INTERFACE_PLUGINS); gsize len = g_strv_length(plugins); gsize i, j; gchar **newplugins = g_new0(gchar *, len + 1); for (i = 0, j = 0; i < len; i++) { if (!g_str_equal(plugins[i], name)) { newplugins[j++] = plugins[i]; } else { g_free(plugins[i]); } plugins[i] = NULL; } newplugins[j] = NULL; g_settings_set_strv(priv->interfaceSettings, SETTING_INTERFACE_PLUGINS, (const gchar *const*)newplugins); g_strfreev(newplugins); g_strfreev(plugins); } char *entangle_preferences_capture_get_last_session(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; char *dir = g_settings_get_string(priv->captureSettings, SETTING_CAPTURE_LAST_SESSION); if (dir && g_str_equal(dir, "")) { g_free(dir); dir = NULL; } if (!dir) dir = entangle_find_picture_dir(); return dir; } void entangle_preferences_capture_set_last_session(EntanglePreferences *prefs, const gchar *dir) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_string(priv->captureSettings, SETTING_CAPTURE_LAST_SESSION, dir); g_object_notify(G_OBJECT(prefs), PROP_NAME_CAPTURE_LAST_SESSION); } char *entangle_preferences_capture_get_filename_pattern(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_string(priv->captureSettings, SETTING_CAPTURE_FILENAME_PATTERN); } void entangle_preferences_capture_set_filename_pattern(EntanglePreferences *prefs, const gchar *dir) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_string(priv->captureSettings, SETTING_CAPTURE_FILENAME_PATTERN, dir); g_object_notify(G_OBJECT(prefs), PROP_NAME_CAPTURE_FILENAME_PATTERN); } gboolean entangle_preferences_capture_get_continuous_preview(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->captureSettings, SETTING_CAPTURE_CONTINUOUS_PREVIEW); } void entangle_preferences_capture_set_continuous_preview(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->captureSettings, SETTING_CAPTURE_CONTINUOUS_PREVIEW, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_CAPTURE_CONTINUOUS_PREVIEW); } gboolean entangle_preferences_capture_get_delete_file(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->captureSettings, SETTING_CAPTURE_DELETE_FILE); } void entangle_preferences_capture_set_delete_file(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->captureSettings, SETTING_CAPTURE_DELETE_FILE, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_CAPTURE_DELETE_FILE); } EntangleColourProfile *entangle_preferences_cms_get_rgb_profile(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; EntangleColourProfile *prof; prof = entangle_colour_profile_new_file(g_settings_get_string(priv->cmsSettings, SETTING_CMS_RGB_PROFILE)); return prof; } void entangle_preferences_cms_set_rgb_profile(EntanglePreferences *prefs, EntangleColourProfile *prof) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_string(priv->cmsSettings, SETTING_CMS_RGB_PROFILE, prof ? entangle_colour_profile_filename(prof) : NULL); g_object_notify(G_OBJECT(prefs), PROP_NAME_CMS_RGB_PROFILE); } EntangleColourProfile *entangle_preferences_cms_get_monitor_profile(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; EntangleColourProfile *prof; prof = entangle_colour_profile_new_file(g_settings_get_string(priv->cmsSettings, SETTING_CMS_MONITOR_PROFILE)); return prof; } void entangle_preferences_cms_set_monitor_profile(EntanglePreferences *prefs, EntangleColourProfile *prof) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_string(priv->cmsSettings, SETTING_CMS_MONITOR_PROFILE, prof ? entangle_colour_profile_filename(prof) : NULL); g_object_notify(G_OBJECT(prefs), PROP_NAME_CMS_MONITOR_PROFILE); } gboolean entangle_preferences_cms_get_enabled(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->cmsSettings, SETTING_CMS_ENABLED); } void entangle_preferences_cms_set_enabled(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->cmsSettings, SETTING_CMS_ENABLED, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_CMS_ENABLED); } gboolean entangle_preferences_cms_get_detect_system_profile(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->cmsSettings, SETTING_CMS_DETECT_SYSTEM_PROFILE); } void entangle_preferences_cms_set_detect_system_profile(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->cmsSettings, SETTING_CMS_DETECT_SYSTEM_PROFILE, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_CMS_DETECT_SYSTEM_PROFILE); } EntangleColourProfileIntent entangle_preferences_cms_get_rendering_intent(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), 0); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_enum(priv->cmsSettings, SETTING_CMS_RENDERING_INTENT); } void entangle_preferences_cms_set_rendering_intent(EntanglePreferences *prefs, EntangleColourProfileIntent intent) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_enum(priv->cmsSettings, SETTING_CMS_RENDERING_INTENT, intent); g_object_notify(G_OBJECT(prefs), PROP_NAME_CMS_RENDERING_INTENT); } gchar *entangle_preferences_img_get_aspect_ratio(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), NULL); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_string(priv->imgSettings, SETTING_IMG_ASPECT_RATIO); } void entangle_preferences_img_set_aspect_ratio(EntanglePreferences *prefs, const gchar *aspect) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_string(priv->imgSettings, SETTING_IMG_ASPECT_RATIO, aspect); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_ASPECT_RATIO); } gint entangle_preferences_img_get_mask_opacity(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), 0); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_int(priv->imgSettings, SETTING_IMG_MASK_OPACITY); } void entangle_preferences_img_set_mask_opacity(EntanglePreferences *prefs, gint mask) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_int(priv->imgSettings, SETTING_IMG_MASK_OPACITY, mask); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_MASK_OPACITY); } gboolean entangle_preferences_img_get_mask_enabled(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->imgSettings, SETTING_IMG_MASK_ENABLED); } void entangle_preferences_img_set_mask_enabled(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->imgSettings, SETTING_IMG_MASK_ENABLED, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_MASK_ENABLED); } gboolean entangle_preferences_img_get_focus_point(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->imgSettings, SETTING_IMG_FOCUS_POINT); } void entangle_preferences_img_set_focus_point(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->imgSettings, SETTING_IMG_FOCUS_POINT, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_FOCUS_POINT); } gint entangle_preferences_img_get_grid_lines(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), 0); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_enum(priv->imgSettings, SETTING_IMG_GRID_LINES); } void entangle_preferences_img_set_grid_lines(EntanglePreferences *prefs, gint gridLines) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_enum(priv->imgSettings, SETTING_IMG_GRID_LINES, gridLines); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_GRID_LINES); } gboolean entangle_preferences_img_get_embedded_preview(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->imgSettings, SETTING_IMG_EMBEDDED_PREVIEW); } void entangle_preferences_img_set_embedded_preview(EntanglePreferences *prefs, gboolean enabled) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->imgSettings, SETTING_IMG_EMBEDDED_PREVIEW, enabled); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_EMBEDDED_PREVIEW); } gint entangle_preferences_img_get_onion_layers(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), 0); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_int(priv->imgSettings, SETTING_IMG_ONION_LAYERS); } void entangle_preferences_img_set_onion_layers(EntanglePreferences *prefs, gint onion) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_int(priv->imgSettings, SETTING_IMG_ONION_LAYERS, onion); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_ONION_LAYERS); } gboolean entangle_preferences_img_get_onion_skin(EntanglePreferences *prefs) { g_return_val_if_fail(ENTANGLE_IS_PREFERENCES(prefs), FALSE); EntanglePreferencesPrivate *priv = prefs->priv; return g_settings_get_boolean(priv->imgSettings, SETTING_IMG_ONION_SKIN); } void entangle_preferences_img_set_onion_skin(EntanglePreferences *prefs, gboolean skin) { g_return_if_fail(ENTANGLE_IS_PREFERENCES(prefs)); EntanglePreferencesPrivate *priv = prefs->priv; g_settings_set_boolean(priv->imgSettings, SETTING_IMG_ONION_SKIN, skin); g_object_notify(G_OBJECT(prefs), PROP_NAME_IMG_ONION_SKIN); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-colour-profile-enums.c0000664000000000000000000000165712253420740020421 00000000000000 #include "entangle-colour-profile-enums.h" /* enumerations from "backend/entangle-colour-profile.h" */ #include "backend/entangle-colour-profile.h" static const GEnumValue _entangle_colour_profile_intent_values[] = { { ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL, "ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL", "perceptual" }, { ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC, "ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC", "rel-colourimetric" }, { ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION, "ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION", "saturation" }, { ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC, "ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC", "abs-colourimetric" }, { 0, NULL, NULL } }; GType entangle_colour_profile_intent_get_type (void) { static GType type = 0; if (!type) type = g_enum_register_static ("EntangleColourProfileIntent", _entangle_colour_profile_intent_values); return type; } entangle-0.5.4/src/backend/entangle-device-manager.c0000664000000000000000000001157212253420651017200 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #define G_UDEV_API_IS_SUBJECT_TO_CHANGE #ifdef G_UDEV_API_IS_SUBJECT_TO_CHANGE #include #endif #include "entangle-debug.h" #include "entangle-device-manager.h" #define ENTANGLE_DEVICE_MANAGER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_DEVICE_MANAGER, EntangleDeviceManagerPrivate)) struct _EntangleDeviceManagerPrivate { GUdevClient *ctx; }; G_DEFINE_TYPE(EntangleDeviceManager, entangle_device_manager, G_TYPE_OBJECT); static void entangle_device_manager_finalize(GObject *object) { EntangleDeviceManager *manager = ENTANGLE_DEVICE_MANAGER(object); EntangleDeviceManagerPrivate *priv = manager->priv; ENTANGLE_DEBUG("Finalize manager"); if (priv->ctx) g_object_unref(priv->ctx); G_OBJECT_CLASS(entangle_device_manager_parent_class)->finalize(object); } static void entangle_device_manager_class_init(EntangleDeviceManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_device_manager_finalize; g_signal_new("device-added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleDeviceManagerClass, device_added), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); g_signal_new("device-removed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleDeviceManagerClass, device_removed), NULL, NULL, g_cclosure_marshal_VOID__STRING, G_TYPE_NONE, 1, G_TYPE_STRING); g_type_class_add_private(klass, sizeof(EntangleDeviceManagerPrivate)); } static void do_udev_event(GUdevClient *client G_GNUC_UNUSED, const char *action, GUdevDevice *dev, gpointer opaque) { EntangleDeviceManager *manager = opaque; const gchar *sysfs; const gchar *usbbus, *usbdev; const gchar *devtype; gchar *port; if (strcmp(action, "add") != 0 && strcmp(action, "remove") != 0) return; devtype = g_udev_device_get_devtype(dev); if ((devtype == NULL) || strcmp(devtype, "usb_device") != 0) return; sysfs = g_udev_device_get_sysfs_path(dev); usbbus = g_udev_device_get_property(dev, "BUSNUM"); usbdev = g_udev_device_get_property(dev, "DEVNUM"); if (sysfs == NULL || usbbus == NULL || usbdev == NULL) return; port = g_strdup_printf("usb:%s,%s", usbbus, usbdev); ENTANGLE_DEBUG("%s device '%s' '%s'", action, sysfs, port); if (strcmp(action, "add") == 0) { g_signal_emit_by_name(manager, "device-added", port); } else { g_signal_emit_by_name(manager, "device-removed", port); } g_free(port); } EntangleDeviceManager *entangle_device_manager_new(void) { return ENTANGLE_DEVICE_MANAGER(g_object_new(ENTANGLE_TYPE_DEVICE_MANAGER, NULL)); } static void entangle_device_manager_init_devices(EntangleDeviceManager *manager) { EntangleDeviceManagerPrivate *priv = manager->priv; GList *devs, *tmp; const gchar *const subsys[] = { "usb/usb_device", NULL, }; ENTANGLE_DEBUG("Init udev"); priv->ctx = g_udev_client_new(subsys); g_signal_connect(priv->ctx, "uevent", G_CALLBACK(do_udev_event), manager); devs = g_udev_client_query_by_subsystem(priv->ctx, "usb"); tmp = devs; while (tmp) { GUdevDevice *dev = tmp->data; do_udev_event(priv->ctx, "add", dev, manager); g_object_unref(dev); tmp = tmp->next; } g_list_free(devs); } static void entangle_device_manager_init(EntangleDeviceManager *manager) { manager->priv = ENTANGLE_DEVICE_MANAGER_GET_PRIVATE(manager); entangle_device_manager_init_devices(manager); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-progress.c0000664000000000000000000000370612253420652016176 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include "entangle-debug.h" #include "entangle-progress.h" void entangle_progress_start(EntangleProgress *prog, float target, const char *msg) { g_return_if_fail(ENTANGLE_IS_PROGRESS(prog)); ENTANGLE_PROGRESS_GET_INTERFACE(prog)->start(prog, target, msg); } void entangle_progress_update(EntangleProgress *prog, float current) { g_return_if_fail(ENTANGLE_IS_PROGRESS(prog)); ENTANGLE_PROGRESS_GET_INTERFACE(prog)->update(prog, current); } void entangle_progress_stop(EntangleProgress *prog) { g_return_if_fail(ENTANGLE_IS_PROGRESS(prog)); ENTANGLE_PROGRESS_GET_INTERFACE(prog)->stop(prog); } GType entangle_progress_get_type(void) { static GType progress_type = 0; if (!progress_type) { progress_type = g_type_register_static_simple(G_TYPE_INTERFACE, "EntangleProgress", sizeof(EntangleProgressInterface), NULL, 0, NULL, 0); g_type_interface_add_prerequisite(progress_type, G_TYPE_OBJECT); } return progress_type; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-choice.c0000664000000000000000000001411712253420651017237 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include "entangle-debug.h" #include "entangle-control-choice.h" #define ENTANGLE_CONTROL_CHOICE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_CHOICE, EntangleControlChoicePrivate)) struct _EntangleControlChoicePrivate { char *value; size_t nentries; char **entries; }; G_DEFINE_TYPE(EntangleControlChoice, entangle_control_choice, ENTANGLE_TYPE_CONTROL); enum { PROP_0, PROP_VALUE, }; static void entangle_control_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlChoice *picker = ENTANGLE_CONTROL_CHOICE(object); EntangleControlChoicePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_value_set_string(value, priv->value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlChoice *picker = ENTANGLE_CONTROL_CHOICE(object); EntangleControlChoicePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_free(priv->value); priv->value = g_value_dup_string(value); entangle_control_set_dirty(ENTANGLE_CONTROL(object), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_choice_finalize(GObject *object) { EntangleControlChoice *picker = ENTANGLE_CONTROL_CHOICE(object); EntangleControlChoicePrivate *priv = picker->priv; for (int i = 0; i < priv->nentries; i++) g_free(priv->entries[i]); g_free(priv->entries); G_OBJECT_CLASS(entangle_control_choice_parent_class)->finalize(object); } static void entangle_control_choice_class_init(EntangleControlChoiceClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_choice_finalize; object_class->get_property = entangle_control_get_property; object_class->set_property = entangle_control_set_property; g_object_class_install_property(object_class, PROP_VALUE, g_param_spec_string("value", "Control value", "Current value of the control", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlChoicePrivate)); } EntangleControlChoice *entangle_control_choice_new(const char *path, int id, const char *label, const char *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_CHOICE(g_object_new(ENTANGLE_TYPE_CONTROL_CHOICE, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_choice_init(EntangleControlChoice *picker) { picker->priv = ENTANGLE_CONTROL_CHOICE_GET_PRIVATE(picker); } void entangle_control_choice_add_entry(EntangleControlChoice *choice, const char *entry) { g_return_if_fail(ENTANGLE_IS_CONTROL_CHOICE(choice)); g_return_if_fail(entry != NULL); EntangleControlChoicePrivate *priv = choice->priv; priv->entries = g_renew(char *, priv->entries, priv->nentries+1); priv->entries[priv->nentries++] = g_strdup(entry); } int entangle_control_choice_entry_count(EntangleControlChoice *choice) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_CHOICE(choice), 0); EntangleControlChoicePrivate *priv = choice->priv; return priv->nentries; } const char *entangle_control_choice_entry_get(EntangleControlChoice *choice, int idx) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_CHOICE(choice), NULL); EntangleControlChoicePrivate *priv = choice->priv; if (idx < 0 || idx >= priv->nentries) return NULL; return priv->entries[idx]; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-group.c0000664000000000000000000001065212253420651017141 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-group.h" #define ENTANGLE_CONTROL_GROUP_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_GROUP, EntangleControlGroupPrivate)) struct _EntangleControlGroupPrivate { size_t ncontrol; EntangleControl **controls; }; G_DEFINE_TYPE(EntangleControlGroup, entangle_control_group, ENTANGLE_TYPE_CONTROL); static void entangle_control_group_finalize(GObject *object) { EntangleControlGroup *picker = ENTANGLE_CONTROL_GROUP(object); EntangleControlGroupPrivate *priv = picker->priv; for (int i = 0; i < priv->ncontrol; i++) { g_object_unref(priv->controls[i]); } g_free(priv->controls); G_OBJECT_CLASS(entangle_control_group_parent_class)->finalize(object); } static void entangle_control_group_class_init(EntangleControlGroupClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_group_finalize; g_type_class_add_private(klass, sizeof(EntangleControlGroupPrivate)); } EntangleControlGroup *entangle_control_group_new(const gchar *path, gint id, const gchar *label, const gchar *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_GROUP(g_object_new(ENTANGLE_TYPE_CONTROL_GROUP, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_group_init(EntangleControlGroup *picker) { picker->priv = ENTANGLE_CONTROL_GROUP_GET_PRIVATE(picker); } void entangle_control_group_add(EntangleControlGroup *group, EntangleControl *control) { g_return_if_fail(ENTANGLE_IS_CONTROL_GROUP(group)); g_return_if_fail(ENTANGLE_IS_CONTROL(control)); EntangleControlGroupPrivate *priv = group->priv; priv->controls = g_renew(EntangleControl *, priv->controls, priv->ncontrol+1); priv->controls[priv->ncontrol++] = control; g_object_ref(control); } guint entangle_control_group_count(EntangleControlGroup *group) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_GROUP(group), 0); EntangleControlGroupPrivate *priv = group->priv; return priv->ncontrol; } EntangleControl *entangle_control_group_get(EntangleControlGroup *group, gint idx) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_GROUP(group), NULL); EntangleControlGroupPrivate *priv = group->priv; if (idx < 0 || idx >= priv->ncontrol) return NULL; return priv->controls[idx]; } EntangleControl *entangle_control_group_get_by_path(EntangleControlGroup *group, const gchar *path) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_GROUP(group), NULL); g_return_val_if_fail(path != NULL, NULL); EntangleControlGroupPrivate *priv = group->priv; size_t i; for (i = 0; i < priv->ncontrol; i++) { if (g_str_equal(path, entangle_control_get_path(priv->controls[i]))) return priv->controls[i]; } return NULL; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-colour-profile.h0000664000000000000000000001177012253420651017277 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_COLOUR_PROFILE_H__ #define __ENTANGLE_COLOUR_PROFILE_H__ #include #include #include "entangle-colour-profile-enums.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_COLOUR_PROFILE (entangle_colour_profile_get_type ()) #define ENTANGLE_COLOUR_PROFILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_COLOUR_PROFILE, EntangleColourProfile)) #define ENTANGLE_COLOUR_PROFILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_COLOUR_PROFILE, EntangleColourProfileClass)) #define ENTANGLE_IS_COLOUR_PROFILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_COLOUR_PROFILE)) #define ENTANGLE_IS_COLOUR_PROFILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_COLOUR_PROFILE)) #define ENTANGLE_COLOUR_PROFILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_COLOUR_PROFILE, EntangleColourProfileClass)) #define ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM (entangle_colour_profile_transform_get_type ()) #define ENTANGLE_COLOUR_PROFILE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, EntangleColourProfileTransform)) #define ENTANGLE_COLOUR_PROFILE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, EntangleColourProfileTransformClass)) #define ENTANGLE_IS_COLOUR_PROFILE_TRANSFORM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM)) #define ENTANGLE_IS_COLOUR_PROFILE_TRANSFORM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM)) #define ENTANGLE_COLOUR_PROFILE_TRANSFORM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, EntangleColourProfileTransformClass)) typedef struct _EntangleColourProfile EntangleColourProfile; typedef struct _EntangleColourProfilePrivate EntangleColourProfilePrivate; typedef struct _EntangleColourProfileClass EntangleColourProfileClass; typedef struct _EntangleColourProfileTransform EntangleColourProfileTransform; typedef struct _EntangleColourProfileTransformPrivate EntangleColourProfileTransformPrivate; typedef struct _EntangleColourProfileTransformClass EntangleColourProfileTransformClass; struct _EntangleColourProfile { GObject parent; EntangleColourProfilePrivate *priv; }; struct _EntangleColourProfileClass { GObjectClass parent_class; }; struct _EntangleColourProfileTransform { GObject parent; EntangleColourProfileTransformPrivate *priv; }; struct _EntangleColourProfileTransformClass { GObjectClass parent_class; }; typedef enum { ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL, ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC, ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION, ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC, } EntangleColourProfileIntent; GType entangle_colour_profile_get_type(void) G_GNUC_CONST; GType entangle_colour_profile_transform_get_type(void) G_GNUC_CONST; EntangleColourProfile *entangle_colour_profile_new_file(const char *filename); EntangleColourProfile *entangle_colour_profile_new_data(GByteArray *data); const char *entangle_colour_profile_filename(EntangleColourProfile *profile); char *entangle_colour_profile_product_name(EntangleColourProfile *profile); char *entangle_colour_profile_product_desc(EntangleColourProfile *profile); char *entangle_colour_profile_product_info(EntangleColourProfile *profile); char *entangle_colour_profile_manufacturer(EntangleColourProfile *profile); char *entangle_colour_profile_model(EntangleColourProfile *profile); char *entangle_colour_profile_copyright(EntangleColourProfile *profile); EntangleColourProfileTransform *entangle_colour_profile_transform_new(EntangleColourProfile *src, EntangleColourProfile *dst, EntangleColourProfileIntent intent); GdkPixbuf *entangle_colour_profile_transform_apply(EntangleColourProfileTransform *trans, GdkPixbuf *pixbuf); G_END_DECLS #endif /* __ENTANGLE_COLOUR_PROFILE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control.h0000664000000000000000000000557512253420651016024 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_H__ #define __ENTANGLE_CONTROL_H__ #include G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL (entangle_control_get_type ()) #define ENTANGLE_CONTROL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL, EntangleControl)) #define ENTANGLE_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL, EntangleControlClass)) #define ENTANGLE_IS_CONTROL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL)) #define ENTANGLE_IS_CONTROL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL)) #define ENTANGLE_CONTROL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL, EntangleControlClass)) typedef struct _EntangleControl EntangleControl; typedef struct _EntangleControlPrivate EntangleControlPrivate; typedef struct _EntangleControlClass EntangleControlClass; struct _EntangleControl { GObject parent; EntangleControlPrivate *priv; }; struct _EntangleControlClass { GObjectClass parent_class; }; GType entangle_control_get_type(void) G_GNUC_CONST; EntangleControl* entangle_control_new(const gchar *path, gint id, const gchar *label, const gchar *info, gboolean readonly); gint entangle_control_get_id(EntangleControl *control); const gchar *entangle_control_get_path(EntangleControl *control); const gchar *entangle_control_get_label(EntangleControl *control); const gchar *entangle_control_get_info(EntangleControl *control); gboolean entangle_control_get_dirty(EntangleControl *control); void entangle_control_set_dirty(EntangleControl *control, gboolean dirty); gboolean entangle_control_get_readonly(EntangleControl *control); void entangle_control_set_readonly(EntangleControl *control, gboolean ro); G_END_DECLS #endif /* __ENTANGLE_CONTROL_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-pixbuf.c0000664000000000000000000004122412253420651015623 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-pixbuf.h" /* Performs rotation of the thunbnail based on embedded metadata */ GdkPixbuf *entangle_pixbuf_auto_rotate(GdkPixbuf *src, GExiv2Metadata *metadata) { GdkPixbuf *dest = gdk_pixbuf_apply_embedded_orientation(src); GdkPixbuf *temp; ENTANGLE_DEBUG("Auto-rotate %p %p\n", src, dest); if (dest == src) { int transform = 0; g_object_unref(dest); if (metadata) { transform = gexiv2_metadata_get_orientation(metadata); } else { const char *orientationstr = gdk_pixbuf_get_option(src, "tEXt::Entangle::Orientation"); /* If not option, then try the gobject data slot */ if (!orientationstr) orientationstr = g_object_get_data(G_OBJECT(src), "tEXt::Entangle::Orientation"); if (orientationstr) transform = (int)g_ascii_strtoll(orientationstr, NULL, 10); ENTANGLE_DEBUG("Auto-rotate %s\n", orientationstr); } /* Apply the actual transforms, which involve rotations and flips. The meaning of orientation values 1-8 and the required transforms are defined by the TIFF and EXIF (for JPEGs) standards. */ switch (transform) { case GEXIV2_ORIENTATION_NORMAL: dest = src; g_object_ref(dest); break; case GEXIV2_ORIENTATION_HFLIP: dest = gdk_pixbuf_flip(src, TRUE); break; case GEXIV2_ORIENTATION_ROT_180: dest = gdk_pixbuf_rotate_simple(src, GDK_PIXBUF_ROTATE_UPSIDEDOWN); break; case GEXIV2_ORIENTATION_VFLIP: dest = gdk_pixbuf_flip(src, FALSE); break; case GEXIV2_ORIENTATION_ROT_90_HFLIP: temp = gdk_pixbuf_rotate_simple(src, GDK_PIXBUF_ROTATE_CLOCKWISE); dest = gdk_pixbuf_flip(temp,TRUE); g_object_unref(temp); break; case GEXIV2_ORIENTATION_ROT_90: dest = gdk_pixbuf_rotate_simple(src, GDK_PIXBUF_ROTATE_CLOCKWISE); break; case GEXIV2_ORIENTATION_ROT_90_VFLIP: temp = gdk_pixbuf_rotate_simple(src, GDK_PIXBUF_ROTATE_CLOCKWISE); dest = gdk_pixbuf_flip(temp, FALSE); g_object_unref(temp); break; case GEXIV2_ORIENTATION_ROT_270: dest = gdk_pixbuf_rotate_simple(src, GDK_PIXBUF_ROTATE_COUNTERCLOCKWISE); break; default: /* if no orientation tag was present */ dest = src; g_object_ref(dest); break; } } return dest; } static gboolean entangle_pixbuf_is_raw(EntangleImage *image) { const char *extlist[] = { ".cr2", ".nef", ".nrw", ".arw", ".orf", ".dng", ".pef", ".crw", ".erf", ".mrw", ".raw", ".rw2", ".raf", NULL }; const char **tmp; char *filename = g_utf8_strdown(entangle_image_get_filename(image), -1); gboolean ret = TRUE; tmp = extlist; while (*tmp) { const char *ext = *tmp; if (g_str_has_suffix(filename, ext)) goto cleanup; tmp++; } ret = FALSE; cleanup: g_free(filename); return ret; } static void img_free(guchar *ignore G_GNUC_UNUSED, gpointer opaque) { libraw_processed_image_t *img = opaque; libraw_dcraw_clear_mem(img); } static GdkPixbuf *entangle_pixbuf_open_image_master_raw(EntangleImage *image) { GdkPixbuf *result = NULL; libraw_data_t *raw = libraw_init(0); libraw_processed_image_t *img = NULL; int ret; if (!raw) { ENTANGLE_DEBUG("Failed to initialize libraw"); goto cleanup; } /* Use default camera parameters to display image Real work needs to done by a RAW developer anyway */ raw->params.use_camera_wb = 1; raw->params.use_auto_wb = 1; raw->params.use_camera_matrix = 1; raw->params.user_qual = 0; raw->params.fbdd_noiserd = 1; ENTANGLE_DEBUG("Open raw %s", entangle_image_get_filename(image)); if ((ret = libraw_open_file(raw, entangle_image_get_filename(image))) != 0) { ENTANGLE_DEBUG("Failed to open raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Unpack raw %s", entangle_image_get_filename(image)); if ((ret = libraw_unpack(raw)) != 0) { ENTANGLE_DEBUG("Failed to unpack raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Process raw %s", entangle_image_get_filename(image)); if ((ret = libraw_dcraw_process(raw)) != 0) { ENTANGLE_DEBUG("Failed to process raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Make mem %s", entangle_image_get_filename(image)); if ((img = libraw_dcraw_make_mem_image(raw, &ret)) == NULL) { ENTANGLE_DEBUG("Failed to extract raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("New pixbuf %s", entangle_image_get_filename(image)); result = gdk_pixbuf_new_from_data(img->data, GDK_COLORSPACE_RGB, FALSE, img->bits, img->width, img->height, (img->width * img->bits * 3)/8, img_free, img); cleanup: libraw_close(raw); return result; } static GdkPixbuf *entangle_pixbuf_open_image_master_gdk(EntangleImage *image, GExiv2Metadata *metadata, gboolean applyOrientation) { GdkPixbuf *master; GdkPixbuf *result; ENTANGLE_DEBUG("Loading %s using GDK Pixbuf", entangle_image_get_filename(image)); master = gdk_pixbuf_new_from_file(entangle_image_get_filename(image), NULL); if (!master) return NULL; if (applyOrientation) { result = entangle_pixbuf_auto_rotate(master, metadata); g_object_unref(master); } else { GExiv2Orientation orient = gexiv2_metadata_get_orientation(metadata); /* gdk_pixbuf_save doesn't update internal options and there is no set_option method, so abuse gobject data slots :-( */ g_object_set_data_full(G_OBJECT(master), "tEXt::Entangle::Orientation", g_strdup_printf("%d", orient), g_free); result = master; } return result; } static GdkPixbuf *entangle_pixbuf_open_image_master(EntangleImage *image, GExiv2Metadata *metadata, gboolean applyOrientation) { if (entangle_pixbuf_is_raw(image)) return entangle_pixbuf_open_image_master_raw(image); else return entangle_pixbuf_open_image_master_gdk(image, metadata, applyOrientation); } static GExiv2PreviewProperties * entangle_pixbuf_get_largest_preview(GExiv2PreviewProperties **proplist) { GExiv2PreviewProperties *best = NULL; gint bestw = 0, besth = 0; while (proplist && *proplist) { gint w, h; w = gexiv2_preview_properties_get_width(*proplist); h = gexiv2_preview_properties_get_height(*proplist); if (!best || ((w > bestw) && (h > besth))) { best = *proplist; bestw = w; besth = h; } proplist++; } ENTANGLE_DEBUG("Largest preview %p %dx%d", best, bestw, besth); return best; } static GExiv2PreviewProperties * entangle_pixbuf_get_closest_preview(GExiv2PreviewProperties **proplist, guint minSize) { GExiv2PreviewProperties *best = NULL; gint bestw = 0, besth = 0; while (proplist && *proplist) { gint w, h; w = gexiv2_preview_properties_get_width(*proplist); h = gexiv2_preview_properties_get_height(*proplist); ENTANGLE_DEBUG("Check %dx%d vs %d (best %p %dx%d", w, h, minSize, best, bestw, besth); if (w > minSize && h > minSize) { if (!best || ((w < bestw) && (h < besth))) { best = *proplist; bestw = w; besth = h; } } proplist++; } ENTANGLE_DEBUG("Closest preview %p %dx%d", best, bestw, besth); return best; } static GdkPixbuf *entangle_pixbuf_open_image_preview_raw(EntangleImage *image, GExiv2Metadata *metadata, gboolean applyOrientation) { GdkPixbuf *result = NULL; GdkPixbufLoader *loader = gdk_pixbuf_loader_new(); libraw_data_t *raw = libraw_init(0); libraw_processed_image_t *img = NULL; int ret; if (!raw) { ENTANGLE_DEBUG("Failed to initialize libraw"); goto cleanup; } ENTANGLE_DEBUG("Open preview raw %s", entangle_image_get_filename(image)); if ((ret = libraw_open_file(raw, entangle_image_get_filename(image))) != 0) { ENTANGLE_DEBUG("Failed to open preview raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Unpack preview raw %s", entangle_image_get_filename(image)); if ((ret = libraw_unpack_thumb(raw)) != 0) { ENTANGLE_DEBUG("Failed to unpack preview raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Adjust preview raw %s", entangle_image_get_filename(image)); if ((ret = libraw_adjust_sizes_info_only(raw)) != 0) { ENTANGLE_DEBUG("Failed to adjust preview raw file: %s", libraw_strerror(ret)); goto cleanup; } ENTANGLE_DEBUG("Make preview mem %s", entangle_image_get_filename(image)); if ((img = libraw_dcraw_make_mem_thumb(raw, &ret)) == NULL) { ENTANGLE_DEBUG("Failed to extract preview raw file: %s", libraw_strerror(ret)); goto cleanup; } gdk_pixbuf_loader_write(loader, img->data, img->data_size, NULL); result = gdk_pixbuf_loader_get_pixbuf(loader); if (result) { if (applyOrientation) { GdkPixbuf *tmp = entangle_pixbuf_auto_rotate(result, metadata); g_object_unref(result); result = tmp; } else { GExiv2Orientation orient = gexiv2_metadata_get_orientation(metadata); /* gdk_pixbuf_save doesn't update internal options and there is no set_option method, so abuse gobject data slots :-( */ g_object_set_data_full(G_OBJECT(result), "tEXt::Entangle::Orientation", g_strdup_printf("%d", orient), g_free); } } cleanup: if (img) libraw_dcraw_clear_mem(img); libraw_close(raw); gdk_pixbuf_loader_close(loader, NULL); return result; } static GdkPixbuf *entangle_pixbuf_open_image_preview_exiv(EntangleImage *image, guint minSize, GExiv2Metadata *metadata) { GExiv2PreviewImage *preview = NULL; GExiv2PreviewProperties **props; GExiv2PreviewProperties *best; GdkPixbuf *result = NULL, *master = NULL; GdkPixbufLoader *loader = NULL; const guint8 *data; guint32 datalen; GExiv2Orientation orient; ENTANGLE_DEBUG("Opening preview %s", entangle_image_get_filename(image)); props = gexiv2_metadata_get_preview_properties(metadata); if (minSize) best = entangle_pixbuf_get_closest_preview(props, minSize); else best = entangle_pixbuf_get_largest_preview(props); if (!best) { ENTANGLE_DEBUG("No preview properties for %s", entangle_image_get_filename(image)); goto cleanup; } preview = gexiv2_metadata_get_preview_image(metadata, best); loader = gdk_pixbuf_loader_new_with_mime_type(gexiv2_preview_image_get_mime_type(preview), NULL); data = gexiv2_preview_image_get_data(preview, &datalen); gdk_pixbuf_loader_write(loader, data, datalen, NULL); if (!gdk_pixbuf_loader_close(loader, NULL)) { ENTANGLE_DEBUG("Failed to load preview image for %s", entangle_image_get_filename(image)); goto cleanup; } if (!(master = gdk_pixbuf_loader_get_pixbuf(loader))) { ENTANGLE_DEBUG("Failed to parse preview for %s", entangle_image_get_filename(image)); goto cleanup; } orient = gexiv2_metadata_get_orientation(metadata); /* gdk_pixbuf_save doesn't update internal options and there is no set_option method, so abuse gobject data slots :-( */ g_object_set_data_full(G_OBJECT(master), "tEXt::Entangle::Orientation", g_strdup_printf("%d", orient), g_free); cleanup: if (loader) g_object_unref(loader); if (preview) g_object_unref(preview); return result; } static GdkPixbuf *entangle_pixbuf_open_image_preview(EntangleImage *image, GExiv2Metadata *metadata, gboolean applyOrientation) { GdkPixbuf *result = NULL; if (entangle_pixbuf_is_raw(image)) { result = entangle_pixbuf_open_image_preview_raw(image, metadata, applyOrientation); if (!result && metadata) result = entangle_pixbuf_open_image_preview_exiv(image, 256, metadata); if (!result) result = entangle_pixbuf_open_image_master_raw(image); } else { result = entangle_pixbuf_open_image_master_gdk(image, metadata, applyOrientation); } return result; } static GdkPixbuf *entangle_pixbuf_open_image_thumbnail(EntangleImage *image, GExiv2Metadata *metadata, gboolean applyOrientation) { GdkPixbuf *result = NULL; if (entangle_pixbuf_is_raw(image)) result = entangle_pixbuf_open_image_preview_raw(image, metadata, applyOrientation); if (!result && metadata) result = entangle_pixbuf_open_image_preview_exiv(image, 128, metadata); if (!result) result = entangle_pixbuf_open_image_master(image, metadata, applyOrientation); return result; } GdkPixbuf *entangle_pixbuf_open_image(EntangleImage *image, EntanglePixbufImageSlot slot, gboolean applyOrientation, GExiv2Metadata **metadata) { ENTANGLE_DEBUG("Open image %s %d", entangle_image_get_filename(image), slot); GExiv2Metadata *themetadata = gexiv2_metadata_new(); GdkPixbuf *ret = NULL; if (!gexiv2_metadata_open_path(themetadata, entangle_image_get_filename(image), NULL)) { g_object_unref(themetadata); themetadata = NULL; } switch (slot) { case ENTANGLE_PIXBUF_IMAGE_SLOT_MASTER: ret = entangle_pixbuf_open_image_master(image, themetadata, applyOrientation); break; case ENTANGLE_PIXBUF_IMAGE_SLOT_PREVIEW: ret = entangle_pixbuf_open_image_preview(image, themetadata, applyOrientation); break; case ENTANGLE_PIXBUF_IMAGE_SLOT_THUMBNAIL: ret = entangle_pixbuf_open_image_thumbnail(image, themetadata, applyOrientation); break; default: g_warn_if_reached(); break; } if (metadata) *metadata = themetadata; else g_object_unref(themetadata); return ret; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-thumbnail-loader.c0000664000000000000000000003322112253420652017554 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-pixbuf.h" #include "entangle-thumbnail-loader.h" #include "entangle-colour-profile.h" #define ENTANGLE_THUMBNAIL_LOADER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_THUMBNAIL_LOADER, EntangleThumbnailLoaderPrivate)) struct _EntangleThumbnailLoaderPrivate { guint width; guint height; }; G_DEFINE_TYPE(EntangleThumbnailLoader, entangle_thumbnail_loader, ENTANGLE_TYPE_PIXBUF_LOADER); enum { PROP_0, PROP_WIDTH, PROP_HEIGHT, }; static void entangle_thumbnail_loader_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleThumbnailLoader *loader = ENTANGLE_THUMBNAIL_LOADER(object); EntangleThumbnailLoaderPrivate *priv = loader->priv; switch (prop_id) { case PROP_WIDTH: g_value_set_int(value, priv->width); break; case PROP_HEIGHT: g_value_set_int(value, priv->height); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_thumbnail_loader_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleThumbnailLoader *loader = ENTANGLE_THUMBNAIL_LOADER(object); EntangleThumbnailLoaderPrivate *priv = loader->priv; switch (prop_id) { case PROP_WIDTH: priv->width = g_value_get_int(value); break; case PROP_HEIGHT: priv->height = g_value_get_int(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static char *entangle_thumbnail_loader_path_to_uri(const char *filename) { char *path = g_uri_escape_string(filename, G_URI_RESERVED_CHARS_ALLOWED_IN_PATH, TRUE); return g_strdup_printf("file://%s", path); } static char *entangle_thumbnail_loader_uri_to_md5(const char *uri) { return g_compute_checksum_for_data(G_CHECKSUM_MD5, (const guchar *)uri, strlen(uri)); } static char *entangle_thumbnail_loader_uri_to_thumb(const char *uri) { char *md5 = entangle_thumbnail_loader_uri_to_md5(uri); char *thumb; thumb = g_strdup_printf("%s/.thumbnails/normal/%s.png", g_get_home_dir(), md5); g_free(md5); return thumb; } static void entangle_thumbnail_ensure_thumbnail_dir(void) { char *dir; dir = g_strdup_printf("%s/.thumbnails/normal/", g_get_home_dir()); g_mkdir_with_parents(dir, 0700); g_free(dir); } /* Loads the master image and downsizes it to produce a thumbnail */ static GdkPixbuf *entangle_thumbnail_loader_generate(EntanglePixbufLoader *loader G_GNUC_UNUSED, EntangleImage *image, const char *uri, const char *thumbname, time_t mtime, GExiv2Metadata **metadata) { GdkPixbuf *master; GdkPixbuf *thumb = NULL; int sw, sh; int tw, th; int iw, ih; double ta; double ia; char mtimeStr[21]; char widthStr[21]; char heightStr[21]; char *thumbnametmp; const char *orientationstr; master = entangle_pixbuf_open_image(image, ENTANGLE_PIXBUF_IMAGE_SLOT_THUMBNAIL, FALSE, metadata); if (!master) return NULL; sw = sh = 128; iw = gdk_pixbuf_get_width(master); ih = gdk_pixbuf_get_height(master); ia = (double)iw / (double)ih; ta = (double)sw / (double)sh; if (ia > ta) { tw = sw; th = (int)((double)sw / ia); } else { tw = (int)((double)sh * ia); th = sh; } thumb = gdk_pixbuf_scale_simple(master, tw, th, GDK_INTERP_BILINEAR); g_snprintf(widthStr, sizeof(widthStr), "%d", iw); g_snprintf(heightStr, sizeof(heightStr), "%d", ih); g_snprintf(mtimeStr, sizeof(mtimeStr), "%ld", mtime); ENTANGLE_DEBUG("Image %dx%d -> %dx%d", iw, ih, tw, th); thumbnametmp = g_strdup_printf("%s.entangle-tmp", thumbname); orientationstr = gdk_pixbuf_get_option(master, "orientation"); entangle_thumbnail_ensure_thumbnail_dir(); if (gdk_pixbuf_save(thumb, thumbnametmp, "png", NULL, "tEXt::Thumb::Image::Width", widthStr, "tEXt::Thumb::Image::Height", heightStr, "tEXt::Thumb::URI", uri, "tEXt::Thumb::MTime", mtimeStr, "tEXt::Software", "Entangle", "tEXt::Entangle::Orientation", orientationstr ? orientationstr : "0", NULL)) { chmod(thumbnametmp, 0600); if (rename(thumbnametmp, thumbname) < 0) unlink(thumbnametmp); } g_free(thumbnametmp); /* gdk_pixbuf_save doesn't update internal options and there is no set_option method, so abuse gobject data slots :-( */ g_object_set_data_full(G_OBJECT(thumb), "tEXt::Entangle::Orientation", g_strdup(orientationstr ? orientationstr : "0"), g_free); g_object_unref(master); return thumb; } static GdkPixbuf *entangle_thumbnail_loader_pixbuf_load(EntanglePixbufLoader *loader, EntangleImage *image, GExiv2Metadata **metadata G_GNUC_UNUSED) { EntangleThumbnailLoader *tloader = ENTANGLE_THUMBNAIL_LOADER(loader); EntangleThumbnailLoaderPrivate *priv = tloader->priv; char *uri = entangle_thumbnail_loader_path_to_uri(entangle_image_get_filename(image)); char *thumbname = entangle_thumbnail_loader_uri_to_thumb(uri); GdkPixbuf *result = NULL; GdkPixbuf *thumb = NULL; struct stat sb; GExiv2Metadata *themetadata = NULL; /* Sanity check that the base image still exists */ if (stat(entangle_image_get_filename(image), &sb) < 0) { ENTANGLE_DEBUG("File %s does not exist", entangle_image_get_filename(image)); goto cleanup; } ENTANGLE_DEBUG("Want thumbnail %s for %s %ld", thumbname, uri, sb.st_mtime); /* Have a go at loading a thumbnail, but it might not exist */ thumb = gdk_pixbuf_new_from_file(thumbname, NULL); if (thumb) { const char *thisuri = gdk_pixbuf_get_option(thumb, "tEXt::Thumb::URI"); const char *thismtimeStr = gdk_pixbuf_get_option(thumb, "tEXt::Thumb::MTime"); time_t thismtime; thismtime = thismtimeStr ? atol(thismtimeStr) : 0; ENTANGLE_DEBUG("Check thumbnail %s for %s %s", thumbname, thisuri, thismtimeStr); /* Check that the thumbnail is still valid */ if (!thisuri || !thismtimeStr || strcmp(uri, thisuri) != 0 || thismtime != sb.st_mtime) { g_object_unref(thumb); thumb = NULL; } } /* No thumbnail, so lets generate one */ if (!thumb) { unlink(thumbname); ENTANGLE_DEBUG("Generate thumbnail %s for %s %ld", thumbname, uri, sb.st_mtime); thumb = entangle_thumbnail_loader_generate(loader, image, uri, thumbname, sb.st_mtime, &themetadata); } /* Apply any rotation hints so it is "normal" for the viewer */ if (thumb) { GdkPixbuf *tmp = entangle_pixbuf_auto_rotate(thumb, themetadata); g_object_unref(thumb); thumb = tmp; } /* Chances are that the thumbnail size is not actually the * exact size that we want, or the aspect ratio is different. * So scale it to fit our desired size, and fill any borders * left over with black */ if (thumb) { int tw, th; tw = gdk_pixbuf_get_width(thumb); th = gdk_pixbuf_get_height(thumb); if (tw != priv->width || th != priv->height) { double ta, ra; int rw, rh; double sw, sh; ta = (double)tw / (double)th; ra = (double)priv->width / (double)priv->height; if (ta > ra) { rw = priv->width; rh = (int)((double)priv->width / ta); } else { rw = (int)((double)priv->height * ta); rh = priv->height; } sw = (double)rw / (double)tw; sh = (double)rh / (double)th; result = gdk_pixbuf_new(GDK_COLORSPACE_RGB, TRUE, 8, priv->width, priv->height); gdk_pixbuf_fill(result, 0x00000000); gdk_pixbuf_scale(thumb, result, (priv->width - rw) / 2, (priv->height - rh) / 2, rw, rh, (priv->width - rw) / 2, (priv->height - rh) / 2, sw, sh, GDK_INTERP_BILINEAR); g_object_unref(thumb); } else { result = thumb; } } cleanup: if (themetadata) g_object_unref(themetadata); g_free(uri); g_free(thumbname); return result; } static void entangle_thumbnail_loader_class_init(EntangleThumbnailLoaderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); EntanglePixbufLoaderClass *loader_class = ENTANGLE_PIXBUF_LOADER_CLASS(klass); object_class->get_property = entangle_thumbnail_loader_get_property; object_class->set_property = entangle_thumbnail_loader_set_property; loader_class->pixbuf_load = entangle_thumbnail_loader_pixbuf_load; g_object_class_install_property(object_class, PROP_WIDTH, g_param_spec_int("width", "Width", "Maximum thumbnail width", 1, 400, 128, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_HEIGHT, g_param_spec_int("height", "Height", "Maximum thumbnail height", 1, 400, 128, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleThumbnailLoaderPrivate)); } EntangleThumbnailLoader *entangle_thumbnail_loader_new(int width, int height) { return ENTANGLE_THUMBNAIL_LOADER(g_object_new(ENTANGLE_TYPE_THUMBNAIL_LOADER, "width", width, "height", height, NULL)); } static void entangle_thumbnail_loader_init(EntangleThumbnailLoader *loader) { EntangleThumbnailLoaderPrivate *priv; priv = loader->priv = ENTANGLE_THUMBNAIL_LOADER_GET_PRIVATE(loader); memset(priv, 0, sizeof(*priv)); priv->width = priv->height = 128; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-button.h0000664000000000000000000000510512253420651017322 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_BUTTON_H__ #define __ENTANGLE_CONTROL_BUTTON_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_BUTTON (entangle_control_button_get_type ()) #define ENTANGLE_CONTROL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_BUTTON, EntangleControlButton)) #define ENTANGLE_CONTROL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_BUTTON, EntangleControlButtonClass)) #define ENTANGLE_IS_CONTROL_BUTTON(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_BUTTON)) #define ENTANGLE_IS_CONTROL_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_BUTTON)) #define ENTANGLE_CONTROL_BUTTON_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_BUTTON, EntangleControlButtonClass)) typedef struct _EntangleControlButton EntangleControlButton; typedef struct _EntangleControlButtonPrivate EntangleControlButtonPrivate; typedef struct _EntangleControlButtonClass EntangleControlButtonClass; struct _EntangleControlButton { EntangleControl parent; EntangleControlButtonPrivate *priv; }; struct _EntangleControlButtonClass { EntangleControlClass parent_class; }; GType entangle_control_button_get_type(void) G_GNUC_CONST; EntangleControlButton* entangle_control_button_new(const char *path, int id, const char *label, const char *info, gboolean readonly); G_END_DECLS #endif /* __ENTANGLE_CONTROL_BUTTON_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-pixbuf-loader.h0000664000000000000000000000772612253420651017105 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_PIXBUF_LOADER_H__ #define __ENTANGLE_PIXBUF_LOADER_H__ #include #include #include #include "entangle-colour-profile.h" #include "entangle-image.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_PIXBUF_LOADER (entangle_pixbuf_loader_get_type ()) #define ENTANGLE_PIXBUF_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_PIXBUF_LOADER, EntanglePixbufLoader)) #define ENTANGLE_PIXBUF_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_PIXBUF_LOADER, EntanglePixbufLoaderClass)) #define ENTANGLE_IS_PIXBUF_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_PIXBUF_LOADER)) #define ENTANGLE_IS_PIXBUF_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_PIXBUF_LOADER)) #define ENTANGLE_PIXBUF_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_PIXBUF_LOADER, EntanglePixbufLoaderClass)) typedef struct _EntanglePixbufLoader EntanglePixbufLoader; typedef struct _EntanglePixbufLoaderPrivate EntanglePixbufLoaderPrivate; typedef struct _EntanglePixbufLoaderClass EntanglePixbufLoaderClass; struct _EntanglePixbufLoader { GObject parent; EntanglePixbufLoaderPrivate *priv; }; struct _EntanglePixbufLoaderClass { GObjectClass parent_class; void (*pixbuf_loaded)(EntanglePixbufLoader *loader, EntangleImage *image); void (*metadata_loaded)(EntanglePixbufLoader *loader, EntangleImage *image); void (*pixbuf_unloaded)(EntanglePixbufLoader *loader, EntangleImage *image); void (*metadata_unloaded)(EntanglePixbufLoader *loader, EntangleImage *image); GdkPixbuf *(*pixbuf_load)(EntanglePixbufLoader *loader, EntangleImage *image, GExiv2Metadata **metadata); }; GType entangle_pixbuf_loader_get_type(void) G_GNUC_CONST; gboolean entangle_pixbuf_loader_is_ready(EntanglePixbufLoader *loader, EntangleImage *image); GdkPixbuf *entangle_pixbuf_loader_get_pixbuf(EntanglePixbufLoader *loader, EntangleImage *image); GExiv2Metadata *entangle_pixbuf_loader_get_metadata(EntanglePixbufLoader *loader, EntangleImage *image); gboolean entangle_pixbuf_loader_load(EntanglePixbufLoader *loader, EntangleImage *image); gboolean entangle_pixbuf_loader_unload(EntanglePixbufLoader *loader, EntangleImage *image); void entangle_pixbuf_loader_trigger_reload(EntanglePixbufLoader *loader); void entangle_pixbuf_loader_set_colour_transform(EntanglePixbufLoader *loader, EntangleColourProfileTransform *transform); EntangleColourProfileTransform *entangle_pixbuf_loader_get_colour_transform(EntanglePixbufLoader *loader); void entangle_pixbuf_loader_set_workers(EntanglePixbufLoader *loader, int count); int entangle_pixbuf_loader_get_workers(EntanglePixbufLoader *loader); G_END_DECLS #endif /* __ENTANGLE_PIXBUF_LOADER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-thumbnail-loader.h0000664000000000000000000000466712253420652017575 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_THUMBNAIL_LOADER_H__ #define __ENTANGLE_THUMBNAIL_LOADER_H__ #include #include "entangle-pixbuf-loader.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_THUMBNAIL_LOADER (entangle_thumbnail_loader_get_type ()) #define ENTANGLE_THUMBNAIL_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_THUMBNAIL_LOADER, EntangleThumbnailLoader)) #define ENTANGLE_THUMBNAIL_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_THUMBNAIL_LOADER, EntangleThumbnailLoaderClass)) #define ENTANGLE_IS_THUMBNAIL_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_THUMBNAIL_LOADER)) #define ENTANGLE_IS_THUMBNAIL_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_THUMBNAIL_LOADER)) #define ENTANGLE_THUMBNAIL_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_THUMBNAIL_LOADER, EntangleThumbnailLoaderClass)) typedef struct _EntangleThumbnailLoader EntangleThumbnailLoader; typedef struct _EntangleThumbnailLoaderPrivate EntangleThumbnailLoaderPrivate; typedef struct _EntangleThumbnailLoaderClass EntangleThumbnailLoaderClass; struct _EntangleThumbnailLoader { EntanglePixbufLoader parent; EntangleThumbnailLoaderPrivate *priv; }; struct _EntangleThumbnailLoaderClass { EntanglePixbufLoaderClass parent_class; }; GType entangle_thumbnail_loader_get_type(void) G_GNUC_CONST; EntangleThumbnailLoader *entangle_thumbnail_loader_new(int width, int height); G_END_DECLS #endif /* __ENTANGLE_THUMBNAIL_LOADER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-preferences.h0000664000000000000000000001412012253420652016630 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_PREFERENCES_H__ #define __ENTANGLE_PREFERENCES_H__ #include #include "entangle-control-group.h" #include "entangle-colour-profile.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_PREFERENCES (entangle_preferences_get_type ()) #define ENTANGLE_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_PREFERENCES, EntanglePreferences)) #define ENTANGLE_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_PREFERENCES, EntanglePreferencesClass)) #define ENTANGLE_IS_PREFERENCES(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_PREFERENCES)) #define ENTANGLE_IS_PREFERENCES_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_PREFERENCES)) #define ENTANGLE_PREFERENCES_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_PREFERENCES, EntanglePreferencesClass)) typedef struct _EntanglePreferences EntanglePreferences; typedef struct _EntanglePreferencesPrivate EntanglePreferencesPrivate; typedef struct _EntanglePreferencesClass EntanglePreferencesClass; struct _EntanglePreferences { GObject parent; EntanglePreferencesPrivate *priv; }; struct _EntanglePreferencesClass { GObjectClass parent_class; }; GType entangle_preferences_get_type(void) G_GNUC_CONST; EntanglePreferences *entangle_preferences_new(void); gboolean entangle_preferences_interface_get_auto_connect(EntanglePreferences *prefs); void entangle_preferences_interface_set_auto_connect(EntanglePreferences *prefs, gboolean autoconn); gboolean entangle_preferences_interface_get_screen_blank(EntanglePreferences *prefs); void entangle_preferences_interface_set_screen_blank(EntanglePreferences *prefs, gboolean blank); gchar **entangle_preferences_interface_get_plugins(EntanglePreferences *prefs); void entangle_preferences_interface_add_plugin(EntanglePreferences *prefs, const char *name); void entangle_preferences_interface_remove_plugin(EntanglePreferences *prefs, const char *name); gboolean entangle_preferences_interface_get_histogram_linear(EntanglePreferences *prefs); void entangle_preferences_interface_set_histogram_linear(EntanglePreferences *prefs, gboolean enabled); char *entangle_preferences_capture_get_last_session(EntanglePreferences *prefs); void entangle_preferences_capture_set_last_session(EntanglePreferences *prefs, const gchar *dir); char *entangle_preferences_capture_get_filename_pattern(EntanglePreferences *prefs); void entangle_preferences_capture_set_filename_pattern(EntanglePreferences *prefs, const gchar *dir); gboolean entangle_preferences_capture_get_continuous_preview(EntanglePreferences *prefs); void entangle_preferences_capture_set_continuous_preview(EntanglePreferences *prefs, gboolean enabled); gboolean entangle_preferences_capture_get_delete_file(EntanglePreferences *prefs); void entangle_preferences_capture_set_delete_file(EntanglePreferences *prefs, gboolean enabled); gboolean entangle_preferences_cms_get_enabled(EntanglePreferences *prefs); void entangle_preferences_cms_set_enabled(EntanglePreferences *prefs, gboolean enabled); EntangleColourProfile *entangle_preferences_cms_get_rgb_profile(EntanglePreferences *prefs); void entangle_preferences_cms_set_rgb_profile(EntanglePreferences *prefs, EntangleColourProfile *prof); EntangleColourProfile *entangle_preferences_cms_get_monitor_profile(EntanglePreferences *prefs); void entangle_preferences_cms_set_monitor_profile(EntanglePreferences *prefs, EntangleColourProfile *prof); gboolean entangle_preferences_cms_get_detect_system_profile(EntanglePreferences *prefs); void entangle_preferences_cms_set_detect_system_profile(EntanglePreferences *prefs, gboolean enabled); EntangleColourProfileIntent entangle_preferences_cms_get_rendering_intent(EntanglePreferences *prefs); void entangle_preferences_cms_set_rendering_intent(EntanglePreferences *prefs, EntangleColourProfileIntent intent); gchar *entangle_preferences_img_get_aspect_ratio(EntanglePreferences *prefs); void entangle_preferences_img_set_aspect_ratio(EntanglePreferences *prefs, const gchar *aspect); gint entangle_preferences_img_get_mask_opacity(EntanglePreferences *prefs); void entangle_preferences_img_set_mask_opacity(EntanglePreferences *prefs, gint opacity); gboolean entangle_preferences_img_get_mask_enabled(EntanglePreferences *prefs); void entangle_preferences_img_set_mask_enabled(EntanglePreferences *prefs, gboolean enabled); gboolean entangle_preferences_img_get_focus_point(EntanglePreferences *prefs); void entangle_preferences_img_set_focus_point(EntanglePreferences *prefs, gboolean enabled); gint entangle_preferences_img_get_grid_lines(EntanglePreferences *prefs); void entangle_preferences_img_set_grid_lines(EntanglePreferences *prefs, gint gridLines); gboolean entangle_preferences_img_get_embedded_preview(EntanglePreferences *prefs); void entangle_preferences_img_set_embedded_preview(EntanglePreferences *prefs, gboolean enabled); gboolean entangle_preferences_img_get_onion_skin(EntanglePreferences *prefs); void entangle_preferences_img_set_onion_skin(EntanglePreferences *prefs, gboolean enabled); gint entangle_preferences_img_get_onion_layers(EntanglePreferences *prefs); void entangle_preferences_img_set_onion_layers(EntanglePreferences *prefs, gint layers); G_END_DECLS #endif /* __ENTANGLE_PREFERENCES_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-progress.h0000664000000000000000000000417112253420652016200 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_PROGRESS_H__ #define __ENTANGLE_PROGRESS_H__ #include #include "entangle-control-group.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_PROGRESS (entangle_progress_get_type ()) #define ENTANGLE_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_PROGRESS, EntangleProgress)) #define ENTANGLE_IS_PROGRESS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_PROGRESS)) #define ENTANGLE_PROGRESS_GET_INTERFACE(inst) (G_TYPE_INSTANCE_GET_INTERFACE ((inst), ENTANGLE_TYPE_PROGRESS, EntangleProgressInterface)) typedef struct _EntangleProgress EntangleProgress; /* dummy object */ typedef struct _EntangleProgressInterface EntangleProgressInterface; struct _EntangleProgressInterface { GTypeInterface parent; void (*start) (EntangleProgress *prog, float target, const char *msg); void (*update) (EntangleProgress *prog, float current); void (*stop) (EntangleProgress *prog); }; GType entangle_progress_get_type(void); void entangle_progress_start(EntangleProgress *prog, float target, const char *msg); void entangle_progress_update(EntangleProgress *prog, float current); void entangle_progress_stop(EntangleProgress *prog); G_END_DECLS #endif /* __ENTANGLE_PROGRESS_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-pixbuf.h0000664000000000000000000000314112253420651015624 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_PIXBUF_H__ #define __ENTANGLE_PIXBUF_H__ #include #include #include "entangle-image.h" G_BEGIN_DECLS GdkPixbuf *entangle_pixbuf_auto_rotate(GdkPixbuf *src, GExiv2Metadata *metadata); typedef enum { ENTANGLE_PIXBUF_IMAGE_SLOT_MASTER, ENTANGLE_PIXBUF_IMAGE_SLOT_PREVIEW, ENTANGLE_PIXBUF_IMAGE_SLOT_THUMBNAIL, } EntanglePixbufImageSlot; GdkPixbuf *entangle_pixbuf_open_image(EntangleImage *image, EntanglePixbufImageSlot slot, gboolean applyOrientation, GExiv2Metadata **metadata); #endif /* __ENTANGLE_PIXBUF_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-image.h0000664000000000000000000000547312253420651015423 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_H__ #define __ENTANGLE_IMAGE_H__ #include #include #include #include #include #include "entangle-control-group.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE (entangle_image_get_type ()) #define ENTANGLE_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE, EntangleImage)) #define ENTANGLE_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE, EntangleImageClass)) #define ENTANGLE_IS_IMAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE)) #define ENTANGLE_IS_IMAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE)) #define ENTANGLE_IMAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE, EntangleImageClass)) typedef struct _EntangleImage EntangleImage; typedef struct _EntangleImagePrivate EntangleImagePrivate; typedef struct _EntangleImageClass EntangleImageClass; struct _EntangleImage { GObject parent; EntangleImagePrivate *priv; }; struct _EntangleImageClass { GObjectClass parent_class; }; GType entangle_image_get_type(void) G_GNUC_CONST; EntangleImage *entangle_image_new_file(const char *filename); EntangleImage *entangle_image_new_pixbuf(GdkPixbuf *pixbuf); const char *entangle_image_get_filename(EntangleImage *image); time_t entangle_image_get_last_modified(EntangleImage *image); off_t entangle_image_get_file_size(EntangleImage *image); gboolean entangle_image_delete(EntangleImage *image, GError **error); GdkPixbuf *entangle_image_get_pixbuf(EntangleImage *image); void entangle_image_set_pixbuf(EntangleImage *image, GdkPixbuf *pixbuf); GExiv2Metadata *entangle_image_get_metadata(EntangleImage *image); void entangle_image_set_metadata(EntangleImage *image, GExiv2Metadata *metadata); G_END_DECLS #endif /* __ENTANGLE_IMAGE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-button.c0000664000000000000000000000533712253420651017324 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-button.h" #define ENTANGLE_CONTROL_BUTTON_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_BUTTON, EntangleControlButtonPrivate)) struct _EntangleControlButtonPrivate { gboolean dummy; }; G_DEFINE_TYPE(EntangleControlButton, entangle_control_button, ENTANGLE_TYPE_CONTROL); static void entangle_control_button_finalize(GObject *object) { G_OBJECT_CLASS(entangle_control_button_parent_class)->finalize(object); } static void entangle_control_button_class_init(EntangleControlButtonClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_button_finalize; g_type_class_add_private(klass, sizeof(EntangleControlButtonPrivate)); } EntangleControlButton *entangle_control_button_new(const char *path, int id, const char *label, const char *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_BUTTON(g_object_new(ENTANGLE_TYPE_CONTROL_BUTTON, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_button_init(EntangleControlButton *picker) { picker->priv = ENTANGLE_CONTROL_BUTTON_GET_PRIVATE(picker); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control.c0000664000000000000000000002727212253420651016015 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control.h" #define ENTANGLE_CONTROL_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL, EntangleControlPrivate)) struct _EntangleControlPrivate { char *path; int id; char *label; char *info; gboolean readonly; gboolean dirty; }; G_DEFINE_ABSTRACT_TYPE(EntangleControl, entangle_control, G_TYPE_OBJECT); enum { PROP_0, PROP_PATH, PROP_ID, PROP_LABEL, PROP_INFO, PROP_READONLY, PROP_DIRTY }; static void entangle_control_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControl *picker = ENTANGLE_CONTROL(object); EntangleControlPrivate *priv = picker->priv; switch (prop_id) { case PROP_PATH: g_value_set_string(value, priv->path); break; case PROP_ID: g_value_set_int(value, priv->id); break; case PROP_LABEL: g_value_set_string(value, priv->label); break; case PROP_INFO: g_value_set_string(value, priv->info); break; case PROP_READONLY: g_value_set_boolean(value, priv->readonly); break; case PROP_DIRTY: g_value_set_boolean(value, priv->dirty); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControl *picker = ENTANGLE_CONTROL(object); EntangleControlPrivate *priv = picker->priv; switch (prop_id) { case PROP_PATH: g_free(priv->path); priv->path = g_value_dup_string(value); break; case PROP_ID: priv->id = g_value_get_int(value); break; case PROP_LABEL: g_free(priv->label); priv->label = g_value_dup_string(value); break; case PROP_INFO: g_free(priv->info); priv->info = g_value_dup_string(value); break; case PROP_READONLY: priv->readonly = g_value_get_boolean(value); break; case PROP_DIRTY: priv->dirty = g_value_get_boolean(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_finalize(GObject *object) { EntangleControl *picker = ENTANGLE_CONTROL(object); EntangleControlPrivate *priv = picker->priv; g_free(priv->path); g_free(priv->label); g_free(priv->info); G_OBJECT_CLASS(entangle_control_parent_class)->finalize(object); } static void entangle_control_class_init(EntangleControlClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_finalize; object_class->get_property = entangle_control_get_property; object_class->set_property = entangle_control_set_property; g_object_class_install_property(object_class, PROP_PATH, g_param_spec_string("path", "Control path", "Path of the control", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_ID, g_param_spec_int("id", "Control id", "Id of the control", 0, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_LABEL, g_param_spec_string("label", "Control label", "Label of the control", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_INFO, g_param_spec_string("info", "Control info", "Info of the control", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_READONLY, g_param_spec_boolean("readonly", "Control state", "State of the control", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DIRTY, g_param_spec_boolean("dirty", "Dirty", "Dirty if value has been changed", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlPrivate)); } EntangleControl *entangle_control_new(const gchar *path, gint id, const gchar *label, const gchar *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL(g_object_new(ENTANGLE_TYPE_CONTROL, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_init(EntangleControl *control) { control->priv = ENTANGLE_CONTROL_GET_PRIVATE(control); } gint entangle_control_get_id(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), 0); EntangleControlPrivate *priv = control->priv; return priv->id; } const gchar *entangle_control_get_path(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), NULL); EntangleControlPrivate *priv = control->priv; return priv->path; } const gchar *entangle_control_get_label(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), NULL); EntangleControlPrivate *priv = control->priv; return priv->label; } const gchar *entangle_control_get_info(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), NULL); EntangleControlPrivate *priv = control->priv; return priv->info; } gboolean entangle_control_get_dirty(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), FALSE); EntangleControlPrivate *priv = control->priv; return priv->dirty; } void entangle_control_set_dirty(EntangleControl *control, gboolean dirty) { g_return_if_fail(ENTANGLE_IS_CONTROL(control)); EntangleControlPrivate *priv = control->priv; gboolean changed = priv->dirty != dirty; priv->dirty = dirty; if (changed) g_object_notify(G_OBJECT(control), "dirty"); } gboolean entangle_control_get_readonly(EntangleControl *control) { g_return_val_if_fail(ENTANGLE_IS_CONTROL(control), TRUE); EntangleControlPrivate *priv = control->priv; return priv->readonly; } void entangle_control_set_readonly(EntangleControl *control, gboolean ro) { g_return_if_fail(ENTANGLE_IS_CONTROL(control)); EntangleControlPrivate *priv = control->priv; gboolean changed = priv->readonly != ro; priv->readonly = ro; if (changed) g_object_notify(G_OBJECT(control), "readonly"); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-image-loader.h0000664000000000000000000000513712253420651016664 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_IMAGE_LOADER_H__ #define __ENTANGLE_IMAGE_LOADER_H__ #include "entangle-pixbuf-loader.h" #include "entangle-image.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_IMAGE_LOADER (entangle_image_loader_get_type ()) #define ENTANGLE_IMAGE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_IMAGE_LOADER, EntangleImageLoader)) #define ENTANGLE_IMAGE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_IMAGE_LOADER, EntangleImageLoaderClass)) #define ENTANGLE_IS_IMAGE_LOADER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_IMAGE_LOADER)) #define ENTANGLE_IS_IMAGE_LOADER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_IMAGE_LOADER)) #define ENTANGLE_IMAGE_LOADER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_IMAGE_LOADER, EntangleImageLoaderClass)) typedef struct _EntangleImageLoader EntangleImageLoader; typedef struct _EntangleImageLoaderClass EntangleImageLoaderClass; typedef struct _EntangleImageLoaderPrivate EntangleImageLoaderPrivate; struct _EntangleImageLoader { EntanglePixbufLoader parent; EntangleImageLoaderPrivate *priv; }; struct _EntangleImageLoaderClass { EntanglePixbufLoaderClass parent_class; }; GType entangle_image_loader_get_type(void) G_GNUC_CONST; EntangleImageLoader *entangle_image_loader_new(void); void entangle_image_loader_add(EntangleImageLoader *loader, EntangleImage *image); void entangle_image_loader_remove(EntangleImageLoader *loader, EntangleImage *image); gboolean entangle_image_loader_get_embedded_preview(EntangleImageLoader *loader); void entangle_image_loader_set_embedded_preview(EntangleImageLoader *loader, gboolean enable); G_END_DECLS #endif /* __ENTANGLE_IMAGE_LOADER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-debug.h0000664000000000000000000000425412253420651015423 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_DEBUG_H__ #define __ENTANGLE_DEBUG_H__ #include #include extern gboolean entangle_debug_app; extern gboolean entangle_debug_gphoto; extern gint64 entangle_debug_startms; void entangle_debug_setup(gboolean debug_app, gboolean debug_gphoto); #define ENTANGLE_DEBUG(fmt, ...) \ do { \ if (G_UNLIKELY(entangle_debug_app)) { \ struct timeval now; \ gint64 nowms; \ gettimeofday(&now, NULL); \ nowms = (now.tv_sec * 1000ll) + (now.tv_usec / 1000ll); \ if (entangle_debug_startms == 0) \ entangle_debug_startms = nowms; \ nowms -= entangle_debug_startms; \ g_debug("[%06lld.%03lld %s:%s:%d] " fmt, \ nowms/1000ll, nowms%1000ll, __FILE__, __func__, __LINE__, ## __VA_ARGS__); \ } \ } while (0) #endif /* __ENTANGLE_DEBUG_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-camera-file.h0000664000000000000000000000603112253420651016475 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_FILE_H__ #define __ENTANGLE_CAMERA_FILE_H__ #include G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA_FILE (entangle_camera_file_get_type ()) #define ENTANGLE_CAMERA_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA_FILE, EntangleCameraFile)) #define ENTANGLE_CAMERA_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA_FILE, EntangleCameraFileClass)) #define ENTANGLE_IS_CAMERA_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA_FILE)) #define ENTANGLE_IS_CAMERA_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA_FILE)) #define ENTANGLE_CAMERA_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA_FILE, EntangleCameraFileClass)) typedef struct _EntangleCameraFile EntangleCameraFile; typedef struct _EntangleCameraFilePrivate EntangleCameraFilePrivate; typedef struct _EntangleCameraFileClass EntangleCameraFileClass; struct _EntangleCameraFile { GObject parent; EntangleCameraFilePrivate *priv; }; struct _EntangleCameraFileClass { GObjectClass parent_class; }; GType entangle_camera_file_get_type(void) G_GNUC_CONST; EntangleCameraFile *entangle_camera_file_new(const char *folder, const char *name); const char *entangle_camera_file_get_folder(EntangleCameraFile *file); const char *entangle_camera_file_get_name(EntangleCameraFile *file); gboolean entangle_camera_file_save_path(EntangleCameraFile *file, const char *localpath, GError **err); gboolean entangle_camera_file_save_uri(EntangleCameraFile *file, const char *uri, GError **err); GByteArray *entangle_camera_file_get_data(EntangleCameraFile *file); void entangle_camera_file_set_data(EntangleCameraFile *file, GByteArray *data); const gchar *entangle_camera_file_get_mimetype(EntangleCameraFile *file); void entangle_camera_file_set_mimetype(EntangleCameraFile *file, const gchar *mimetype); G_END_DECLS #endif /* __ENTANGLE_CAMERA_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-toggle.h0000664000000000000000000000510412253420651017267 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_TOGGLE_H__ #define __ENTANGLE_CONTROL_TOGGLE_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_TOGGLE (entangle_control_toggle_get_type ()) #define ENTANGLE_CONTROL_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_TOGGLE, EntangleControlToggle)) #define ENTANGLE_CONTROL_TOGGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_TOGGLE, EntangleControlToggleClass)) #define ENTANGLE_IS_CONTROL_TOGGLE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_TOGGLE)) #define ENTANGLE_IS_CONTROL_TOGGLE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_TOGGLE)) #define ENTANGLE_CONTROL_TOGGLE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_TOGGLE, EntangleControlToggleClass)) typedef struct _EntangleControlToggle EntangleControlToggle; typedef struct _EntangleControlTogglePrivate EntangleControlTogglePrivate; typedef struct _EntangleControlToggleClass EntangleControlToggleClass; struct _EntangleControlToggle { EntangleControl parent; EntangleControlTogglePrivate *priv; }; struct _EntangleControlToggleClass { EntangleControlClass parent_class; }; GType entangle_control_toggle_get_type(void) G_GNUC_CONST; EntangleControlToggle* entangle_control_toggle_new(const char *path, int id, const char *label, const char *info, gboolean readonly); G_END_DECLS #endif /* __ENTANGLE_CONTROL_TOGGLE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-debug.c0000664000000000000000000000333312253420651015413 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include "entangle-debug.h" gboolean entangle_debug_app = FALSE; gboolean entangle_debug_gphoto = FALSE; gint64 entangle_debug_startms = 0; #if GLIB_CHECK_VERSION(2, 31, 0) static void gvir_log_handler(const gchar *log_domain G_GNUC_UNUSED, GLogLevelFlags log_level G_GNUC_UNUSED, const gchar *message, gpointer user_data G_GNUC_UNUSED) { g_printerr("%s\n", message); } #endif void entangle_debug_setup(gboolean debug_app, gboolean debug_gphoto) { entangle_debug_app = debug_app; entangle_debug_gphoto = debug_gphoto; #if GLIB_CHECK_VERSION(2, 31, 0) if (debug_app || debug_gphoto) { g_log_set_handler(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, gvir_log_handler, NULL); } #endif } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-range.c0000664000000000000000000002240612253420651017101 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-range.h" #define ENTANGLE_CONTROL_RANGE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_RANGE, EntangleControlRangePrivate)) struct _EntangleControlRangePrivate { float value; float min; float max; float step; }; G_DEFINE_TYPE(EntangleControlRange, entangle_control_range, ENTANGLE_TYPE_CONTROL); enum { PROP_0, PROP_VALUE, PROP_RANGE_MIN, PROP_RANGE_MAX, PROP_RANGE_STEP }; static void entangle_control_range_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlRange *picker = ENTANGLE_CONTROL_RANGE(object); EntangleControlRangePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_value_set_float(value, priv->value); break; case PROP_RANGE_MIN: g_value_set_float(value, priv->min); break; case PROP_RANGE_MAX: g_value_set_float(value, priv->max); break; case PROP_RANGE_STEP: g_value_set_float(value, priv->step); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_range_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlRange *picker = ENTANGLE_CONTROL_RANGE(object); EntangleControlRangePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: priv->value = g_value_get_float(value); entangle_control_set_dirty(ENTANGLE_CONTROL(object), TRUE); break; case PROP_RANGE_MIN: priv->min = g_value_get_float(value); break; case PROP_RANGE_MAX: priv->max = g_value_get_float(value); break; case PROP_RANGE_STEP: priv->step = g_value_get_float(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_range_finalize(GObject *object) { G_OBJECT_CLASS(entangle_control_range_parent_class)->finalize(object); } static void entangle_control_range_class_init(EntangleControlRangeClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_range_finalize; object_class->get_property = entangle_control_range_get_property; object_class->set_property = entangle_control_range_set_property; g_object_class_install_property(object_class, PROP_VALUE, g_param_spec_float("value", "Control value", "Current control value", -10000000.0, 10000000.0, 0.0, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_RANGE_MIN, g_param_spec_float("range-min", "Range minimum", "Minimum range value", -10000000.0, 10000000.0, 0.0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_RANGE_MAX, g_param_spec_float("range-max", "Range maximum", "Maximum range value", -10000000.0, 10000000.0, 0.0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_RANGE_STEP, g_param_spec_float("range-step", "Range step", "Increment for range steps", -10000000.0, 10000000.0, 0.0, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlRangePrivate)); } EntangleControlRange *entangle_control_range_new(const char *path, int id, const char *label, const char *info, gboolean readonly, float min, float max, float step) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_RANGE(g_object_new(ENTANGLE_TYPE_CONTROL_RANGE, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, "range-min", min, "range-max", max, "range-step", step, NULL)); } static void entangle_control_range_init(EntangleControlRange *picker) { picker->priv = ENTANGLE_CONTROL_RANGE_GET_PRIVATE(picker); } float entangle_control_range_get_min(EntangleControlRange *range) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_RANGE(range), 0.0); EntangleControlRangePrivate *priv = range->priv; return priv->min; } float entangle_control_range_get_max(EntangleControlRange *range) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_RANGE(range), 0.0); EntangleControlRangePrivate *priv = range->priv; return priv->max; } float entangle_control_range_get_step(EntangleControlRange *range) { g_return_val_if_fail(ENTANGLE_IS_CONTROL_RANGE(range), 0.0); EntangleControlRangePrivate *priv = range->priv; return priv->step; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-camera-file.c0000664000000000000000000003027712253420651016501 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera-file.h" #define ENTANGLE_CAMERA_FILE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA_FILE, EntangleCameraFilePrivate)) struct _EntangleCameraFilePrivate { char *folder; char *name; char *mimetype; GByteArray *data; }; G_DEFINE_TYPE(EntangleCameraFile, entangle_camera_file, G_TYPE_OBJECT); enum { PROP_0, PROP_FOLDER, PROP_NAME, PROP_MIMETYPE, PROP_DATA, }; static void entangle_camera_file_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCameraFile *file = ENTANGLE_CAMERA_FILE(object); EntangleCameraFilePrivate *priv = file->priv; switch (prop_id) { case PROP_FOLDER: g_value_set_string(value, priv->folder); break; case PROP_NAME: g_value_set_string(value, priv->name); break; case PROP_MIMETYPE: g_value_set_string(value, priv->mimetype); break; case PROP_DATA: g_value_set_boxed(value, priv->data); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_file_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCameraFile *file = ENTANGLE_CAMERA_FILE(object); EntangleCameraFilePrivate *priv = file->priv; switch (prop_id) { case PROP_FOLDER: g_free(priv->folder); priv->folder = g_value_dup_string(value); break; case PROP_NAME: g_free(priv->name); priv->name = g_value_dup_string(value); break; case PROP_MIMETYPE: g_free(priv->mimetype); priv->mimetype = g_value_dup_string(value); break; case PROP_DATA: if (priv->data) g_byte_array_unref(priv->data); priv->data = g_value_dup_boxed(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_file_finalize(GObject *object) { EntangleCameraFile *file = ENTANGLE_CAMERA_FILE(object); EntangleCameraFilePrivate *priv = file->priv; ENTANGLE_DEBUG("Finalize camera %p", object); g_free(priv->folder); g_free(priv->name); g_free(priv->mimetype); if (priv->data) g_byte_array_unref(priv->data); G_OBJECT_CLASS(entangle_camera_file_parent_class)->finalize(object); } static void entangle_camera_file_class_init(EntangleCameraFileClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_file_finalize; object_class->get_property = entangle_camera_file_get_property; object_class->set_property = entangle_camera_file_set_property; g_object_class_install_property(object_class, PROP_FOLDER, g_param_spec_string("folder", "Camera file folder", "Folder name on the camera", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_NAME, g_param_spec_string("name", "Camera file name", "File name on the camera", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_MIMETYPE, g_param_spec_string("mimetype", "Camera file mimetype", "File mimetype on the camera", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DATA, g_param_spec_boxed("data", "Profile data", "Raw data for the file", G_TYPE_BYTE_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); ENTANGLE_DEBUG("install prog done"); g_type_class_add_private(klass, sizeof(EntangleCameraFilePrivate)); } EntangleCameraFile *entangle_camera_file_new(const char *folder, const char *name) { return ENTANGLE_CAMERA_FILE(g_object_new(ENTANGLE_TYPE_CAMERA_FILE, "folder", folder, "name", name, NULL)); } static void entangle_camera_file_init(EntangleCameraFile *file) { file->priv = ENTANGLE_CAMERA_FILE_GET_PRIVATE(file); } const char *entangle_camera_file_get_folder(EntangleCameraFile *file) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), NULL); EntangleCameraFilePrivate *priv = file->priv; return priv->folder; } const char *entangle_camera_file_get_name(EntangleCameraFile *file) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), NULL); EntangleCameraFilePrivate *priv = file->priv; return priv->name; } gboolean entangle_camera_file_save_path(EntangleCameraFile *file, const char *localpath, GError **err) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), FALSE); EntangleCameraFilePrivate *priv = file->priv; GFile *gf; GFileOutputStream *gos; gsize written; int ret = FALSE; ENTANGLE_DEBUG("Saving path [%s]", localpath); if (!priv->data) { ENTANGLE_DEBUG("Failed no data"); return FALSE; } gf = g_file_new_for_path(localpath); gos = g_file_create(gf, G_FILE_CREATE_NONE, NULL, err); if (!gos) { ENTANGLE_DEBUG("Failed to create file"); goto cleanup; } if (!g_output_stream_write_all(G_OUTPUT_STREAM(gos), priv->data->data, priv->data->len, &written, NULL, err)) { ENTANGLE_DEBUG("Failed write data %p %d", priv->data->data, priv->data->len); goto cleanup; } if (!g_output_stream_close(G_OUTPUT_STREAM(gos), NULL, err)) { ENTANGLE_DEBUG("Failed close stream"); goto cleanup; } ret = TRUE; ENTANGLE_DEBUG("Wrote %d of %p %d\n", (int)written, priv->data, priv->data->len); cleanup: if (gos) { if (!ret) g_file_delete(gf, NULL, NULL); g_object_unref(gos); } g_object_unref(gf); return ret; } gboolean entangle_camera_file_save_uri(EntangleCameraFile *file, const char *uri, GError **err) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), FALSE); EntangleCameraFilePrivate *priv = file->priv; GFile *gf; GFileOutputStream *gos; gsize written; int ret = FALSE; ENTANGLE_DEBUG("Saving uri [%s]", uri); if (!priv->data) { ENTANGLE_DEBUG("Failed no data"); return FALSE; } gf = g_file_new_for_uri(uri); gos = g_file_create(gf, G_FILE_CREATE_NONE, NULL, err); if (!gos) { ENTANGLE_DEBUG("Failed to create file"); goto cleanup; } if (!g_output_stream_write_all(G_OUTPUT_STREAM(gos), priv->data->data, priv->data->len, &written, NULL, err)) { ENTANGLE_DEBUG("Failed write data %p %d", priv->data->data, priv->data->len); goto cleanup; } if (!g_output_stream_close(G_OUTPUT_STREAM(gos), NULL, err)) { ENTANGLE_DEBUG("Failed close stream"); goto cleanup; } ret = TRUE; ENTANGLE_DEBUG("Wrote %d of %p %d\n", (int)written, priv->data, priv->data->len); cleanup: if (gos) { if (!ret) g_file_delete(gf, NULL, NULL); g_object_unref(gos); } g_object_unref(gf); return ret; } GByteArray *entangle_camera_file_get_data(EntangleCameraFile *file) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), NULL); EntangleCameraFilePrivate *priv = file->priv; return priv->data; } void entangle_camera_file_set_data(EntangleCameraFile *file, GByteArray *data) { g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); EntangleCameraFilePrivate *priv = file->priv; if (priv->data) g_byte_array_unref(priv->data); priv->data = data; if (priv->data) g_byte_array_ref(priv->data); } const gchar *entangle_camera_file_get_mimetype(EntangleCameraFile *file) { g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), NULL); EntangleCameraFilePrivate *priv = file->priv; return priv->mimetype; } void entangle_camera_file_set_mimetype(EntangleCameraFile *file, const gchar *mimetype) { g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); EntangleCameraFilePrivate *priv = file->priv; g_free(priv->mimetype); priv->mimetype = NULL; if (mimetype) priv->mimetype = g_strdup(mimetype); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-text.h0000664000000000000000000000477012253420651017002 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_TEXT_H__ #define __ENTANGLE_CONTROL_TEXT_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_TEXT (entangle_control_text_get_type ()) #define ENTANGLE_CONTROL_TEXT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_TEXT, EntangleControlText)) #define ENTANGLE_CONTROL_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_TEXT, EntangleControlTextClass)) #define ENTANGLE_IS_CONTROL_TEXT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_TEXT)) #define ENTANGLE_IS_CONTROL_TEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_TEXT)) #define ENTANGLE_CONTROL_TEXT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_TEXT, EntangleControlTextClass)) typedef struct _EntangleControlText EntangleControlText; typedef struct _EntangleControlTextPrivate EntangleControlTextPrivate; typedef struct _EntangleControlTextClass EntangleControlTextClass; struct _EntangleControlText { EntangleControl parent; EntangleControlTextPrivate *priv; }; struct _EntangleControlTextClass { EntangleControlClass parent_class; }; GType entangle_control_text_get_type(void) G_GNUC_CONST; EntangleControlText* entangle_control_text_new(const char *path, int id, const char *label, const char *info, gboolean readonly); G_END_DECLS #endif /* __ENTANGLE_CONTROL_TEXT_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-device-manager.h0000664000000000000000000000512412253420651017201 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_DEVICE_MANAGER_H__ #define __ENTANGLE_DEVICE_MANAGER_H__ #include G_BEGIN_DECLS #define ENTANGLE_TYPE_DEVICE_MANAGER (entangle_device_manager_get_type ()) #define ENTANGLE_DEVICE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_DEVICE_MANAGER, EntangleDeviceManager)) #define ENTANGLE_DEVICE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_DEVICE_MANAGER, EntangleDeviceManagerClass)) #define ENTANGLE_IS_DEVICE_MANAGER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_DEVICE_MANAGER)) #define ENTANGLE_IS_DEVICE_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_DEVICE_MANAGER)) #define ENTANGLE_DEVICE_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_DEVICE_MANAGER, EntangleDeviceManagerClass)) typedef struct _EntangleDeviceManager EntangleDeviceManager; typedef struct _EntangleDeviceManagerPrivate EntangleDeviceManagerPrivate; typedef struct _EntangleDeviceManagerClass EntangleDeviceManagerClass; struct _EntangleDeviceManager { GObject parent; EntangleDeviceManagerPrivate *priv; }; struct _EntangleDeviceManagerClass { GObjectClass parent_class; void (*device_added)(EntangleDeviceManager *manager, const char *port); void (*device_removed)(EntangleDeviceManager *manager, const char *port); }; GType entangle_device_manager_get_type(void) G_GNUC_CONST; EntangleDeviceManager* entangle_device_manager_new(void); gboolean entangle_device_manager_has_port(EntangleDeviceManager *manager, const char *port); char *entangle_device_manager_port_serial(EntangleDeviceManager *manager, const char *port); G_END_DECLS #endif /* __ENTANGLE_DEVICE_MANAGER_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-text.c0000664000000000000000000001161612253420651016772 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-text.h" #define ENTANGLE_CONTROL_TEXT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_TEXT, EntangleControlTextPrivate)) struct _EntangleControlTextPrivate { char *value; }; G_DEFINE_TYPE(EntangleControlText, entangle_control_text, ENTANGLE_TYPE_CONTROL); enum { PROP_0, PROP_VALUE, }; static void entangle_control_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlText *picker = ENTANGLE_CONTROL_TEXT(object); EntangleControlTextPrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_value_set_string(value, priv->value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlText *picker = ENTANGLE_CONTROL_TEXT(object); EntangleControlTextPrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_free(priv->value); priv->value = g_value_dup_string(value); entangle_control_set_dirty(ENTANGLE_CONTROL(object), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_text_finalize(GObject *object) { EntangleControlText *picker = ENTANGLE_CONTROL_TEXT(object); EntangleControlTextPrivate *priv = picker->priv; g_free(priv->value); G_OBJECT_CLASS(entangle_control_text_parent_class)->finalize(object); } static void entangle_control_text_class_init(EntangleControlTextClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_text_finalize; object_class->get_property = entangle_control_get_property; object_class->set_property = entangle_control_set_property; g_object_class_install_property(object_class, PROP_VALUE, g_param_spec_string("value", "Control value", "Current value of the control", NULL, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlTextPrivate)); } EntangleControlText *entangle_control_text_new(const char *path, int id, const char *label, const char *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_TEXT(g_object_new(ENTANGLE_TYPE_CONTROL_TEXT, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_text_init(EntangleControlText *picker) { picker->priv = ENTANGLE_CONTROL_TEXT_GET_PRIVATE(picker); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-date.c0000664000000000000000000001146312253420651016723 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-date.h" #define ENTANGLE_CONTROL_DATE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_DATE, EntangleControlDatePrivate)) struct _EntangleControlDatePrivate { int value; }; G_DEFINE_TYPE(EntangleControlDate, entangle_control_date, ENTANGLE_TYPE_CONTROL); enum { PROP_0, PROP_VALUE, }; static void entangle_control_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlDate *picker = ENTANGLE_CONTROL_DATE(object); EntangleControlDatePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_value_set_int(value, priv->value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlDate *picker = ENTANGLE_CONTROL_DATE(object); EntangleControlDatePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: priv->value = g_value_get_int(value); entangle_control_set_dirty(ENTANGLE_CONTROL(object), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_date_finalize(GObject *object) { G_OBJECT_CLASS(entangle_control_date_parent_class)->finalize(object); } static void entangle_control_date_class_init(EntangleControlDateClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_date_finalize; object_class->get_property = entangle_control_get_property; object_class->set_property = entangle_control_set_property; g_object_class_install_property(object_class, PROP_VALUE, g_param_spec_int("value", "Control value", "Current value of the control", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlDatePrivate)); } EntangleControlDate *entangle_control_date_new(const char *path, int id, const char *label, const char *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_DATE(g_object_new(ENTANGLE_TYPE_CONTROL_DATE, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_date_init(EntangleControlDate *picker) { picker->priv = ENTANGLE_CONTROL_DATE_GET_PRIVATE(picker); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-choice.h0000664000000000000000000000561412253420651017246 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_CHOICE_H__ #define __ENTANGLE_CONTROL_CHOICE_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_CHOICE (entangle_control_choice_get_type ()) #define ENTANGLE_CONTROL_CHOICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_CHOICE, EntangleControlChoice)) #define ENTANGLE_CONTROL_CHOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_CHOICE, EntangleControlChoiceClass)) #define ENTANGLE_IS_CONTROL_CHOICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_CHOICE)) #define ENTANGLE_IS_CONTROL_CHOICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_CHOICE)) #define ENTANGLE_CONTROL_CHOICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_CHOICE, EntangleControlChoiceClass)) typedef struct _EntangleControlChoice EntangleControlChoice; typedef struct _EntangleControlChoicePrivate EntangleControlChoicePrivate; typedef struct _EntangleControlChoiceClass EntangleControlChoiceClass; struct _EntangleControlChoice { EntangleControl parent; EntangleControlChoicePrivate *priv; }; struct _EntangleControlChoiceClass { EntangleControlClass parent_class; }; GType entangle_control_choice_get_type(void) G_GNUC_CONST; EntangleControlChoice* entangle_control_choice_new(const char *path, int id, const char *label, const char *info, gboolean readonly); void entangle_control_choice_add_entry(EntangleControlChoice *choice, const char *entry); int entangle_control_choice_entry_count(EntangleControlChoice *choice); const char *entangle_control_choice_entry_get(EntangleControlChoice *choice, int idx); G_END_DECLS #endif /* __ENTANGLE_CONTROL_CHOICE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-range.h0000664000000000000000000000563712253420651017115 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_RANGE_H__ #define __ENTANGLE_CONTROL_RANGE_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_RANGE (entangle_control_range_get_type ()) #define ENTANGLE_CONTROL_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_RANGE, EntangleControlRange)) #define ENTANGLE_CONTROL_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_RANGE, EntangleControlRangeClass)) #define ENTANGLE_IS_CONTROL_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_RANGE)) #define ENTANGLE_IS_CONTROL_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_RANGE)) #define ENTANGLE_CONTROL_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_RANGE, EntangleControlRangeClass)) typedef struct _EntangleControlRange EntangleControlRange; typedef struct _EntangleControlRangePrivate EntangleControlRangePrivate; typedef struct _EntangleControlRangeClass EntangleControlRangeClass; struct _EntangleControlRange { EntangleControl parent; EntangleControlRangePrivate *priv; }; struct _EntangleControlRangeClass { EntangleControlClass parent_class; }; GType entangle_control_range_get_type(void) G_GNUC_CONST; EntangleControlRange* entangle_control_range_new(const char *path, int id, const char *label, const char *info, gboolean readonly, float min, float max, float step); float entangle_control_range_get_min(EntangleControlRange *range); float entangle_control_range_get_max(EntangleControlRange *range); float entangle_control_range_get_step(EntangleControlRange *range); G_END_DECLS #endif /* __ENTANGLE_CONTROL_RANGE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-pixbuf-loader.c0000664000000000000000000005056512253420651017077 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include "entangle-debug.h" #include "entangle-pixbuf-loader.h" #define ENTANGLE_PIXBUF_LOADER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_PIXBUF_LOADER, EntanglePixbufLoaderPrivate)) #if GLIB_CHECK_VERSION(2, 31, 0) #define g_mutex_new() g_new0(GMutex, 1) #define g_mutex_free(m) g_free(m) #endif typedef struct _EntanglePixbufLoaderEntry { int refs; EntangleImage *image; gboolean pending; gboolean processing; gboolean ready; GdkPixbuf *pixbuf; GExiv2Metadata *metadata; } EntanglePixbufLoaderEntry; typedef struct _EntanglePixbufrLoaderResult { EntanglePixbufLoader *loader; EntangleImage *image; GdkPixbuf *pixbuf; GExiv2Metadata *metadata; } EntanglePixbufLoaderResult; struct _EntanglePixbufLoaderPrivate { GThreadPool *workers; EntangleColourProfileTransform *colourTransform; GMutex *lock; GHashTable *pixbufs; gboolean withMetadata; }; G_DEFINE_ABSTRACT_TYPE(EntanglePixbufLoader, entangle_pixbuf_loader, G_TYPE_OBJECT); enum { PROP_0, PROP_WORKERS, PROP_COLOUR_TRANSFORM, PROP_WITH_METADATA, }; struct idle_emit_data { EntangleImage *image; EntanglePixbufLoader *loader; const char *name; }; static gboolean do_idle_emit_func(gpointer opaque) { struct idle_emit_data *data = opaque; g_signal_emit_by_name(data->loader, data->name, data->image); g_object_unref(data->image); g_object_unref(data->loader); g_free(data); return FALSE; } static void do_idle_emit(EntanglePixbufLoader *loader, const char *name, EntangleImage *image) { struct idle_emit_data *data = g_new0(struct idle_emit_data, 1); data->loader = g_object_ref(loader); data->image = g_object_ref(image); data->name = name; g_idle_add(do_idle_emit_func, data); } static void entangle_pixbuf_loader_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntanglePixbufLoader *loader = ENTANGLE_PIXBUF_LOADER(object); EntanglePixbufLoaderPrivate *priv = loader->priv; switch (prop_id) { case PROP_WORKERS: g_value_set_int(value, entangle_pixbuf_loader_get_workers(loader)); break; case PROP_COLOUR_TRANSFORM: g_value_set_object(value, priv->colourTransform); break; case PROP_WITH_METADATA: g_value_set_boolean(value, priv->withMetadata); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_pixbuf_loader_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntanglePixbufLoader *loader = ENTANGLE_PIXBUF_LOADER(object); EntanglePixbufLoaderPrivate *priv = loader->priv; switch (prop_id) { case PROP_WORKERS: entangle_pixbuf_loader_set_workers(loader, g_value_get_int(value)); break; case PROP_COLOUR_TRANSFORM: entangle_pixbuf_loader_set_colour_transform(loader, g_value_get_object(value)); break; case PROP_WITH_METADATA: priv->withMetadata = g_value_get_boolean(value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_pixbuf_loader_entry_free(gpointer opaque) { EntanglePixbufLoaderEntry *entry = opaque; ENTANGLE_DEBUG("free entry %p %p", entry, entry->image); if (entry->image) g_object_unref(entry->image); if (entry->pixbuf) g_object_unref(entry->pixbuf); if (entry->metadata) g_object_unref(entry->metadata); g_free(entry); } static EntanglePixbufLoaderEntry *entangle_pixbuf_loader_entry_new(EntangleImage *image) { EntanglePixbufLoaderEntry *entry; entry = g_new0(EntanglePixbufLoaderEntry, 1); entry->image = image; g_object_ref(image); entry->refs = 1; entry->pending = TRUE; ENTANGLE_DEBUG("new entry %p %p", entry, image); return entry; } void entangle_pixbuf_loader_trigger_reload(EntanglePixbufLoader *loader) { EntanglePixbufLoaderPrivate *priv = loader->priv; GHashTableIter iter; gpointer key, value; ENTANGLE_DEBUG("Triggering mass reload"); g_mutex_lock(priv->lock); g_hash_table_iter_init(&iter, priv->pixbufs); while (g_hash_table_iter_next(&iter, &key, &value)) { EntanglePixbufLoaderEntry *entry = value; if (entry->refs && !entry->processing) g_thread_pool_push(priv->workers, entry->image, NULL); } g_mutex_unlock(priv->lock); } static gboolean entangle_pixbuf_loader_result(gpointer data) { EntanglePixbufLoaderResult *result = data; EntanglePixbufLoader *loader = result->loader; EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; ENTANGLE_DEBUG("result %p %p %p", loader, result->image, result->pixbuf); g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(result->image)); if (!entry) { g_mutex_unlock(priv->lock); if (result->pixbuf) g_object_unref(result->pixbuf); g_object_unref(result->image); if (result->metadata) g_object_unref(result->metadata); g_object_unref(result->loader); g_free(result); return FALSE; } if (entry->pixbuf) g_object_unref(entry->pixbuf); entry->pixbuf = result->pixbuf; entry->metadata = result->metadata; entry->ready = TRUE; entry->processing = FALSE; if (entry->refs) { g_mutex_unlock(priv->lock); ENTANGLE_DEBUG("Emit loaded %p %p %p", result->image, result->pixbuf, result->metadata); do_idle_emit(loader, "pixbuf-loaded", result->image); if (result->metadata) do_idle_emit(loader, "metadata-loaded", result->image); g_mutex_lock(priv->lock); } else if (!entry->pending) { g_hash_table_remove(priv->pixbufs, entangle_image_get_filename(result->image)); } g_object_unref(result->loader); g_object_unref(result->image); g_free(result); g_mutex_unlock(priv->lock); return FALSE; } static GdkPixbuf *entangle_pixbuf_load(EntanglePixbufLoader *loader, EntangleImage *image, GExiv2Metadata **metadata) { return ENTANGLE_PIXBUF_LOADER_GET_CLASS(loader)->pixbuf_load(loader, image, metadata); } static void entangle_pixbuf_loader_worker(gpointer data, gpointer opaque) { EntanglePixbufLoader *loader = opaque; EntanglePixbufLoaderPrivate *priv = loader->priv; EntangleImage *image = data; EntanglePixbufLoaderResult *result = g_new0(EntanglePixbufLoaderResult, 1); EntangleColourProfileTransform *transform; EntanglePixbufLoaderEntry *entry; GdkPixbuf *pixbuf; ENTANGLE_DEBUG("worker process job %p %p", loader, image); g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (!entry) goto cleanup; if (entry->refs == 0) { ENTANGLE_DEBUG("pixbuf already removed"); g_hash_table_remove(priv->pixbufs, entangle_image_get_filename(image)); goto cleanup; } entry->pending = FALSE; entry->processing = TRUE; transform = priv->colourTransform; if (transform) g_object_ref(transform); g_mutex_unlock(priv->lock); pixbuf = entangle_pixbuf_load(loader, image, priv->withMetadata ? &result->metadata : NULL); if (pixbuf) { if (transform) { result->pixbuf = entangle_colour_profile_transform_apply(transform, pixbuf); g_object_unref(pixbuf); } else { result->pixbuf = pixbuf; } } result->loader = loader; result->image = image; g_object_ref(image); g_object_ref(loader); g_idle_add(entangle_pixbuf_loader_result, result); g_mutex_lock(priv->lock); if (transform) g_object_unref(transform); cleanup: g_mutex_unlock(priv->lock); } static void entangle_pixbuf_loader_finalize(GObject *object) { EntanglePixbufLoader *loader = ENTANGLE_PIXBUF_LOADER(object); EntanglePixbufLoaderPrivate *priv = loader->priv; ENTANGLE_DEBUG("Finalize pixbuf loader %p", object); g_thread_pool_free(priv->workers, TRUE, TRUE); if (priv->colourTransform) g_object_unref(priv->colourTransform); g_hash_table_unref(priv->pixbufs); g_mutex_free(priv->lock); G_OBJECT_CLASS(entangle_pixbuf_loader_parent_class)->finalize(object); } static void entangle_pixbuf_loader_class_init(EntanglePixbufLoaderClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_pixbuf_loader_finalize; object_class->get_property = entangle_pixbuf_loader_get_property; object_class->set_property = entangle_pixbuf_loader_set_property; g_object_class_install_property(object_class, PROP_WORKERS, g_param_spec_int("workers", "Workers", "Number of worker threads to load pixbufs", 1, 64, 1, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_COLOUR_TRANSFORM, g_param_spec_object("colour-transform", "Colour transform", "Colour profile transformation", ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_WITH_METADATA, g_param_spec_boolean("with-metadata", "With metadata", "Load image metadata", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_signal_new("pixbuf-loaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntanglePixbufLoaderClass, pixbuf_loaded), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_signal_new("metadata-loaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntanglePixbufLoaderClass, metadata_loaded), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_signal_new("pixbuf-unloaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntanglePixbufLoaderClass, pixbuf_unloaded), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_signal_new("metadata-unloaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntanglePixbufLoaderClass, metadata_unloaded), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_IMAGE); g_type_class_add_private(klass, sizeof(EntanglePixbufLoaderPrivate)); } static void entangle_pixbuf_loader_init(EntanglePixbufLoader *loader) { EntanglePixbufLoaderPrivate *priv; priv = loader->priv = ENTANGLE_PIXBUF_LOADER_GET_PRIVATE(loader); memset(priv, 0, sizeof(*priv)); priv->lock = g_mutex_new(); priv->pixbufs = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, entangle_pixbuf_loader_entry_free); priv->workers = g_thread_pool_new(entangle_pixbuf_loader_worker, loader, 1, TRUE, NULL); } gboolean entangle_pixbuf_loader_is_ready(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), FALSE); g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), FALSE); EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; gboolean ready = FALSE; g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (!entry) goto cleanup; ready = entry->ready; cleanup: g_mutex_unlock(priv->lock); return ready; } GdkPixbuf *entangle_pixbuf_loader_get_pixbuf(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), NULL); g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), NULL); EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; GdkPixbuf *pixbuf = NULL; g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (!entry) goto cleanup; pixbuf = entry->pixbuf; cleanup: g_mutex_unlock(priv->lock); return pixbuf; } GExiv2Metadata *entangle_pixbuf_loader_get_metadata(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), NULL); g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), NULL); EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; GExiv2Metadata *metadata = NULL; g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (!entry) goto cleanup; metadata = entry->metadata; cleanup: g_mutex_unlock(priv->lock); return metadata; } gboolean entangle_pixbuf_loader_load(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), FALSE); g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), FALSE); EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; ENTANGLE_DEBUG("Queue load %p %p", loader, image); if (!entangle_image_get_filename(image)) return FALSE; g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (entry) { gboolean hasPixbuf = entry->pixbuf != NULL; gboolean hasMetadata = entry->metadata != NULL; entry->refs++; g_mutex_unlock(priv->lock); if (hasPixbuf && 0) do_idle_emit(loader, "pixbuf-loaded", image); if (hasMetadata && 0) do_idle_emit(loader, "metadata-loaded", image); return TRUE; } entry = entangle_pixbuf_loader_entry_new(image); g_hash_table_insert(priv->pixbufs, g_strdup(entangle_image_get_filename(image)), entry); g_thread_pool_push(priv->workers, image, NULL); g_mutex_unlock(priv->lock); return TRUE; } gboolean entangle_pixbuf_loader_unload(EntanglePixbufLoader *loader, EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), FALSE); g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), FALSE); EntanglePixbufLoaderPrivate *priv = loader->priv; EntanglePixbufLoaderEntry *entry; if (!entangle_image_get_filename(image)) return FALSE; ENTANGLE_DEBUG("Unqueue load %p %p", loader, image); g_mutex_lock(priv->lock); entry = g_hash_table_lookup(priv->pixbufs, entangle_image_get_filename(image)); if (!entry) goto cleanup; entry->refs--; ENTANGLE_DEBUG("Entry %d %d", entry->refs, entry->ready); if (entry->refs == 0 && !entry->processing && !entry->pending) { gboolean hasPixbuf = entry->pixbuf != NULL; gboolean hasMetadata = entry->metadata != NULL; if (hasPixbuf) do_idle_emit(loader, "pixbuf-unloaded", image); if (hasMetadata) do_idle_emit(loader, "metadata-unloaded", image); g_hash_table_remove(priv->pixbufs, entangle_image_get_filename(image)); } cleanup: g_mutex_unlock(priv->lock); return TRUE; } void entangle_pixbuf_loader_set_colour_transform(EntanglePixbufLoader *loader, EntangleColourProfileTransform *transform) { g_return_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader)); EntanglePixbufLoaderPrivate *priv = loader->priv; g_mutex_lock(priv->lock); if (priv->colourTransform) g_object_unref(priv->colourTransform); priv->colourTransform = transform; if (priv->colourTransform) g_object_ref(priv->colourTransform); g_mutex_unlock(priv->lock); entangle_pixbuf_loader_trigger_reload(loader); } EntangleColourProfileTransform *entangle_pixbuf_loader_get_colour_transform(EntanglePixbufLoader *loader) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), NULL); EntanglePixbufLoaderPrivate *priv = loader->priv; return priv->colourTransform; } void entangle_pixbuf_loader_set_workers(EntanglePixbufLoader *loader, int count) { g_return_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader)); EntanglePixbufLoaderPrivate *priv = loader->priv; g_thread_pool_set_max_threads(priv->workers, count, NULL); } int entangle_pixbuf_loader_get_workers(EntanglePixbufLoader *loader) { g_return_val_if_fail(ENTANGLE_IS_PIXBUF_LOADER(loader), 0); EntanglePixbufLoaderPrivate *priv = loader->priv; return g_thread_pool_get_max_threads(priv->workers); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-image.c0000664000000000000000000002170412253420651015411 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include "entangle-debug.h" #include "entangle-image.h" #define ENTANGLE_IMAGE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE, EntangleImagePrivate)) struct _EntangleImagePrivate { char *filename; GdkPixbuf *pixbuf; GExiv2Metadata *metadata; gboolean dirty; struct stat st; }; G_DEFINE_TYPE(EntangleImage, entangle_image, G_TYPE_OBJECT); enum { PROP_0, PROP_FILENAME, PROP_PIXBUF, PROP_METADATA, }; static void entangle_image_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImage *picker = ENTANGLE_IMAGE(object); EntangleImagePrivate *priv = picker->priv; switch (prop_id) { case PROP_FILENAME: g_value_set_string(value, priv->filename); break; case PROP_PIXBUF: g_value_set_object(value, priv->pixbuf); break; case PROP_METADATA: g_value_set_object(value, priv->metadata); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImage *image = ENTANGLE_IMAGE(object); EntangleImagePrivate *priv = image->priv; switch (prop_id) { case PROP_FILENAME: g_free(priv->filename); priv->filename = g_value_dup_string(value); priv->dirty = TRUE; break; case PROP_PIXBUF: if (priv->pixbuf) g_object_unref(priv->pixbuf); priv->pixbuf = g_value_get_object(value); if (priv->pixbuf) g_object_ref(priv->pixbuf); break; case PROP_METADATA: if (priv->metadata) g_object_unref(priv->metadata); priv->metadata = g_value_get_object(value); if (priv->metadata) g_object_ref(priv->metadata); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_finalize(GObject *object) { EntangleImage *image = ENTANGLE_IMAGE(object); EntangleImagePrivate *priv = image->priv; ENTANGLE_DEBUG("Finalize image %p", object); if (priv->pixbuf) g_object_unref(priv->pixbuf); if (priv->metadata) g_object_unref(priv->metadata); g_free(priv->filename); G_OBJECT_CLASS(entangle_image_parent_class)->finalize(object); } static void entangle_image_class_init(EntangleImageClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_image_finalize; object_class->get_property = entangle_image_get_property; object_class->set_property = entangle_image_set_property; g_object_class_install_property(object_class, PROP_FILENAME, g_param_spec_string("filename", "Image filename", "Full path to image file", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_PIXBUF, g_param_spec_object("pixbuf", "Image pixbuf", "Image pixbuf", GDK_TYPE_PIXBUF, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_METADATA, g_param_spec_object("metadata", "Image metadata", "Image metadata", GEXIV2_TYPE_METADATA, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleImagePrivate)); } EntangleImage *entangle_image_new_file(const char *filename) { return ENTANGLE_IMAGE(g_object_new(ENTANGLE_TYPE_IMAGE, "filename", filename, NULL)); } EntangleImage *entangle_image_new_pixbuf(GdkPixbuf *pixbuf) { return ENTANGLE_IMAGE(g_object_new(ENTANGLE_TYPE_IMAGE, "pixbuf", pixbuf, NULL)); } static void entangle_image_init(EntangleImage *image) { EntangleImagePrivate *priv; priv = image->priv = ENTANGLE_IMAGE_GET_PRIVATE(image); priv->dirty = TRUE; } const char *entangle_image_get_filename(EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), NULL); EntangleImagePrivate *priv = image->priv; return priv->filename; } static gboolean entangle_image_load(EntangleImage *image) { EntangleImagePrivate *priv = image->priv; if (!priv->dirty) return TRUE; if (stat(priv->filename, &priv->st) < 0) { memset(&priv->st, 0, sizeof priv->st); return FALSE; } priv->dirty = FALSE; return TRUE; } time_t entangle_image_get_last_modified(EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), 0); EntangleImagePrivate *priv = image->priv; if (!entangle_image_load(image)) return 0; return priv->st.st_mtime; } off_t entangle_image_get_file_size(EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), 0); EntangleImagePrivate *priv = image->priv; if (!entangle_image_load(image)) return 0; return priv->st.st_size; } gboolean entangle_image_delete(EntangleImage *image, GError **error) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), FALSE); EntangleImagePrivate *priv = image->priv; GFile *file = g_file_new_for_path(priv->filename); return g_file_delete(file, NULL, error); } GdkPixbuf *entangle_image_get_pixbuf(EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), NULL); EntangleImagePrivate *priv = image->priv; return priv->pixbuf; } void entangle_image_set_pixbuf(EntangleImage *image, GdkPixbuf *pixbuf) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); g_object_set(image, "pixbuf", pixbuf, NULL); } GExiv2Metadata *entangle_image_get_metadata(EntangleImage *image) { g_return_val_if_fail(ENTANGLE_IS_IMAGE(image), NULL); EntangleImagePrivate *priv = image->priv; return priv->metadata; } void entangle_image_set_metadata(EntangleImage *image, GExiv2Metadata *metadata) { g_return_if_fail(ENTANGLE_IS_IMAGE(image)); g_object_set(image, "metadata", metadata, NULL); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-image-loader.c0000664000000000000000000001305112253420651016651 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include "entangle-debug.h" #include "entangle-pixbuf.h" #include "entangle-image-loader.h" #define ENTANGLE_IMAGE_LOADER_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_IMAGE_LOADER, EntangleImageLoaderPrivate)) struct _EntangleImageLoaderPrivate { gboolean embeddedPreview; }; G_DEFINE_TYPE(EntangleImageLoader, entangle_image_loader, ENTANGLE_TYPE_PIXBUF_LOADER); enum { PROP_0, PROP_EMBEDDED_PREVIEW, }; static void entangle_image_loader_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleImageLoader *loader = ENTANGLE_IMAGE_LOADER(object); EntangleImageLoaderPrivate *priv = loader->priv; switch (prop_id) { case PROP_EMBEDDED_PREVIEW: g_value_set_boolean(value, priv->embeddedPreview); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_image_loader_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleImageLoader *loader = ENTANGLE_IMAGE_LOADER(object); switch (prop_id) { case PROP_EMBEDDED_PREVIEW: entangle_image_loader_set_embedded_preview(loader, g_value_get_boolean(value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static GdkPixbuf *entangle_image_loader_pixbuf_load(EntanglePixbufLoader *loader G_GNUC_UNUSED, EntangleImage *image, GExiv2Metadata **metadata) { EntangleImageLoaderPrivate *priv = (ENTANGLE_IMAGE_LOADER(loader))->priv; if (priv->embeddedPreview) return entangle_pixbuf_open_image(image, ENTANGLE_PIXBUF_IMAGE_SLOT_PREVIEW, TRUE, metadata); else return entangle_pixbuf_open_image(image, ENTANGLE_PIXBUF_IMAGE_SLOT_MASTER, TRUE, metadata); } static void entangle_image_loader_class_init(EntangleImageLoaderClass *klass) { EntanglePixbufLoaderClass *loader_class = ENTANGLE_PIXBUF_LOADER_CLASS(klass); GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->get_property = entangle_image_loader_get_property; object_class->set_property = entangle_image_loader_set_property; g_object_class_install_property(object_class, PROP_EMBEDDED_PREVIEW, g_param_spec_boolean("embedded-preview", "Embedded preview", "Use embedded preview", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); loader_class->pixbuf_load = entangle_image_loader_pixbuf_load; g_type_class_add_private(klass, sizeof(EntangleImageLoaderPrivate)); } EntangleImageLoader *entangle_image_loader_new(void) { return ENTANGLE_IMAGE_LOADER(g_object_new(ENTANGLE_TYPE_IMAGE_LOADER, "with-metadata", TRUE, NULL)); } static void entangle_image_loader_init(EntangleImageLoader *loader) { EntangleImageLoaderPrivate *priv; priv = loader->priv = ENTANGLE_IMAGE_LOADER_GET_PRIVATE(loader); priv->embeddedPreview = TRUE; } gboolean entangle_image_loader_get_embedded_preview(EntangleImageLoader *loader) { EntangleImageLoaderPrivate *priv = loader->priv; return priv->embeddedPreview; } void entangle_image_loader_set_embedded_preview(EntangleImageLoader *loader, gboolean enable) { EntangleImageLoaderPrivate *priv = loader->priv; priv->embeddedPreview = enable; entangle_pixbuf_loader_trigger_reload(ENTANGLE_PIXBUF_LOADER(loader)); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-date.h0000664000000000000000000000477112253420651016734 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CONTROL_DATE_H__ #define __ENTANGLE_CONTROL_DATE_H__ #include #include "entangle-control.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CONTROL_DATE (entangle_control_date_get_type ()) #define ENTANGLE_CONTROL_DATE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CONTROL_DATE, EntangleControlDate)) #define ENTANGLE_CONTROL_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CONTROL_DATE, EntangleControlDateClass)) #define ENTANGLE_IS_CONTROL_DATE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CONTROL_DATE)) #define ENTANGLE_IS_CONTROL_DATE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CONTROL_DATE)) #define ENTANGLE_CONTROL_DATE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CONTROL_DATE, EntangleControlDateClass)) typedef struct _EntangleControlDate EntangleControlDate; typedef struct _EntangleControlDatePrivate EntangleControlDatePrivate; typedef struct _EntangleControlDateClass EntangleControlDateClass; struct _EntangleControlDate { EntangleControl parent; EntangleControlDatePrivate *priv; }; struct _EntangleControlDateClass { EntangleControlClass parent_class; }; GType entangle_control_date_get_type(void) G_GNUC_CONST; EntangleControlDate* entangle_control_date_new(const char *path, int id, const char *label, const char *info, gboolean readonly); G_END_DECLS #endif /* __ENTANGLE_CONTROL_DATE_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-camera.c0000664000000000000000000027332012253420651015562 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-camera.h" #include "entangle-control-button.h" #include "entangle-control-choice.h" #include "entangle-control-date.h" #include "entangle-control-group.h" #include "entangle-control-range.h" #include "entangle-control-text.h" #include "entangle-control-toggle.h" #define ENTANGLE_CAMERA_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CAMERA, EntangleCameraPrivate)) #define ENTANGLE_ERROR(err, msg...) \ g_set_error((err), \ g_quark_from_string("entangle-camera"), \ 0, \ msg) #if GLIB_CHECK_VERSION(2, 31, 0) #define g_mutex_new() g_new0(GMutex, 1) #define g_mutex_free(m) g_free(m) #define g_cond_new() g_new0(GCond, 1) #define g_cond_free(c) g_free(c) #endif struct _EntangleCameraPrivate { GMutex *lock; GCond *jobCond; gboolean jobActive; GPContext *ctx; CameraAbilitiesList *caps; GPPortInfoList *ports; Camera *cam; CameraWidget *widgets; EntangleControlGroup *controls; GHashTable *controlPaths; EntangleProgress *progress; char *lastError; char *model; /* R/O */ char *port; /* R/O */ char *manual; char *summary; char *driver; gboolean hasCapture; gboolean hasPreview; gboolean hasSettings; gboolean hasViewfinder; }; G_DEFINE_TYPE(EntangleCamera, entangle_camera, G_TYPE_OBJECT); enum { PROP_0, PROP_MODEL, PROP_PORT, PROP_MANUAL, PROP_SUMMARY, PROP_DRIVER, PROP_PROGRESS, PROP_HAS_CAPTURE, PROP_HAS_PREVIEW, PROP_HAS_SETTINGS, PROP_HAS_VIEWFINDER, }; #define ENTANGLE_CAMERA_ERROR entangle_camera_error_quark () static GQuark entangle_camera_error_quark(void) { return g_quark_from_static_string("entangle-camera-error-quark"); } static EntangleControl *do_build_controls(EntangleCamera *cam, const char *path, CameraWidget *widget, GError **error); static gboolean do_load_controls(EntangleCamera *cam, const char *path, CameraWidget *widget, GError **error); struct EntangleCameraEventData { EntangleCamera *cam; GObject *arg; char *signame; }; static gboolean entangle_camera_emit_idle(gpointer opaque) { struct EntangleCameraEventData *data = opaque; g_signal_emit_by_name(data->cam, data->signame, data->arg); g_free(data->signame); g_object_unref(data->cam); if (data->arg) g_object_unref(data->arg); g_free(data); return FALSE; } static void entangle_camera_emit_deferred(EntangleCamera *cam, const char *signame, GObject *arg) { struct EntangleCameraEventData *data = g_new0(struct EntangleCameraEventData, 1); data->cam = cam; data->arg = arg; data->signame = g_strdup(signame); g_object_ref(cam); if (arg) g_object_ref(arg); g_idle_add(entangle_camera_emit_idle, data); } static void entangle_camera_begin_job(EntangleCamera *cam) { EntangleCameraPrivate *priv = cam->priv; g_object_ref(cam); while (priv->jobActive) { g_cond_wait(priv->jobCond, priv->lock); } priv->jobActive = TRUE; g_mutex_unlock(priv->lock); } static void entangle_camera_end_job(EntangleCamera *cam) { EntangleCameraPrivate *priv = cam->priv; priv->jobActive = FALSE; g_cond_broadcast(priv->jobCond); g_mutex_lock(priv->lock); g_object_unref(cam); } static void entangle_camera_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleCamera *cam = ENTANGLE_CAMERA(object); EntangleCameraPrivate *priv = cam->priv; switch (prop_id) { case PROP_MODEL: g_value_set_string(value, priv->model); break; case PROP_PORT: g_value_set_string(value, priv->port); break; case PROP_MANUAL: g_value_set_string(value, priv->manual); break; case PROP_SUMMARY: g_value_set_string(value, priv->summary); break; case PROP_DRIVER: g_value_set_string(value, priv->driver); break; case PROP_PROGRESS: g_value_set_object(value, priv->progress); break; case PROP_HAS_CAPTURE: g_value_set_boolean(value, priv->hasCapture); break; case PROP_HAS_PREVIEW: g_value_set_boolean(value, priv->hasPreview); break; case PROP_HAS_SETTINGS: g_value_set_boolean(value, priv->hasSettings); break; case PROP_HAS_VIEWFINDER: g_value_set_boolean(value, priv->hasViewfinder); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleCamera *cam = ENTANGLE_CAMERA(object); EntangleCameraPrivate *priv = cam->priv; switch (prop_id) { case PROP_MODEL: g_free(priv->model); priv->model = g_value_dup_string(value); break; case PROP_PORT: g_free(priv->port); priv->port = g_value_dup_string(value); break; case PROP_PROGRESS: entangle_camera_set_progress(cam, g_value_get_object(value)); break; case PROP_HAS_CAPTURE: priv->hasCapture = g_value_get_boolean(value); ENTANGLE_DEBUG("Set has capture %d", priv->hasCapture); break; case PROP_HAS_PREVIEW: priv->hasPreview = g_value_get_boolean(value); ENTANGLE_DEBUG("Set has preview %d", priv->hasPreview); break; case PROP_HAS_SETTINGS: priv->hasSettings = g_value_get_boolean(value); ENTANGLE_DEBUG("Set has settings %d", priv->hasSettings); break; case PROP_HAS_VIEWFINDER: priv->hasViewfinder = g_value_get_boolean(value); ENTANGLE_DEBUG("Set has viewfinder %d", priv->hasViewfinder); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_camera_finalize(GObject *object) { EntangleCamera *cam = ENTANGLE_CAMERA(object); EntangleCameraPrivate *priv = cam->priv; ENTANGLE_DEBUG("Finalize camera %p", object); if (priv->progress) g_object_unref(priv->progress); if (priv->cam) { gp_camera_exit(priv->cam, priv->ctx); gp_camera_free(priv->cam); } if (priv->widgets) gp_widget_unref(priv->widgets); if (priv->controls) g_object_unref(priv->controls); if (priv->controlPaths) g_hash_table_unref(priv->controlPaths); if (priv->ports) gp_port_info_list_free(priv->ports); if (priv->caps) gp_abilities_list_free(priv->caps); gp_context_unref(priv->ctx); g_free(priv->driver); g_free(priv->summary); g_free(priv->manual); g_free(priv->model); g_free(priv->port); g_free(priv->lastError); g_mutex_free(priv->lock); g_cond_free(priv->jobCond); G_OBJECT_CLASS(entangle_camera_parent_class)->finalize(object); } static void entangle_camera_class_init(EntangleCameraClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_camera_finalize; object_class->get_property = entangle_camera_get_property; object_class->set_property = entangle_camera_set_property; g_signal_new("camera-file-added", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_file_added), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA_FILE); g_signal_new("camera-file-captured", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_file_captured), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA_FILE); g_signal_new("camera-file-previewed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_file_previewed), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA_FILE); g_signal_new("camera-file-downloaded", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_file_downloaded), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA_FILE); g_signal_new("camera-file-deleted", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_file_deleted), NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, ENTANGLE_TYPE_CAMERA_FILE); g_signal_new("camera-connected", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_connected), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_signal_new("camera-disconnected", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_disconnected), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_signal_new("camera-controls-changed", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET(EntangleCameraClass, camera_controls_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); g_object_class_install_property(object_class, PROP_MODEL, g_param_spec_string("model", "Camera model", "Model name of the camera", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_PORT, g_param_spec_string("port", "Camera port", "Device port of the camera", NULL, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_SUMMARY, g_param_spec_string("summary", "Camera summary", "Camera summary", NULL, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_MANUAL, g_param_spec_string("manual", "Camera manual", "Camera manual", NULL, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_DRIVER, g_param_spec_string("driver", "Camera driver info", "Camera driver information", NULL, G_PARAM_READABLE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_PROGRESS, g_param_spec_object("progress", "Progress updater", "Operation progress updater", ENTANGLE_TYPE_PROGRESS, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_HAS_CAPTURE, g_param_spec_boolean("has-capture", "Capture supported", "Whether image capture is supported", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_HAS_PREVIEW, g_param_spec_boolean("has-preview", "Preview supported", "Whether image preview is supported", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_HAS_SETTINGS, g_param_spec_boolean("has-settings", "Settings supported", "Whether camera settings configuration is supported", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_object_class_install_property(object_class, PROP_HAS_VIEWFINDER, g_param_spec_boolean("has-viewfinder", "Viewfinder supported", "Whether camera viewfinder configuration is supported", FALSE, G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); ENTANGLE_DEBUG("install prog done"); g_type_class_add_private(klass, sizeof(EntangleCameraPrivate)); } EntangleCamera *entangle_camera_new(const char *model, const char *port, gboolean hasCapture, gboolean hasPreview, gboolean hasSettings) { return ENTANGLE_CAMERA(g_object_new(ENTANGLE_TYPE_CAMERA, "model", model, "port", port, "has-capture", hasCapture, "has-preview", hasPreview, "has-settings", hasSettings, NULL)); } static void entangle_camera_init(EntangleCamera *cam) { cam->priv = ENTANGLE_CAMERA_GET_PRIVATE(cam); cam->priv->lock = g_mutex_new(); cam->priv->jobCond = g_cond_new(); } const char *entangle_camera_get_model(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; return priv->model; } const char *entangle_camera_get_port(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; return priv->port; } struct EntangleCameraProgressData { EntangleCamera *cam; enum { ENTANGLE_CAMERA_PROGRESS_START, ENTANGLE_CAMERA_PROGRESS_UPDATE, ENTANGLE_CAMERA_PROGRESS_STOP } op; float value; char *msg; }; static gboolean entangle_camera_progress_idle(gpointer opaque) { struct EntangleCameraProgressData *data = opaque; if (data->cam->priv->progress) { switch (data->op) { case ENTANGLE_CAMERA_PROGRESS_START: entangle_progress_start(data->cam->priv->progress, data->value, data->msg); break; case ENTANGLE_CAMERA_PROGRESS_UPDATE: entangle_progress_update(data->cam->priv->progress, data->value); break; case ENTANGLE_CAMERA_PROGRESS_STOP: entangle_progress_stop(data->cam->priv->progress); break; default: break; } } if (data->op == ENTANGLE_CAMERA_PROGRESS_START) g_free(data->msg); g_object_unref(data->cam); g_free(data); return FALSE; } #ifdef HAVE_GPHOTO25 static unsigned int do_entangle_camera_progress_start(GPContext *ctx G_GNUC_UNUSED, float target, const char *msg, void *opaque) { EntangleCamera *cam = opaque; struct EntangleCameraProgressData *data = g_new0(struct EntangleCameraProgressData, 1); data->cam = g_object_ref(cam); data->op = ENTANGLE_CAMERA_PROGRESS_START; data->value = target; data->msg = g_strdup(msg); g_idle_add(entangle_camera_progress_idle, data); return 0; /* XXX what is this actually useful for ? */ } #else static unsigned int do_entangle_camera_progress_start(GPContext *ctx G_GNUC_UNUSED, float target, const char *format, va_list args, void *opaque) { EntangleCamera *cam = opaque; struct EntangleCameraProgressData *data = g_new0(struct EntangleCameraProgressData, 1); data->cam = g_object_ref(cam); data->op = ENTANGLE_CAMERA_PROGRESS_START; data->value = target; data->msg = g_strdup_vprintf(format, args); g_idle_add(entangle_camera_progress_idle, data); return 0; /* XXX what is this actually useful for ? */ } #endif static void do_entangle_camera_progress_update(GPContext *ctx G_GNUC_UNUSED, unsigned int id G_GNUC_UNUSED, float current, void *opaque) { EntangleCamera *cam = opaque; struct EntangleCameraProgressData *data = g_new0(struct EntangleCameraProgressData, 1); data->cam = g_object_ref(cam); data->op = ENTANGLE_CAMERA_PROGRESS_UPDATE; data->value = current; g_idle_add(entangle_camera_progress_idle, data); } static void do_entangle_camera_progress_stop(GPContext *ctx G_GNUC_UNUSED, unsigned int id G_GNUC_UNUSED, void *opaque) { EntangleCamera *cam = opaque; struct EntangleCameraProgressData *data = g_new0(struct EntangleCameraProgressData, 1); data->cam = g_object_ref(cam); data->op = ENTANGLE_CAMERA_PROGRESS_STOP; g_idle_add(entangle_camera_progress_idle, data); } static void entangle_camera_reset_last_error(EntangleCamera *cam) { EntangleCameraPrivate *priv = cam->priv; g_free(priv->lastError); priv->lastError = NULL; } #ifdef HAVE_GPHOTO25 static void do_entangle_camera_error(GPContext *ctx G_GNUC_UNUSED, const char *msg, void *data) { EntangleCamera *cam = data; EntangleCameraPrivate *priv = cam->priv; entangle_camera_reset_last_error(cam); priv->lastError = g_strdup(msg); ENTANGLE_DEBUG("Got error %s", priv->lastError); } #else static void do_entangle_camera_error(GPContext *ctx G_GNUC_UNUSED, const char *fmt, va_list args, void *data) { EntangleCamera *cam = data; EntangleCameraPrivate *priv = cam->priv; entangle_camera_reset_last_error(cam); priv->lastError = g_strdup_vprintf(fmt, args); ENTANGLE_DEBUG("Got error %s", priv->lastError); } #endif gboolean entangle_camera_connect(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; int i; GPPortInfo port; CameraAbilities cap; CameraText txt; int err; gboolean ret = FALSE; ENTANGLE_DEBUG("Conencting to cam"); g_mutex_lock(priv->lock); if (priv->cam != NULL) { ret = TRUE; goto cleanup; } priv->ctx = gp_context_new(); if (gp_abilities_list_new(&priv->caps) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Cannot initialize gphoto2 abilities")); goto cleanup; } if (gp_abilities_list_load(priv->caps, priv->ctx) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Cannot load gphoto2 abilities")); goto cleanup; } if (gp_port_info_list_new(&priv->ports) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Cannot initialize gphoto2 ports")); goto cleanup; } if (gp_port_info_list_load(priv->ports) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Cannot load gphoto2 ports")); goto cleanup; } gp_context_set_error_func(priv->ctx, do_entangle_camera_error, cam); gp_context_set_progress_funcs(priv->ctx, do_entangle_camera_progress_start, do_entangle_camera_progress_update, do_entangle_camera_progress_stop, cam); i = gp_port_info_list_lookup_path(priv->ports, priv->port); gp_port_info_list_get_info(priv->ports, i, &port); i = gp_abilities_list_lookup_model(priv->caps, priv->model); gp_abilities_list_get_abilities(priv->caps, i, &cap); gp_camera_new(&priv->cam); gp_camera_set_abilities(priv->cam, cap); gp_camera_set_port_info(priv->cam, port); entangle_camera_begin_job(cam); err = gp_camera_init(priv->cam, priv->ctx); entangle_camera_end_job(cam); if (err != GP_OK) { gp_camera_unref(priv->cam); priv->cam = NULL; g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to initialize camera")); goto cleanup; } /* Update capabilities as a sanity-check against orignal constructor */ priv->hasCapture = priv->hasPreview = priv->hasSettings = FALSE; if (cap.operations & GP_OPERATION_CAPTURE_IMAGE) priv->hasCapture = TRUE; if (cap.operations & GP_OPERATION_CAPTURE_PREVIEW) priv->hasPreview = TRUE; if (cap.operations & GP_OPERATION_CONFIG) priv->hasSettings = TRUE; priv->hasViewfinder = FALSE; gp_camera_get_summary(priv->cam, &txt, priv->ctx); priv->summary = g_strdup(txt.text); gp_camera_get_manual(priv->cam, &txt, priv->ctx); priv->manual = g_strdup(txt.text); gp_camera_get_about(priv->cam, &txt, priv->ctx); priv->driver = g_strdup(txt.text); ENTANGLE_DEBUG("ok"); ret = TRUE; cleanup: g_mutex_unlock(priv->lock); if (ret) entangle_camera_emit_deferred(cam, "camera-connected", NULL); return ret; } static void entangle_camera_connect_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; if (!entangle_camera_connect(ENTANGLE_CAMERA(object), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_connect_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_connect_async); g_simple_async_result_run_in_thread(result, entangle_camera_connect_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_connect_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_disconnect(EntangleCamera *cam, GError **error G_GNUC_UNUSED) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; ENTANGLE_DEBUG("Disconnecting from cam"); g_mutex_lock(priv->lock); if (priv->cam == NULL) { ret = TRUE; goto cleanup; } entangle_camera_begin_job(cam); gp_camera_exit(priv->cam, priv->ctx); entangle_camera_end_job(cam); if (priv->widgets) { gp_widget_unref(priv->widgets); priv->widgets = NULL; } if (priv->controls) { g_object_unref(priv->controls); priv->controls = NULL; } if (priv->controlPaths) { g_hash_table_unref(priv->controlPaths); priv->controlPaths = NULL; } g_free(priv->driver); g_free(priv->manual); g_free(priv->summary); priv->driver = priv->manual = priv->summary = NULL; if (priv->ports) { gp_port_info_list_free(priv->ports); priv->ports = NULL; } if (priv->caps) { gp_abilities_list_free(priv->caps); priv->caps = NULL; } gp_context_unref(priv->ctx); priv->ctx = NULL; gp_camera_unref(priv->cam); priv->cam = NULL; priv->hasViewfinder = FALSE; priv->hasCapture = priv->hasPreview = priv->hasSettings = FALSE; ret = TRUE; cleanup: g_mutex_unlock(priv->lock); if (ret) entangle_camera_emit_deferred(cam, "camera-disconnected", NULL); return ret; } static void entangle_camera_disconnect_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; if (!entangle_camera_disconnect(ENTANGLE_CAMERA(object), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_disconnect_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_disconnect_async); g_simple_async_result_run_in_thread(result, entangle_camera_disconnect_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_disconnect_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_get_connected(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret; g_mutex_lock(priv->lock); ret = priv->cam != NULL ? TRUE : FALSE; g_mutex_unlock(priv->lock); return ret; } char *entangle_camera_get_summary(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; char *ret; g_mutex_lock(priv->lock); ret = g_strdup(priv->summary); g_mutex_unlock(priv->lock); return ret; } char *entangle_camera_get_manual(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; char *ret; g_mutex_lock(priv->lock); ret = g_strdup(priv->manual); g_mutex_unlock(priv->lock); return ret; } char *entangle_camera_get_driver(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; char *ret; g_mutex_lock(priv->lock); ret = g_strdup(priv->driver); g_mutex_unlock(priv->lock); return ret; } EntangleCameraFile *entangle_camera_capture_image(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; CameraFilePath camerapath; EntangleCameraFile *file = NULL; int err; g_mutex_lock(priv->lock); if (!priv->cam) { ENTANGLE_ERROR(error, _("Cannot capture image while not connected")); goto cleanup; } ENTANGLE_DEBUG("Starting capture"); entangle_camera_reset_last_error(cam); entangle_camera_begin_job(cam); err = gp_camera_capture(priv->cam, GP_CAPTURE_IMAGE, &camerapath, priv->ctx); entangle_camera_end_job(cam); if (err!= GP_OK) { ENTANGLE_ERROR(error, _("Unable to capture image: %s"), priv->lastError); goto cleanup; } file = entangle_camera_file_new(camerapath.folder, camerapath.name); entangle_camera_emit_deferred(cam, "camera-file-captured", G_OBJECT(file)); cleanup: g_mutex_unlock(priv->lock); return file; } static void entangle_camera_capture_image_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { EntangleCameraFile *file; GError *error = NULL; if (!(file = entangle_camera_capture_image(ENTANGLE_CAMERA(object), &error))) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } g_simple_async_result_set_op_res_gpointer(result, file, NULL); } void entangle_camera_capture_image_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_capture_image_async); g_simple_async_result_run_in_thread(result, entangle_camera_capture_image_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } EntangleCameraFile *entangle_camera_capture_image_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraFile *file; if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error)) return NULL; file = g_simple_async_result_get_op_res_gpointer(G_SIMPLE_ASYNC_RESULT(result)); return file; } EntangleCameraFile *entangle_camera_preview_image(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; EntangleCameraFile *file = NULL; CameraFile *datafile = NULL; const char *mimetype = NULL; GByteArray *data = NULL; const char *rawdata; unsigned long int rawdatalen; const char *name; int err; g_mutex_lock(priv->lock); if (!priv->cam) { ENTANGLE_ERROR(error, _("Cannot preview image while not connected")); goto cleanup; } gp_file_new(&datafile); ENTANGLE_DEBUG("Starting preview"); entangle_camera_reset_last_error(cam); entangle_camera_begin_job(cam); err = gp_camera_capture_preview(priv->cam, datafile, priv->ctx); entangle_camera_end_job(cam); if (err != GP_OK) { ENTANGLE_ERROR(error, _("Unable to capture preview: %s"), priv->lastError); goto cleanup; } if (gp_file_get_data_and_size(datafile, &rawdata, &rawdatalen) != GP_OK) { ENTANGLE_ERROR(error, _("Unable to get file data: %s"), priv->lastError); goto cleanup; } if (gp_file_get_name(datafile, &name) != GP_OK) { ENTANGLE_ERROR(error, _("Unable to get filename: %s"), priv->lastError); goto cleanup; } file = entangle_camera_file_new("/", name); if (gp_file_get_mime_type(datafile, &mimetype) == GP_OK) entangle_camera_file_set_mimetype(file, mimetype); data = g_byte_array_new(); g_byte_array_append(data, (const guint8 *)rawdata, rawdatalen); entangle_camera_file_set_data(file, data); g_byte_array_unref(data); entangle_camera_emit_deferred(cam, "camera-file-previewed", G_OBJECT(file)); cleanup: if (datafile) gp_file_unref(datafile); g_mutex_unlock(priv->lock); return file; } static void entangle_camera_preview_image_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { EntangleCameraFile *file; GError *error = NULL; if (!(file = entangle_camera_preview_image(ENTANGLE_CAMERA(object), &error))) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } g_simple_async_result_set_op_res_gpointer(result, file, NULL); } void entangle_camera_preview_image_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_preview_image_async); g_simple_async_result_run_in_thread(result, entangle_camera_preview_image_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } EntangleCameraFile *entangle_camera_preview_image_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraFile *file; if (g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error)) return NULL; file = g_simple_async_result_get_op_res_gpointer(G_SIMPLE_ASYNC_RESULT(result)); return file; } gboolean entangle_camera_download_file(EntangleCamera *cam, EntangleCameraFile *file, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), FALSE); EntangleCameraPrivate *priv = cam->priv; CameraFile *datafile = NULL; const char *data; unsigned long int datalen; GByteArray *filedata; gboolean ret = FALSE; int err; g_mutex_lock(priv->lock); if (!priv->cam) { ENTANGLE_ERROR(error, _("Cannot download file while not connected")); goto cleanup; } ENTANGLE_DEBUG("Downloading '%s' from '%s'", entangle_camera_file_get_name(file), entangle_camera_file_get_folder(file)); gp_file_new(&datafile); ENTANGLE_DEBUG("Getting file data"); entangle_camera_reset_last_error(cam); entangle_camera_begin_job(cam); err = gp_camera_file_get(priv->cam, entangle_camera_file_get_folder(file), entangle_camera_file_get_name(file), GP_FILE_TYPE_NORMAL, datafile, priv->ctx); entangle_camera_end_job(cam); if (err != GP_OK) { ENTANGLE_ERROR(error, _("Unable to get camera file: %s"), priv->lastError); goto cleanup; } ENTANGLE_DEBUG("Fetching data"); if (gp_file_get_data_and_size(datafile, &data, &datalen) != GP_OK) { ENTANGLE_ERROR(error, _("Unable to get file data: %s"), priv->lastError); goto cleanup; } filedata = g_byte_array_new(); g_byte_array_append(filedata, (const guint8*)data, datalen); entangle_camera_file_set_data(file, filedata); g_byte_array_unref(filedata); entangle_camera_emit_deferred(cam, "camera-file-downloaded", G_OBJECT(file)); ret = TRUE; cleanup: ENTANGLE_DEBUG("Error"); if (datafile) gp_file_unref(datafile); g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_download_file_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { EntangleCameraFile *file; GError *error = NULL; file = g_simple_async_result_get_op_res_gpointer(result); if (!entangle_camera_download_file(ENTANGLE_CAMERA(object), file, &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_download_file_async(EntangleCamera *cam, EntangleCameraFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_download_file_async); g_object_ref(file); g_simple_async_result_set_op_res_gpointer(result, file, g_object_unref); g_simple_async_result_run_in_thread(result, entangle_camera_download_file_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_download_file_finish(EntangleCamera *cam, GAsyncResult *result, GError **err) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err); } gboolean entangle_camera_delete_file(EntangleCamera *cam, EntangleCameraFile *file, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); g_return_val_if_fail(ENTANGLE_IS_CAMERA_FILE(file), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; int err; g_mutex_lock(priv->lock); if (!priv->cam) { ENTANGLE_ERROR(error, _("Cannot delete file while not connected")); goto cleanup; } ENTANGLE_DEBUG("Deleting '%s' from '%s'", entangle_camera_file_get_name(file), entangle_camera_file_get_folder(file)); entangle_camera_reset_last_error(cam); entangle_camera_begin_job(cam); err = gp_camera_file_delete(priv->cam, entangle_camera_file_get_folder(file), entangle_camera_file_get_name(file), priv->ctx); entangle_camera_end_job(cam); if (err != GP_OK) { ENTANGLE_ERROR(error, _("Unable to delete file: %s"), priv->lastError); goto cleanup; } entangle_camera_emit_deferred(cam, "camera-file-deleted", G_OBJECT(file)); ret = TRUE; cleanup: g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_delete_file_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { EntangleCameraFile *file; GError *error = NULL; file = g_simple_async_result_get_op_res_gpointer(result); if (!entangle_camera_delete_file(ENTANGLE_CAMERA(object), file, &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_delete_file_async(EntangleCamera *cam, EntangleCameraFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); g_return_if_fail(ENTANGLE_IS_CAMERA_FILE(file)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_delete_file_async); g_object_ref(file); g_simple_async_result_set_op_res_gpointer(result, file, g_object_unref); g_simple_async_result_run_in_thread(result, entangle_camera_delete_file_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_delete_file_finish(EntangleCamera *cam, GAsyncResult *result, GError **err) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err); } gboolean entangle_camera_process_events(EntangleCamera *cam, guint64 waitms, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; CameraEventType eventType = 0; void *eventData; GTimeVal tv; guint64 startms, endms, donems; gboolean ret = FALSE; int err; g_mutex_lock(priv->lock); if (!priv->cam) { ENTANGLE_ERROR(error, _("Cannot wait for events while not connected")); goto cleanup; } g_get_current_time(&tv); startms = (tv.tv_sec * 1000ll) + (tv.tv_usec / 1000ll); ENTANGLE_DEBUG("Waiting for events start %llu duration %llu", (unsigned long long)startms, (unsigned long long)waitms); entangle_camera_reset_last_error(cam); donems = 0; do { entangle_camera_begin_job(cam); err = gp_camera_wait_for_event(priv->cam, waitms - donems, &eventType, &eventData, priv->ctx); entangle_camera_end_job(cam); if (err != GP_OK) { /* Some drivers (eg canon native) can't do events, so just do a sleep */ if (err == GP_ERROR_NOT_SUPPORTED) { ENTANGLE_DEBUG("Event wait not supported, using usleep"); g_usleep((waitms-donems)*1000ll); ret = TRUE; goto cleanup; } ENTANGLE_ERROR(error, _("Unable to wait for events: %s"), priv->lastError); goto cleanup; } ENTANGLE_DEBUG("Event type %d", eventType); switch (eventType) { case GP_EVENT_UNKNOWN: if (eventData && strstr((char*)eventData, "PTP Property") && strstr((char*)eventData, "changed")) { ENTANGLE_DEBUG("Config changed '%s'", (char *)eventData); /* For some reason, every time we request the camera config * with gp_camera_get_config, it will be followed by an * event with key 'd10d'. So we must ignore that event */ if (strstr(eventData, "d10d") == NULL) entangle_camera_emit_deferred(cam, "camera-controls-changed", NULL); } else { ENTANGLE_DEBUG("Unknown event '%s'", (char *)eventData); } break; case GP_EVENT_TIMEOUT: ENTANGLE_DEBUG("Wait timed out"); break; case GP_EVENT_FILE_ADDED: { CameraFilePath *camerapath = eventData; EntangleCameraFile *file; ENTANGLE_DEBUG("File added '%s' in '%s'", camerapath->name, camerapath->folder); file = entangle_camera_file_new(camerapath->folder, camerapath->name); entangle_camera_emit_deferred(cam, "camera-file-added", G_OBJECT(file)); g_object_unref(file); } break; case GP_EVENT_FOLDER_ADDED: { CameraFilePath *camerapath = eventData; ENTANGLE_DEBUG("Folder added '%s' in '%s'", camerapath->name, camerapath->folder); } break; case GP_EVENT_CAPTURE_COMPLETE: ENTANGLE_DEBUG("Capture is complete"); break; default: ENTANGLE_DEBUG("Unexpected event received %d", eventType); break; } g_get_current_time(&tv); endms = (tv.tv_sec * 1000ll) + (tv.tv_usec / 1000ll); donems = endms - startms; } while (eventType != GP_EVENT_TIMEOUT && donems < waitms); ENTANGLE_DEBUG("Done waiting for events %llu", (unsigned long long)donems); ret = TRUE; cleanup: g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_process_events_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { guint64 *waitptr; GError *error = NULL; waitptr = g_simple_async_result_get_op_res_gpointer(result); if (!entangle_camera_process_events(ENTANGLE_CAMERA(object), *waitptr, &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_process_events_async(EntangleCamera *cam, guint64 waitms, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); guint64 *waitptr = g_new0(guint64, 1); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_process_events_async); *waitptr = waitms; g_simple_async_result_set_op_res_gpointer(result, waitptr, g_free); g_simple_async_result_run_in_thread(result, entangle_camera_process_events_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_process_events_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } static CameraWidget * entangle_camera_find_widget(EntangleCamera *cam, const gchar *path) { EntangleCameraPrivate *priv = cam->priv; gchar **names = g_strsplit(path, "/", 0); CameraWidget *ret = NULL; CameraWidget *curr = priv->widgets; gsize i; for (i = 0; names[i] != NULL; i++) { CameraWidget *tmp; if (g_str_equal(names[i], "") || g_str_equal(names[i], "main")) continue; if (gp_widget_get_child_by_name(curr, names[i], &tmp) != GP_OK) goto cleanup; curr = tmp; } ret = curr; cleanup: g_strfreev(names); return ret; } static EntangleControl *do_build_controls(EntangleCamera *cam, const char *path, CameraWidget *widget, GError **error) { EntangleCameraPrivate *priv = cam->priv; CameraWidgetType type; EntangleControl *ret = NULL; const char *name; char *fullpath; int id; const char *label; const char *info; int ro; if (gp_widget_get_type(widget, &type) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); return NULL; } if (gp_widget_get_name(widget, &name) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget name")); return NULL; } gp_widget_get_id(widget, &id); gp_widget_get_label(widget, &label); gp_widget_get_info(widget, &info); gp_widget_get_readonly(widget, &ro); if (info == NULL) info = label; fullpath = g_strdup_printf("%s/%s", path, name); switch (type) { /* We treat both window and section as just groups */ case GP_WIDGET_WINDOW: { EntangleControlGroup *grp; ENTANGLE_DEBUG("Add group %s %d %s", fullpath, id, label); grp = entangle_control_group_new(fullpath, id, label, info, ro); for (int i = 0; i < gp_widget_count_children(widget); i++) { CameraWidget *child; EntangleControl *subctl; const char *childname; if (gp_widget_get_child(widget, i, &child) != GP_OK || gp_widget_get_name(child, &childname) != GP_OK) { g_object_unref(grp); goto error; } /* Actions are exposed as normal APIs * And "Other ptp properties" 90% dups */ if (g_str_equal(childname, "actions") || g_str_equal(childname, "other")) continue; if (!(subctl = do_build_controls(cam, fullpath, child, error))) { g_object_unref(grp); goto error; } entangle_control_group_add(grp, subctl); } ret = ENTANGLE_CONTROL(grp); } break; case GP_WIDGET_SECTION: { EntangleControlGroup *grp; ENTANGLE_DEBUG("Add group %s %d %s", fullpath, id, label); grp = entangle_control_group_new(fullpath, id, label, info, ro); for (int i = 0; i < gp_widget_count_children(widget); i++) { CameraWidget *child; EntangleControl *subctl; if (gp_widget_get_child(widget, i, &child) != GP_OK) { g_object_unref(grp); goto error; } if (!(subctl = do_build_controls(cam, fullpath, child, error))) { g_object_unref(grp); goto error; } entangle_control_group_add(grp, subctl); } ret = ENTANGLE_CONTROL(grp); } break; case GP_WIDGET_BUTTON: { ENTANGLE_DEBUG("Add button %s %d %s", fullpath, id, label); ret = ENTANGLE_CONTROL(entangle_control_button_new(fullpath, id, label, info, ro)); } break; /* Unclear why these two are the same in libgphoto */ case GP_WIDGET_RADIO: case GP_WIDGET_MENU: { ENTANGLE_DEBUG("Add date %s %d %s", fullpath, id, label); ret = ENTANGLE_CONTROL(entangle_control_choice_new(fullpath, id, label, info, ro)); for (int i = 0; i < gp_widget_count_choices(widget); i++) { const char *choice; gp_widget_get_choice(widget, i, &choice); entangle_control_choice_add_entry(ENTANGLE_CONTROL_CHOICE(ret), choice); } } break; case GP_WIDGET_DATE: { ENTANGLE_DEBUG("Add date %s %d %s", fullpath, id, label); ret = ENTANGLE_CONTROL(entangle_control_date_new(fullpath, id, label, info, ro)); } break; case GP_WIDGET_RANGE: { float min, max, step; gp_widget_get_range(widget, &min, &max, &step); ENTANGLE_DEBUG("Add range %s %d %s %f %f %f", fullpath, id, label, min, max, step); ret = ENTANGLE_CONTROL(entangle_control_range_new(fullpath, id, label, info, ro, min, max, step)); } break; case GP_WIDGET_TEXT: { ENTANGLE_DEBUG("Add date %s %d %s", fullpath, id, label); ret = ENTANGLE_CONTROL(entangle_control_text_new(fullpath, id, label, info, ro)); } break; case GP_WIDGET_TOGGLE: { ENTANGLE_DEBUG("Add date %s %d %s", fullpath, id, label); ret = ENTANGLE_CONTROL(entangle_control_toggle_new(fullpath, id, label, info, ro)); } break; default: g_warn_if_reached(); break; } g_hash_table_insert(priv->controlPaths, g_strdup(fullpath), ret); error: g_free(fullpath); return ret; } static gboolean entangle_str_equal_null(gchar *a, gchar *b) { if (!a && !b) return TRUE; if (!a || !b) return FALSE; return g_str_equal(a, b); } /* * XXX this method causes signals to be emitted from controls * in non-main threads, if triggered via an _async() method. * Investigate if we can fix this to always run in main thread * to simplify thread safety for GTK frontend */ static gboolean do_load_controls(EntangleCamera *cam, const char *path, CameraWidget *widget, GError **error) { EntangleCameraPrivate *priv = cam->priv; CameraWidgetType type; EntangleControl *ctrl = NULL; const char *name; char *fullpath; int ro; gboolean ret = FALSE; if (gp_widget_get_type(widget, &type) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); return FALSE; } if (gp_widget_get_name(widget, &name) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget name")); return FALSE; } gp_widget_get_readonly(widget, &ro); fullpath = g_strdup_printf("%s/%s", path, name); ctrl = g_hash_table_lookup(priv->controlPaths, fullpath); if (!ctrl) { ret = TRUE; goto cleanup; } entangle_control_set_readonly(ctrl, ro ? TRUE : FALSE); switch (type) { /* We treat both window and section as just groups */ case GP_WIDGET_WINDOW: case GP_WIDGET_SECTION: for (int i = 0; i < gp_widget_count_children(widget); i++) { CameraWidget *child; if (gp_widget_get_child(widget, i, &child) == GP_OK) if (!do_load_controls(cam, fullpath, child, error)) goto cleanup; } break; case GP_WIDGET_BUTTON: { } break; /* Unclear why these two are the same in libgphoto */ case GP_WIDGET_RADIO: case GP_WIDGET_MENU: { gchar *newValue = NULL; gchar *oldValue = NULL; g_object_get(ctrl, "value", &oldValue, NULL); gp_widget_get_value(widget, &newValue); if (!entangle_str_equal_null(newValue, oldValue)) { g_object_set(ctrl, "value", newValue, NULL); } g_free(oldValue); } break; case GP_WIDGET_DATE: { int value = 0; g_object_set(ctrl, "value", value, NULL); } break; case GP_WIDGET_RANGE: { float newValue = 0.0; float oldValue = 0.0; g_object_get(ctrl, "value", &oldValue, NULL); gp_widget_get_value(widget, &newValue); if (fabs(newValue - oldValue) < 0.0001) g_object_set(ctrl, "value", newValue, NULL); } break; case GP_WIDGET_TEXT: { gchar *newValue = NULL; gchar *oldValue = NULL; g_object_get(ctrl, "value", &oldValue, NULL); gp_widget_get_value(widget, &newValue); if (!entangle_str_equal_null(newValue, oldValue)) g_object_set(ctrl, "value", newValue, NULL); g_free(oldValue); } break; case GP_WIDGET_TOGGLE: { int i; gboolean newValue = 0; gboolean oldValue = 0; g_object_get(ctrl, "value", &oldValue, NULL); gp_widget_get_value(widget, &i); newValue = i ? TRUE : FALSE; if (newValue != oldValue) g_object_set(ctrl, "value", newValue, NULL); } break; default: g_warn_if_reached(); break; } entangle_control_set_dirty(ctrl, FALSE); ret = TRUE; cleanup: g_free(fullpath); return ret; } static gboolean do_save_controls(EntangleCamera *cam, const char *path, CameraWidget *widget, GError **error) { EntangleCameraPrivate *priv = cam->priv; CameraWidgetType type; EntangleControl *ctrl = NULL; const char *name; char *fullpath; gboolean ret = FALSE; if (gp_widget_get_type(widget, &type) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); return FALSE; } if (gp_widget_get_name(widget, &name) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget name")); return FALSE; } fullpath = g_strdup_printf("%s/%s", path, name); ctrl = g_hash_table_lookup(priv->controlPaths, fullpath); if (!ctrl) { ret = TRUE; goto cleanup; } switch (type) { /* We treat both window and section as just groups */ case GP_WIDGET_WINDOW: case GP_WIDGET_SECTION: for (int i = 0; i < gp_widget_count_children(widget); i++) { CameraWidget *child; if (gp_widget_get_child(widget, i, &child) == GP_OK) if (!do_save_controls(cam, fullpath, child, error)) goto cleanup; } break; case GP_WIDGET_BUTTON: { } break; /* Unclear why these two are the same in libgphoto */ case GP_WIDGET_RADIO: case GP_WIDGET_MENU: if (entangle_control_get_dirty(ctrl)) { char *value = NULL; g_object_get(ctrl, "value", &value, NULL); gp_widget_set_value(widget, value); g_free(value); } break; case GP_WIDGET_DATE: if (entangle_control_get_dirty(ctrl)) { int value = 0; g_object_get(ctrl, "value", &value, NULL); } break; case GP_WIDGET_RANGE: if (entangle_control_get_dirty(ctrl)) { float value = 0.0; g_object_get(ctrl, "value", &value, NULL); gp_widget_set_value(widget, &value); } break; case GP_WIDGET_TEXT: if (entangle_control_get_dirty(ctrl)) { char *value = NULL; g_object_get(ctrl, "value", &value, NULL); gp_widget_set_value(widget, value); g_free(value); } break; case GP_WIDGET_TOGGLE: if (entangle_control_get_dirty(ctrl)) { gboolean value = 0; int i; g_object_get(ctrl, "value", &value, NULL); i = value ? 1 : 0; gp_widget_set_value(widget, &i); } break; default: g_warn_if_reached(); break; } ret = TRUE; cleanup: g_free(fullpath); return ret; } gboolean entangle_camera_load_controls(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; int err; g_mutex_lock(priv->lock); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to load controls, camera is not connected")); goto cleanup; } entangle_camera_begin_job(cam); err = gp_camera_get_config(priv->cam, &priv->widgets, priv->ctx); if (err != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch camera control configuration")); goto endjob; } if (priv->controls == NULL) { priv->controlPaths = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL); if (!(priv->controls = ENTANGLE_CONTROL_GROUP(do_build_controls(cam, "", priv->widgets, error)))) { g_hash_table_unref(priv->controlPaths); priv->controlPaths = NULL; goto endjob; } if (entangle_camera_find_widget(cam, "/main/actions/viewfinder") || entangle_camera_find_widget(cam, "/main/actions/eosviewfinder")) priv->hasViewfinder = TRUE; else priv->hasViewfinder = FALSE; } ret = do_load_controls(cam, "", priv->widgets, error); endjob: entangle_camera_end_job(cam); cleanup: g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_load_controls_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; if (!entangle_camera_load_controls(ENTANGLE_CAMERA(object), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_load_controls_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_load_controls_async); g_simple_async_result_run_in_thread(result, entangle_camera_load_controls_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_load_controls_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_save_controls(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; int err; g_mutex_lock(priv->lock); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save controls, camera is not connected")); goto cleanup; } if (priv->controls == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save controls, camera is not configurable")); goto cleanup; } entangle_camera_begin_job(cam); if (!do_save_controls(cam, "", priv->widgets, error)) goto endjob; if ((err = gp_camera_set_config(priv->cam, priv->widgets, priv->ctx)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save camera control configuration: %s %d"), gp_port_result_as_string(err), err); goto endjob; } if (!do_load_controls(cam, "", priv->widgets, error)) goto endjob; ret = TRUE; endjob: entangle_camera_end_job(cam); cleanup: g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_save_controls_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; if (!entangle_camera_save_controls(ENTANGLE_CAMERA(object), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_save_controls_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_save_controls_async); g_simple_async_result_run_in_thread(result, entangle_camera_save_controls_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_save_controls_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } EntangleControlGroup *entangle_camera_get_controls(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; EntangleControlGroup *ret = NULL; g_mutex_lock(priv->lock); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available when camera is disconnected")); goto cleanup; } if (priv->controls == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available for this camera")); goto cleanup; } ret = priv->controls; g_object_ref(ret); cleanup: g_mutex_unlock(priv->lock); return ret; } gboolean entangle_camera_set_viewfinder(EntangleCamera *cam, gboolean enabled, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; CameraWidget *widget; CameraWidgetType type; int value; int err; g_mutex_lock(priv->lock); entangle_camera_begin_job(cam); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available when camera is disconnected")); goto cleanup; } if (priv->widgets == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available for this camera")); goto cleanup; } widget = entangle_camera_find_widget(cam, "/main/actions/viewfinder"); if (!widget) widget = entangle_camera_find_widget(cam, "/main/actions/eosviewfinder"); if (!widget) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Viewfinder control not available with this camera")); goto cleanup; } if ((err = gp_widget_get_type(widget, &type)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); goto cleanup; } if (type != GP_WIDGET_TOGGLE) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Viewfinder control was not a toggle widget")); goto cleanup; } value = enabled ? 1 : 0; if ((err = gp_widget_set_value(widget, &value)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set viewfinder state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_widget_set_changed(widget, 1)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set manual focus state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_camera_set_config(priv->cam, priv->widgets, priv->ctx)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save camera control configuration: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } ret = TRUE; cleanup: entangle_camera_end_job(cam); g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_set_viewfinder_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; gpointer data; gboolean enabled; data = g_object_get_data(G_OBJECT(result), "enabled"); enabled = GPOINTER_TO_INT(data) == 1 ? TRUE : FALSE; if (!entangle_camera_set_viewfinder(ENTANGLE_CAMERA(object), enabled, &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_set_viewfinder_async(EntangleCamera *cam, gboolean enabled, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_set_viewfinder_async); g_object_set_data(G_OBJECT(result), "enabled", GINT_TO_POINTER(enabled ? 1 : 0)); g_simple_async_result_run_in_thread(result, entangle_camera_set_viewfinder_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_set_viewfinder_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_autofocus(EntangleCamera *cam, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; CameraWidget *widget; CameraWidgetType type; int value; int err; g_mutex_lock(priv->lock); entangle_camera_begin_job(cam); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available when camera is disconnected")); goto cleanup; } if (priv->widgets == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available for this camera")); goto cleanup; } widget = entangle_camera_find_widget(cam, "/main/actions/autofocusdrive"); if (!widget) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Autofocus control not available with this camera")); goto cleanup; } if ((err = gp_widget_get_type(widget, &type)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); goto cleanup; } if (type != GP_WIDGET_TOGGLE) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Autofocus control was not a toggle widget")); goto cleanup; } value = 1; if ((err = gp_widget_set_value(widget, &value)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set autofocus state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_widget_set_changed(widget, 1)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set manual focus state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_camera_set_config(priv->cam, priv->widgets, priv->ctx)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save camera control configuration: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } ret = TRUE; cleanup: entangle_camera_end_job(cam); g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_autofocus_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; if (!entangle_camera_autofocus(ENTANGLE_CAMERA(object), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_autofocus_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_autofocus_async); g_simple_async_result_run_in_thread(result, entangle_camera_autofocus_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_autofocus_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_manualfocus(EntangleCamera *cam, gshort delta, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret = FALSE; CameraWidget *widget; CameraWidgetType type; float value; int err; g_mutex_lock(priv->lock); entangle_camera_begin_job(cam); if (priv->cam == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available when camera is disconnected")); goto cleanup; } if (priv->widgets == NULL) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Controls not available for this camera")); goto cleanup; } widget = entangle_camera_find_widget(cam, "/main/actions/manualfocusdrive"); if (!widget) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Manual focus control not available with this camera")); goto cleanup; } if ((err = gp_widget_get_type(widget, &type)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to fetch widget type")); goto cleanup; } if (type != GP_WIDGET_RANGE) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Manual focus control was not a range widget")); goto cleanup; } value = delta; if ((err = gp_widget_set_value(widget, &value)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set manual focus state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_widget_set_changed(widget, 1)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Failed to set manual focus state: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } if ((err = gp_camera_set_config(priv->cam, priv->widgets, priv->ctx)) != GP_OK) { g_set_error(error, ENTANGLE_CAMERA_ERROR, 0, _("Unable to save camera control configuration: %s %d"), gp_port_result_as_string(err), err); goto cleanup; } ret = TRUE; cleanup: entangle_camera_end_job(cam); g_mutex_unlock(priv->lock); return ret; } static void entangle_camera_manualfocus_helper(GSimpleAsyncResult *result, GObject *object, GCancellable *cancellable G_GNUC_UNUSED) { GError *error = NULL; gpointer data; data = g_object_get_data(G_OBJECT(result), "delta"); if (!entangle_camera_manualfocus(ENTANGLE_CAMERA(object), GPOINTER_TO_INT(data), &error)) { g_simple_async_result_set_from_error(result, error); g_error_free(error); } } void entangle_camera_manualfocus_async(EntangleCamera *cam, gshort delta, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), callback, user_data, entangle_camera_manualfocus_async); g_object_set_data(G_OBJECT(result), "delta", GINT_TO_POINTER(delta)); g_simple_async_result_run_in_thread(result, entangle_camera_manualfocus_helper, G_PRIORITY_DEFAULT, cancellable); g_object_unref(result); } gboolean entangle_camera_manualfocus_finish(EntangleCamera *cam, GAsyncResult *result, GError **error) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), error); } gboolean entangle_camera_get_has_capture(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret; g_mutex_lock(priv->lock); ret = priv->hasCapture; g_mutex_unlock(priv->lock); return ret; } gboolean entangle_camera_get_has_preview(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret; g_mutex_lock(priv->lock); ret = priv->hasPreview; g_mutex_unlock(priv->lock); return ret; } gboolean entangle_camera_get_has_settings(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret; g_mutex_lock(priv->lock); ret = priv->hasSettings; g_mutex_unlock(priv->lock); return ret; } gboolean entangle_camera_get_has_viewfinder(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); EntangleCameraPrivate *priv = cam->priv; gboolean ret; g_mutex_lock(priv->lock); ret = priv->hasViewfinder; g_mutex_unlock(priv->lock); return ret; } void entangle_camera_set_progress(EntangleCamera *cam, EntangleProgress *prog) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); EntangleCameraPrivate *priv = cam->priv; g_mutex_lock(priv->lock); if (priv->progress) g_object_unref(priv->progress); priv->progress = prog; if (priv->progress) g_object_ref(priv->progress); g_mutex_unlock(priv->lock); } EntangleProgress *entangle_camera_get_progress(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), NULL); EntangleCameraPrivate *priv = cam->priv; EntangleProgress *ret; g_mutex_unlock(priv->lock); ret = priv->progress; g_object_ref(ret); g_mutex_unlock(priv->lock); return ret; } static GMount *entangle_device_manager_find_mount(EntangleCamera *cam, GVolumeMonitor *monitor) { EntangleCameraPrivate *priv = cam->priv; gchar *uri; GList *mounts; GList *tmp; GMount *ret = NULL; g_mutex_lock(priv->lock); uri = g_strdup_printf("gphoto2://[%s]/", priv->port); g_mutex_unlock(priv->lock); mounts = g_volume_monitor_get_mounts(monitor); tmp = mounts; while (tmp) { GMount *mount = tmp->data; GFile *root = g_mount_get_root(mount); gchar *thisuri = g_file_get_uri(root); if (g_strcmp0(uri, thisuri) == 0) ret = mount; else g_object_unref(mount); tmp = tmp->next; } g_list_free(mounts); g_free(uri); return ret; } /* * For some reason if we ever unref monitor, we get a 100% * CPU burn loop in a bg thread from DBus messages. So we * have made this static for now */ gboolean entangle_camera_is_mounted(EntangleCamera *cam) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); static GVolumeMonitor *monitor; GMount *mount; gboolean ret; if (!monitor) monitor = g_volume_monitor_get(); mount = entangle_device_manager_find_mount(cam, monitor); if (mount) { g_object_unref(mount); ret = TRUE; } else { ret = FALSE; } return ret; } #if 0 void entangle_camera_mount_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_mount_finish(EntangleCamera *cam, GAsyncResult *result, GError **err); #endif struct UnmountData { GVolumeMonitor *monitor; GMount *mount; GAsyncReadyCallback callback; gpointer user_data; }; static void entangle_camera_unmount_cleanup(GObject *object, GAsyncResult *result, gpointer user_data) { struct UnmountData *data = user_data; data->callback(object, result, data->user_data); g_object_unref(data->monitor); if (data->mount) g_object_unref(data->mount); g_free(data); } static void entangle_camera_unmount_complete(GObject *object, GAsyncResult *result, gpointer user_data) { GSimpleAsyncResult *camresult = user_data; GError *err = NULL; GMount *mount = G_MOUNT(object); g_mount_unmount_with_operation_finish(mount, result, &err); if (err) g_simple_async_result_set_from_error(camresult, err); g_simple_async_result_complete(camresult); g_object_unref(camresult); } void entangle_camera_unmount_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data) { g_return_if_fail(ENTANGLE_IS_CAMERA(cam)); struct UnmountData *data = g_new0(struct UnmountData, 1); data->monitor = g_volume_monitor_get(); data->mount = entangle_device_manager_find_mount(cam, data->monitor); data->callback = callback; data->user_data = user_data; GSimpleAsyncResult *result = g_simple_async_result_new(G_OBJECT(cam), entangle_camera_unmount_cleanup, data, entangle_camera_unmount_async); if (data->mount) { g_mount_unmount_with_operation(data->mount, 0, NULL, cancellable, entangle_camera_unmount_complete, result); } else { g_simple_async_result_complete(result); g_object_unref(result); } } gboolean entangle_camera_unmount_finish(EntangleCamera *cam, GAsyncResult *result, GError **err) { g_return_val_if_fail(ENTANGLE_IS_CAMERA(cam), FALSE); return !g_simple_async_result_propagate_error(G_SIMPLE_ASYNC_RESULT(result), err); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-session.h0000664000000000000000000000573512253420652016026 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_SESSION_H__ #define __ENTANGLE_SESSION_H__ #include #include "entangle-image.h" #include "entangle-camera-file.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_SESSION (entangle_session_get_type ()) #define ENTANGLE_SESSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_SESSION, EntangleSession)) #define ENTANGLE_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_SESSION, EntangleSessionClass)) #define ENTANGLE_IS_SESSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_SESSION)) #define ENTANGLE_IS_SESSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_SESSION)) #define ENTANGLE_SESSION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_SESSION, EntangleSessionClass)) typedef struct _EntangleSession EntangleSession; typedef struct _EntangleSessionPrivate EntangleSessionPrivate; typedef struct _EntangleSessionClass EntangleSessionClass; struct _EntangleSession { GObject parent; EntangleSessionPrivate *priv; }; struct _EntangleSessionClass { GObjectClass parent_class; void (*session_image_added)(EntangleSession *session, EntangleImage *image); void (*session_image_removed)(EntangleSession *session, EntangleImage *image); }; GType entangle_session_get_type(void) G_GNUC_CONST; EntangleSession *entangle_session_new(const char *directory, const char *filenamePattern); const char *entangle_session_directory(EntangleSession *session); const char *entangle_session_filename_pattern(EntangleSession *session); char *entangle_session_next_filename(EntangleSession *session, EntangleCameraFile *file); gboolean entangle_session_load(EntangleSession *session); void entangle_session_add(EntangleSession *session, EntangleImage *image); void entangle_session_remove(EntangleSession *session, EntangleImage *image); int entangle_session_image_count(EntangleSession *session); EntangleImage *entangle_session_image_get(EntangleSession *session, int idx); G_END_DECLS #endif /* __ENTANGLE_SESSION_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-colour-profile-enums.h0000664000000000000000000000060212253420740020413 00000000000000 #ifndef __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ #define __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ #include G_BEGIN_DECLS /* --- backend/entangle-colour-profile.h --- */ #define ENTANGLE_TYPE_COLOUR_PROFILE_INTENT entangle_colour_profile_intent_get_type() GType entangle_colour_profile_intent_get_type (void); G_END_DECLS #endif /* __ENTANGLE_COLOUR_PROFILE_ENUMS_H__ */ entangle-0.5.4/src/backend/entangle-camera.h0000664000000000000000000003000712253420651015560 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #ifndef __ENTANGLE_CAMERA_H__ #define __ENTANGLE_CAMERA_H__ #include #include #include "entangle-control-group.h" #include "entangle-camera-file.h" #include "entangle-progress.h" G_BEGIN_DECLS #define ENTANGLE_TYPE_CAMERA (entangle_camera_get_type ()) #define ENTANGLE_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ENTANGLE_TYPE_CAMERA, EntangleCamera)) #define ENTANGLE_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ENTANGLE_TYPE_CAMERA, EntangleCameraClass)) #define ENTANGLE_IS_CAMERA(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ENTANGLE_TYPE_CAMERA)) #define ENTANGLE_IS_CAMERA_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ENTANGLE_TYPE_CAMERA)) #define ENTANGLE_CAMERA_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ENTANGLE_TYPE_CAMERA, EntangleCameraClass)) typedef struct _EntangleCamera EntangleCamera; typedef struct _EntangleCameraPrivate EntangleCameraPrivate; typedef struct _EntangleCameraClass EntangleCameraClass; struct _EntangleCamera { GObject parent; EntangleCameraPrivate *priv; }; struct _EntangleCameraClass { GObjectClass parent_class; void (*camera_file_added)(EntangleCamera *cam, EntangleCameraFile *file); void (*camera_file_captured)(EntangleCamera *cam, EntangleCameraFile *file); void (*camera_file_previewed)(EntangleCamera *cam, EntangleCameraFile *file); void (*camera_file_downloaded)(EntangleCamera *cam, EntangleCameraFile *file); void (*camera_file_deleted)(EntangleCamera *cam, EntangleCameraFile *file); void (*camera_controls_changed)(EntangleCamera *cam); void (*camera_connected)(EntangleCamera *cam); void (*camera_disconnected)(EntangleCamera *cam); }; GType entangle_camera_get_type(void) G_GNUC_CONST; EntangleCamera *entangle_camera_new(const char *model, const char *port, gboolean hasCapture, gboolean hasPreview, gboolean hasSettings); const char *entangle_camera_get_model(EntangleCamera *cam); const char *entangle_camera_get_port(EntangleCamera *cam); gboolean entangle_camera_connect(EntangleCamera *cam, GError **error); void entangle_camera_connect_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_connect_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_disconnect(EntangleCamera *cam, GError **error); void entangle_camera_disconnect_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_disconnect_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_get_connected(EntangleCamera *cam); char *entangle_camera_get_summary(EntangleCamera *cam); char *entangle_camera_get_manual(EntangleCamera *cam); char *entangle_camera_get_driver(EntangleCamera *cam); EntangleCameraFile *entangle_camera_capture_image(EntangleCamera *cam, GError **error); void entangle_camera_capture_image_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); EntangleCameraFile *entangle_camera_capture_image_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); EntangleCameraFile *entangle_camera_preview_image(EntangleCamera *cam, GError **error); void entangle_camera_preview_image_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); EntangleCameraFile *entangle_camera_preview_image_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_download_file(EntangleCamera *cam, EntangleCameraFile *file, GError **error); void entangle_camera_download_file_async(EntangleCamera *cam, EntangleCameraFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_download_file_finish(EntangleCamera *cam, GAsyncResult *result, GError **err); gboolean entangle_camera_delete_file(EntangleCamera *cam, EntangleCameraFile *file, GError **error); void entangle_camera_delete_file_async(EntangleCamera *cam, EntangleCameraFile *file, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_delete_file_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_process_events(EntangleCamera *cam, guint64 waitms, GError **error); void entangle_camera_process_events_async(EntangleCamera *cam, guint64 waitms, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_process_events_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_set_viewfinder(EntangleCamera *cam, gboolean enabled, GError **error); void entangle_camera_set_viewfinder_async(EntangleCamera *cam, gboolean enabled, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_set_viewfinder_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_autofocus(EntangleCamera *cam, GError **error); void entangle_camera_autofocus_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_autofocus_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_manualfocus(EntangleCamera *cam, gshort delta, GError **error); void entangle_camera_manualfocus_async(EntangleCamera *cam, gshort delta, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_manualfocus_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_get_has_capture(EntangleCamera *cam); gboolean entangle_camera_get_has_preview(EntangleCamera *cam); gboolean entangle_camera_get_has_settings(EntangleCamera *cam); gboolean entangle_camera_get_has_viewfinder(EntangleCamera *cam); gboolean entangle_camera_load_controls(EntangleCamera *cam, GError **error); void entangle_camera_load_controls_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_load_controls_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); gboolean entangle_camera_save_controls(EntangleCamera *cam, GError **error); void entangle_camera_save_controls_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_save_controls_finish(EntangleCamera *cam, GAsyncResult *result, GError **error); EntangleControlGroup *entangle_camera_get_controls(EntangleCamera *cam, GError **error); void entangle_camera_set_progress(EntangleCamera *cam, EntangleProgress *prog); EntangleProgress *entangle_camera_get_progress(EntangleCamera *cam); gboolean entangle_camera_is_mounted(EntangleCamera *cam); void entangle_camera_mount_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_mount_finish(EntangleCamera *cam, GAsyncResult *result, GError **err); void entangle_camera_unmount_async(EntangleCamera *cam, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer user_data); gboolean entangle_camera_unmount_finish(EntangleCamera *cam, GAsyncResult *result, GError **err); G_END_DECLS #endif /* __ENTANGLE_CAMERA_H__ */ /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/backend/entangle-control-toggle.c0000664000000000000000000001146312253420651017267 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include "entangle-debug.h" #include "entangle-control-toggle.h" #define ENTANGLE_CONTROL_TOGGLE_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), ENTANGLE_TYPE_CONTROL_TOGGLE, EntangleControlTogglePrivate)) struct _EntangleControlTogglePrivate { gboolean value; }; G_DEFINE_TYPE(EntangleControlToggle, entangle_control_toggle, ENTANGLE_TYPE_CONTROL); enum { PROP_0, PROP_VALUE, }; static void entangle_control_get_property(GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { EntangleControlToggle *picker = ENTANGLE_CONTROL_TOGGLE(object); EntangleControlTogglePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: g_value_set_boolean(value, priv->value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_set_property(GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { EntangleControlToggle *picker = ENTANGLE_CONTROL_TOGGLE(object); EntangleControlTogglePrivate *priv = picker->priv; switch (prop_id) { case PROP_VALUE: priv->value = g_value_get_boolean(value); entangle_control_set_dirty(ENTANGLE_CONTROL(object), TRUE); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec); } } static void entangle_control_toggle_finalize(GObject *object) { G_OBJECT_CLASS(entangle_control_toggle_parent_class)->finalize(object); } static void entangle_control_toggle_class_init(EntangleControlToggleClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS(klass); object_class->finalize = entangle_control_toggle_finalize; object_class->get_property = entangle_control_get_property; object_class->set_property = entangle_control_set_property; g_object_class_install_property(object_class, PROP_VALUE, g_param_spec_boolean("value", "Control value", "Current value of the control", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB)); g_type_class_add_private(klass, sizeof(EntangleControlTogglePrivate)); } EntangleControlToggle *entangle_control_toggle_new(const char *path, int id, const char *label, const char *info, gboolean readonly) { g_return_val_if_fail(path != NULL, NULL); g_return_val_if_fail(label != NULL, NULL); return ENTANGLE_CONTROL_TOGGLE(g_object_new(ENTANGLE_TYPE_CONTROL_TOGGLE, "path", path, "id", id, "label", label, "info", info, "readonly", readonly, NULL)); } static void entangle_control_toggle_init(EntangleControlToggle *picker) { picker->priv = ENTANGLE_CONTROL_TOGGLE_GET_PRIVATE(picker); } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/entangle.desktop.in0000664000000000000000000000032512253420652014573 00000000000000[Desktop Entry] Version=1.0 Name=Entangle Comment=Tethered Camera Control & Capture Icon=::DATADIR::/entangle/entangle.svg Exec=entangle Type=Application Terminal=false Categories=Graphics;GTK; StartupNotify=true entangle-0.5.4/src/entangle-main.c0000664000000000000000000000615412253420652013667 00000000000000/* * Entangle: Tethered Camera Control & Capture * * Copyright (C) 2009-2012 Daniel P. Berrange * * 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 3 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. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . * */ #include #include #include #include #include #include #include "entangle-debug.h" #include "entangle-application.h" #include "entangle-camera-manager.h" int main(int argc, char **argv) { GOptionGroup *group; GOptionContext *optContext; GError *error = NULL; EntangleApplication *app; gboolean debug_app = FALSE; gboolean debug_gphoto = FALSE; gchar *ins = NULL; const GOptionEntry entries[] = { { "debug-entangle", 'd', 0, G_OPTION_ARG_NONE, &debug_app, "Enable debugging of application code", NULL }, { "debug-gphoto", 'g', 0, G_OPTION_ARG_NONE, &debug_gphoto, "Enable debugging of gphoto library", NULL }, { "introspect-dump", 'i', 0, G_OPTION_ARG_STRING, &ins, "Dump introspection data", NULL }, { NULL, 0, 0, 0, NULL, NULL, NULL }, }; static const char *help_msg = "Run 'entangle --help' to see full list of options"; GtkIconTheme *theme; setlocale(LC_ALL, ""); bindtextdomain(GETTEXT_PACKAGE, LOCALE_DIR); bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8"); textdomain(GETTEXT_PACKAGE); g_set_application_name("Entangle"); group = g_option_group_new("entangle", "Entangle application options", "Show Entangle options", NULL, NULL); g_option_group_add_entries(group, entries); /* Setup command line options */ optContext = g_option_context_new(""); g_option_context_add_group(optContext, gtk_get_option_group(FALSE)); g_option_context_add_group(optContext, group); g_option_context_parse(optContext, &argc, &argv, &error); if (error) { g_print("%s\n%s\n", error->message, help_msg); g_error_free(error); return 1; } if (ins) { g_irepository_dump(ins, NULL); return 0; } if (!gtk_init_check(NULL, NULL)) return 1; entangle_debug_setup(debug_app, debug_gphoto); theme = gtk_icon_theme_get_default(); gtk_icon_theme_prepend_search_path(theme, PKGDATADIR "/icons"); app = entangle_application_new(); g_application_run(G_APPLICATION(app), argc, argv); g_object_unref(app); return 0; } /* * Local variables: * c-indent-level: 4 * c-basic-offset: 4 * indent-tabs-mode: nil * tab-width: 8 * End: */ entangle-0.5.4/src/entangle-48x48.png0000664000000000000000000000747112253420652014107 00000000000000PNG  IHDR00WsRGBbKGD pHYs B(xtIME )$[dIDATh޽k\EvU=0lzPb"V!b H"I>FVZ f?=㙞~ݾ򡻯{c-u}uUSU-{Zo< R)aO?o `*~nuuQh"zzzaҥ8 (J199I hn'_w]u&l2zzz[V)Xk}T*AG%ϳ|rSvݻ,^q])%ZR200<@.W؉|r"eH-\. m`3r(]bUbQܵkמ A~纮Ӫ2d-[aDQĻ#wa֛=kmc2f;n )%ar!cic(';w|OH$+!TU׳,;v`ɒ%ϙv{qZh|xvtHn^0FGGfٲecÐ(pZ'ZuwR{-l6Ν;Z˾}o Tut:a&jG;t&XCz|~$7|3\pZF*cL{Æ ;H)!i+t:f^k_}bLOHxq\Ep]NVf_b엗)\:ʕCtww366Zu-UJͼZ?RJa۶m\c :BcBRQ"(  %QRZ<3IIg:PRPAJ.MLR3</HA`Еp@0Uc8R{eZ*& rs*1&cy&nfyB駟rIsZqAH"\c/#Kn"5tOuZtXcf@y9)JҠV $ k8Bw?vիWzjO___;cٰ{^liwh6mZ˗ VםQd pwW:dr,C_|AX5(!|8q˗/ߏjVhm sQVir(b!q)$|\&,`"z+gϞ% zĦOGGAP߃-RبV-lR:&lQ4`h̙32>>~ͷfפ 088G}yq~aQPk\.{灐k}bHV[Z=Z;A?׳l2lV:PK%Zf*#K "C !@SIY)E}Լf@ŋ)J@ڷ.T*+PS !LpG kUք:j:YME"u BX`ƍ:Γ[ DǏ;aժU8p NZG(# k$S>A "2 7C:Ʃqi0en2b˗bO$T+x&)XjB>s.^[Ƃ}Ms*k-v#-jI&ST+e9lvb$ ;V31xnc=X%"M?A4G2`֭ `޽fdcV5Ryn݊nN쳺Ot!*%92E$ R`4:Qx4t7373EEP^kl;v04T;/\G`j.pXr%_H$B011+¥Evkب~?FttFsC ~N#Յssv5<^m4πd,"fÆ $ |;$ۑM6]- ! & aT=wL&΃ٳ3VW9x];nx n؎W!GyX561(r,`p/ƎlkפSB?~w}7=%r]YΏ,T2\Eӕ3bY_YZ/B>祗_LJD-L |zxaUM6m۶H1FѵӼ9r+W,>7,1_ }f swyiffQ@q;Z^l-pC?\L&') GP`rrjt6S0O5ΨoF{N?6Ǎ2mct~Vi?o7[aG0وzGn"߈sIENDB`entangle-0.5.4/src/org.entangle-photo.manager.gschema.xml0000664000000000000000000001312612253420653020255 00000000000000 true Auto connect Automatically connect to cameras at startup false Screen blank Blank screen while capturing images false Show linear histogram Show linear histogram instead of logarithmic [] Plugins Plugins which are loaded 'captureXXXXXX' Filename pattern Image filename pattern '' Picture dir Directory in which image sessions are created false Continuous preview Continue with preview after capture true Delete files Delete files from camera after capture true Enable colour management Enable colour managed display of images true Detect system monitor profile Automatically detexct colour profile for monitors 'perceptual' Rendering intent Rendering intent '' Monitor profile Path to monitor colour profile '' RGB profile Path to RGB colour profile '1.33' Aspect ratio Apply image mask with a fixed aspect ratio (eg 1.33) 90 Mask opacity Opacity of borders used for image mask false Mask enabled Enable aspect ratio image mask true Focus point Focus point in preview mode 'golden-sections' Grid lines Grid lines in preview true Use embedded preview Use embedded preview image instead of loading raw file 3 Onion layers Number of overlay layers in image display false Onion skin Enable image overlay display entangle-0.5.4/src/entangle-256x256.png0000664000000000000000000010770312253420652014250 00000000000000PNG  IHDR\rfsRGBbKGD pHYs B(xtIME + IDATxy}.S{LϦ"f4 i,&`r8~N$ڹ9˗88Cl0M$6ϢٗGwUWwWwWtKžШ-wƇzٳp8V0zc!fI) !!(``'!$&x(B6H!Җ62`y[,!d16LprSO=%,ݽ%X-[N mҍB22|~.AiIJ|{^b./Ȍ;wfNBM$8n+^M/&!8D)}[ŷν4 Wf|SfggwBp!dɠc!_(BNB^RssKn2M(:;|D= \;P W^D__.͞%J{J>R/TDB]g~iҬZ"'cQJ?F1TbkM@/R_1 ;N`i-u3)B!Į !rWNט@ 1!_;KoزeRiBȃMzx (VJ ! y4qܿ|-%{9{Zjn"x-gggfT}lڴi2!Zz =Wb!?zpi.ϦM&|ľ`!ZU K)7͟`KSy*uBȖb`k TI?.%(;6nx+!vԵ RP͚V^RߟzK| ƺu)FٳP`_/Dp- T@SO=uxi/֬Yq7 ! Vגe"mg~{쩧Z"_a1DŽ{-a ]ODP,Ea߶l#ĖWdqw ! bVp5'"XKy'|%%ׯoE{>U +WBWK,6kG?8{q ^*:T7铍E-Nc-z^+JY\o6CoԿ=o=0_r=cjX-= ZjAT+;PF)s_W/-)=IpzWտRIP`5Z"o@ s8/2?po1`_-ZmQFDFJL&!$$cHR$ Alp`6aX`4a2`2`PWW ҕ2jes/u>VZ?B:JZ}?# " " !#_k\WWz455rtVu_Xң2c<ȁ%>bŊoRJZO/\!T*χ@ DBDSSr`p8`ەhfpbA8F8F(Rnv#%N---0 1,&;P Ƞ 0B4/ fA~D)ݫpW[$IzC0cElR]]]Dkk+p]B$PO)$t`)Fv1551LLL`||nwByFww7Z[[AO/^2oRկ,5!K5 UjѫEXL^(X>ݭ t٬T5Ki(đ91HsFŋqe\t Xb`Aww7v{M6+)o@0Ww9zAX+@bfgg1;;`0|Պuaƍe4˙rPLB@9U` H%c$ 8{,N:#J)ߥׯǪU`Z^8G,G1/sZ@JHBbzz:شi6n܈<RVb|$I$IH&8wN<_q(͛j*<_s"(co2`%hnnLg(w.4y|rر۶mC{{fRqKeՠj*EcҜsE$axxƻ l͛X5"$@X) dFS,@v 6B HLMM!*7ߌݻwc9GJs|_2@:(䠎[V|:. 7|36oެ.U ߋӄTi,[l? !jJj+brr`l6cϞ=_5455-{)3qa.De!ʕ=6723::^z (0ؽ{7v Qs"(w͋]X1?%X<$!Zmcq1˅}cػwRWm).O8v o\NjӁ%A6&E x`4qM7(l6[Ո`1ro Az~81~D1B/Xdp 7~7|sD/eՓ/G kHT` XYwA~(#x饗K/)Dp-(,ˢ+~Nxࡇ%p|RC|5 $arr333`t޽{s_W/'kADhphxT bmA  ɴȿ:9p 8E /_~xVDZk.%֢wC-1@C[u_,Ad]w݅;S+eѵzTrqvv^>@H3F ›@ &38.OH(@J%%cb6\Nr҂6444,ȿ/ p q"I}YkEطo֮][zRr!ɀ1ƾC}oʌOSJW yD"r b!q>}Zy|z 1::QLNNbzvo7ZY V_53Qx-H(X,B ,kiՅ+W*קHL$JMT(N__q)q8B\{3?3؃כqDŽZB@$LMMa~~ߏ|3. |ˮP ~(… p% K-\ ZFv?Ns=V- ƂBBsx`ժU,`O*#J+BMXd ~3.|3܅+'<`$I.icuo |uWI|mn݊Q|\:ȟ,krM~rrOɓ'յ h+b@]ZBP1@ L!址Y7bÆ V<d:{DA(z9\8ÝwމO|9ˑ+Mߔy1v@CCBAB+@$8$>b֭Ey?HǏѣG1??bl5^0u(R.^ aD$466bpp[ln/JRdQ5Ai-x饗3 Jaʕxܼa%_9c,ۻ#r:c-{077*>WF9`Lw+c x@$p04st=W%uEj=y  yG!A ڵkuVM Mik_,k Oc||& {/ ~ LBv<rlORoB6 ܥ#Fa0p[o-h2Ձ+=_E8qfff@y#^pͫ@֪*'sdT w {Dss3vڅ͛7ViD5rςDHRxwqAb1P ][޴p+Pٝ&Vh)`%b`رciX&iBHN@ (R?<!M}ݺ:(&UҾ߿_ZZ[9;D1]M/DQXV|K_ڵk5%XWF]gϞ/~ W߱ K_uٍ M jzB,0s4R`vmX~}09+(&yCkAp7㳟fK2-"('{$?/f!W;799d2&33_M0 n8WwsnĮЕ"@ UWLRCH<;r:,iY~Y!hyZgN `ݺu%KT L e"frմrQj*X cW sb9K6IQM6JAM!Μ9F%+I“_SHI@H}v\pW\cǰe˖ |"(K( ;^xz0ͷPJv{ff$aϞ=ؿɖӒ!1lT*_xWH$ D@]x'cK]h]V)e-A@C9s@+VP҄$B Vjbǎ|2FGGqQlڴ)JJ@O&_|\$ 8K1~xWG$ ! '7{ܧR =o(J@_%+] E6j,# BAM D}b~~ϟG[[4- > 9c0رcFGG122#G`Æ EW4@mwq??~X?Qm_wX sss`ᮻߟ#>A^DW1wy?Ouٞew.+tQ+-tw4+6ԁ }$B>}ѡd䆧j 8 M=vh4'cǎc9W@!clӋ/jU0 +$IDQݻϟia0 (AÇ㭷c H(k^Б.kWO,+xV;f+ Fx .r-$QPRB2T2!G"E<( ,SL2_s(j;wΝ;sW;?}ŋj*<9%ɥU'Tm/}z&VB\.av#Ja?liB "Fc:GiYKW^yO$ID"l FE 6M+8{}#lhD TB2T2TP._0M00M0҅SH!TRʀzν6:, J)֭[}c*(3-N)E47 o]*\ (y8{Z_/c7Ѩ(bQH.?O122ADp-A9oԥd`B}s[td! ""XJt>9:F؜.7!= 8RɸR"ݩԕ^S @`y]]]إ k_B~'KJI_W㸻c@[n$7MdS.M/T*{H&D"Ӳ1cڝhj놫& )< +*c!ꨇqځD'0SJXYmc S)Jr; Hdܛ |9O/)KVvBS[7!pO]o~Re=oB.v!0}"PR𧕳jlFKK ۧDIrL*T~ IDATѣ+p'x]]] Tv/@ZY[iT҈ V SU xH$bnn.M=˿4*vgRXh7!6Xs#:{!aI]\ёV̔GwOarxgp6oN4uADþ^#eiRByDT R$I`J@~wZ(J̙3عsgAPPOO/L&q=2?$I;qw@㸲;y!+9*taZ0ET<ںпqL& G/`d|kT\<R`~1J33p44b͖4HbLZġG-@*HB+͡W1,U?+2000C… Xvmވo_~yZ`e1`W $ Poߎx@(U3E(?'|~ m; X}b8Z[[|li}%HRnЙfrҔr]6 }!|K]M-؄ hji3!Naf ^7$ITLUμ`vP8l uk\r#Nc|\-X{MMb胣JJV"M*%`2a0w^iJf}@0O<@ }sX~}rADp'$ET#"B8÷mg+~ۍ^Y4$/:P׊Xn+<::߅!hjiƭAM}p ##Mteⓜ5Λ96]:c%VÊ9qq:vct@Jb h\ 'ކon4m^kbkq=YF 8qwxUb@!dߓO> (-PP(Qo>24\O~B!"L*~?җ][VM44cQDB!ZmXy;Vo܉h,Ng!lq+L>I0H>FPj; ϼш}qÍ7bܩ8{-DÁ[ikwv珫Ky@&ob&IWhDkk+l6>O*ۇKzCqAڵ ۿ`WZS l~ꩧJ =R%H$HRhnnEe7y=3__pbٛTߑNv/<'m2Yпi'TOF"Bl4wĞ_kwύ3'߅3&w-~4i@]4wk #{%I=jnF}i_/yAT" hlL>Ȼ)f@&[$w x<ʆuz 7˗ߏZ+Rz^;[ktB1DQBO>3s3ƩSpyDQzXΆ&n؆gYϡw->FS*;&y s3i B 3`U@$H!*P[& "D.(>0Ig#w"Q=6<شVz" B!$tk᝝@*ú- 8MKԟ[<ޮtۻ $鴬uM&\.=˗/\+Pa^{$+TX nrvpx7 ~ y }2e=håSW3|fogC,^p4$9Hz"R25$3TΓ  cILO`]ظubA_Tc ѐIo3 Eɺ23= g=blpf+t@WW1<< ł Hm{y_55z_jD-/I霬bO>tͲHR8pfffr:q6XY4AWzq;^4{W)X.?:._8x"0S`*Ͽ΀" YVPX%3@<)BjL.2@i|d"g1>rѿa;fIbn ⹉at\zW sSqr7K!ȟ riPő055իWkV qyW_˗k.Ը+P Ao ^OW8Tq0`ժUw}SSSzF bkz =k7LȹfO\"_CA96/F*y]LeAiFE+nVJ9[\%@(# hf'XdURo|FO$)MZ(b~zMhwvR;Щ4{4dos n7&$)'`0ŔUEBZ*f!HܹsbXfMA X-_}T,eS A҂}s9xhkSSSxvs#l+j]~#cê 0~@ +|-bmcOD3A\LG_Jr\ JqAK4/{,U\A&%徥 1%`HA(t.`)u_C4D($@!dIonf +;7 QT&+^XA00rJ"lF8FSS$,śo!lܸVU+h~7/ !-;9E裏1'''^}՜-ϵ8ALIR( Tʁ9ZW. N)6ݶ}8yMxݳ*MTtnMD4JS]{ld? dRR܊lQ2(!A\y0>zcYJ̹q@K[i0Wo~(tQHC`9$sssXzu(B˟ <G;ۍAeCźEݻzZ߂F9 "DQիo߾I]K'N`jj n;GpMͱڮ+ҏrV߀osyL6A#`ᦏ}8.{?Fh&^wW5GΫ3jNU?K b^9 (LPe!j9C( r 7 ~^,AJ")=  @uM5r.Qg@zl6CkT@wW7?a-P+C p(F<\na0Pnn4QIzJ{#bnrTwNse6n 8x,v9Ypϯ(4NK !C$LgDE ))n@nʑ{ fJP!jiVA3 ;o!s%}G>ʡ0&j´=T* Hj" =gPu: ynlݺ5WNOWw,rSreڵ; .[o!`bb"?@m.NHģAOhœ4~.8qІZ|ȠQ#Hnڏ8P&z5Kk#mͰ,o FZ`lj2 Ib`eDS 5Ar8/gJwavJn/&3Z:wϤT%`i.K `U|x gJ1 ˲l2>}CCCXzM}%@AnC-BJS*@O>eʟc8.L+ fLJ -FNRwނX$; hs[:Min6 $As2{y F'Ͱv.:V 8h19<bfsKm09x0I( %`4zg* } rJοG =136^*tD]}cz5aB.U]uPpkqhnnơC0??A]%‹b Qr0d͚5J/f2Dp u`- }j2 P&SZT5 TQ|e0p16HQbT U"Pu hY@H;7  l܆+"]~\0,huJpJK'X,χ>eΪ-hiis0445k6]dv`Ӈ/BF>C~?ݮŋLn1@ ?r,@ cV<$?d4pPaN:Z]UOr- D]h#&} ͍\ScP`TZ,pZ15`wؐ.%rlR9!33<ܳ`ѠrM^7(nx>0ߍHHc%]K5pIz x뭷ŰaXQmÆ~0TV NCY[/Ο?d2 WPd L>$ $0Ic7<ǣՂB2GzB-wҹce$HCfA< G8y`:j~PUݰtk˫Dߦ4~P!Q.#rtf%x\,0B(F3OiO?3@ȗsM Me NlmՁT,T"mT7YB֬*׎sO 07 &9!`& !0;;`yP"r#,g%/ͪ 0W&y&4Mhhl }HW O瑚~0=ڻP gt8D"Ή[<77͆1\R p\ظq#N8ǣ+:B~#E@}ݧc /_(z o&xMP#d&o0`4.E-hɌ:g&\Nglҙ."[  (:+`u6#ŋ(Ĕ"5@8Ų!D2B* ԓ"@(%yFQyx>S I 12 F,s0!`zdiLq#S0ڻzJ7 y&3x󡣣CCC r N8GbϞ= ]5z p[-oȹPXlnajpYk[lVaw bI@Jjn($IPZV^p}a uut,_͞0#WD~1q$EO߈* O9dw_QᴘtXTWKuۍP ccczfS$QZ179ZR=2`w67?SW`vv& 333JZ;_M6tmVͪ+ _{^P˛u֢iRc||\!-./ed 2V+$Q@"ч>[t!  t)Wi`9Z [NmeS0`ǃ@ I6lkVx2QJQ__f\fٰf|>v#ڏd"ύ沮@2(` Wn70>>Sע6n8l߾(Z[[Kj03$} pS-oܗe/Lz@i:fYj_RPJ ӠV!0,0 =K9IBqOڗ IDATM6)x$e#ĺ'U,!X,9rbi;R9hU Y2Fkdd2RN<- |MHիW(ł=z 6Z0әCkgg>BM^ء$j6oH IV+VX@ l^+e-ֲA>AHlIZ0L T ݺ!zt:;;sVq* l۶G Sj ~뮻 Fi1<bXE"Exph;=,[ 7o`(6>^zh_~ qDBQ*vBwwwM?? Ðj,:ms8 Ԧj;ONNMwjFQ]Fx -M055rf-U I_ 9DeiDZ1~Ey   V?  X4XuV<G"q{#JSBx5nz'3@$Iu+e FS'O~ǡSaw9xT AtbщiR`pۭm()kH B$ ! ;&''qRNڵk{ YO&bp8|՝bA"dt?}c||p:%]J罶IKl%ȩ9'(P X夈^h8Xk1==]%-!#mIxA8DE0Q$`Bj `0%jh{ƗQ (-tfFeGQB! ׋@ jU_$AXd<\j71H|)Z(nT@O-o#H+J9pC*,kc56Mɇ Pe{9ʮPK{Ir߷:3MJZ,H8 16>c> \|HB( jJsq:TP=[53J;]]<'L%jlUUlu&''B(vK.6c$]_rꖪ*jI'`/V[(3tVz!P7EF/vyT*h~=TUtH%/RLfL,Lka: ܭTTҞG=H$Hj842#X„ n\pCBsm]~$xj~@`tt4?NAss]J먪,O^h4J 84 ~H{p*' {@[jaf7ZlvRb{<> )Ÿ4dKuT!֥pcªʥ(lY0f<@ PىeY&'' <'1cd"V&/A*gP1=TA__ǎ#YZv`j}kQܔ@nBt EQP5f֗#J9ݖ:"+ufQO5zB&vtunFVYÒ^Wf euSs1R5#7h4bڂ^JAg7`2')Jkn5OQ০B8hoM)=5 귿E^[MjϰM~޻GP(̹3vuB H$yAQ(Iit[3=b![`b455ْuJ k77PC{t,j^4h9l٪EehF& 3!:1?+Wf|?.D.DQwg4S5Kϝ"} !N)XB3VtMBj}]#+@4jwZM4OM8dT} h֮m (-4ZDiTU+Ü?w睁1ȤѼުfMY2RSkdQt5ZPm FUJLMM977@uIfk2\02hR mjG;lҼiC6ɤkPVUǎNZ!h ҪXToTQC4lnoNW |\VO&;ɤ5 lv泯9ZXd& &,|v7%8/j\ù@J){kt0}JvC 0tfeCJ#Ot_YgF>|x<8^*_LnmBO:eaR[Th]q#΁?r>&5=86#Q)([{, $p8j.2;Mڄ%hB@Q՚JQTNj }.}Oͮ ?>)9)<30.II;) ^S뺎`i_$ |V g&DؖnJ>;b^@i׆%FkI) )ؔ$:K>va*+Vu 5 ݜح0 p.fkN> :BV(GQےղ2K;',ܲD*CIحL"/)\B#쁋avxvN=2S6p|x\JI0'kU%x ;GJ|Bev6ӕ/% y<عyL`BQ02޷Ni=MvN@D"n=<Q-(A6a ӣRw!|1v ήKVr{Kt.$F9^s d ݰfkKNk 6 ZKܬTl{iS/@kVGz֛ i[O(\@EQPvS;=r7Xigvf(Jc xX 6R#u]7lD-B2b鄢Tza=E-wB着`0ٖ5&! aK! *<O!.UQVYl6EO:#phNjJ)F4M+ <}Ӛs&M:&h[H)Gull|ul|kHamt}h9 ,q,Ru i3IEu؋/ 4|~5u~$rU !>N7xc܂^״h4adzSRtxt0_a&ж>iEA+tEpܹHq;Y:Otk dppjM;MeNF,fS&zKUpoK|ǫp=11>A,!h-,Z(n>^+qY&usd g`2# 9\B8@0T2Qcy0x`___Q_3ya6@ u7ÇCuڨ(:~=T dPTՕAoFR+SߡjZM̆zzz*E%=c̈́%~-sfAdbD?fk ((\Zra17$W`M-a@)埛0J.>}:ەvrʀp[]p!ox|Aà nDƵh8X4j$pرqJ)p@!dn=p]-\lZT _ <+krWz>7!aenHk; )ҥK4"䙶 D-?%'۷' `W_E"QT.U+W:~=D@zE 54&lvFTP|xI /><3soQx,jC+W(JM 0Eȑ#twwQme~cZLn>_dCBTUeKl] SS(x`!Tcj*>5|RPIm0 ,0/TU4G@W^yed/5tv yv gΜɩ|MUUFuPFG#u|]d"Ia1J->)$`HB"|;m ``fo ȝ#$?aT40̿ϕ߭H. ;? @BQ3<XtaP̢[Ўr.\lJ0afi*Z͖v43g% _*jjPAcU(XcTb~TEUx5%֬YSL#D"ɓ'ijj"Hض)}F\R9p^xYi&Wo2'=5nlrmm1E-K&K ]0G 0ų` lSÍ$0PgiӦM5Ҿ}0 Y% ܻX9xMصkWN~v<2PnS,$r<OYl ~i7 R_0`倡h[M]==(A.MMMVtYMaKDžٳ0gԲ/5RC9ຮb|m捴J%"Odb2Q(L_,gJ;vk,T{; $[ɓb1~nf^z%78-S,c#tt2Ei\^ȅ)4г8]~!@* wD0H9 1_E( s6c4zL&\(tt2ra>BBtr[o*sZYBoǎ(B,ѳǎK0/~uu f6md8LTpc3t:E,:IWON;TrM VX0C"0"uTC y r?A@(9`u%'EQZ,PMmBi_dy{vgK5oni#:9;Mk֬aٲeU(+4668c>U 488xiR|;TǹgŠٙ:yf<-121ʲ+דdly6e KL L13_S5M""A̠Il6B:=U^s J`Oj_b&%z FjZLy1~X诊Pu7STrqS 8y$ZcK) hoţ[inmeN㬿jp#Ljg1|֟! b@\IwÞF)$%J0y0Bi?  0pߺ`Ew&\I ~$i~o^ezǸ{gUΕm~( 7^C<ܩ6mEknUس426ϴ ESYF?FTA* HY2"vB\'PXqݻM3/ ea &R)1IIΫcF9r^`PpA1&PS$lQvfZoPŒ_bFr+^5#ETCS+?^Ο>ʁ^{{wB>I".@c3CCCyD"^gb357  gvvvD\)/a0:< W(-21nCJq?SƟE S(% 0(Q 3́F@QSd-l-| 9ay,]IUE[oロL&S/Kرc|ߧ^ON7|:Sp4 Gmo{(Elիٹs:.GYi+*ܯv\P}dS\8kcb.bh@˙~~f2cb^zz)Okq4o x[in也|D~ҕk[/?pBjhhcUUK}k @AS0,us,l͛7Ϛ1CK,W_uuC΅gXZᆜ4hZSCJFρr#R׉E $e/@P#$~;]",R^T@so%ou_E]՝WBҕziי W\qxj讜o޽G?0 -~숉1U]x<,Yx<>S\ں0󚣿[oL&C"y}BK_X j(H]?` ss;w[oatٳgOMu sc,]58{2VZ6!<ᙒךcHƇop.ULKsR˙†?/`m.[ˡ/1ty&Hzyη!+9Ky>1v~3oN{{;dR>Ndz}CCC\Z[[g:pUV}v׻HizÍ\}\8 6+3u&#gS >*6ںMLFJ_(\rQ@[nfk8uvIOM[BŋLVN 7pad/?@̡|H$RSzJh4WՊ]rv6=^󖷼Nss3{e.hdD[{z;d ,E9w+Me a@8JL@[lhfulfΝ8ȡ/N+dл|5 |0W-[H$jJRmUm?Nkk#?tSu,xۋ44^+W299ӧdD'?Ϫml`rBqnvYDHD'8s|?k"Oa3$un@u(5+7y=tԡ=Ȅ (t EUUXZ{qFo|A,3J2|{L&R7CBn?Cqw g>i[la0AKGW2ҿ8_'!ܱ 7Mg HK_T 5@̌BQ^ ګo&rxϋ<N/x@}D~8㾜e˖`"wfwe]UaaCmuxt8p{gVCrP(UW]+j~Զ-`|xD<ʆknA}:i.`v]}qI*/{^py7wڵ.Zږllu1ddl R'7BZQ5Ddɱ!&F<`e ȍ%+_û_`xMQ]hM3i3>Q_ uF%<6wŢHA0+6PC8su\S9yh/z6]V˜oߘa"R[CA<>?7!b "5$JFE&r9 |U% -44˲5Wѷr='C@3Bcq]wH$o߯'|ux'ho)F1^TgZ}SYdU(|Om"RF\19hoFOfЂLU|SG8q5z67a9GymR)+XwxWWRŷtGNN/?3𪹸cǎyfg%fx1 vZ4M]kFf:8 Cgl'޵-7݇ 69ZB$O8;+G `\IoItNo ĪMr[H#)ϟ6|i s=> |;I /|!s_.ʼvH-\lVH۷o{*IP(ƍRr!g.߁_Tg ed gASK[n| KH'$ UN**fj6trJ|yg33vamlz;$ΝD &Y<#/?xSf,_p ة9R<i3(N9u_1 cNr[nG !\~zV !#/}iVj_[U/F_!o%mK4Cgdb<#D'0L.U+:@M-4wMsں! 13Pa]فgAwN|>[n%Lo{Xcdd??h$=!/4jh?yR^,YFΜ9__36V\;_KeF :3| mWМcΦNMmSI#$bQR8T!z6|  5GƘ##Ir3>OrJ(ϟ-UUaH&?S#6g*|\P(WU.BSA{{;|ѣVm﨡?!-C| >!<@&ɤ@JR$TL2A2#:9F* 5,))Bhʕ!mmm6rbq``~0rߎjnh3s2]]]uEMMM:ַnoô]ɤFP1Tfz,I)[W1!E.~~ UU[*??cǎb>#ե} M\"\Hx]vqwjP!R)8MMMl۶Nv]S3 ( &txWWY 93_&(:E:"~<ٳgFu1MLfO_|MǢ)Qn09H$믿]w݅(5mƁD*Zown t.rC;ʕu34' Jd/@sדL&9uT]!:kߨJ6EQgyM\@d>0KJs!nY' YPJ&&V{b1//E{Yq1;b& q})ӗB.w=/Q(W *ۯ \Xt~j yw}|3Ξ=[?H(J+Eܿ?·ߢև._rņ9x q{Q1/,n`۷of̢4(+m6ߛل̄^WK2?U+ {lW2?yd~5`ss3C=a9sNEɧ(?|20fإ QŠE###ݳ;|,(0>>+-oy hGbIDAT' RV!^T2WjUQ!*yu]) uQ\hDOBv 0!s'•W^I$ɓugYB6?y _i7 +L('>`rrD"AKK 7tW]u;i 򦾨"1}X}DI RS)anʫPk:?̓>g.-/k_g<̕T́c%˿+BN~~az!^/###Sz=C)%Igug׮]se`NJaΎN@$+P(8οIЂs*oQfGY毡uÈ+{яrwrUs)Bww7]]]hƑGw1Ꟗմ@U4rTQ bRSֺ?>:=kcڵdY.\7EQI>qg9y|>&3iZTU|OR aT:2GQ$(Tajy ~ED6M7{֯_oapv~5_Ϛ|ޢÌf/f⽽_P]d:;;x< <3ۏc+@᠕F 4PG#_!Q~%KIMR-{?Jv B0lϕ||3a͚5&+AUU:::Xd ~T*œO?ǏIP|A212wEfDB_F Ĵ%Kڍt4b`` .\4 !o9~BPa/|}!~ <؍!.ZZZBp)~x#D9{A'@녿fj~-/fL l]`rrAʯ(|Id9Ə͛Ol>n>L[k+`Kgg']]]s} :22E*;W [)$8P< Vr\y9 ~I:bhh!Gk57,x?gϞ`fލ9b73y J~okntttڊg:~_zq0i]+` ~ПPJc~˲}l^m[VaU7!9yll .FeF`z ڵo|D"ߝ,ItYtR>OގnsP*ZZZyM#1^?p#'ysR_ws)ӗ~A0b^֬aڥ\qaE@2d||"+`H 3F3/2 t}ň8(b|Gy$u.D~?Ѐ; qI?ˉed"N<ًLά)3~0&vr%YGߒ^t:M4e||1WG?s|%/$zP.hcڵyo|@&ill$~LNqy16el2dhT*Kv~ikkl7+Xj,~466Ƌ//KE/waa%f×څqwkkˆ\Wq( WLLL+c9r)HO]j..};-<ŷqmַ KL-+ {{n:tE2mn,"깔o"vZnn݊3e|rI:R|Od2ٻw/{{b!T`~FnlldŊp \wu466"TedDA?Kr!=ʁہK~]F\fy,]7azzzx<ӪKJ )1td?-GJPҬϕZJ?ϙg8{,'Nܹs3%^^$1Sz?y);Xt?-x@kk+]]]EsK 0p&<4|ҐV)bHh4J,cdd|.7K|( c:|9ݔLVfwHE*EH?> ..ťn ıg,G}GXP)h-樥 xs%qHōx8""\~ hq/c֛,eNN/n#wLY7?аo#%^d7/-  :_Tn^\dxsq/R%z"\vn& AEƹ}9b2"M f׫tIJGY/CtfxYp3oHn"-#9|c\pގ#HIa0[L*rlyco5lȰ:K̂mHul/2z>,YNТ 57ԋr?@~YyvqIr#/pk gs}(?l2ED-9P hf9q~q ,"MS *!A! 1N~GTٰ1U26 '0s_,HSKm%G{?f0',K̞`vÝƁ`(`Gp>_ !GIENDB`entangle-0.5.4/src/plugins-22.png0000664000000000000000000000151412253420653013410 00000000000000PNG  IHDRĴl;sRGBbKGD pHYs B(xtIME .IDAT8MhTW2PDɈteBfJ-BqgqFu֕tQRQDlЕDJEcF&1F?|yt1j"ddt\ss 5}#"USNZ8';ٵ!عos[)gǶ뷅@L5' cQ1Nk+BT׵M(sDeS"{R! O8lP#bH,5ڶ" =gg#O]L|&)"BP Ok7ZY %.^0&|2\~|1%~D ɪK;-VG# &D{`\JCd17vHvu*wЉKLvD+Hڍ4_˭&/Wɪ`6zս]5NnN*T_r;덼xp?c7{Yblª[k6HE퀗owGtSZ oj/ӹWsڼ-/JQo!disn6w۽B3 6euNqC҄F8(:r4Ѻ9{Z^(-6ŕRtww\rdi뙾꟫+~GNj/?nVX =MK(+N}8ch\`Sw4HF$#3qm3!;>B3.I|IENDB`entangle-0.5.4/src/sRGB.icc0000664000000000000000000001541212253420653012257 00000000000000 lcms0mntrRGB XYZ  acspMSFTlcms-lcms dmndjdeschdmddhwtptPrXYZdbXYZxgXYZrTRC gTRC  bTRC chrm$cprt!desclcms generated descsRGB descsRGB XYZ =XYZ o8XYZ $XYZ bcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)Kmcurv #(-27;@EJOTY^chmrw| %+28>ELRY`gnu| &/8AKT]gqz !-8COZfr~ -;HUcq~ +:IXgw'7HYj{+=Oat 2FZn  % : O d y  ' = T j " 9 Q i  * C \ u & @ Z t .Id %A^z &Ca~1Om&Ed#Cc'Ij4Vx&IlAe@e Ek*Qw;c*R{Gp@j>i  A l !!H!u!!!"'"U"""# #8#f###$$M$|$$% %8%h%%%&'&W&&&''I'z''( (?(q(())8)k))**5*h**++6+i++,,9,n,,- -A-v--..L.../$/Z///050l0011J1112*2c223 3F3334+4e4455M555676r667$7`7788P8899B999:6:t::;-;k;;<' >`>>?!?a??@#@d@@A)AjAAB0BrBBC:C}CDDGDDEEUEEF"FgFFG5G{GHHKHHIIcIIJ7J}JK KSKKL*LrLMMJMMN%NnNOOIOOP'PqPQQPQQR1R|RSS_SSTBTTU(UuUVV\VVWDWWX/X}XYYiYZZVZZ[E[[\5\\]']x]^^l^__a_``W``aOaabIbbcCccd@dde=eef=ffg=ggh?hhiCiijHjjkOkklWlmm`mnnknooxop+ppq:qqrKrss]sttptu(uuv>vvwVwxxnxy*yyzFz{{c{|!||}A}~~b~#G k͂0WGrׇ;iΉ3dʋ0cʍ1fΏ6n֑?zM _ɖ4 uL$h՛BdҞ@iءG&vVǥ8nRĩ7u\ЭD-u`ֲK³8%yhYѹJº;.! zpg_XQKFAǿ=ȼ:ɹ8ʷ6˶5̵5͵6ζ7ϸ9к<Ѿ?DINU\dlvۀ܊ݖޢ)߯6DScs 2F[p(@Xr4Pm8Ww)KmchrmT{L&f\textno copyright, use freely entangle-0.5.4/src/interface.png0000664000000000000000000000166012253420653013450 00000000000000PNG  IHDR00WbKGDeIDAThKkV?]ˊH2E>?2]ل@.KB Ȳ t7B?m6Yn2,eגnzY|p6|w<;0TRjnllP$t4r2V\[[卣8+a<_^ OPJ qt]h7Fa+&"a/$򾠘?`_}ii߆R,v1FL* MӦDYK<$APXL`&S(-ePh svvKX4ƍTA0PJ܍>+$pzz*V+}qit]t^ZeY.PJ>iGe̳P ~49 Y ]Ɇij%x'*"#o9ʼn\|F_B ˙Z_^y'=6 d 9BvhZrM+J&kTS :{'RU @P@j CnS{T%0i mۿвuYsA`,v5zwi6bggI"JG4 RQ1" 7XYYwoVKA2\*|roloo7Y"#899y6oWWWћ+v[6RuUڄURh7m"&R% B\j{|ΙG5#tF3}gyᇫOA}VTkAL?%q_^:::V+^ 0" CR5R_E,Ç ~: pqZ<|^|yRUTT}BEw:VJHmm-QQ(00==s$IZظ"DJyZСC#ݔTJDQRBmؼy31}CwKBPYXG$!͋ڛY=K/|)@EEEC.asDQddww7q.? !q΂ BĬyt6ܸqk\.'iz+Mm-WJ|<\.g'8v*IԂ N'IɌexZsS*}'rH8窭ݾ} _zB)x x);&yP//`hc(];w000 (rZn 8qKV9z'2]w>rԩ  \&|2g/(W$58YZ5xR>84EW`Ƙ?*U ؿ?uuuǘM, Y |ȭm&PC 9$jL2R&ٹs'cccdYFw{hhhࡇܹsR`nd5=JnU >΁_WIx S)Z/^dӦM\tJ1Z@w9;;;!R ,_gGPM͠i_\/!9عs'RJ8Zֺ6n  p嘚"29Mp")q000,Q111kVh+Xf q|Vؤi1KK$H)p!\I0$cshd)RUV$ ߦiAP,]Xd~~_:`Z*)ǀsNH`Z+FFF/OEŢb8%7nl2;ɮk_ƹE* BbH%Q@OOa.^Gk-B`*x@׳ֳQCuiZ[w;;;QJq֭I2'|@{{Kѱx~VF4-`_<:=cOV.:[PaB"O)޹/=;vӧOFkh_&@|W]{{蠹^tXgRL6<!i"or?<6l=zcʗk$;<4c˗իEGGLeܙXϑ,Eg5Fi6g .+ع.^L}80>|q>>FϵLΔTWĖu5ny7le緀mW&Mei|ꩧزe!qzGq^315<(Z3gpIz{{ڽ <܏6\kk+mmmLSSZk׮144DCw0u<~$%U\RZ.eMqYg?kdcQ /"`G'T"H5.QK*W 5O.TeA~-6 x,$>ƓԢjqb}1sA +SU%p7qAn^r}H?1*RK~bWILF$tfXsX;uv"WVX;pݺOӵ71"\#UT'h"uWiL5L b1J߻]wVyDlS_6J@rFaK B1@-8Hд2Փ mQ7FE+#/2xx c.i`V\1Ҵ8ͧ&,D3ɝQ\J`ڲ6jYڦaC/O ś1 Ҵ.e)WOțKJx٩1R} r 鑠蓿MhٙCn w㗰'm딉%4!wO>tcNBtPY:]g݆|)swz9p`V<9ٴh[knr+=xuLb썱JZ䣛6|?E@O0}dvD0Sc>w*L2;[ηwJ/:2*f4I$_.Ts>7>gP`!0.8CɊ޼žU|!ˡ]xɬ`Yf9)^.j%v 0һ,e3 w{ :'Eԋ'R9o#X򮡁2V:T(#Qo8X_^?d~ MgO?_ݶ~ȼ7_/7_W#WDc1=}g#t!mO>J3qȦW49P6ڼwDA9\!xu ӕ0+ ଍i  1ZFFHK]_L@"d< UGxBj@l;Ƌ/Y+Ah,å[ r]2xB~ lx_xЧS%KA @~?`knd;Y\߬cr=zhϸYw 8!>Hʋ}(eRQ*`÷ň6j Od 0 G: EL.qe7oἱ\zjFZhZN.IENDB`entangle-0.5.4/src/entangle-64x64.png0000664000000000000000000001301012253420652014065 00000000000000PNG  IHDR@@iqsRGBbKGD pHYs B(xtIME *IDATx͛iǕYwl}KN$:Vki X>Fֶ8$EZ 3~Y`3d}/${`GmQDC(MnQ}ѕ2YW(DfeUF{(5n_1w !w]wb8Yq:qp'/WJRRGycϞ=kwqRQǹqQ4:-?מVJyDJx;YL"xuݝ D)E;B)%B#R%ɿٽ{w37iRZ)E+ jמ[Zgݻws l r/VȕX Fhł6 B< /(6mX)uOVBrpxud2$ /yR?rQVZ/xG<'HN%J<XZZbaa0ƐfYf TG!<駟~Z ֮]JRb%+} fl۶-[H$2!VX ;F.#ͲabX+Xk׮$f͚uV׾.7|3۷oG)U'TB=X,M7DlؗSSS޽;SR++  䮻o^(Z$g@YAV CJiz/nXr98@__[l|C 0Ơ~~aIl\JfӦM}#GpwN`1 ^|'y9s,mmm_|llbڴC*tm-z+Qb^G#! `߾}2<<1Z:: ޓO>$ɯRQx)%mmmԶj.}K@Mjyn۷Gl9vZknF@k1fT*OD<VgQT_ç]×l*3X &GP9&Onk'8G@@)@H3SihrRV^ϟg96oތ81>>N$Ɉᡵ|7?~.ǀCT_#R|;a:h_Suu=tfTx-|@Xd͚5adX ¬1f('C!Ç|[ߊr9j),b),Ycq|q*[MXo7nG;2C: }ʾGG,A_8L |0!/-b?NGGG՘~P m| hvF,U@j*֯__pED#/(r4ŊyeAHI-E3K,1@:\fi>q HTRL^Xѣ`e˖-LNNUgU B+B033Ç~Bb/ t0R\BD?%}&ɱ(R],CݜM;jzR1rc0 |GLOOƍ9|0mmmM~C L5J)C<୷W_\Dӻn[FJh!]]~s C{gnq*Qx>xo~3~jB~*$"p=_hW^ nkz+ϭ"ӔgFFFغu+~]Fkq@-ׯgrrd2aG[[ibuPUƘ;;;)Jӳg2@apUN:{ ʘ‚F&&&( d26nX]LPs ͭaJjfffťtlŋ+W-ۙ3gLqm:qԊ011XbN1QZuBIBLJZ2J֚/L&+(ZS+Qu] hŀM Xժ 6D)JW.:X9(hr`WzX]guHR\vhBeCD] :ZJ:k8!Z u_B#3cLSpqZRNmi[ Zy'pQbӦM|u j#hTֺdCG h2 G{Au11v||5絚֏*U:;;K\ff kM,ǫf[BA@ ` /|agÔ:6z+1RxpB;b)J)+iHc'Aws?-FJc4B:+7fĸbD3, ΐI5_ *AͿJFRR?ythlkw>` l߾ӧO7b8 |D2rXDH9981<$$JgN橭owvjj\.WJL{@E.\$u6}#HR^.ye:,-I"{n'bv=^BZGYWU[d~| H6~qEΝ;ǝwY[+Sȶj>т5 T SXD1r)_-9 P<_{k_T*qq={pرM[W`8V,9<'N`ǎuQnqsM7lQeUp\,$fCֲsNmV7?/y []NѿVdvZ{yz"?<=AfUDNpA֯3- O~ob&f߷j(O>$VZi)KE\p"dStdbHa1!8~+Μ9jx6K_JT/I J:^]JZPYGfTM^+T|֋,Z`u۵k{Mգ hU TpM>p|m?IENDB`entangle-0.5.4/src/capture.png0000664000000000000000000000177712253420652013163 00000000000000PNG  IHDR00WsBIT|dIDAThOoEݤ8@QSJShʟVj'ApLD/ \nm UK(.+R%*"`wMgGZ3~y3?[JKR yGn'_*'o8O*s.6/WI d\Ryx~~~<Jy^[x`AOkq?*'ss/eb@5%8oyg<0V><1W(|QR6PRu|!ŢSZHv֚۷ݳoC FI)HD&^Nf]?W"tu)INϜ׾Xv(13sÏ<(ZyrZTnM%i"+&U198GLlou2 ̔}ř2Sg Z Pr|߷}LM=m4ڀ e11~ȚK_ֺgl!6N7kl\5? ec 6b[eZOll:de`aʡQ6@(WqtK 兲#=\׻sʕ"DwWz@(;S [9w $E[(_]K0l@(k@)k@) 4bA u)ee S+@-.Rz0L)e}]e&JCXm1el) $~-[b Au%eM1ຍjlm2P62-eMT^eMT=@ {mv 8#V[cd7%+[ʚHkz֯ldKYn>`gAtUR8Eǽܾ1eM/E, 's7IENDB`entangle-0.5.4/src/entangle.appdata.xml0000664000000000000000000000230412253420652014725 00000000000000 entangle.desktop CC0 Entangle Tethered Camera Control & Capture

Entangle is a program used to control digital cameras that are connected to the computer via USB.

Entangle can trigger the camera shutter to capture new images. When supported by the camera, a continuously updating preview of the scene can be displayed prior to capture. Images will be downloaded and displayed as they are captured by the camera. Entangle also allows the settings of the camera to be changed from the computer.

Entangle is compatible with most DSLR cameras from Nikon and Canon, some of their compact camera models, and a variety of cameras from other manufacturers.

http://entangle-photo.org/appdata/en_US/screenshots/camera-manager.png http://entangle-photo.org/ entangle-devel_at_gna_dot_org
entangle-0.5.4/src/entangle-128x128.png0000664000000000000000000003374112253420652014244 00000000000000PNG  IHDR>asRGBbKGD pHYs B(xtIME *"c IDATxydU9ޘ*(VV~>ڥ?bt}\ni}OVT'*(1+)2c7#Fވy#DZ7#2={>#x57y@QJFJ9I);@2, !bRJ)SLBBB}ekoଳgJ)OBlR&[~55P%msRǀ7?b;MMM(r-RnU Q{=> RJqgkk믿^ǸV>|=BwJ) `W*q!~&Çlh۶mSUC\O~ 4Gڶݯ|+^@m֭)!ejG,?R~A ;|K_zu,N:餋_"t5K.s% #lYVY@p뮻98s9Jmۗ|#y[Q;[4A4wqgV]nr9&&&`x|A` fRI8 TVuA{{;Hf;`(s^~_r'sDL8YxN>yIUI)7/Η x/t0ϿC̛ADm`t+_ݽ]p駗_n;dםcccB!>OQ`lmܹ{~k억pB K}#cGjlA…Y.8|6oތTrb!7n/.z9ˏ~J+@20SO`t:gC b6"B[m{&,rw[n-߯fMw'hmm_pnꪫ +g:ccc|,Rg?#٘m' ceix Kv4wHwjժt* jW?/m]}b凜ݍz)%|i>Oy ɹ)yN^|%rd Ց-#P꿎#^YܿTI(mž9L8?uqŊYE~6 ?~\s5[գCcinG?:r@F;6*l6^{-eYeaq, MH@jFͯ+JpuǮ7j!b!.5kThݻ>q'{K}mmmon*H? ^'׌RY/l\. 7@___G.2رco3U'!bgV#MPTaߞy+<gyfnz{{iooa^Gfaaկ~k@ pa3W:towPG?b||B8z.v+ܴ:؇c"q aZm`N"Fv.$!8|0_'?IMp%4)8oo>PTU}ԝg4MfggXvmѿWLӬP:ߙlCi^uK9DMI"8R GnؖBb&L EV|TK*ka%3NGG}{ijjxYv7MZ:::5@~L/H)?*_;#|vv}cl=y+RxOLNNqT?Jj(]9x=j۶./̑8¥"ƚ&R)P`z L6I/}Vf%3A{{;WUVk'|okX,Vwk]RRʔ__}{ *:YqAԽbi\M0%cfbC+<omQIk'l5H[W/Dg|x/Z> <;3N;zzz*u}<3|t@R'G~8j/dذaW\qEө)~3::(2$Tv,P(BWq#1&G0=vlz4$9.BI%)LJeX5@K*9 =_E8 ">PCXAfvD"}i6wO=SSS x/=s=,k _XX?)XjKb{v]շ@ 2 B($h"ld2E(XL5 ixtNЙgnr>Zzɦ1 at2YFFFXnPfJxvmL&=06{8a1~l6M7DϪe|'8p(ZkG`(RCPGGWolf\v|6"D"1e2>zCC/`*@)X5=bid `aG =!s s8pӟ4P X_{wl..xGMӹ؟޽\>l[ FA҂0=L"xzRQ&'F&@,IJ*ɋ m]ZT`gL@#$pЋhLeBU@7 X Da6l^( Bpw2<<̥^Zqu]FMm@W 0 D"?qRVO>$vbnn@vتiJO63vpVcB뷝AGZǏKN gA (-ђ@Y䕲(1)BB6ȑ B/y;=}Naˮ[)1z!A *:®;RCA1;q& nU t]+^KB2` P$( X=VA/bav@ H6V"\b,YGuzzz5}=%sowر/XT¤uN:-Y;a_!,BixQڹ4uB:1RR":e$]wZAHll'FIM3~ xI0a2X2sd؆ 43 dBUho{RT~nru{Gٵkl#ʪ[-:`RJ9%pYQEIhB/!A*E@Y:G(v,bfj EQlCGE{oڻzY(I`X(իkzݺuۿ[Y ,g]Y'm!ygqvg>hQ QeGU9-NbZK]átAI)JEm,8#["#!88d 5A K/m{%M (k"84=Oznӳ\yF|fTkGIR\{+$X( 5a  N3A!] *p+#|]{5iww4MD( X$(h I$_EA4G.Mq=Dztli"JL 4QS )BmPcԍ"-%vi;Y`n 47"=)_e :d\v3U|,) wnF ^x?رê !mSN93<3<3LOO%Tp1b:z>[A$`ɱńBQ"KRAGK %F(JH6NBD#RZ1V( \AV2dd3IzM0 :Cl9:!Ӌ˩mmm455Uk(bbbt:Mkk/"X"|>?RyJ>]U? `QY:mLH I>c B05>|4 C j[ jo!nbK[UUT%$G ( `K$0H"yl5e?=7Y`[#k r lQ 29UsUhVo}+ytY~tzO= D/1{9&''Kmc=|p8Ld+r¤'j5;9`)Il-$RU'47AgW'F{G4ZcEA7RJgئaOaz F]ag ,-!cF1<]gеXOa'$"{! !zcw9@s#Bo{rj$ʶ3}PA+mDwEt}{~gIQ9B-:WmnVC0MsZqE. *!M-$Z sL9LnzH~# 34J|Drs]Ȣ%OQ_RkaUcZlnf+\C NKL'/L)$R*X{Biiii0[l' numٲ]ݞ{9}Y4M+1B E1t9 C蚆ea*WR ظa'l9@S %`:sBez1y˳O< ryU^FR*2M/'w~~Tr<3x+cW_ 3UbbJUdئYBE?p[D8x =~fk)w<įﺋ{D83Fϡ岄"Y‘sLMM3B /`ѧ1Eݻw#dajÇ~Ϲ355UWnet霭["\ffP8R[/(kpHe۲&wfԦ8j,Z ?k,i 3ej/i200MxꩧjH|)WZ8B.^֍7w + 9b]>ӨUL2# !ʥvTUe||F@ѦfЦf*=Z OakCQ:::g߾}gniYyJ7??O2=kpGJODӌ]hYVCa4-:b Z;X iCCCGp3"DL`JS޽{=tuR$ ʉ]DYe90>>NKK|@k8>]p.&fĊܯJ.Li2Di!eZ9r&O>eT< 5(HHp(Rlw!UIAbE7QbX]e l'}訧p:z)rB\ wwS/ɫ(UDy:!NFUպufIn333u k"yt-W i6ZA(KF*.sS!LŁY/k]\.G&P0$Hڥ" dl[#F(a¨PP)%&&D V#8a%FXQ&J#(e!lK,i Zehܡ!D$q'=΢뺯:t迹5/G}(w( h#Tm(TlYj+4BZXM-?Esv(8$$)mT!O%hV;hQhARI=!C5KEgyfM| zbߋZXX`޽͠PL&IӾg\D2EzzB$"mӚ)dVa2!CŔ*`)Lb*,bJS,6fhœ)ҳ5$Ҷ@ xFfgg^2[T|=~opvv7u&8qvUus,"oZrհ$Pڶ!`c4 XJ SMa+M HZA3O@0K!T62 BFr zO DiWץ[-G r z^ T{r9B]񿝞)?osϕ:'6l@4d,',̻tԀN2JzvR(ƶ-r<GKGZQ#X֑ H[CtE:.` Ғf4 jŚ~[[Z F rY?q'z˲xkMpK/yi<׍{jG ޽7(jeQ #D 4oD&+m=[,7[u&d`5 SMaUXjVSM&LuKiB &yM节d -l۪( xBP,7{{{kGll}Y%]>"\<+WpBkI˲[wN6P$I45%;rٲ]Ue@6-fUF.6#JȲJZ@_VQC)#!CahS*Špgrc׹jU%O415_v>яV+oDӊ ,agFz(V }omDQ֭[W72n:~a7eimF׵ 䌞1rv>e@ƨeo`?;8` CHRcgF-ܣD,> Ч#5'lafrARLi@^uU?z9?o~O)}i Kk޽\r%uDH r,$VK"NFYEGO_qs-_.bR:ȳ rey#+hEś5K0$"N2;x_xU(LgO#qSNSNضwr1 an1 B# B1Rg&Pƍy'ZEfUq!l?,MOhnba~Xҽ{Rbb:aWjڪ1_ DqsϚ H5vԬmtsh ?LrWUv/bs4߬ TչmÅ^H0k lC=PunfU!4ف[ga~ēdfkUh+HbY3pVKʛP)R=pM-mK6o`&ZvkG7M-z!K)kK&d( j0!6eYaEM0EdӋ*2IOγjp=N4-*ݦWս{ hk֓l`3%PعQ@vX_%u`llwQ]P3܈K2<u=5k022xC3j ֜е2ѳ)n2;9Bzz^:WҎihZ-P޴ɮn $SmZ>^`vrDLEY+H5FL]`ֿޝL7i&.䒺&rrr[o\}+m~;~t{b1n喺Y:RJOTL1;Ҷ jö-֢*CC cBJںH6"J{ z\; G(j$J9υwpJf/{+ZvZ>d.(=67ns\PX,E@\P.%g[`k7sdXfZ +v"B4D P! C/c.e+U)HUg"'?wk醅>9r\wb?Oy衇m\;e|L$'&&Üp uӓm'[&+F$J 0FAf2LsqUV,@ggdgϐS(q; @wP}6Ə2-@bg6$T*u]iu{n~4Hsہ,Y}qપy_۶m#J \x{<\.\zh#Žz+Ucp2nP^[.E+GE]ħ>)g3m?>d:mA|dEk㳪Hu[z57tӲk}s5M_:gSp6dL4 ,Xc4 \s P)lbTao}]v˽[vX"Vo&,9bȓg.\SA2Lp%}Ԍ*WsfVm6n#Dq\.׾5>|4·5Q{/7ouI _ɻS!ӭjJn-+Uz M>Fnalt =D}nGLV޿H)yͥ^iYJBLKK w=KEW.@W~۩l`W-@G(F+ɢ }y׹kzӥ Q|0׈?Vp4OKsז^ & 0wx{ѩ rZ+9ă@:</Gf3b矾 d37gkvm\s5R-J&b1(`4CF3t)9͠P0k6p0@0"tw28Ún:Z+G.!ɐN )$t[oz MӎE}82[=%`ўHQ."}]\Fu(hby(B:gԕweZw}?<is@1QH$^ﹼ¯Ds:shvT;{`m?&NCꄡP>+UU_u@p:s=GGn sLe6cyR)%6lmo{r irl/;駋AXQ.{x9T!8&-p)'s/a͚55e_N۶0=:QW習p ^tozYtuv+z8`llgy{\#e޶vbVݼ̣Ѻ WE$ :;;Yj  O # (dgϞ=:t\Ǚ# p Nڛ@1K~%!-6`+bVW0Y͟D{dx%_kM>A1]s54uZi%n*K}gΡXE\z{+kXBeYKO]y^km- Jz;^Sf^Bgɔ^BRLxt-o.]۟T@XL4D|nc%&@<6XCq!`y?R#T[8:I1bb}}cgz-u <#*IENDB`entangle-0.5.4/config.guess0000755000000000000000000013036112253420720012525 00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright 1992-2013 Free Software Foundation, Inc. timestamp='2013-06-10' # This file 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 3 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, see . # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that # program. This Exception is an additional permission under section 7 # of the GNU General Public License, version 3 ("GPLv3"). # # Originally written by Per Bothner. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD # # Please send patches with a ChangeLog entry to config-patches@gnu.org. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright 1992-2013 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown case "${UNAME_SYSTEM}" in Linux|GNU|GNU/*) # If the system lacks a compiler, then just pick glibc. # We could probably try harder. LIBC=gnu eval $set_cc_for_build cat <<-EOF > $dummy.c #include #if defined(__UCLIBC__) LIBC=uclibc #elif defined(__dietlibc__) LIBC=dietlibc #else LIBC=gnu #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` ;; esac # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:Bitrig:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'` echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE} exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` # Reset EXIT trap before exiting to avoid spurious non-zero exit code. exitcode=$? trap '' 0 exit $exitcode ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm*:riscos:*:*|arm*:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[4567]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) UNAME_PROCESSOR=`/usr/bin/uname -p` case ${UNAME_PROCESSOR} in amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW64*:*) echo ${UNAME_MACHINE}-pc-mingw64 exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:MSYS*:*) echo ${UNAME_MACHINE}-pc-msys exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC} exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; aarch64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; aarch64_be:Linux:*:*) UNAME_MACHINE=aarch64_be echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="gnulibc1" ; fi echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arc:Linux:*:* | arceb:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-${LIBC} else if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_PCS_VFP then echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi else echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf fi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; cris:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; crisv32:Linux:*:*) echo ${UNAME_MACHINE}-axis-linux-${LIBC} exit ;; frv:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; hexagon:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:Linux:*:*) echo ${UNAME_MACHINE}-pc-linux-${LIBC} exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; } ;; or1k:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; or32:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; padre:Linux:*:*) echo sparc-unknown-linux-${LIBC} exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-${LIBC} exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-${LIBC} ;; PA8*) echo hppa2.0-unknown-linux-${LIBC} ;; *) echo hppa-unknown-linux-${LIBC} ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-${LIBC} exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-${LIBC} exit ;; ppc64le:Linux:*:*) echo powerpc64le-unknown-linux-${LIBC} exit ;; ppcle:Linux:*:*) echo powerpcle-unknown-linux-${LIBC} exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux-${LIBC} exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; tile*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-${LIBC} exit ;; x86_64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-${LIBC} exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; x86_64:Haiku:*:*) echo x86_64-unknown-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown eval $set_cc_for_build if test "$UNAME_PROCESSOR" = unknown ; then UNAME_PROCESSOR=powerpc fi if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then case $UNAME_PROCESSOR in i386) UNAME_PROCESSOR=x86_64 ;; powerpc) UNAME_PROCESSOR=powerpc64 ;; esac fi fi echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NEO-?:NONSTOP_KERNEL:*:*) echo neo-tandem-nsk${UNAME_RELEASE} exit ;; NSE-*:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; x86_64:VMkernel:*:*) echo ${UNAME_MACHINE}-unknown-esx exit ;; esac eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: entangle-0.5.4/aclocal.m40000664000000000000000000020075612253420712012056 00000000000000# generated automatically by aclocal 1.13.4 -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])]) m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.69],, [m4_warning([this file was generated for autoconf 2.69. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) # Copyright (C) 1995-2002 Free Software Foundation, Inc. # Copyright (C) 2001-2003,2004 Red Hat, Inc. # # This file is free software, distributed under the terms of the GNU # General Public License. As a special exception to the GNU General # Public License, this file may be distributed as part of a program # that contains a configuration script generated by Autoconf, under # the same distribution terms as the rest of that program. # # This file can be copied and used freely without restrictions. It can # be used in projects which are not available under the GNU Public License # but which still want to provide support for the GNU gettext functionality. # # Macro to add for using GNU gettext. # Ulrich Drepper , 1995, 1996 # # Modified to never use included libintl. # Owen Taylor , 12/15/1998 # # Major rework to remove unused code # Owen Taylor , 12/11/2002 # # Added better handling of ALL_LINGUAS from GNU gettext version # written by Bruno Haible, Owen Taylor 5/30/3002 # # Modified to require ngettext # Matthias Clasen 08/06/2004 # # We need this here as well, since someone might use autoconf-2.5x # to configure GLib then an older version to configure a package # using AM_GLIB_GNU_GETTEXT AC_PREREQ(2.53) dnl dnl We go to great lengths to make sure that aclocal won't dnl try to pull in the installed version of these macros dnl when running aclocal in the glib directory. dnl m4_copy([AC_DEFUN],[glib_DEFUN]) m4_copy([AC_REQUIRE],[glib_REQUIRE]) dnl dnl At the end, if we're not within glib, we'll define the public dnl definitions in terms of our private definitions. dnl # GLIB_LC_MESSAGES #-------------------- glib_DEFUN([GLIB_LC_MESSAGES], [AC_CHECK_HEADERS([locale.h]) if test $ac_cv_header_locale_h = yes; then AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES, [AC_TRY_LINK([#include ], [return LC_MESSAGES], am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)]) if test $am_cv_val_LC_MESSAGES = yes; then AC_DEFINE(HAVE_LC_MESSAGES, 1, [Define if your file defines LC_MESSAGES.]) fi fi]) # GLIB_PATH_PROG_WITH_TEST #---------------------------- dnl GLIB_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR, dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]]) glib_DEFUN([GLIB_PATH_PROG_WITH_TEST], [# Extract the first word of "$2", so it can be a program name with args. set dummy $2; ac_word=[$]2 AC_MSG_CHECKING([for $ac_word]) AC_CACHE_VAL(ac_cv_path_$1, [case "[$]$1" in /*) ac_cv_path_$1="[$]$1" # Let the user override the test with a path. ;; *) IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:" for ac_dir in ifelse([$5], , $PATH, [$5]); do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if [$3]; then ac_cv_path_$1="$ac_dir/$ac_word" break fi fi done IFS="$ac_save_ifs" dnl If no 4th arg is given, leave the cache variable unset, dnl so AC_PATH_PROGS will keep looking. ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4" ])dnl ;; esac])dnl $1="$ac_cv_path_$1" if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then AC_MSG_RESULT([$]$1) else AC_MSG_RESULT(no) fi AC_SUBST($1)dnl ]) # GLIB_WITH_NLS #----------------- glib_DEFUN([GLIB_WITH_NLS], dnl NLS is obligatory [USE_NLS=yes AC_SUBST(USE_NLS) gt_cv_have_gettext=no CATOBJEXT=NONE XGETTEXT=: INTLLIBS= AC_CHECK_HEADER(libintl.h, [gt_cv_func_dgettext_libintl="no" libintl_extra_libs="" # # First check in libc # AC_CACHE_CHECK([for ngettext in libc], gt_cv_func_ngettext_libc, [AC_TRY_LINK([ #include ], [return !ngettext ("","", 1)], gt_cv_func_ngettext_libc=yes, gt_cv_func_ngettext_libc=no) ]) if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CACHE_CHECK([for dgettext in libc], gt_cv_func_dgettext_libc, [AC_TRY_LINK([ #include ], [return !dgettext ("","")], gt_cv_func_dgettext_libc=yes, gt_cv_func_dgettext_libc=no) ]) fi if test "$gt_cv_func_ngettext_libc" = "yes" ; then AC_CHECK_FUNCS(bind_textdomain_codeset) fi # # If we don't have everything we want, check in libintl # if test "$gt_cv_func_dgettext_libc" != "yes" \ || test "$gt_cv_func_ngettext_libc" != "yes" \ || test "$ac_cv_func_bind_textdomain_codeset" != "yes" ; then AC_CHECK_LIB(intl, bindtextdomain, [AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dgettext, gt_cv_func_dgettext_libintl=yes)])]) if test "$gt_cv_func_dgettext_libintl" != "yes" ; then AC_MSG_CHECKING([if -liconv is needed to use gettext]) AC_MSG_RESULT([]) AC_CHECK_LIB(intl, ngettext, [AC_CHECK_LIB(intl, dcgettext, [gt_cv_func_dgettext_libintl=yes libintl_extra_libs=-liconv], :,-liconv)], :,-liconv) fi # # If we found libintl, then check in it for bind_textdomain_codeset(); # we'll prefer libc if neither have bind_textdomain_codeset(), # and both have dgettext and ngettext # if test "$gt_cv_func_dgettext_libintl" = "yes" ; then glib_save_LIBS="$LIBS" LIBS="$LIBS -lintl $libintl_extra_libs" unset ac_cv_func_bind_textdomain_codeset AC_CHECK_FUNCS(bind_textdomain_codeset) LIBS="$glib_save_LIBS" if test "$ac_cv_func_bind_textdomain_codeset" = "yes" ; then gt_cv_func_dgettext_libc=no else if test "$gt_cv_func_dgettext_libc" = "yes" \ && test "$gt_cv_func_ngettext_libc" = "yes"; then gt_cv_func_dgettext_libintl=no fi fi fi fi if test "$gt_cv_func_dgettext_libc" = "yes" \ || test "$gt_cv_func_dgettext_libintl" = "yes"; then gt_cv_have_gettext=yes fi if test "$gt_cv_func_dgettext_libintl" = "yes"; then INTLLIBS="-lintl $libintl_extra_libs" fi if test "$gt_cv_have_gettext" = "yes"; then AC_DEFINE(HAVE_GETTEXT,1, [Define if the GNU gettext() function is already present or preinstalled.]) GLIB_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl if test "$MSGFMT" != "no"; then glib_save_LIBS="$LIBS" LIBS="$LIBS $INTLLIBS" AC_CHECK_FUNCS(dcgettext) MSGFMT_OPTS= AC_MSG_CHECKING([if msgfmt accepts -c]) GLIB_RUN_PROG([$MSGFMT -c -o /dev/null],[ msgid "" msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Project-Id-Version: test 1.0\n" "PO-Revision-Date: 2007-02-15 12:01+0100\n" "Last-Translator: test \n" "Language-Team: C \n" "MIME-Version: 1.0\n" "Content-Transfer-Encoding: 8bit\n" ], [MSGFMT_OPTS=-c; AC_MSG_RESULT([yes])], [AC_MSG_RESULT([no])]) AC_SUBST(MSGFMT_OPTS) AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) GLIB_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :) AC_TRY_LINK(, [extern int _nl_msg_cat_cntr; return _nl_msg_cat_cntr], [CATOBJEXT=.gmo DATADIRNAME=share], [case $host in *-*-solaris*) dnl On Solaris, if bind_textdomain_codeset is in libc, dnl GNU format message catalog is always supported, dnl since both are added to the libc all together. dnl Hence, we'd like to go with DATADIRNAME=share and dnl and CATOBJEXT=.gmo in this case. AC_CHECK_FUNC(bind_textdomain_codeset, [CATOBJEXT=.gmo DATADIRNAME=share], [CATOBJEXT=.mo DATADIRNAME=lib]) ;; *-*-openbsd*) CATOBJEXT=.mo DATADIRNAME=share ;; *) CATOBJEXT=.mo DATADIRNAME=lib ;; esac]) LIBS="$glib_save_LIBS" INSTOBJEXT=.mo else gt_cv_have_gettext=no fi fi ]) if test "$gt_cv_have_gettext" = "yes" ; then AC_DEFINE(ENABLE_NLS, 1, [always defined to indicate that i18n is enabled]) fi dnl Test whether we really found GNU xgettext. if test "$XGETTEXT" != ":"; then dnl If it is not GNU xgettext we define it as : so that the dnl Makefiles still can work. if $XGETTEXT --omit-header /dev/null 2> /dev/null; then : ; else AC_MSG_RESULT( [found xgettext program is not GNU xgettext; ignore it]) XGETTEXT=":" fi fi # We need to process the po/ directory. POSUB=po AC_OUTPUT_COMMANDS( [case "$CONFIG_FILES" in *po/Makefile.in*) sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile esac]) dnl These rules are solely for the distribution goal. While doing this dnl we only have to keep exactly one list of the available catalogs dnl in configure.ac. for lang in $ALL_LINGUAS; do GMOFILES="$GMOFILES $lang.gmo" POFILES="$POFILES $lang.po" done dnl Make all variables we use known to autoconf. AC_SUBST(CATALOGS) AC_SUBST(CATOBJEXT) AC_SUBST(DATADIRNAME) AC_SUBST(GMOFILES) AC_SUBST(INSTOBJEXT) AC_SUBST(INTLLIBS) AC_SUBST(PO_IN_DATADIR_TRUE) AC_SUBST(PO_IN_DATADIR_FALSE) AC_SUBST(POFILES) AC_SUBST(POSUB) ]) # AM_GLIB_GNU_GETTEXT # ------------------- # Do checks necessary for use of gettext. If a suitable implementation # of gettext is found in either in libintl or in the C library, # it will set INTLLIBS to the libraries needed for use of gettext # and AC_DEFINE() HAVE_GETTEXT and ENABLE_NLS. (The shell variable # gt_cv_have_gettext will be set to "yes".) It will also call AC_SUBST() # on various variables needed by the Makefile.in.in installed by # glib-gettextize. dnl glib_DEFUN([GLIB_GNU_GETTEXT], [AC_REQUIRE([AC_PROG_CC])dnl AC_REQUIRE([AC_HEADER_STDC])dnl GLIB_LC_MESSAGES GLIB_WITH_NLS if test "$gt_cv_have_gettext" = "yes"; then if test "x$ALL_LINGUAS" = "x"; then LINGUAS= else AC_MSG_CHECKING(for catalogs to be installed) NEW_LINGUAS= for presentlang in $ALL_LINGUAS; do useit=no if test "%UNSET%" != "${LINGUAS-%UNSET%}"; then desiredlanguages="$LINGUAS" else desiredlanguages="$ALL_LINGUAS" fi for desiredlang in $desiredlanguages; do # Use the presentlang catalog if desiredlang is # a. equal to presentlang, or # b. a variant of presentlang (because in this case, # presentlang can be used as a fallback for messages # which are not translated in the desiredlang catalog). case "$desiredlang" in "$presentlang"*) useit=yes;; esac done if test $useit = yes; then NEW_LINGUAS="$NEW_LINGUAS $presentlang" fi done LINGUAS=$NEW_LINGUAS AC_MSG_RESULT($LINGUAS) fi dnl Construct list of names of catalog files to be constructed. if test -n "$LINGUAS"; then for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done fi fi dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly dnl find the mkinstalldirs script in another subdir but ($top_srcdir). dnl Try to locate is. MKINSTALLDIRS= if test -n "$ac_aux_dir"; then MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs" fi if test -z "$MKINSTALLDIRS"; then MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs" fi AC_SUBST(MKINSTALLDIRS) dnl Generate list of files to be processed by xgettext which will dnl be included in po/Makefile. test -d po || mkdir po if test "x$srcdir" != "x."; then if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then posrcprefix="$srcdir/" else posrcprefix="../$srcdir/" fi else posrcprefix="../" fi rm -f po/POTFILES sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \ < $srcdir/po/POTFILES.in > po/POTFILES ]) # AM_GLIB_DEFINE_LOCALEDIR(VARIABLE) # ------------------------------- # Define VARIABLE to the location where catalog files will # be installed by po/Makefile. glib_DEFUN([GLIB_DEFINE_LOCALEDIR], [glib_REQUIRE([GLIB_GNU_GETTEXT])dnl glib_save_prefix="$prefix" glib_save_exec_prefix="$exec_prefix" glib_save_datarootdir="$datarootdir" test "x$prefix" = xNONE && prefix=$ac_default_prefix test "x$exec_prefix" = xNONE && exec_prefix=$prefix datarootdir=`eval echo "${datarootdir}"` if test "x$CATOBJEXT" = "x.mo" ; then localedir=`eval echo "${libdir}/locale"` else localedir=`eval echo "${datadir}/locale"` fi prefix="$glib_save_prefix" exec_prefix="$glib_save_exec_prefix" datarootdir="$glib_save_datarootdir" AC_DEFINE_UNQUOTED($1, "$localedir", [Define the location where the catalogs will be installed]) ]) dnl dnl Now the definitions that aclocal will find dnl ifdef(glib_configure_ac,[],[ AC_DEFUN([AM_GLIB_GNU_GETTEXT],[GLIB_GNU_GETTEXT($@)]) AC_DEFUN([AM_GLIB_DEFINE_LOCALEDIR],[GLIB_DEFINE_LOCALEDIR($@)]) ])dnl # GLIB_RUN_PROG(PROGRAM, TEST-FILE, [ACTION-IF-PASS], [ACTION-IF-FAIL]) # # Create a temporary file with TEST-FILE as its contents and pass the # file name to PROGRAM. Perform ACTION-IF-PASS if PROGRAM exits with # 0 and perform ACTION-IF-FAIL for any other exit status. AC_DEFUN([GLIB_RUN_PROG], [cat >conftest.foo <<_ACEOF $2 _ACEOF if AC_RUN_LOG([$1 conftest.foo]); then m4_ifval([$3], [$3], [:]) m4_ifvaln([$4], [else $4])dnl echo "$as_me: failed input was:" >&AS_MESSAGE_LOG_FD sed 's/^/| /' conftest.foo >&AS_MESSAGE_LOG_FD fi]) dnl GLIB_GSETTINGS dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether dnl the schema should be compiled dnl AC_DEFUN([GLIB_GSETTINGS], [ m4_pattern_allow([AM_V_GEN]) AC_ARG_ENABLE(schemas-compile, AS_HELP_STRING([--disable-schemas-compile], [Disable regeneration of gschemas.compiled on install]), [case ${enableval} in yes) GSETTINGS_DISABLE_SCHEMAS_COMPILE="" ;; no) GSETTINGS_DISABLE_SCHEMAS_COMPILE="1" ;; *) AC_MSG_ERROR([bad value ${enableval} for --enable-schemas-compile]) ;; esac]) AC_SUBST([GSETTINGS_DISABLE_SCHEMAS_COMPILE]) PKG_PROG_PKG_CONFIG([0.16]) AC_SUBST(gsettingsschemadir, [${datadir}/glib-2.0/schemas]) if test x$cross_compiling != xyes; then GLIB_COMPILE_SCHEMAS=`$PKG_CONFIG --variable glib_compile_schemas gio-2.0` else AC_PATH_PROG(GLIB_COMPILE_SCHEMAS, glib-compile-schemas) fi AC_SUBST(GLIB_COMPILE_SCHEMAS) if test "x$GLIB_COMPILE_SCHEMAS" = "x"; then ifelse([$2],,[AC_MSG_ERROR([glib-compile-schemas not found.])],[$2]) else ifelse([$1],,[:],[$1]) fi GSETTINGS_RULES=' .PHONY : uninstall-gsettings-schemas install-gsettings-schemas clean-gsettings-schemas mostlyclean-am: clean-gsettings-schemas gsettings__enum_file = $(addsuffix .enums.xml,$(gsettings_ENUM_NAMESPACE)) %.gschema.valid: %.gschema.xml $(gsettings__enum_file) $(AM_V_GEN) if test -f "$<"; then d=; else d="$(srcdir)/"; fi; $(GLIB_COMPILE_SCHEMAS) --strict --dry-run $(addprefix --schema-file=,$(gsettings__enum_file)) --schema-file=$${d}$< && touch [$]@ all-am: $(gsettings_SCHEMAS:.xml=.valid) uninstall-am: uninstall-gsettings-schemas install-data-am: install-gsettings-schemas .SECONDARY: $(gsettings_SCHEMAS) install-gsettings-schemas: $(gsettings_SCHEMAS) $(gsettings__enum_file) @$(NORMAL_INSTALL) if test -n "$^"; then \ test -z "$(gsettingsschemadir)" || $(MKDIR_P) "$(DESTDIR)$(gsettingsschemadir)"; \ $(INSTALL_DATA) $^ "$(DESTDIR)$(gsettingsschemadir)"; \ test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir); \ fi uninstall-gsettings-schemas: @$(NORMAL_UNINSTALL) @list='\''$(gsettings_SCHEMAS) $(gsettings__enum_file)'\''; test -n "$(gsettingsschemadir)" || list=; \ files=`for p in $$list; do echo $$p; done | sed -e '\''s|^.*/||'\''`; \ test -n "$$files" || exit 0; \ echo " ( cd '\''$(DESTDIR)$(gsettingsschemadir)'\'' && rm -f" $$files ")"; \ cd "$(DESTDIR)$(gsettingsschemadir)" && rm -f $$files test -n "$(GSETTINGS_DISABLE_SCHEMAS_COMPILE)$(DESTDIR)" || $(GLIB_COMPILE_SCHEMAS) $(gsettingsschemadir) clean-gsettings-schemas: rm -f $(gsettings_SCHEMAS:.xml=.valid) $(gsettings__enum_file) ifdef gsettings_ENUM_NAMESPACE $(gsettings__enum_file): $(gsettings_ENUM_FILES) $(AM_V_GEN) glib-mkenums --comments '\'''\'' --fhead "" --vhead " <@type@ id='\''$(gsettings_ENUM_NAMESPACE).@EnumName@'\''>" --vprod " " --vtail " " --ftail "" [$]^ > [$]@.tmp && mv [$]@.tmp [$]@ endif ' _GSETTINGS_SUBST(GSETTINGS_RULES) ]) dnl _GSETTINGS_SUBST(VARIABLE) dnl Abstract macro to do either _AM_SUBST_NOTMAKE or AC_SUBST AC_DEFUN([_GSETTINGS_SUBST], [ AC_SUBST([$1]) m4_ifdef([_AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE([$1])]) ] ) # nls.m4 serial 5 (gettext-0.18) dnl Copyright (C) 1995-2003, 2005-2006, 2008-2013 Free Software Foundation, dnl Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, dnl with or without modifications, as long as this notice is preserved. dnl dnl This file can can be used in projects which are not available under dnl the GNU General Public License or the GNU Library General Public dnl License but which still want to provide support for the GNU gettext dnl functionality. dnl Please note that the actual code of the GNU gettext library is covered dnl by the GNU Library General Public License, and the rest of the GNU dnl gettext package package is covered by the GNU General Public License. dnl They are *not* in the public domain. dnl Authors: dnl Ulrich Drepper , 1995-2000. dnl Bruno Haible , 2000-2003. AC_PREREQ([2.50]) AC_DEFUN([AM_NLS], [ AC_MSG_CHECKING([whether NLS is requested]) dnl Default is enabled NLS AC_ARG_ENABLE([nls], [ --disable-nls do not use Native Language Support], USE_NLS=$enableval, USE_NLS=yes) AC_MSG_RESULT([$USE_NLS]) AC_SUBST([USE_NLS]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # 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. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES # PKG_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable pkgconfigdir as the location where a module # should install pkg-config .pc files. By default the directory is # $libdir/pkgconfig, but the default can be changed by passing # DIRECTORY. The user can override through the --with-pkgconfigdir # parameter. AC_DEFUN([PKG_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([pkgconfigdir], [AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],, [with_pkgconfigdir=]pkg_default) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_INSTALLDIR # PKG_NOARCH_INSTALLDIR(DIRECTORY) # ------------------------- # Substitutes the variable noarch_pkgconfigdir as the location where a # module should install arch-independent pkg-config .pc files. By # default the directory is $datadir/pkgconfig, but the default can be # changed by passing DIRECTORY. The user can override through the # --with-noarch-pkgconfigdir parameter. AC_DEFUN([PKG_NOARCH_INSTALLDIR], [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) m4_pushdef([pkg_description], [pkg-config arch-independent installation directory @<:@]pkg_default[@:>@]) AC_ARG_WITH([noarch-pkgconfigdir], [AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],, [with_noarch_pkgconfigdir=]pkg_default) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) m4_popdef([pkg_default]) m4_popdef([pkg_description]) ]) dnl PKG_NOARCH_INSTALLDIR # Copyright (C) 2002-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.13' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.13.4], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.13.4])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to '$srcdir/foo'. In other projects, it is set to # '$srcdir', '$srcdir/..', or '$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is '.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ([2.52])dnl m4_if([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl m4_define([_AM_COND_VALUE_$1], [$2])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # There are a few dirty hacks below to avoid letting 'AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "OBJC", "OBJCXX", "UPC", or "GJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl m4_if([$1], [CC], [depcc="$CC" am_compiler_list=], [$1], [CXX], [depcc="$CXX" am_compiler_list=], [$1], [OBJC], [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], [OBJCXX], [depcc="$OBJCXX" am_compiler_list='gcc3 gcc'], [$1], [UPC], [depcc="$UPC" am_compiler_list=], [$1], [GCJ], [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named 'D' -- because '-MD' means "put the output # in D". rm -rf conftest.dir mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi am__universal=false m4_case([$1], [CC], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac], [CXX], [case " $depcc " in #( *\ -arch\ *\ -arch\ *) am__universal=true ;; esac]) for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using ": > sub/conftst$i.h" creates only sub/conftst1.h with # Solaris 10 /bin/sh. echo '/* dummy */' > sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf # We check with '-c' and '-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle '-M -o', and we need to detect this. Also, some Intel # versions had trouble with output in subdirs. am__obj=sub/conftest.${OBJEXT-o} am__minus_obj="-o $am__obj" case $depmode in gcc) # This depmode causes a compiler race in universal mode. test "$am__universal" = false || continue ;; nosideeffect) # After this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested. if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; msvc7 | msvc7msys | msvisualcpp | msvcmsys) # This compiler won't grok '-c -o', but also, the minuso test has # not run yet. These depmodes are late enough in the game, and # so weak that their functioning should not be impacted. am__obj=conftest.${OBJEXT-o} am__minus_obj= ;; none) break ;; esac if depmode=$depmode \ source=sub/conftest.c object=$am__obj \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c $am__minus_obj sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep $am__obj sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES. AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE([dependency-tracking], [dnl AS_HELP_STRING( [--enable-dependency-tracking], [do not reject slow dependency extractors]) AS_HELP_STRING( [--disable-dependency-tracking], [speeds up one-time build])]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' am__nodep='_no' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl AC_SUBST([am__nodep])dnl _AM_SUBST_NOTMAKE([am__nodep])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [{ # Older Autoconf quotes --file arguments for eval, but not when files # are listed without --file. Let's play safe and only enable the eval # if we detect the quoting. case $CONFIG_FILES in *\'*) eval set x "$CONFIG_FILES" ;; *) set x $CONFIG_FILES ;; esac shift for mf do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named 'Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running 'make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "$am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done } ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each '.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.65])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [AC_DIAGNOSE([obsolete], [$0: two- and three-arguments forms are deprecated.]) m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if( m4_ifdef([AC_PACKAGE_NAME], [ok]):m4_ifdef([AC_PACKAGE_VERSION], [ok]), [ok:ok],, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG([ACLOCAL], [aclocal-${am__api_version}]) AM_MISSING_PROG([AUTOCONF], [autoconf]) AM_MISSING_PROG([AUTOMAKE], [automake-${am__api_version}]) AM_MISSING_PROG([AUTOHEADER], [autoheader]) AM_MISSING_PROG([MAKEINFO], [makeinfo]) AC_REQUIRE([AM_PROG_INSTALL_SH])dnl AC_REQUIRE([AM_PROG_INSTALL_STRIP])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl # For better backward compatibility. To be removed once Automake 1.9.x # dies out for good. For more background, see: # # AC_SUBST([mkdir_p], ['$(MKDIR_P)']) # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES([CC])], [m4_define([AC_PROG_CC], m4_defn([AC_PROG_CC])[_AM_DEPENDENCIES([CC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES([CXX])], [m4_define([AC_PROG_CXX], m4_defn([AC_PROG_CXX])[_AM_DEPENDENCIES([CXX])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES([OBJC])], [m4_define([AC_PROG_OBJC], m4_defn([AC_PROG_OBJC])[_AM_DEPENDENCIES([OBJC])])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJCXX], [_AM_DEPENDENCIES([OBJCXX])], [m4_define([AC_PROG_OBJCXX], m4_defn([AC_PROG_OBJCXX])[_AM_DEPENDENCIES([OBJCXX])])])dnl ]) AC_REQUIRE([AM_SILENT_RULES])dnl dnl The testsuite driver may need to know about EXEEXT, so add the dnl 'am__EXEEXT' conditional if _AM_COMPILER_EXEEXT was seen. This dnl macro is hooked onto _AC_COMPILER_EXEEXT early, see below. AC_CONFIG_COMMANDS_PRE(dnl [m4_provide_if([_AM_COMPILER_EXEEXT], [AM_CONDITIONAL([am__EXEEXT], [test -n "$EXEEXT"])])])dnl ]) dnl Hook into '_AC_COMPILER_EXEEXT' early to learn its expansion. Do not dnl add the conditional right here, as _AC_COMPILER_EXEEXT may be further dnl mangled by Autoconf and run in a shell conditional statement. m4_define([_AC_COMPILER_EXEEXT], m4_defn([_AC_COMPILER_EXEEXT])[m4_provide([_AM_COMPILER_EXEEXT])]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_arg=$1 _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $_am_arg | $_am_arg:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $_am_arg" >`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl if test x"${install_sh}" != xset; then case $am_aux_dir in *\ * | *\ *) install_sh="\${SHELL} '$am_aux_dir/install-sh'" ;; *) install_sh="\${SHELL} $am_aux_dir/install-sh" esac fi AC_SUBST([install_sh])]) # Copyright (C) 2003-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo this is the am__doit target .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # Ignore all kinds of additional output from 'make'. case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=include am__quote= _am_result=GNU ;; esac # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf case `$am_make -s -f confmf 2> /dev/null` in #( *the\ am__doit\ target*) am__include=.include am__quote="\"" _am_result=BSD ;; esac fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Copyright (C) 1999-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_CC_C_O # -------------- # Like AC_PROG_CC_C_O, but changed for automake. AC_DEFUN([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC_C_O])dnl AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. # A longer-term fix would be to have automake use am__CC in this case, # and then we could set am__CC="\$(top_srcdir)/compile \$(CC)" CC="$am_aux_dir/compile $CC" fi dnl Make sure AC_PROG_CC is never called again, or it will override our dnl setting of CC. m4_define([AC_PROG_CC], [m4_fatal([AC_PROG_CC cannot be called after AM_PROG_CC_C_O])]) ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it is modern enough. # If it is, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl if test x"${MISSING+set}" != xset; then case $am_aux_dir in *\ * | *\ *) MISSING="\${SHELL} \"$am_aux_dir/missing\"" ;; *) MISSING="\${SHELL} $am_aux_dir/missing" ;; esac fi # Use eval to expand $SHELL if eval "$MISSING --is-lightweight"; then am_missing_run="$MISSING " else am_missing_run= AC_MSG_WARN(['missing' script is too old or missing]) fi ]) # -*- Autoconf -*- # Obsolete and "removed" macros, that must however still report explicit # error messages when used, to smooth transition. # # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. AC_DEFUN([AM_CONFIG_HEADER], [AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should use the 'AC][_CONFIG_HEADERS' macro instead.])dnl AC_CONFIG_HEADERS($@)]) AC_DEFUN([AM_PROG_CC_STDC], [AC_PROG_CC am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc AC_DIAGNOSE([obsolete], ['$0': this macro is obsolete. You should simply use the 'AC][_PROG_CC' macro instead. Also, your code should no longer depend upon 'am_cv_prog_cc_stdc', but upon 'ac_cv_prog_cc_stdc'.])]) AC_DEFUN([AM_C_PROTOTYPES], [AC_FATAL([automatic de-ANSI-fication support has been removed])]) AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # -------------------- # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), [1])]) # _AM_SET_OPTIONS(OPTIONS) # ------------------------ # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Reject unsafe characters in $srcdir or the absolute working directory # name. Accept space and tab only in the latter. am_lf=' ' case `pwd` in *[[\\\"\#\$\&\'\`$am_lf]]*) AC_MSG_ERROR([unsafe absolute working directory name]);; esac case $srcdir in *[[\\\"\#\$\&\'\`$am_lf\ \ ]]*) AC_MSG_ERROR([unsafe srcdir value: '$srcdir']);; esac # Do 'set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( am_has_slept=no for am_try in 1 2; do echo "timestamp, slept: $am_has_slept" > conftest.file set X `ls -Lt "$srcdir/configure" conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t "$srcdir/configure" conftest.file` fi if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi if test "$[2]" = conftest.file || test $am_try -eq 2; then break fi # Just in case. sleep 1 am_has_slept=yes done test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT([yes]) # If we didn't sleep, we still need to ensure time stamps of config.status and # generated files are strictly newer. am_sleep_pid= if grep 'slept: no' conftest.file >/dev/null 2>&1; then ( sleep 1 ) & am_sleep_pid=$! fi AC_CONFIG_COMMANDS_PRE( [AC_MSG_CHECKING([that generated files are newer than configure]) if test -n "$am_sleep_pid"; then # Hide warnings about reused PIDs. wait $am_sleep_pid 2>/dev/null fi AC_MSG_RESULT([done])]) rm -f conftest.file ]) # Copyright (C) 2009-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_SILENT_RULES([DEFAULT]) # -------------------------- # Enable less verbose build rules; with the default set to DEFAULT # ("yes" being less verbose, "no" or empty being verbose). AC_DEFUN([AM_SILENT_RULES], [AC_ARG_ENABLE([silent-rules], [dnl AS_HELP_STRING( [--enable-silent-rules], [less verbose build output (undo: "make V=1")]) AS_HELP_STRING( [--disable-silent-rules], [verbose build output (undo: "make V=0")])dnl ]) case $enable_silent_rules in @%:@ ((( yes) AM_DEFAULT_VERBOSITY=0;; no) AM_DEFAULT_VERBOSITY=1;; *) AM_DEFAULT_VERBOSITY=m4_if([$1], [yes], [0], [1]);; esac dnl dnl A few 'make' implementations (e.g., NonStop OS and NextStep) dnl do not support nested variable expansions. dnl See automake bug#9928 and bug#10237. am_make=${MAKE-make} AC_CACHE_CHECK([whether $am_make supports nested variables], [am_cv_make_support_nested_variables], [if AS_ECHO([['TRUE=$(BAR$(V)) BAR0=false BAR1=true V=1 am__doit: @$(TRUE) .PHONY: am__doit']]) | $am_make -f - >/dev/null 2>&1; then am_cv_make_support_nested_variables=yes else am_cv_make_support_nested_variables=no fi]) if test $am_cv_make_support_nested_variables = yes; then dnl Using '$V' instead of '$(V)' breaks IRIX make. AM_V='$(V)' AM_DEFAULT_V='$(AM_DEFAULT_VERBOSITY)' else AM_V=$AM_DEFAULT_VERBOSITY AM_DEFAULT_V=$AM_DEFAULT_VERBOSITY fi AC_SUBST([AM_V])dnl AM_SUBST_NOTMAKE([AM_V])dnl AC_SUBST([AM_DEFAULT_V])dnl AM_SUBST_NOTMAKE([AM_DEFAULT_V])dnl AC_SUBST([AM_DEFAULT_VERBOSITY])dnl AM_BACKSLASH='\' AC_SUBST([AM_BACKSLASH])dnl _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl ]) # Copyright (C) 2001-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor 'install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in "make install-strip", and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using 'strip' when the user # run "make install-strip". However 'strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the 'STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be 'maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # AM_SUBST_NOTMAKE(VARIABLE) # -------------------------- # Public sister of _AM_SUBST_NOTMAKE. AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004-2013 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of 'v7', 'ustar', or 'pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar # AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. Yes, it's still used # in the wild :-( We should find a proper way to deprecate it ... AC_SUBST([AMTAR], ['$${TAR-tar}']) # We'll loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' m4_if([$1], [v7], [am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'], [m4_case([$1], [ustar], [# The POSIX 1988 'ustar' format is defined with fixed-size fields. # There is notably a 21 bits limit for the UID and the GID. In fact, # the 'pax' utility can hang on bigger UID/GID (see automake bug#8343 # and bug#13588). am_max_uid=2097151 # 2^21 - 1 am_max_gid=$am_max_uid # The $UID and $GID variables are not portable, so we need to resort # to the POSIX-mandated id(1) utility. Errors in the 'id' calls # below are definitely unexpected, so allow the users to see them # (that is, avoid stderr redirection). am_uid=`id -u || echo unknown` am_gid=`id -g || echo unknown` AC_MSG_CHECKING([whether UID '$am_uid' is supported by ustar format]) if test $am_uid -le $am_max_uid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi AC_MSG_CHECKING([whether GID '$am_gid' is supported by ustar format]) if test $am_gid -le $am_max_gid; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) _am_tools=none fi], [pax], [], [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Go ahead even if we have the value already cached. We do so because we # need to set the values for the 'am__tar' and 'am__untar' variables. _am_tools=${am_cv_prog_tar_$1-$_am_tools} for _am_tool in $_am_tools; do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works. rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR m4_include([m4/entangle-compile-warnings.m4]) m4_include([m4/gtk-doc.m4]) m4_include([m4/intltool.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/manywarnings.m4]) m4_include([m4/warnings.m4]) entangle-0.5.4/NEWS0000664000000000000000000002145712253420651010716 00000000000000 Entangle News ============= Release 0.5.4 - "Up" - 2013-12-15 --------------------------------- * Ensure thumbnail directory exists when saving thumbnails * Fix memory leak generating thumbnails from raw images * Add an appdata XML file for GNOME software center * Create a dedicated camera actions menu * Fix include of gexiv2 header files * Fix image selection for onion skinning in preview mode * Display selected image when cancelling preview * Fix empty tooltips on capture/preview buttons * Fix scaling for preview image in onion skinning mode * Increase emphasis of top image in onion skinning mode * Improve granularity of manual focus and add extra '<' and '>' key accelerators for coarse focus * Fix leak of image exiting preview mode * Make progress toolbar button permanently visible Release 0.5.3 - "Photon" - 2013-08-28 -------------------------------------- * Move file name of image thumbnails to tooltip popup * Add --disable-schemas-compile configure arg to disable schema compilation * Remove "Encoding" key from desktop file * Fix massive memory leak in pixbuf loading * Fix thread safety in camera control updates which caused hangs in GTK * Fix updating of control readonly state when camera modes change Release 0.5.2 - "Graviton" - 2013-08-17 -------------------------------------- * Split histogram into RGB colour channels * Fix aperture / shutter speed calculations in status bar * Only import files with known image extensions * Use case insensitive file extension check to detect raw files * Set saner defaults for processing raw files to fix Canon raw display * Set preferences before loading session to fix settings for initial image load * Apply orientation from EXIF images if image file has none * Remove left over debug prints * Add support for linear histogram display mode * Support 'h' key to toggle linear/log histogram mode * Ensure all events are emitted in main thread * Remove use of deprecated GDK thread APIs * Use GtkGrid instead of deprecated GtkTable * Ensure status bar is constant size when scaling image * Preserve scrollbar offsets when switching images * Make metadata extraction more robust wrt missing fields * Updated translations from transifex Release 0.5.1 - "W Boson" - 2012-03-12 -------------------------------------- * Update for compatibility with libgphoto 2.5 API callbacks * Avoid warnings about deprecated glib2 mutex and condition variable APIs * Directly disable viewfinder mode using config APIs * Add support for triggering autofocus during preview with 'a' key * Add support for manual focus drive in/out using '.' and ',' keys * Refresh translations from transifex * Import user contributed Italian translation * Add missing translation markers on some strings Known issues: * Compile triggers deprecation warnings about Gdk threads API usage and GtkTable API usage. Harmless but to be addressed in next release. Release 0.5.0 - "Z Boson" - 2012-12-16 -------------------------------------- * Switch to using LibRaw for loading raw images * Allowing loading image preview from raw files * Fix deadlock unmounting camera at startup * Ensure camera is disconnected before exiting * Sort image list by name instead of date * Add support for rendering "onion skin" of image sequence * Fix updating of range control values * Fix filename generation for dual-format capture modes * Fix deletion of dual-format images when exiting preview * Refresh translations Release 0.4.1 - "Gluon" - 2012-09-06 ------------------------------------ * Fix leak of image pixbufs when changing image in session * Keep toolbar directory in sync with session dir * Fix leak when displaying image popups * Fix leak when closing image popups * Fix key bindings in session browser * Add image histogram display * Load libpeas introspection data for plugins * Main plugin list in preferences * Add object type checking in all APIs * Fix image mask aspect ratio conversion to avoid locale problems * Fix build on GTK < 3.4 * Remove obsolete conditionals from GTK 2.x days * Populate list of supported cameras in help menu dialog * Add a simple man page * Add accelerators for many menu options * Fix unref of cairo surface objects * Avoid GTK assertion when range is max-min is zero * Avoid crash in control panel when updating after camera disconnect Release 0.4.0 - "Higgs Boson" - 2012-07-08 ------------------------------------------ * Better use of GtkApplication class * Add support for multiple windows & cameras * Add ability to sync capture/preview across windows * Add preference to control whether cameras autoconnect at startup * Add ability to apply aspect ratio masks to images * Add key bindings for common actions (see README) * Rewrite session browser widget to not use GtkIconView * Add popup menu with session browser to allow open and delete of captured images * Fix memory leak during preview * Fix memory leak in session browser widget * Add ability to DPMS-blank screen during capture for consistent lighting environment * Add ability to render a focus point during preview * Add ability to render grid lines during preview * Merge "New session" and "Open session" toolbar buttons into one "Select session" drop down / menu * Add custom icons for toolbar capture/preview buttons Release 0.3.3 - "Muon neutrino" - 2012-04-25 -------------------------------------------- * Fix deadlock when starting app with glib >= 2.32 * Remove use of deprecated API calls * Remove use of deprecated GTK widgets * Fix debugging with glib >= 2.32 * Fix creation of session browser widget to avoid warnings * Refresh translations * Fix check for glib-compile-schemas binary Release 0.3.2 - "Muon" - 2012-04-03 ----------------------------------- * Major code style cleanup * Mark all translatable strings in code & UI files * Register with Transifex for translations via Fedora team * Pull in translations (German, Polish, Ukrainian, Japanese: full, Spanish, Chinese: partial). * Add m4 macros for compiler warnings, missing from previous release dist. Release 0.3.1 - "Tau neutrino" 2012-02-13 ----------------------------------------- * Fix crash in handling camera control combo lists * Add notice about need to set XDG_DATA_DIRS when installing into unusual directories * Add workaround to avoid immediate crash if schemas were not found in XDG_DATA_DIRS * Compile schema files after installation * Fix crash updating widget sensitivity * Fix crashes & race conditions during capture of images * Fix infinite preview error message popups which can hang the window manager * Fix crash when retrying a failed connection attempt * Fix thread locking when hiding status display * Avoid running multiple threads for monitoring status * Fix initial sensitivity of camera control panels * Update README with new URLs for bugs/mailing lists Release 0.3.0 - "Tau" - 2011-11-28 ---------------------------------- * Switch to use Gtk3 for UI * Switch to use GSettings for preferences * Switch to use GtkBuilder for UI modelling * Always enable GObject introspection * Mandate libpeas for building * Use gexiv2 for extracting metadata from images * Rewrite internals for camera capture to be based on GIO async invocation, instead of explicitly using threads * Automatically detect change of config on camera and propagate to UI (probably only works with Nikon cameras) * Display basic image properties (aperture, iso, shutter speed, size and focal length) in a popup * Remove support for HAL, in favour of udev * Avoid 100% cpu burn with GVolumeMonitor / DBus bug * Remember last image directory across restarts * Default to $PICTURE_DIR/Capture for images, instead of creating a directory based on the camera model name * Keep display of images in session even when no camera is connected * Remove "Other PTP properties" from control panel to make the UI more scalable & improve speed of loading the UI * Preference to prevent deletion of images from camera after download * Preference to allow preview to continue after image capture * Continuously monitor for new images on the camera and download as they appear. * Setup transient window hints to assist window manager in handling window placement * Delete all website content which is now managed live * Skip directories / special files when loading sessions Release 0.2.0 - "Electron neutrino" - 2010-09-17 ------------------------------------------------ * Better compatibility with cameras not supporting events * Ability to unmount camera via GVFS * Switch to libpeas for plugins * Improved error reporting * Fixed inifinite loops in event waiting * Improved preview capability * Fixed crash with udev Release 0.1.0 - "Electron" - 2010-04-08 --------------------------------------- * First release ! -- End of news entangle-0.5.4/gtk-doc.make0000644000000000000000000002122212150401016012360 00000000000000# -*- mode: makefile -*- #################################### # Everything below here is generic # #################################### if GTK_DOC_USE_LIBTOOL GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) GTKDOC_RUN = $(LIBTOOL) --mode=execute else GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) GTKDOC_RUN = endif # We set GPATH here; this gives us semantics for GNU make # which are more like other make's VPATH, when it comes to # whether a source that is a target of one rule is then # searched for in VPATH/GPATH. # GPATH = $(srcdir) TARGET_DIR=$(HTML_DIR)/$(DOC_MODULE) SETUP_FILES = \ $(content_files) \ $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt \ $(DOC_MODULE)-overrides.txt EXTRA_DIST = \ $(HTML_IMAGES) \ $(SETUP_FILES) DOC_STAMPS=setup-build.stamp scan-build.stamp sgml-build.stamp \ html-build.stamp pdf-build.stamp \ sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ $(DOC_MODULE).prerequisites \ $(DOC_MODULE).signals REPORT_FILES = \ $(DOC_MODULE)-undocumented.txt \ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) if ENABLE_GTK_DOC if GTK_DOC_BUILD_HTML HTML_BUILD_STAMP=html-build.stamp else HTML_BUILD_STAMP= endif if GTK_DOC_BUILD_PDF PDF_BUILD_STAMP=pdf-build.stamp else PDF_BUILD_STAMP= endif all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) else all-local: endif docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) $(REPORT_FILES): sgml-build.stamp #### setup #### GTK_DOC_V_SETUP=$(GTK_DOC_V_SETUP_$(V)) GTK_DOC_V_SETUP_=$(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_SETUP_0=@echo " DOC Preparing build"; setup-build.stamp: -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ test -f $(abs_srcdir)/$$file && \ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ done; \ fi; \ fi $(AM_V_at)touch setup-build.stamp #### scan #### GTK_DOC_V_SCAN=$(GTK_DOC_V_SCAN_$(V)) GTK_DOC_V_SCAN_=$(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_SCAN_0=@echo " DOC Scanning header files"; GTK_DOC_V_INTROSPECT=$(GTK_DOC_V_INTROSPECT_$(V)) GTK_DOC_V_INTROSPECT_=$(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_INTROSPECT_0=@echo " DOC Introspecting gobjects"; scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ scanobj_options=""; \ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ scanobj_options="--verbose"; \ fi; \ fi; \ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ else \ for i in $(SCANOBJ_FILES) ; do \ test -f $$i || touch $$i ; \ done \ fi $(AM_V_at)touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true #### xml #### GTK_DOC_V_XML=$(GTK_DOC_V_XML_$(V)) GTK_DOC_V_XML_=$(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_XML_0=@echo " DOC Building XML"; sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) $(GTK_DOC_V_XML)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) $(AM_V_at)touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true #### html #### GTK_DOC_V_HTML=$(GTK_DOC_V_HTML_$(V)) GTK_DOC_V_HTML_=$(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_HTML_0=@echo " DOC Building HTML"; GTK_DOC_V_XREF=$(GTK_DOC_V_XREF_$(V)) GTK_DOC_V_XREF_=$(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_XREF_0=@echo " DOC Fixing cross-references"; html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ mkhtml_options="$$mkhtml_options --verbose"; \ fi; \ fi; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ if test "$(?)" = "0"; then \ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ fi; \ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) -@test "x$(HTML_IMAGES)" = "x" || \ for file in $(HTML_IMAGES) ; do \ if test -f $(abs_srcdir)/$$file ; then \ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ fi; \ if test -f $(abs_builddir)/$$file ; then \ cp $(abs_builddir)/$$file $(abs_builddir)/html; \ fi; \ done; $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) $(AM_V_at)touch html-build.stamp #### pdf #### GTK_DOC_V_PDF=$(GTK_DOC_V_PDF_$(V)) GTK_DOC_V_PDF_=$(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_PDF_0=@echo " DOC Building PDF"; pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ mkpdf_options="$$mkpdf_options --verbose"; \ fi; \ fi; \ if test "x$(HTML_IMAGES)" != "x"; then \ for img in $(HTML_IMAGES); do \ part=`dirname $$img`; \ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \ if test $$? != 0; then \ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \ fi; \ done; \ fi; \ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) $(AM_V_at)touch pdf-build.stamp ############## clean-local: @rm -f *~ *.bak @rm -rf .libs distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ fi maintainer-clean-local: @rm -rf xml html install-data-local: @installfiles=`echo $(builddir)/html/*`; \ if test "$$installfiles" = '$(builddir)/html/*'; \ then echo 1>&2 'Nothing to install' ; \ else \ if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ $(mkinstalldirs) $${installdir} ; \ for i in $$installfiles; do \ echo ' $(INSTALL_DATA) '$$i ; \ $(INSTALL_DATA) $$i $${installdir}; \ done; \ if test -n "$(DOC_MODULE_VERSION)"; then \ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ fi; \ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ fi uninstall-local: @if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ rm -rf $${installdir} # # Require gtk-doc when making dist # if ENABLE_GTK_DOC dist-check-gtkdoc: docs else dist-check-gtkdoc: @echo "*** gtk-doc must be installed and enabled in order to make dist" @false endif dist-hook: dist-check-gtkdoc dist-hook-local @mkdir $(distdir)/html @cp ./html/* $(distdir)/html @-cp ./$(DOC_MODULE).pdf $(distdir)/ @-cp ./$(DOC_MODULE).types $(distdir)/ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/ @cd $(distdir) && rm -f $(DISTCLEANFILES) @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs entangle-0.5.4/docs/0000775000000000000000000000000012253421054011214 500000000000000entangle-0.5.4/docs/Makefile.am0000664000000000000000000000011512253420651013167 00000000000000 SUBDIRS = man reference EXTRA_DIST = README -include $(top_srcdir)/git.mk entangle-0.5.4/docs/Makefile.in0000664000000000000000000005153012253420720013204 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = man reference EXTRA_DIST = README all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/docs/README0000664000000000000000000000153712253420651012024 00000000000000 Entangle Classes CameraList | +- n * Camera | +- Model +- Port Path +- HAL UDI +- Serial Number | +- n * CameraControl +- n * CameraControlLayout +- n * CameraSession CameraControlLayout | +- Label +- Description | +- n * CameraControlGroup | +- n * CameraControl CameraSession | +- Foldername | +- 1 * CameraControlLayout +- n * Image CameraControl | +- Name +- Value +- Type | +- 1 * EXIF field Image | +- Filename | +- n * EXIF field CameraView CameraControlLayoutView CameraControlGroupView CameraListView CameraControlView entangle-0.5.4/docs/reference/0000775000000000000000000000000012253421054013152 500000000000000entangle-0.5.4/docs/reference/Makefile.am0000664000000000000000000000714012253420651015132 00000000000000## Process this file with automake to produce Makefile.in # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples # of using the various options. # The name of the module, e.g. 'glib'. DOC_MODULE=Entangle # Uncomment for versioned docs and specify the version of the module, e.g. '2'. #DOC_MODULE_VERSION=2 # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.xml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk DOC_SOURCE_DIR=$(top_srcdir)/src # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS= # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS=--rebuild-sections --rebuild-types # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml MKDB_OPTIONS=--sgml-mode --output-format=xml # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS= # Extra options to supply to gtkdoc-mkhtml MKHTML_OPTIONS= # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS= # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c HFILE_GLOB=$(top_srcdir)/src/*/*.h CFILE_GLOB=$(top_srcdir)/src/*/*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h IGNORE_HFILES= # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES= # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files= # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files= # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) GTKDOC_CFLAGS= \ $(GLIB_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) \ $(GPHOTO2_CFLAGS) \ $(GCONF2_CFLAGS) \ $(LCMS_CFLAGS) \ $(HAL_CFLAGS) \ $(DBUS_GLIB_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTK_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(GLADE2_CFLAGS) \ $(LIBRAW_CFLAGS) \ $(UNIQUE_CFLAGS) GTKDOC_LIBS=$(top_builddir)/src/libentangle_backend.la $(top_builddir)/src/libentangle_frontend.la # This includes the standard gtk-doc make rules, copied by gtkdocize. include $(top_srcdir)/gtk-doc.make # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST += # Files not to distribute # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' #TESTS = $(GTKDOC_CHECK) GITIGNOREFILES=tmpl Entangle-sections.txt Entangle-overrides.txt Entangle.types -include $(top_srcdir)/git.mk entangle-0.5.4/docs/reference/Makefile.in0000664000000000000000000006675512253420720015161 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ # -*- mode: makefile -*- #################################### # Everything below here is generic # #################################### VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ DIST_COMMON = $(top_srcdir)/gtk-doc.make $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am subdir = docs/reference ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ # We require automake 1.6 at least. AUTOMAKE_OPTIONS = 1.6 # This is a blank Makefile.am for using gtk-doc. # Copy this to your project's API docs directory and modify the variables to # suit your project. See the GTK+ Makefiles in gtk+/docs/reference for examples # of using the various options. # The name of the module, e.g. 'glib'. DOC_MODULE = Entangle # Uncomment for versioned docs and specify the version of the module, e.g. '2'. #DOC_MODULE_VERSION=2 # The top-level SGML file. You can change this if you want to. DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml # The directory containing the source code. Relative to $(srcdir). # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk DOC_SOURCE_DIR = $(top_srcdir)/src # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS = # Extra options to supply to gtkdoc-scan. # e.g. SCAN_OPTIONS=--deprecated-guards="GTK_DISABLE_DEPRECATED" SCAN_OPTIONS = --rebuild-sections --rebuild-types # Extra options to supply to gtkdoc-mkdb. # e.g. MKDB_OPTIONS=--sgml-mode --output-format=xml MKDB_OPTIONS = --sgml-mode --output-format=xml # Extra options to supply to gtkdoc-mktmpl # e.g. MKTMPL_OPTIONS=--only-section-tmpl MKTMPL_OPTIONS = # Extra options to supply to gtkdoc-mkhtml MKHTML_OPTIONS = # Extra options to supply to gtkdoc-fixref. Not normally needed. # e.g. FIXXREF_OPTIONS=--extra-dir=../gdk-pixbuf/html --extra-dir=../gdk/html FIXXREF_OPTIONS = # Used for dependencies. The docs will be rebuilt if any of these change. # e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h # e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c HFILE_GLOB = $(top_srcdir)/src/*/*.h CFILE_GLOB = $(top_srcdir)/src/*/*.c # Header files to ignore when scanning. # e.g. IGNORE_HFILES=gtkdebug.h gtkintl.h IGNORE_HFILES = # Images to copy into HTML directory. # e.g. HTML_IMAGES=$(top_srcdir)/gtk/stock-icons/stock_about_24.png HTML_IMAGES = # Extra SGML files that are included by $(DOC_MAIN_SGML_FILE). # e.g. content_files=running.sgml building.sgml changes-2.0.sgml content_files = # SGML files where gtk-doc abbrevations (#GtkWidget) are expanded # These files must be listed here *and* in content_files # e.g. expand_content_files=running.sgml expand_content_files = # CFLAGS and LDFLAGS for compiling gtkdoc-scangobj with your library. # Only needed if you are using gtkdoc-scangobj to dynamically query widget # signals and properties. # e.g. GTKDOC_CFLAGS=-I$(top_srcdir) -I$(top_builddir) $(GTK_DEBUG_FLAGS) # e.g. GTKDOC_LIBS=$(top_builddir)/gtk/$(gtktargetlib) GTKDOC_CFLAGS = \ $(GLIB_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GDK_PIXBUF_CFLAGS) \ $(GPHOTO2_CFLAGS) \ $(GCONF2_CFLAGS) \ $(LCMS_CFLAGS) \ $(HAL_CFLAGS) \ $(DBUS_GLIB_CFLAGS) \ $(GTHREAD_CFLAGS) \ $(GMODULE_CFLAGS) \ $(GTK_CFLAGS) \ $(LIBPEAS_CFLAGS) \ $(GLADE2_CFLAGS) \ $(LIBRAW_CFLAGS) \ $(UNIQUE_CFLAGS) GTKDOC_LIBS = $(top_builddir)/src/libentangle_backend.la $(top_builddir)/src/libentangle_frontend.la @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_CC = $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_CC = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(INCLUDES) $(GTKDOC_DEPS_CFLAGS) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_LD = $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_LD = $(LIBTOOL) --tag=CC --mode=link $(CC) $(GTKDOC_DEPS_LIBS) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) @GTK_DOC_USE_LIBTOOL_FALSE@GTKDOC_RUN = @GTK_DOC_USE_LIBTOOL_TRUE@GTKDOC_RUN = $(LIBTOOL) --mode=execute # We set GPATH here; this gives us semantics for GNU make # which are more like other make's VPATH, when it comes to # whether a source that is a target of one rule is then # searched for in VPATH/GPATH. # GPATH = $(srcdir) TARGET_DIR = $(HTML_DIR)/$(DOC_MODULE) SETUP_FILES = \ $(content_files) \ $(DOC_MAIN_SGML_FILE) \ $(DOC_MODULE)-sections.txt \ $(DOC_MODULE)-overrides.txt # This includes the standard gtk-doc make rules, copied by gtkdocize. # Other files to distribute # e.g. EXTRA_DIST += version.xml.in EXTRA_DIST = $(HTML_IMAGES) $(SETUP_FILES) DOC_STAMPS = setup-build.stamp scan-build.stamp sgml-build.stamp \ html-build.stamp pdf-build.stamp \ sgml.stamp html.stamp pdf.stamp SCANOBJ_FILES = \ $(DOC_MODULE).args \ $(DOC_MODULE).hierarchy \ $(DOC_MODULE).interfaces \ $(DOC_MODULE).prerequisites \ $(DOC_MODULE).signals REPORT_FILES = \ $(DOC_MODULE)-undocumented.txt \ $(DOC_MODULE)-undeclared.txt \ $(DOC_MODULE)-unused.txt CLEANFILES = $(SCANOBJ_FILES) $(REPORT_FILES) $(DOC_STAMPS) @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_FALSE@HTML_BUILD_STAMP = @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_HTML_TRUE@HTML_BUILD_STAMP = html-build.stamp @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_FALSE@PDF_BUILD_STAMP = @ENABLE_GTK_DOC_TRUE@@GTK_DOC_BUILD_PDF_TRUE@PDF_BUILD_STAMP = pdf-build.stamp #### setup #### GTK_DOC_V_SETUP = $(GTK_DOC_V_SETUP_$(V)) GTK_DOC_V_SETUP_ = $(GTK_DOC_V_SETUP_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_SETUP_0 = @echo " DOC Preparing build"; #### scan #### GTK_DOC_V_SCAN = $(GTK_DOC_V_SCAN_$(V)) GTK_DOC_V_SCAN_ = $(GTK_DOC_V_SCAN_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_SCAN_0 = @echo " DOC Scanning header files"; GTK_DOC_V_INTROSPECT = $(GTK_DOC_V_INTROSPECT_$(V)) GTK_DOC_V_INTROSPECT_ = $(GTK_DOC_V_INTROSPECT_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_INTROSPECT_0 = @echo " DOC Introspecting gobjects"; #### xml #### GTK_DOC_V_XML = $(GTK_DOC_V_XML_$(V)) GTK_DOC_V_XML_ = $(GTK_DOC_V_XML_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_XML_0 = @echo " DOC Building XML"; #### html #### GTK_DOC_V_HTML = $(GTK_DOC_V_HTML_$(V)) GTK_DOC_V_HTML_ = $(GTK_DOC_V_HTML_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_HTML_0 = @echo " DOC Building HTML"; GTK_DOC_V_XREF = $(GTK_DOC_V_XREF_$(V)) GTK_DOC_V_XREF_ = $(GTK_DOC_V_XREF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_XREF_0 = @echo " DOC Fixing cross-references"; #### pdf #### GTK_DOC_V_PDF = $(GTK_DOC_V_PDF_$(V)) GTK_DOC_V_PDF_ = $(GTK_DOC_V_PDF_$(AM_DEFAULT_VERBOSITY)) GTK_DOC_V_PDF_0 = @echo " DOC Building PDF"; # Files not to distribute # for --rebuild-types in $(SCAN_OPTIONS), e.g. $(DOC_MODULE).types # for --rebuild-sections in $(SCAN_OPTIONS) e.g. $(DOC_MODULE)-sections.txt #DISTCLEANFILES += # Comment this out if you want your docs-status tested during 'make check' #TESTS = $(GTKDOC_CHECK) GITIGNOREFILES = tmpl Entangle-sections.txt Entangle-overrides.txt Entangle.types all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(top_srcdir)/gtk-doc.make $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/reference/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/reference/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_srcdir)/gtk-doc.make: $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook check-am: all-am check: check-am all-am: Makefile all-local installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-local mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-local dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-data-local install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic \ maintainer-clean-local mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-local .MAKE: install-am install-strip .PHONY: all all-am all-local check check-am clean clean-generic \ clean-libtool clean-local cscopelist-am ctags-am dist-hook \ distclean distclean-generic distclean-libtool distclean-local \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-data-local \ install-dvi install-dvi-am install-exec install-exec-am \ install-html install-html-am install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ maintainer-clean-local mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \ uninstall-am uninstall-local @ENABLE_GTK_DOC_TRUE@all-local: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) @ENABLE_GTK_DOC_FALSE@all-local: docs: $(HTML_BUILD_STAMP) $(PDF_BUILD_STAMP) $(REPORT_FILES): sgml-build.stamp setup-build.stamp: -$(GTK_DOC_V_SETUP)if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ files=`echo $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types`; \ if test "x$$files" != "x" ; then \ for file in $$files ; do \ test -f $(abs_srcdir)/$$file && \ cp -pu $(abs_srcdir)/$$file $(abs_builddir)/$$file || true; \ done; \ fi; \ fi $(AM_V_at)touch setup-build.stamp scan-build.stamp: $(HFILE_GLOB) $(CFILE_GLOB) $(GTK_DOC_V_SCAN)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-scan --module=$(DOC_MODULE) --ignore-headers="$(IGNORE_HFILES)" $${_source_dir} $(SCAN_OPTIONS) $(EXTRA_HFILES) $(GTK_DOC_V_INTROSPECT)if grep -l '^..*$$' $(DOC_MODULE).types > /dev/null 2>&1 ; then \ scanobj_options=""; \ gtkdoc-scangobj 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ scanobj_options="--verbose"; \ fi; \ fi; \ CC="$(GTKDOC_CC)" LD="$(GTKDOC_LD)" RUN="$(GTKDOC_RUN)" CFLAGS="$(GTKDOC_CFLAGS) $(CFLAGS)" LDFLAGS="$(GTKDOC_LIBS) $(LDFLAGS)" \ gtkdoc-scangobj $(SCANGOBJ_OPTIONS) $$scanobj_options --module=$(DOC_MODULE); \ else \ for i in $(SCANOBJ_FILES) ; do \ test -f $$i || touch $$i ; \ done \ fi $(AM_V_at)touch scan-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt: scan-build.stamp @true sgml-build.stamp: setup-build.stamp $(DOC_MODULE)-decl.txt $(SCANOBJ_FILES) $(DOC_MODULE)-sections.txt $(DOC_MODULE)-overrides.txt $(expand_content_files) $(GTK_DOC_V_XML)_source_dir='' ; \ for i in $(DOC_SOURCE_DIR) ; do \ _source_dir="$${_source_dir} --source-dir=$$i" ; \ done ; \ gtkdoc-mkdb --module=$(DOC_MODULE) --output-format=xml --expand-content-files="$(expand_content_files)" --main-sgml-file=$(DOC_MAIN_SGML_FILE) $${_source_dir} $(MKDB_OPTIONS) $(AM_V_at)touch sgml-build.stamp sgml.stamp: sgml-build.stamp @true html-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(GTK_DOC_V_HTML)rm -rf html && mkdir html && \ mkhtml_options=""; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ mkhtml_options="$$mkhtml_options --verbose"; \ fi; \ fi; \ gtkdoc-mkhtml 2>&1 --help | grep >/dev/null "\-\-path"; \ if test "$(?)" = "0"; then \ mkhtml_options="$$mkhtml_options --path=\"$(abs_srcdir)\""; \ fi; \ cd html && gtkdoc-mkhtml $$mkhtml_options $(MKHTML_OPTIONS) $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) -@test "x$(HTML_IMAGES)" = "x" || \ for file in $(HTML_IMAGES) ; do \ if test -f $(abs_srcdir)/$$file ; then \ cp $(abs_srcdir)/$$file $(abs_builddir)/html; \ fi; \ if test -f $(abs_builddir)/$$file ; then \ cp $(abs_builddir)/$$file $(abs_builddir)/html; \ fi; \ done; $(GTK_DOC_V_XREF)gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) $(AM_V_at)touch html-build.stamp pdf-build.stamp: sgml.stamp $(DOC_MAIN_SGML_FILE) $(content_files) $(GTK_DOC_V_PDF)rm -f $(DOC_MODULE).pdf && \ mkpdf_options=""; \ gtkdoc-mkpdf 2>&1 --help | grep >/dev/null "\-\-verbose"; \ if test "$(?)" = "0"; then \ if test "x$(V)" = "x1"; then \ mkpdf_options="$$mkpdf_options --verbose"; \ fi; \ fi; \ if test "x$(HTML_IMAGES)" != "x"; then \ for img in $(HTML_IMAGES); do \ part=`dirname $$img`; \ echo $$mkpdf_options | grep >/dev/null "\-\-imgdir=$$part "; \ if test $$? != 0; then \ mkpdf_options="$$mkpdf_options --imgdir=$$part"; \ fi; \ done; \ fi; \ gtkdoc-mkpdf --path="$(abs_srcdir)" $$mkpdf_options $(DOC_MODULE) $(DOC_MAIN_SGML_FILE) $(MKPDF_OPTIONS) $(AM_V_at)touch pdf-build.stamp ############## clean-local: @rm -f *~ *.bak @rm -rf .libs distclean-local: @rm -rf xml html $(REPORT_FILES) $(DOC_MODULE).pdf \ $(DOC_MODULE)-decl-list.txt $(DOC_MODULE)-decl.txt @if test "$(abs_srcdir)" != "$(abs_builddir)" ; then \ rm -f $(SETUP_FILES) $(expand_content_files) $(DOC_MODULE).types; \ fi maintainer-clean-local: @rm -rf xml html install-data-local: @installfiles=`echo $(builddir)/html/*`; \ if test "$$installfiles" = '$(builddir)/html/*'; \ then echo 1>&2 'Nothing to install' ; \ else \ if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ $(mkinstalldirs) $${installdir} ; \ for i in $$installfiles; do \ echo ' $(INSTALL_DATA) '$$i ; \ $(INSTALL_DATA) $$i $${installdir}; \ done; \ if test -n "$(DOC_MODULE_VERSION)"; then \ mv -f $${installdir}/$(DOC_MODULE).devhelp2 \ $${installdir}/$(DOC_MODULE)-$(DOC_MODULE_VERSION).devhelp2; \ fi; \ $(GTKDOC_REBASE) --relative --dest-dir=$(DESTDIR) --html-dir=$${installdir}; \ fi uninstall-local: @if test -n "$(DOC_MODULE_VERSION)"; then \ installdir="$(DESTDIR)$(TARGET_DIR)-$(DOC_MODULE_VERSION)"; \ else \ installdir="$(DESTDIR)$(TARGET_DIR)"; \ fi; \ rm -rf $${installdir} # # Require gtk-doc when making dist # @ENABLE_GTK_DOC_TRUE@dist-check-gtkdoc: docs @ENABLE_GTK_DOC_FALSE@dist-check-gtkdoc: @ENABLE_GTK_DOC_FALSE@ @echo "*** gtk-doc must be installed and enabled in order to make dist" @ENABLE_GTK_DOC_FALSE@ @false dist-hook: dist-check-gtkdoc dist-hook-local @mkdir $(distdir)/html @cp ./html/* $(distdir)/html @-cp ./$(DOC_MODULE).pdf $(distdir)/ @-cp ./$(DOC_MODULE).types $(distdir)/ @-cp ./$(DOC_MODULE)-sections.txt $(distdir)/ @cd $(distdir) && rm -f $(DISTCLEANFILES) @$(GTKDOC_REBASE) --online --relative --html-dir=$(distdir)/html .PHONY : dist-hook-local docs -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/docs/reference/Entangle-docs.xml0000664000000000000000000000605312253420651016305 00000000000000 ]> Entangle Reference Manual for Entangle 0.1 The latest version of this documentation can be found on-line at http://entangle-project.org/api/. Entangle Backend Entangle Frontend Object Hierarchy API Index entangle-0.5.4/docs/reference/Entangle.types0000664000000000000000000000241512253421054015717 00000000000000entangle_application_get_type entangle_auto_drawer_get_type entangle_camera_file_get_type entangle_camera_get_type entangle_camera_info_data_get_type entangle_camera_info_get_type entangle_camera_list_get_type entangle_camera_manager_get_type entangle_camera_picker_get_type entangle_camera_support_get_type entangle_colour_profile_get_type entangle_colour_profile_intent_get_type entangle_colour_profile_transform_get_type entangle_control_button_get_type entangle_control_choice_get_type entangle_control_date_get_type entangle_control_get_type entangle_control_group_get_type entangle_control_panel_get_type entangle_control_range_get_type entangle_control_text_get_type entangle_control_toggle_get_type entangle_device_manager_get_type entangle_drawer_get_type entangle_help_about_get_type entangle_image_display_get_type entangle_image_display_grid_get_type entangle_image_get_type entangle_image_histogram_get_type entangle_image_loader_get_type entangle_image_popup_get_type entangle_image_statusbar_get_type entangle_overlay_box_get_type entangle_pixbuf_loader_get_type entangle_preferences_display_get_type entangle_preferences_get_type entangle_progress_get_type entangle_session_browser_get_type entangle_session_get_type entangle_thumbnail_loader_get_type entangle_window_get_type entangle-0.5.4/docs/reference/Entangle-sections.txt0000664000000000000000000006032012253421054017216 00000000000000
entangle-application EntangleApplication EntangleApplication EntangleApplicationClass entangle_application_new entangle_application_get_cameras entangle_application_get_preferences entangle_application_get_plugin_engine ENTANGLE_APPLICATION ENTANGLE_APPLICATION_CLASS ENTANGLE_APPLICATION_GET_CLASS ENTANGLE_IS_APPLICATION ENTANGLE_IS_APPLICATION_CLASS ENTANGLE_TYPE_APPLICATION EntangleApplicationPrivate entangle_application_get_type
entangle-auto-drawer EntangleAutoDrawer EntangleAutoDrawer EntangleAutoDrawerClass entangle_auto_drawer_new entangle_auto_drawer_set_slide_delay entangle_auto_drawer_set_overlap_pixels entangle_auto_drawer_set_no_overlap_pixels entangle_auto_drawer_set_active entangle_auto_drawer_set_pinned entangle_auto_drawer_set_fill entangle_auto_drawer_set_offset entangle_auto_drawer_close ENTANGLE_AUTO_DRAWER ENTANGLE_AUTO_DRAWER_CLASS ENTANGLE_AUTO_DRAWER_GET_CLASS ENTANGLE_IS_AUTO_DRAWER ENTANGLE_IS_AUTO_DRAWER_CLASS ENTANGLE_TYPE_AUTO_DRAWER EntangleAutoDrawerPrivate entangle_auto_drawer_get_type
entangle-camera EntangleCamera EntangleCamera EntangleCameraClass entangle_camera_new entangle_camera_get_model entangle_camera_get_port entangle_camera_connect entangle_camera_connect_async entangle_camera_connect_finish entangle_camera_disconnect entangle_camera_disconnect_async entangle_camera_disconnect_finish entangle_camera_get_connected entangle_camera_get_summary entangle_camera_get_manual entangle_camera_get_driver entangle_camera_capture_image entangle_camera_capture_image_async entangle_camera_capture_image_finish entangle_camera_preview_image entangle_camera_preview_image_async entangle_camera_preview_image_finish entangle_camera_download_file entangle_camera_download_file_async entangle_camera_download_file_finish entangle_camera_delete_file entangle_camera_delete_file_async entangle_camera_delete_file_finish entangle_camera_process_events entangle_camera_process_events_async entangle_camera_process_events_finish entangle_camera_set_viewfinder entangle_camera_set_viewfinder_async entangle_camera_set_viewfinder_finish entangle_camera_autofocus entangle_camera_autofocus_async entangle_camera_autofocus_finish entangle_camera_manualfocus entangle_camera_manualfocus_async entangle_camera_manualfocus_finish entangle_camera_get_has_capture entangle_camera_get_has_preview entangle_camera_get_has_settings entangle_camera_get_has_viewfinder entangle_camera_load_controls entangle_camera_load_controls_async entangle_camera_load_controls_finish entangle_camera_save_controls entangle_camera_save_controls_async entangle_camera_save_controls_finish entangle_camera_get_controls entangle_camera_set_progress entangle_camera_get_progress entangle_camera_is_mounted entangle_camera_mount_async entangle_camera_mount_finish entangle_camera_unmount_async entangle_camera_unmount_finish ENTANGLE_CAMERA ENTANGLE_CAMERA_CLASS ENTANGLE_CAMERA_GET_CLASS ENTANGLE_IS_CAMERA ENTANGLE_IS_CAMERA_CLASS ENTANGLE_TYPE_CAMERA EntangleCameraPrivate entangle_camera_get_type
entangle-camera-file EntangleCameraFile EntangleCameraFile EntangleCameraFileClass entangle_camera_file_new entangle_camera_file_get_folder entangle_camera_file_get_name entangle_camera_file_save_path entangle_camera_file_save_uri entangle_camera_file_get_data entangle_camera_file_set_data entangle_camera_file_get_mimetype entangle_camera_file_set_mimetype ENTANGLE_CAMERA_FILE ENTANGLE_CAMERA_FILE_CLASS ENTANGLE_CAMERA_FILE_GET_CLASS ENTANGLE_IS_CAMERA_FILE ENTANGLE_IS_CAMERA_FILE_CLASS ENTANGLE_TYPE_CAMERA_FILE EntangleCameraFilePrivate entangle_camera_file_get_type
entangle-camera-info EntangleCameraInfo EntangleCameraInfo EntangleCameraInfoClass EntangleCameraInfoData entangle_camera_info_new entangle_camera_info_set_data entangle_camera_info_get_data entangle_camera_info_set_camera entangle_camera_info_get_camera ENTANGLE_CAMERA_INFO ENTANGLE_CAMERA_INFO_CLASS ENTANGLE_CAMERA_INFO_GET_CLASS ENTANGLE_IS_CAMERA_INFO ENTANGLE_IS_CAMERA_INFO_CLASS ENTANGLE_TYPE_CAMERA_INFO ENTANGLE_TYPE_CAMERA_INFO_DATA EntangleCameraInfoPrivate entangle_camera_info_data_get_type entangle_camera_info_get_type
entangle-camera-list EntangleCameraList EntangleCameraList EntangleCameraListClass entangle_camera_list_new entangle_camera_list_refresh entangle_camera_list_count entangle_camera_list_add entangle_camera_list_remove entangle_camera_list_get entangle_camera_list_get_cameras entangle_camera_list_find entangle_camera_list_get_supported ENTANGLE_CAMERA_LIST ENTANGLE_CAMERA_LIST_CLASS ENTANGLE_CAMERA_LIST_GET_CLASS ENTANGLE_IS_CAMERA_LIST ENTANGLE_IS_CAMERA_LIST_CLASS ENTANGLE_TYPE_CAMERA_LIST EntangleCameraListPrivate entangle_camera_list_get_type
entangle-camera-manager EntangleCameraManager EntangleCameraManager EntangleCameraManagerClass entangle_camera_manager_new entangle_camera_manager_capture entangle_camera_manager_preview_begin entangle_camera_manager_preview_cancel entangle_camera_manager_set_camera entangle_camera_manager_get_camera ENTANGLE_CAMERA_MANAGER ENTANGLE_CAMERA_MANAGER_CLASS ENTANGLE_CAMERA_MANAGER_GET_CLASS ENTANGLE_IS_CAMERA_MANAGER ENTANGLE_IS_CAMERA_MANAGER_CLASS ENTANGLE_TYPE_CAMERA_MANAGER EntangleCameraManagerPrivate entangle_camera_manager_get_type
entangle-camera-picker EntangleCameraPicker EntangleCameraPicker EntangleCameraPickerClass entangle_camera_picker_new entangle_camera_picker_set_camera_list ENTANGLE_CAMERA_PICKER ENTANGLE_CAMERA_PICKER_CLASS ENTANGLE_CAMERA_PICKER_GET_CLASS ENTANGLE_IS_CAMERA_PICKER ENTANGLE_IS_CAMERA_PICKER_CLASS ENTANGLE_TYPE_CAMERA_PICKER EntangleCameraPickerPrivate entangle_camera_picker_get_type
entangle-camera-support EntangleCameraSupport ENTANGLE_TYPE_CAMERA_SUPPORT_DATA EntangleCameraSupport EntangleCameraSupportClass entangle_camera_support_new entangle_camera_support_set_camera_list entangle_camera_support_get_camera_list ENTANGLE_CAMERA_SUPPORT ENTANGLE_CAMERA_SUPPORT_CLASS ENTANGLE_CAMERA_SUPPORT_GET_CLASS ENTANGLE_IS_CAMERA_SUPPORT ENTANGLE_IS_CAMERA_SUPPORT_CLASS ENTANGLE_TYPE_CAMERA_SUPPORT EntangleCameraSupportPrivate entangle_camera_support_get_type
entangle-colour-profile EntangleColourProfileTransform EntangleColourProfile EntangleColourProfile EntangleColourProfileClass EntangleColourProfileTransform EntangleColourProfileTransformClass EntangleColourProfileIntent entangle_colour_profile_new_file entangle_colour_profile_new_data entangle_colour_profile_filename entangle_colour_profile_product_name entangle_colour_profile_product_desc entangle_colour_profile_product_info entangle_colour_profile_manufacturer entangle_colour_profile_model entangle_colour_profile_copyright entangle_colour_profile_transform_new entangle_colour_profile_transform_apply ENTANGLE_COLOUR_PROFILE ENTANGLE_COLOUR_PROFILE_CLASS ENTANGLE_COLOUR_PROFILE_GET_CLASS ENTANGLE_COLOUR_PROFILE_TRANSFORM ENTANGLE_COLOUR_PROFILE_TRANSFORM_CLASS ENTANGLE_COLOUR_PROFILE_TRANSFORM_GET_CLASS ENTANGLE_IS_COLOUR_PROFILE ENTANGLE_IS_COLOUR_PROFILE_CLASS ENTANGLE_IS_COLOUR_PROFILE_TRANSFORM ENTANGLE_IS_COLOUR_PROFILE_TRANSFORM_CLASS ENTANGLE_TYPE_COLOUR_PROFILE ENTANGLE_TYPE_COLOUR_PROFILE_TRANSFORM EntangleColourProfilePrivate EntangleColourProfileTransformPrivate entangle_colour_profile_get_type entangle_colour_profile_transform_get_type
entangle-colour-profile-enums ENTANGLE_TYPE_COLOUR_PROFILE_INTENT entangle_colour_profile_intent_get_type
entangle-control EntangleControl EntangleControl EntangleControlClass entangle_control_new entangle_control_get_id entangle_control_get_path entangle_control_get_label entangle_control_get_info entangle_control_get_dirty entangle_control_set_dirty entangle_control_get_readonly entangle_control_set_readonly ENTANGLE_CONTROL ENTANGLE_CONTROL_CLASS ENTANGLE_CONTROL_GET_CLASS ENTANGLE_IS_CONTROL ENTANGLE_IS_CONTROL_CLASS ENTANGLE_TYPE_CONTROL EntangleControlPrivate entangle_control_get_type
entangle-control-button EntangleControlButton EntangleControlButton EntangleControlButtonClass entangle_control_button_new ENTANGLE_CONTROL_BUTTON ENTANGLE_CONTROL_BUTTON_CLASS ENTANGLE_CONTROL_BUTTON_GET_CLASS ENTANGLE_IS_CONTROL_BUTTON ENTANGLE_IS_CONTROL_BUTTON_CLASS ENTANGLE_TYPE_CONTROL_BUTTON EntangleControlButtonPrivate entangle_control_button_get_type
entangle-control-choice EntangleControlChoice EntangleControlChoice EntangleControlChoiceClass entangle_control_choice_new entangle_control_choice_add_entry entangle_control_choice_entry_count entangle_control_choice_entry_get ENTANGLE_CONTROL_CHOICE ENTANGLE_CONTROL_CHOICE_CLASS ENTANGLE_CONTROL_CHOICE_GET_CLASS ENTANGLE_IS_CONTROL_CHOICE ENTANGLE_IS_CONTROL_CHOICE_CLASS ENTANGLE_TYPE_CONTROL_CHOICE EntangleControlChoicePrivate entangle_control_choice_get_type
entangle-control-date EntangleControlDate EntangleControlDate EntangleControlDateClass entangle_control_date_new ENTANGLE_CONTROL_DATE ENTANGLE_CONTROL_DATE_CLASS ENTANGLE_CONTROL_DATE_GET_CLASS ENTANGLE_IS_CONTROL_DATE ENTANGLE_IS_CONTROL_DATE_CLASS ENTANGLE_TYPE_CONTROL_DATE EntangleControlDatePrivate entangle_control_date_get_type
entangle-control-group EntangleControlGroup EntangleControlGroup EntangleControlGroupClass entangle_control_group_new entangle_control_group_add entangle_control_group_count entangle_control_group_get entangle_control_group_get_by_path ENTANGLE_CONTROL_GROUP ENTANGLE_CONTROL_GROUP_CLASS ENTANGLE_CONTROL_GROUP_GET_CLASS ENTANGLE_IS_CONTROL_GROUP ENTANGLE_IS_CONTROL_GROUP_CLASS ENTANGLE_TYPE_CONTROL_GROUP EntangleControlGroupPrivate entangle_control_group_get_type
entangle-control-panel EntangleControlPanel EntangleControlPanel EntangleControlPanelClass entangle_control_panel_new entangle_control_panel_set_camera entangle_control_panel_get_camera entangle_control_panel_get_has_controls ENTANGLE_CONTROL_PANEL ENTANGLE_CONTROL_PANEL_CLASS ENTANGLE_CONTROL_PANEL_GET_CLASS ENTANGLE_IS_CONTROL_PANEL ENTANGLE_IS_CONTROL_PANEL_CLASS ENTANGLE_TYPE_CONTROL_PANEL EntangleControlPanelPrivate entangle_control_panel_get_type
entangle-control-range EntangleControlRange EntangleControlRange EntangleControlRangeClass entangle_control_range_new entangle_control_range_get_min entangle_control_range_get_max entangle_control_range_get_step ENTANGLE_CONTROL_RANGE ENTANGLE_CONTROL_RANGE_CLASS ENTANGLE_CONTROL_RANGE_GET_CLASS ENTANGLE_IS_CONTROL_RANGE ENTANGLE_IS_CONTROL_RANGE_CLASS ENTANGLE_TYPE_CONTROL_RANGE EntangleControlRangePrivate entangle_control_range_get_type
entangle-control-text EntangleControlText EntangleControlText EntangleControlTextClass entangle_control_text_new ENTANGLE_CONTROL_TEXT ENTANGLE_CONTROL_TEXT_CLASS ENTANGLE_CONTROL_TEXT_GET_CLASS ENTANGLE_IS_CONTROL_TEXT ENTANGLE_IS_CONTROL_TEXT_CLASS ENTANGLE_TYPE_CONTROL_TEXT EntangleControlTextPrivate entangle_control_text_get_type
entangle-control-toggle EntangleControlToggle EntangleControlToggle EntangleControlToggleClass entangle_control_toggle_new ENTANGLE_CONTROL_TOGGLE ENTANGLE_CONTROL_TOGGLE_CLASS ENTANGLE_CONTROL_TOGGLE_GET_CLASS ENTANGLE_IS_CONTROL_TOGGLE ENTANGLE_IS_CONTROL_TOGGLE_CLASS ENTANGLE_TYPE_CONTROL_TOGGLE EntangleControlTogglePrivate entangle_control_toggle_get_type
entangle-debug entangle_debug_app entangle_debug_gphoto entangle_debug_startms entangle_debug_setup ENTANGLE_DEBUG
entangle-device-manager EntangleDeviceManager EntangleDeviceManager EntangleDeviceManagerClass entangle_device_manager_new entangle_device_manager_has_port entangle_device_manager_port_serial ENTANGLE_DEVICE_MANAGER ENTANGLE_DEVICE_MANAGER_CLASS ENTANGLE_DEVICE_MANAGER_GET_CLASS ENTANGLE_IS_DEVICE_MANAGER ENTANGLE_IS_DEVICE_MANAGER_CLASS ENTANGLE_TYPE_DEVICE_MANAGER EntangleDeviceManagerPrivate entangle_device_manager_get_type
entangle-dpms entangle_dpms_set_blanking
entangle-drawer EntangleDrawer EntangleDrawer EntangleDrawerClass entangle_drawer_new entangle_drawer_set_speed entangle_drawer_set_goal entangle_drawer_get_close_time ENTANGLE_DRAWER ENTANGLE_DRAWER_CLASS ENTANGLE_DRAWER_GET_CLASS ENTANGLE_IS_DRAWER ENTANGLE_IS_DRAWER_CLASS ENTANGLE_TYPE_DRAWER EntangleDrawerPrivate entangle_drawer_get_type
entangle-help-about EntangleHelpAbout EntangleHelpAbout EntangleHelpAboutClass entangle_help_about_new ENTANGLE_HELP_ABOUT ENTANGLE_HELP_ABOUT_CLASS ENTANGLE_HELP_ABOUT_GET_CLASS ENTANGLE_IS_HELP_ABOUT ENTANGLE_IS_HELP_ABOUT_CLASS ENTANGLE_TYPE_HELP_ABOUT EntangleHelpAboutPrivate entangle_help_about_get_type
entangle-image EntangleImage EntangleImage EntangleImageClass entangle_image_new_file entangle_image_new_pixbuf entangle_image_get_filename entangle_image_get_last_modified entangle_image_get_file_size entangle_image_delete entangle_image_get_pixbuf entangle_image_set_pixbuf entangle_image_get_metadata entangle_image_set_metadata ENTANGLE_IMAGE ENTANGLE_IMAGE_CLASS ENTANGLE_IMAGE_GET_CLASS ENTANGLE_IS_IMAGE ENTANGLE_IS_IMAGE_CLASS ENTANGLE_TYPE_IMAGE EntangleImagePrivate entangle_image_get_type
entangle-image-display EntangleImageDisplay EntangleImageDisplay EntangleImageDisplayClass entangle_image_display_new entangle_image_display_set_image entangle_image_display_get_image entangle_image_display_set_image_list entangle_image_display_get_image_list entangle_image_display_set_autoscale entangle_image_display_get_autoscale entangle_image_display_set_scale entangle_image_display_get_scale entangle_image_display_set_aspect_ratio entangle_image_display_get_aspect_ratio entangle_image_display_set_mask_opacity entangle_image_display_get_mask_opacity entangle_image_display_set_mask_enabled entangle_image_display_get_mask_enabled entangle_image_display_set_focus_point entangle_image_display_get_focus_point entangle_image_display_get_loaded EntangleImageDisplayGrid entangle_image_display_set_grid_display entangle_image_display_get_grid_display ENTANGLE_IMAGE_DISPLAY ENTANGLE_IMAGE_DISPLAY_CLASS ENTANGLE_IMAGE_DISPLAY_GET_CLASS ENTANGLE_IS_IMAGE_DISPLAY ENTANGLE_IS_IMAGE_DISPLAY_CLASS ENTANGLE_TYPE_IMAGE_DISPLAY EntangleImageDisplayPrivate entangle_image_display_get_type
entangle-image-display-enums ENTANGLE_TYPE_IMAGE_DISPLAY_GRID entangle_image_display_grid_get_type
entangle-image-histogram EntangleImageHistogram EntangleImageHistogram EntangleImageHistogramClass entangle_image_histogram_new entangle_image_histogram_set_image entangle_image_histogram_get_image entangle_image_histogram_set_histogram_linear entangle_image_histogram_get_histogram_linear ENTANGLE_IMAGE_HISTOGRAM ENTANGLE_IMAGE_HISTOGRAM_CLASS ENTANGLE_IMAGE_HISTOGRAM_GET_CLASS ENTANGLE_IS_IMAGE_HISTOGRAM ENTANGLE_IS_IMAGE_HISTOGRAM_CLASS ENTANGLE_TYPE_IMAGE_HISTOGRAM EntangleImageHistogramPrivate entangle_image_histogram_get_type
entangle-image-loader EntangleImageLoader EntangleImageLoader EntangleImageLoaderClass entangle_image_loader_new entangle_image_loader_add entangle_image_loader_remove entangle_image_loader_get_embedded_preview entangle_image_loader_set_embedded_preview ENTANGLE_IMAGE_LOADER ENTANGLE_IMAGE_LOADER_CLASS ENTANGLE_IMAGE_LOADER_GET_CLASS ENTANGLE_IS_IMAGE_LOADER ENTANGLE_IS_IMAGE_LOADER_CLASS ENTANGLE_TYPE_IMAGE_LOADER EntangleImageLoaderPrivate entangle_image_loader_get_type
entangle-image-popup EntangleImagePopup EntangleImagePopup EntangleImagePopupClass entangle_image_popup_new entangle_image_popup_show entangle_image_popup_move_to_monitor entangle_image_popup_show_on_monitor entangle_image_popup_set_image entangle_image_popup_get_image ENTANGLE_IMAGE_POPUP ENTANGLE_IMAGE_POPUP_CLASS ENTANGLE_IMAGE_POPUP_GET_CLASS ENTANGLE_IS_IMAGE_POPUP ENTANGLE_IS_IMAGE_POPUP_CLASS ENTANGLE_TYPE_IMAGE_POPUP EntangleImagePopupPrivate entangle_image_popup_get_type
entangle-image-statusbar EntangleImageStatusbar EntangleImageStatusbar EntangleImageStatusbarClass entangle_image_statusbar_new entangle_image_statusbar_set_image entangle_image_statusbar_get_image ENTANGLE_IMAGE_STATUSBAR ENTANGLE_IMAGE_STATUSBAR_CLASS ENTANGLE_IMAGE_STATUSBAR_GET_CLASS ENTANGLE_IS_IMAGE_STATUSBAR ENTANGLE_IS_IMAGE_STATUSBAR_CLASS ENTANGLE_TYPE_IMAGE_STATUSBAR EntangleImageStatusbarPrivate entangle_image_statusbar_get_type
entangle-overlay-box EntangleOverlayBox EntangleOverlayBox EntangleOverlayBoxClass entangle_overlay_box_new entangle_overlay_box_set_under entangle_overlay_box_set_over entangle_overlay_box_set_min entangle_overlay_box_set_fraction entangle_overlay_box_get_fraction ENTANGLE_IS_OVERLAY_BOX ENTANGLE_IS_OVERLAY_BOX_CLASS ENTANGLE_OVERLAY_BOX ENTANGLE_OVERLAY_BOX_CLASS ENTANGLE_OVERLAY_BOX_GET_CLASS ENTANGLE_TYPE_OVERLAY_BOX EntangleOverlayBoxPrivate entangle_overlay_box_get_type
entangle-pixbuf entangle_pixbuf_auto_rotate EntanglePixbufImageSlot entangle_pixbuf_open_image
entangle-pixbuf-loader EntanglePixbufLoader EntanglePixbufLoader EntanglePixbufLoaderClass entangle_pixbuf_loader_is_ready entangle_pixbuf_loader_get_pixbuf entangle_pixbuf_loader_get_metadata entangle_pixbuf_loader_load entangle_pixbuf_loader_unload entangle_pixbuf_loader_trigger_reload entangle_pixbuf_loader_set_colour_transform entangle_pixbuf_loader_get_colour_transform entangle_pixbuf_loader_set_workers entangle_pixbuf_loader_get_workers ENTANGLE_IS_PIXBUF_LOADER ENTANGLE_IS_PIXBUF_LOADER_CLASS ENTANGLE_PIXBUF_LOADER ENTANGLE_PIXBUF_LOADER_CLASS ENTANGLE_PIXBUF_LOADER_GET_CLASS ENTANGLE_TYPE_PIXBUF_LOADER EntanglePixbufLoaderPrivate entangle_pixbuf_loader_get_type
entangle-preferences EntanglePreferences EntanglePreferences EntanglePreferencesClass entangle_preferences_new entangle_preferences_interface_get_auto_connect entangle_preferences_interface_set_auto_connect entangle_preferences_interface_get_screen_blank entangle_preferences_interface_set_screen_blank entangle_preferences_interface_get_plugins entangle_preferences_interface_add_plugin entangle_preferences_interface_remove_plugin entangle_preferences_interface_get_histogram_linear entangle_preferences_interface_set_histogram_linear entangle_preferences_capture_get_last_session entangle_preferences_capture_set_last_session entangle_preferences_capture_get_filename_pattern entangle_preferences_capture_set_filename_pattern entangle_preferences_capture_get_continuous_preview entangle_preferences_capture_set_continuous_preview entangle_preferences_capture_get_delete_file entangle_preferences_capture_set_delete_file entangle_preferences_cms_get_enabled entangle_preferences_cms_set_enabled entangle_preferences_cms_get_rgb_profile entangle_preferences_cms_set_rgb_profile entangle_preferences_cms_get_monitor_profile entangle_preferences_cms_set_monitor_profile entangle_preferences_cms_get_detect_system_profile entangle_preferences_cms_set_detect_system_profile entangle_preferences_cms_get_rendering_intent entangle_preferences_cms_set_rendering_intent entangle_preferences_img_get_aspect_ratio entangle_preferences_img_set_aspect_ratio entangle_preferences_img_get_mask_opacity entangle_preferences_img_set_mask_opacity entangle_preferences_img_get_mask_enabled entangle_preferences_img_set_mask_enabled entangle_preferences_img_get_focus_point entangle_preferences_img_set_focus_point entangle_preferences_img_get_grid_lines entangle_preferences_img_set_grid_lines entangle_preferences_img_get_embedded_preview entangle_preferences_img_set_embedded_preview entangle_preferences_img_get_onion_skin entangle_preferences_img_set_onion_skin entangle_preferences_img_get_onion_layers entangle_preferences_img_set_onion_layers ENTANGLE_IS_PREFERENCES ENTANGLE_IS_PREFERENCES_CLASS ENTANGLE_PREFERENCES ENTANGLE_PREFERENCES_CLASS ENTANGLE_PREFERENCES_GET_CLASS ENTANGLE_TYPE_PREFERENCES EntanglePreferencesPrivate entangle_preferences_get_type
entangle-preferences-display EntanglePreferencesDisplay EntanglePreferencesDisplay EntanglePreferencesDisplayClass entangle_preferences_display_new ENTANGLE_IS_PREFERENCES_DISPLAY ENTANGLE_IS_PREFERENCES_DISPLAY_CLASS ENTANGLE_PREFERENCES_DISPLAY ENTANGLE_PREFERENCES_DISPLAY_CLASS ENTANGLE_PREFERENCES_DISPLAY_GET_CLASS ENTANGLE_TYPE_PREFERENCES_DISPLAY EntanglePreferencesDisplayPrivate entangle_preferences_display_get_type
entangle-progress EntangleProgress EntangleProgressInterface entangle_progress_start entangle_progress_update entangle_progress_stop ENTANGLE_IS_PROGRESS ENTANGLE_PROGRESS ENTANGLE_PROGRESS_GET_INTERFACE ENTANGLE_TYPE_PROGRESS entangle_progress_get_type
entangle-session EntangleSession EntangleSession EntangleSessionClass entangle_session_new entangle_session_directory entangle_session_filename_pattern entangle_session_next_filename entangle_session_load entangle_session_add entangle_session_remove entangle_session_image_count entangle_session_image_get ENTANGLE_IS_SESSION ENTANGLE_IS_SESSION_CLASS ENTANGLE_SESSION ENTANGLE_SESSION_CLASS ENTANGLE_SESSION_GET_CLASS ENTANGLE_TYPE_SESSION EntangleSessionPrivate entangle_session_get_type
entangle-session-browser EntangleSessionBrowser EntangleSessionBrowser EntangleSessionBrowserClass entangle_session_browser_new entangle_session_browser_selected_image entangle_session_browser_earlier_images entangle_session_browser_set_thumbnail_loader entangle_session_browser_get_thumbnail_loader entangle_session_browser_set_session entangle_session_browser_get_session entangle_session_browser_get_image_at_coords ENTANGLE_IS_SESSION_BROWSER ENTANGLE_IS_SESSION_BROWSER_CLASS ENTANGLE_SESSION_BROWSER ENTANGLE_SESSION_BROWSER_CLASS ENTANGLE_SESSION_BROWSER_GET_CLASS ENTANGLE_TYPE_SESSION_BROWSER EntangleSessionBrowserPrivate entangle_session_browser_get_type
entangle-thumbnail-loader EntangleThumbnailLoader EntangleThumbnailLoader EntangleThumbnailLoaderClass entangle_thumbnail_loader_new ENTANGLE_IS_THUMBNAIL_LOADER ENTANGLE_IS_THUMBNAIL_LOADER_CLASS ENTANGLE_THUMBNAIL_LOADER ENTANGLE_THUMBNAIL_LOADER_CLASS ENTANGLE_THUMBNAIL_LOADER_GET_CLASS ENTANGLE_TYPE_THUMBNAIL_LOADER EntangleThumbnailLoaderPrivate entangle_thumbnail_loader_get_type
entangle-window EntangleWindow EntangleWindowInterface entangle_window_new entangle_window_set_builder ENTANGLE_IS_WINDOW ENTANGLE_TYPE_WINDOW ENTANGLE_WINDOW ENTANGLE_WINDOW_GET_INTERFACE entangle_window_get_type
entangle-0.5.4/docs/reference/Entangle-overrides.txt0000664000000000000000000000000012253421010017346 00000000000000entangle-0.5.4/docs/reference/html/0000775000000000000000000000000012253421054014116 500000000000000entangle-0.5.4/docs/reference/html/Entangle.devhelp20000664000000000000000000020457512253421054017243 00000000000000 entangle-0.5.4/docs/reference/html/EntangleControlPanel.html0000664000000000000000000002317712253421054021014 00000000000000 EntangleControlPanel

EntangleControlPanel

EntangleControlPanel

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBox
                           +----GtkVBox
                                 +----EntangleControlPanel

Implemented Interfaces

EntangleControlPanel implements AtkImplementorIface, GtkBuildable and GtkOrientable.

Properties

  "camera"                   EntangleCamera*       : Read / Write
  "has-controls"             gboolean              : Read

Description

Details

struct EntangleControlPanel

struct EntangleControlPanel;

struct EntangleControlPanelClass

struct EntangleControlPanelClass {
    GtkVBoxClass parent_class;
};

entangle_control_panel_new ()

EntangleControlPanel * entangle_control_panel_new       (void);

entangle_control_panel_set_camera ()

void                entangle_control_panel_set_camera   (EntangleControlPanel *panel,
                                                         EntangleCamera *cam);

entangle_control_panel_get_camera ()

EntangleCamera *    entangle_control_panel_get_camera   (EntangleControlPanel *panel);

entangle_control_panel_get_has_controls ()

gboolean            entangle_control_panel_get_has_controls
                                                        (EntangleControlPanel *panel);

Property Details

The "camera" property

  "camera"                   EntangleCamera*       : Read / Write

Camera to managed.


The "has-controls" property

  "has-controls"             gboolean              : Read

Has Controls.

Default value: FALSE

entangle-0.5.4/docs/reference/html/left.png0000644000000000000000000000071312253421054015475 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME1&[(XIDATx!OPE*ID%~ꊯ"p'ŏ`sܖrKf hmiIz}ܯI.p\`x l?l[,Hk<#c%\AUx[S7n6rzEs1j@NL$ݤi0 5/}\EKIo͓$a0jdFbkIAh>WlC'?tk;|/t*INZ^`y4Nr]׮ J<ڐt`X1@p䀸dZ')hK $V?%]+LsgUK"w53OIENDB`entangle-0.5.4/docs/reference/html/EntangleImageHistogram.html0000664000000000000000000002445512253421054021314 00000000000000 EntangleImageHistogram

EntangleImageHistogram

EntangleImageHistogram

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkDrawingArea
                     +----EntangleImageHistogram

Implemented Interfaces

EntangleImageHistogram implements AtkImplementorIface and GtkBuildable.

Properties

  "image"                    EntangleImage*        : Read / Write

Description

Details

struct EntangleImageHistogram

struct EntangleImageHistogram;

struct EntangleImageHistogramClass

struct EntangleImageHistogramClass {
    GtkDrawingAreaClass parent_class;
};

entangle_image_histogram_new ()

EntangleImageHistogram * entangle_image_histogram_new   (void);

entangle_image_histogram_set_image ()

void                entangle_image_histogram_set_image  (EntangleImageHistogram *histogram,
                                                         EntangleImage *image);

entangle_image_histogram_get_image ()

EntangleImage *     entangle_image_histogram_get_image  (EntangleImageHistogram *histogram);

entangle_image_histogram_set_histogram_linear ()

void                entangle_image_histogram_set_histogram_linear
                                                        (EntangleImageHistogram *histogram,
                                                         gboolean linear);

entangle_image_histogram_get_histogram_linear ()

gboolean            entangle_image_histogram_get_histogram_linear
                                                        (EntangleImageHistogram *histogram);

Property Details

The "image" property

  "image"                    EntangleImage*        : Read / Write

Image to be histogramed.

entangle-0.5.4/docs/reference/html/EntangleControlText.html0000664000000000000000000001422712253421054020675 00000000000000 EntangleControlText

EntangleControlText

EntangleControlText

Synopsis

struct              EntangleControlText;
struct              EntangleControlTextClass;
EntangleControlText * entangle_control_text_new         (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlText

Properties

  "value"                    gchar*                : Read / Write

Description

Details

struct EntangleControlText

struct EntangleControlText;

struct EntangleControlTextClass

struct EntangleControlTextClass {
    EntangleControlClass parent_class;
};

entangle_control_text_new ()

EntangleControlText * entangle_control_text_new         (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Property Details

The "value" property

  "value"                    gchar*                : Read / Write

Current value of the control.

Default value: NULL

entangle-0.5.4/docs/reference/html/annotation-glossary.html0000664000000000000000000000447212253421054020746 00000000000000 Annotation Glossary

Annotation Glossary

E

element-type

Generics and defining elements of containers and arrays.

T

transfer container

Free data container after the code is done.

transfer full

Free data after the code is done.

transfer none

Don't free data after the code is done.

entangle-0.5.4/docs/reference/html/EntangleControl.html0000664000000000000000000003770512253421054020036 00000000000000 EntangleControl

EntangleControl

EntangleControl

Synopsis

struct              EntangleControl;
struct              EntangleControlClass;
EntangleControl *   entangle_control_new                (const gchar *path,
                                                         gint id,
                                                         const gchar *label,
                                                         const gchar *info,
                                                         gboolean readonly);
gint                entangle_control_get_id             (EntangleControl *control);
const gchar *       entangle_control_get_path           (EntangleControl *control);
const gchar *       entangle_control_get_label          (EntangleControl *control);
const gchar *       entangle_control_get_info           (EntangleControl *control);
gboolean            entangle_control_get_dirty          (EntangleControl *control);
void                entangle_control_set_dirty          (EntangleControl *control,
                                                         gboolean dirty);
gboolean            entangle_control_get_readonly       (EntangleControl *control);
void                entangle_control_set_readonly       (EntangleControl *control,
                                                         gboolean ro);

Properties

  "dirty"                    gboolean              : Read / Write / Construct Only
  "id"                       gint                  : Read / Write / Construct Only
  "info"                     gchar*                : Read / Write / Construct Only
  "label"                    gchar*                : Read / Write / Construct Only
  "path"                     gchar*                : Read / Write / Construct Only
  "readonly"                 gboolean              : Read / Write / Construct Only

Description

Details

struct EntangleControl

struct EntangleControl;

struct EntangleControlClass

struct EntangleControlClass {
    GObjectClass parent_class;
};

entangle_control_new ()

EntangleControl *   entangle_control_new                (const gchar *path,
                                                         gint id,
                                                         const gchar *label,
                                                         const gchar *info,
                                                         gboolean readonly);

entangle_control_get_id ()

gint                entangle_control_get_id             (EntangleControl *control);

entangle_control_get_path ()

const gchar *       entangle_control_get_path           (EntangleControl *control);

entangle_control_get_label ()

const gchar *       entangle_control_get_label          (EntangleControl *control);

entangle_control_get_info ()

const gchar *       entangle_control_get_info           (EntangleControl *control);

entangle_control_get_dirty ()

gboolean            entangle_control_get_dirty          (EntangleControl *control);

entangle_control_set_dirty ()

void                entangle_control_set_dirty          (EntangleControl *control,
                                                         gboolean dirty);

entangle_control_get_readonly ()

gboolean            entangle_control_get_readonly       (EntangleControl *control);

entangle_control_set_readonly ()

void                entangle_control_set_readonly       (EntangleControl *control,
                                                         gboolean ro);

Property Details

The "dirty" property

  "dirty"                    gboolean              : Read / Write / Construct Only

Dirty if value has been changed.

Default value: FALSE


The "id" property

  "id"                       gint                  : Read / Write / Construct Only

Id of the control.

Allowed values: >= 0

Default value: 0


The "info" property

  "info"                     gchar*                : Read / Write / Construct Only

Info of the control.

Default value: NULL


The "label" property

  "label"                    gchar*                : Read / Write / Construct Only

Label of the control.

Default value: NULL


The "path" property

  "path"                     gchar*                : Read / Write / Construct Only

Path of the control.

Default value: NULL


The "readonly" property

  "readonly"                 gboolean              : Read / Write / Construct Only

State of the control.

Default value: FALSE

entangle-0.5.4/docs/reference/html/up.png0000644000000000000000000000062612253421054015172 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME2.E#IDATx=J@Fo] !+2[Z<@/9|t$D9nnBjBRIsI:H8UPN1fcsN95M㧖ɵ 束1~pEe$I 7nrDf!;`'ykI䲤sI_]y^^I>O>?YBIENDB`entangle-0.5.4/docs/reference/html/EntangleControlButton.html0000664000000000000000000001255412253421054021225 00000000000000 EntangleControlButton

EntangleControlButton

EntangleControlButton

Synopsis

struct              EntangleControlButton;
struct              EntangleControlButtonClass;
EntangleControlButton * entangle_control_button_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlButton

Description

Details

struct EntangleControlButton

struct EntangleControlButton;

struct EntangleControlButtonClass

struct EntangleControlButtonClass {
    EntangleControlClass parent_class;
};

entangle_control_button_new ()

EntangleControlButton * entangle_control_button_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);
entangle-0.5.4/docs/reference/html/Entangle-entangle-pixbuf.html0000664000000000000000000001572312253421054021557 00000000000000 entangle-pixbuf

entangle-pixbuf

entangle-pixbuf

Synopsis

GdkPixbuf *         entangle_pixbuf_auto_rotate         (GdkPixbuf *src,
                                                         GExiv2Metadata *metadata);
enum                EntanglePixbufImageSlot;
GdkPixbuf *         entangle_pixbuf_open_image          (EntangleImage *image,
                                                         EntanglePixbufImageSlot slot,
                                                         gboolean applyOrientation,
                                                         GExiv2Metadata **metadata);

Description

Details

entangle_pixbuf_auto_rotate ()

GdkPixbuf *         entangle_pixbuf_auto_rotate         (GdkPixbuf *src,
                                                         GExiv2Metadata *metadata);

enum EntanglePixbufImageSlot

typedef enum {
  ENTANGLE_PIXBUF_IMAGE_SLOT_MASTER,
  ENTANGLE_PIXBUF_IMAGE_SLOT_PREVIEW,
  ENTANGLE_PIXBUF_IMAGE_SLOT_THUMBNAIL,
} EntanglePixbufImageSlot;

ENTANGLE_PIXBUF_IMAGE_SLOT_MASTER

ENTANGLE_PIXBUF_IMAGE_SLOT_PREVIEW

ENTANGLE_PIXBUF_IMAGE_SLOT_THUMBNAIL


entangle_pixbuf_open_image ()

GdkPixbuf *         entangle_pixbuf_open_image          (EntangleImage *image,
                                                         EntanglePixbufImageSlot slot,
                                                         gboolean applyOrientation,
                                                         GExiv2Metadata **metadata);
entangle-0.5.4/docs/reference/html/Entangle-entangle-dpms.html0000664000000000000000000000635512253421054021226 00000000000000 entangle-dpms

entangle-dpms

entangle-dpms

Synopsis

gboolean            entangle_dpms_set_blanking          (gboolean enabled,
                                                         GError **error);

Description

Details

entangle_dpms_set_blanking ()

gboolean            entangle_dpms_set_blanking          (gboolean enabled,
                                                         GError **error);
entangle-0.5.4/docs/reference/html/EntangleControlDate.html0000664000000000000000000001422412253421054020623 00000000000000 EntangleControlDate

EntangleControlDate

EntangleControlDate

Synopsis

struct              EntangleControlDate;
struct              EntangleControlDateClass;
EntangleControlDate * entangle_control_date_new         (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlDate

Properties

  "value"                    gint                  : Read / Write

Description

Details

struct EntangleControlDate

struct EntangleControlDate;

struct EntangleControlDateClass

struct EntangleControlDateClass {
    EntangleControlClass parent_class;
};

entangle_control_date_new ()

EntangleControlDate * entangle_control_date_new         (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Property Details

The "value" property

  "value"                    gint                  : Read / Write

Current value of the control.

Default value: 0

entangle-0.5.4/docs/reference/html/EntangleCameraManager.html0000664000000000000000000003017312253421054021071 00000000000000 EntangleCameraManager

EntangleCameraManager

EntangleCameraManager

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----EntangleCameraManager

Implemented Interfaces

EntangleCameraManager implements AtkImplementorIface, GtkBuildable, EntangleProgress and EntangleWindow.

Properties

  "camera"                   EntangleCamera*       : Read / Write

Signals

  "closed"                                         : Run First

Description

Details

struct EntangleCameraManager

struct EntangleCameraManager;

struct EntangleCameraManagerClass

struct EntangleCameraManagerClass {
    GtkWindowClass parent_class;

    void (*manager_connect)(EntangleCameraManager *manager);
    void (*manager_disconnect)(EntangleCameraManager *manager);
};

entangle_camera_manager_new ()

EntangleCameraManager * entangle_camera_manager_new     (void);

entangle_camera_manager_capture ()

void                entangle_camera_manager_capture     (EntangleCameraManager *manager);

entangle_camera_manager_preview_begin ()

void                entangle_camera_manager_preview_begin
                                                        (EntangleCameraManager *manager);

entangle_camera_manager_preview_cancel ()

void                entangle_camera_manager_preview_cancel
                                                        (EntangleCameraManager *manager);

entangle_camera_manager_set_camera ()

void                entangle_camera_manager_set_camera  (EntangleCameraManager *manager,
                                                         EntangleCamera *cam);

entangle_camera_manager_get_camera ()

EntangleCamera *    entangle_camera_manager_get_camera  (EntangleCameraManager *manager);

Property Details

The "camera" property

  "camera"                   EntangleCamera*       : Read / Write

Camera to be managed.

Signal Details

The "closed" signal

void                user_function                      (EntangleCameraManager *entanglecameramanager,
                                                        gpointer               user_data)                  : Run First
entangle-0.5.4/docs/reference/html/EntangleCameraInfo.html0000664000000000000000000003020212253421054020403 00000000000000 EntangleCameraInfo

EntangleCameraInfo

EntangleCameraInfo

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----EntangleCameraInfo
  GEnum
   +----EntangleCameraInfoData

Implemented Interfaces

EntangleCameraInfo implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Properties

  "camera"                   EntangleCamera*       : Read / Write
  "data"                     EntangleCameraInfoData  : Read / Write

Description

Details

struct EntangleCameraInfo

struct EntangleCameraInfo;

struct EntangleCameraInfoClass

struct EntangleCameraInfoClass {
    GtkDialogClass parent_class;
};

enum EntangleCameraInfoData

typedef enum {
    ENTANGLE_CAMERA_INFO_DATA_SUMMARY,
    ENTANGLE_CAMERA_INFO_DATA_MANUAL,
    ENTANGLE_CAMERA_INFO_DATA_DRIVER,
} EntangleCameraInfoData;

ENTANGLE_CAMERA_INFO_DATA_SUMMARY

ENTANGLE_CAMERA_INFO_DATA_MANUAL

ENTANGLE_CAMERA_INFO_DATA_DRIVER


entangle_camera_info_new ()

EntangleCameraInfo * entangle_camera_info_new           (void);

entangle_camera_info_set_data ()

void                entangle_camera_info_set_data       (EntangleCameraInfo *info,
                                                         EntangleCameraInfoData data);

entangle_camera_info_get_data ()

EntangleCameraInfoData entangle_camera_info_get_data    (EntangleCameraInfo *info);

entangle_camera_info_set_camera ()

void                entangle_camera_info_set_camera     (EntangleCameraInfo *info,
                                                         EntangleCamera *camera);

entangle_camera_info_get_camera ()

EntangleCamera *    entangle_camera_info_get_camera     (EntangleCameraInfo *info);

Property Details

The "camera" property

  "camera"                   EntangleCamera*       : Read / Write

Camera to be managed.


The "data" property

  "data"                     EntangleCameraInfoData  : Read / Write

Data type to display.

Default value: ENTANGLE_CAMERA_INFO_DATA_SUMMARY

entangle-0.5.4/docs/reference/html/EntangleControlChoice.html0000664000000000000000000002235412253421054021143 00000000000000 EntangleControlChoice

EntangleControlChoice

EntangleControlChoice

Synopsis

struct              EntangleControlChoice;
struct              EntangleControlChoiceClass;
EntangleControlChoice * entangle_control_choice_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);
void                entangle_control_choice_add_entry   (EntangleControlChoice *choice,
                                                         const char *entry);
int                 entangle_control_choice_entry_count (EntangleControlChoice *choice);
const char *        entangle_control_choice_entry_get   (EntangleControlChoice *choice,
                                                         int idx);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlChoice

Properties

  "value"                    gchar*                : Read / Write

Description

Details

struct EntangleControlChoice

struct EntangleControlChoice;

struct EntangleControlChoiceClass

struct EntangleControlChoiceClass {
    EntangleControlClass parent_class;
};

entangle_control_choice_new ()

EntangleControlChoice * entangle_control_choice_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

entangle_control_choice_add_entry ()

void                entangle_control_choice_add_entry   (EntangleControlChoice *choice,
                                                         const char *entry);

entangle_control_choice_entry_count ()

int                 entangle_control_choice_entry_count (EntangleControlChoice *choice);

entangle_control_choice_entry_get ()

const char *        entangle_control_choice_entry_get   (EntangleControlChoice *choice,
                                                         int idx);

Property Details

The "value" property

  "value"                    gchar*                : Read / Write

Current value of the control.

Default value: NULL

entangle-0.5.4/docs/reference/html/EntangleImage.html0000664000000000000000000003410112253421054017423 00000000000000 EntangleImage

EntangleImage

EntangleImage

Object Hierarchy

  GObject
   +----EntangleImage

Properties

  "filename"                 gchar*                : Read / Write / Construct Only
  "metadata"                 GExiv2Metadata*       : Read / Write
  "pixbuf"                   GdkPixbuf*            : Read / Write

Description

Details

struct EntangleImage

struct EntangleImage;

struct EntangleImageClass

struct EntangleImageClass {
    GObjectClass parent_class;
};

entangle_image_new_file ()

EntangleImage *     entangle_image_new_file             (const char *filename);

entangle_image_new_pixbuf ()

EntangleImage *     entangle_image_new_pixbuf           (GdkPixbuf *pixbuf);

entangle_image_get_filename ()

const char *        entangle_image_get_filename         (EntangleImage *image);

entangle_image_get_last_modified ()

time_t              entangle_image_get_last_modified    (EntangleImage *image);

entangle_image_get_file_size ()

off_t               entangle_image_get_file_size        (EntangleImage *image);

entangle_image_delete ()

gboolean            entangle_image_delete               (EntangleImage *image,
                                                         GError **error);

entangle_image_get_pixbuf ()

GdkPixbuf *         entangle_image_get_pixbuf           (EntangleImage *image);

entangle_image_set_pixbuf ()

void                entangle_image_set_pixbuf           (EntangleImage *image,
                                                         GdkPixbuf *pixbuf);

entangle_image_get_metadata ()

GExiv2Metadata *    entangle_image_get_metadata         (EntangleImage *image);

entangle_image_set_metadata ()

void                entangle_image_set_metadata         (EntangleImage *image,
                                                         GExiv2Metadata *metadata);

Property Details

The "filename" property

  "filename"                 gchar*                : Read / Write / Construct Only

Full path to image file.

Default value: NULL


The "metadata" property

  "metadata"                 GExiv2Metadata*       : Read / Write

Image metadata.


The "pixbuf" property

  "pixbuf"                   GdkPixbuf*            : Read / Write

Image pixbuf.

entangle-0.5.4/docs/reference/html/EntangleThumbnailLoader.html0000664000000000000000000001417512253421054021464 00000000000000 EntangleThumbnailLoader

EntangleThumbnailLoader

EntangleThumbnailLoader

Object Hierarchy

  GObject
   +----EntanglePixbufLoader
         +----EntangleThumbnailLoader

Properties

  "height"                   gint                  : Read / Write / Construct Only
  "width"                    gint                  : Read / Write / Construct Only

Description

Details

struct EntangleThumbnailLoader

struct EntangleThumbnailLoader;

struct EntangleThumbnailLoaderClass

struct EntangleThumbnailLoaderClass {
    EntanglePixbufLoaderClass parent_class;
};

entangle_thumbnail_loader_new ()

EntangleThumbnailLoader * entangle_thumbnail_loader_new (int width,
                                                         int height);

Property Details

The "height" property

  "height"                   gint                  : Read / Write / Construct Only

Maximum thumbnail height.

Allowed values: [1,400]

Default value: 128


The "width" property

  "width"                    gint                  : Read / Write / Construct Only

Maximum thumbnail width.

Allowed values: [1,400]

Default value: 128

entangle-0.5.4/docs/reference/html/EntangleControlToggle.html0000664000000000000000000001435112253421054021170 00000000000000 EntangleControlToggle

EntangleControlToggle

EntangleControlToggle

Synopsis

struct              EntangleControlToggle;
struct              EntangleControlToggleClass;
EntangleControlToggle * entangle_control_toggle_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlToggle

Properties

  "value"                    gboolean              : Read / Write

Description

Details

struct EntangleControlToggle

struct EntangleControlToggle;

struct EntangleControlToggleClass

struct EntangleControlToggleClass {
    EntangleControlClass parent_class;
};

entangle_control_toggle_new ()

EntangleControlToggle * entangle_control_toggle_new     (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly);

Property Details

The "value" property

  "value"                    gboolean              : Read / Write

Current value of the control.

Default value: FALSE

entangle-0.5.4/docs/reference/html/EntangleCameraFile.html0000664000000000000000000003525312253421054020402 00000000000000 EntangleCameraFile

EntangleCameraFile

EntangleCameraFile

Synopsis

struct              EntangleCameraFile;
struct              EntangleCameraFileClass;
EntangleCameraFile * entangle_camera_file_new           (const char *folder,
                                                         const char *name);
const char *        entangle_camera_file_get_folder     (EntangleCameraFile *file);
const char *        entangle_camera_file_get_name       (EntangleCameraFile *file);
gboolean            entangle_camera_file_save_path      (EntangleCameraFile *file,
                                                         const char *localpath,
                                                         GError **err);
gboolean            entangle_camera_file_save_uri       (EntangleCameraFile *file,
                                                         const char *uri,
                                                         GError **err);
GByteArray *        entangle_camera_file_get_data       (EntangleCameraFile *file);
void                entangle_camera_file_set_data       (EntangleCameraFile *file,
                                                         GByteArray *data);
const gchar *       entangle_camera_file_get_mimetype   (EntangleCameraFile *file);
void                entangle_camera_file_set_mimetype   (EntangleCameraFile *file,
                                                         const gchar *mimetype);

Object Hierarchy

  GObject
   +----EntangleCameraFile

Properties

  "data"                     GByteArray*           : Read / Write
  "folder"                   gchar*                : Read / Write / Construct Only
  "mimetype"                 gchar*                : Read / Write
  "name"                     gchar*                : Read / Write / Construct Only

Description

Details

struct EntangleCameraFile

struct EntangleCameraFile;

struct EntangleCameraFileClass

struct EntangleCameraFileClass {
    GObjectClass parent_class;
};

entangle_camera_file_new ()

EntangleCameraFile * entangle_camera_file_new           (const char *folder,
                                                         const char *name);

entangle_camera_file_get_folder ()

const char *        entangle_camera_file_get_folder     (EntangleCameraFile *file);

entangle_camera_file_get_name ()

const char *        entangle_camera_file_get_name       (EntangleCameraFile *file);

entangle_camera_file_save_path ()

gboolean            entangle_camera_file_save_path      (EntangleCameraFile *file,
                                                         const char *localpath,
                                                         GError **err);

entangle_camera_file_save_uri ()

gboolean            entangle_camera_file_save_uri       (EntangleCameraFile *file,
                                                         const char *uri,
                                                         GError **err);

entangle_camera_file_get_data ()

GByteArray *        entangle_camera_file_get_data       (EntangleCameraFile *file);

entangle_camera_file_set_data ()

void                entangle_camera_file_set_data       (EntangleCameraFile *file,
                                                         GByteArray *data);

entangle_camera_file_get_mimetype ()

const gchar *       entangle_camera_file_get_mimetype   (EntangleCameraFile *file);

entangle_camera_file_set_mimetype ()

void                entangle_camera_file_set_mimetype   (EntangleCameraFile *file,
                                                         const gchar *mimetype);

Property Details

The "data" property

  "data"                     GByteArray*           : Read / Write

Raw data for the file.


The "folder" property

  "folder"                   gchar*                : Read / Write / Construct Only

Folder name on the camera.

Default value: NULL


The "mimetype" property

  "mimetype"                 gchar*                : Read / Write

File mimetype on the camera.

Default value: NULL


The "name" property

  "name"                     gchar*                : Read / Write / Construct Only

File name on the camera.

Default value: NULL

entangle-0.5.4/docs/reference/html/EntanglePixbufLoader.html0000664000000000000000000005450412253421054020776 00000000000000 EntanglePixbufLoader

EntanglePixbufLoader

EntanglePixbufLoader

Object Hierarchy

  GObject
   +----EntanglePixbufLoader
         +----EntangleImageLoader
         +----EntangleThumbnailLoader

Properties

  "colour-transform"         EntangleColourProfileTransform*  : Read / Write
  "with-metadata"            gboolean              : Read / Write / Construct Only
  "workers"                  gint                  : Read / Write / Construct Only

Signals

  "metadata-loaded"                                : Run First
  "metadata-unloaded"                              : Run First
  "pixbuf-loaded"                                  : Run First
  "pixbuf-unloaded"                                : Run First

Description

Details

struct EntanglePixbufLoader

struct EntanglePixbufLoader;

struct EntanglePixbufLoaderClass

struct EntanglePixbufLoaderClass {
    GObjectClass parent_class;

    void (*pixbuf_loaded)(EntanglePixbufLoader *loader, EntangleImage *image);
    void (*metadata_loaded)(EntanglePixbufLoader *loader, EntangleImage *image);
    void (*pixbuf_unloaded)(EntanglePixbufLoader *loader, EntangleImage *image);
    void (*metadata_unloaded)(EntanglePixbufLoader *loader, EntangleImage *image);

    GdkPixbuf *(*pixbuf_load)(EntanglePixbufLoader *loader, EntangleImage *image,
                              GExiv2Metadata **metadata);
};

entangle_pixbuf_loader_is_ready ()

gboolean            entangle_pixbuf_loader_is_ready     (EntanglePixbufLoader *loader,
                                                         EntangleImage *image);

entangle_pixbuf_loader_get_pixbuf ()

GdkPixbuf *         entangle_pixbuf_loader_get_pixbuf   (EntanglePixbufLoader *loader,
                                                         EntangleImage *image);

entangle_pixbuf_loader_get_metadata ()

GExiv2Metadata *    entangle_pixbuf_loader_get_metadata (EntanglePixbufLoader *loader,
                                                         EntangleImage *image);

entangle_pixbuf_loader_load ()

gboolean            entangle_pixbuf_loader_load         (EntanglePixbufLoader *loader,
                                                         EntangleImage *image);

entangle_pixbuf_loader_unload ()

gboolean            entangle_pixbuf_loader_unload       (EntanglePixbufLoader *loader,
                                                         EntangleImage *image);

entangle_pixbuf_loader_trigger_reload ()

void                entangle_pixbuf_loader_trigger_reload
                                                        (EntanglePixbufLoader *loader);

entangle_pixbuf_loader_set_colour_transform ()

void                entangle_pixbuf_loader_set_colour_transform
                                                        (EntanglePixbufLoader *loader,
                                                         EntangleColourProfileTransform *transform);

entangle_pixbuf_loader_get_colour_transform ()

EntangleColourProfileTransform * entangle_pixbuf_loader_get_colour_transform
                                                        (EntanglePixbufLoader *loader);

entangle_pixbuf_loader_set_workers ()

void                entangle_pixbuf_loader_set_workers  (EntanglePixbufLoader *loader,
                                                         int count);

entangle_pixbuf_loader_get_workers ()

int                 entangle_pixbuf_loader_get_workers  (EntanglePixbufLoader *loader);

Property Details

The "colour-transform" property

  "colour-transform"         EntangleColourProfileTransform*  : Read / Write

Colour profile transformation.


The "with-metadata" property

  "with-metadata"            gboolean              : Read / Write / Construct Only

Load image metadata.

Default value: FALSE


The "workers" property

  "workers"                  gint                  : Read / Write / Construct Only

Number of worker threads to load pixbufs.

Allowed values: [1,64]

Default value: 1

Signal Details

The "metadata-loaded" signal

void                user_function                      (EntanglePixbufLoader *entanglepixbufloader,
                                                        EntangleImage        *arg1,
                                                        gpointer              user_data)                 : Run First

The "metadata-unloaded" signal

void                user_function                      (EntanglePixbufLoader *entanglepixbufloader,
                                                        EntangleImage        *arg1,
                                                        gpointer              user_data)                 : Run First

The "pixbuf-loaded" signal

void                user_function                      (EntanglePixbufLoader *entanglepixbufloader,
                                                        EntangleImage        *arg1,
                                                        gpointer              user_data)                 : Run First

The "pixbuf-unloaded" signal

void                user_function                      (EntanglePixbufLoader *entanglepixbufloader,
                                                        EntangleImage        *arg1,
                                                        gpointer              user_data)                 : Run First
entangle-0.5.4/docs/reference/html/EntangleImageLoader.html0000664000000000000000000002332112253421054020554 00000000000000 EntangleImageLoader

EntangleImageLoader

EntangleImageLoader

Object Hierarchy

  GObject
   +----EntanglePixbufLoader
         +----EntangleImageLoader

Properties

  "embedded-preview"         gboolean              : Read / Write / Construct Only

Description

Details

struct EntangleImageLoader

struct EntangleImageLoader;

struct EntangleImageLoaderClass

struct EntangleImageLoaderClass {
    EntanglePixbufLoaderClass parent_class;
};

entangle_image_loader_new ()

EntangleImageLoader * entangle_image_loader_new         (void);

entangle_image_loader_add ()

void                entangle_image_loader_add           (EntangleImageLoader *loader,
                                                         EntangleImage *image);

entangle_image_loader_remove ()

void                entangle_image_loader_remove        (EntangleImageLoader *loader,
                                                         EntangleImage *image);

entangle_image_loader_get_embedded_preview ()

gboolean            entangle_image_loader_get_embedded_preview
                                                        (EntangleImageLoader *loader);

entangle_image_loader_set_embedded_preview ()

void                entangle_image_loader_set_embedded_preview
                                                        (EntangleImageLoader *loader,
                                                         gboolean enable);

Property Details

The "embedded-preview" property

  "embedded-preview"         gboolean              : Read / Write / Construct Only

Use embedded preview.

Default value: FALSE

entangle-0.5.4/docs/reference/html/EntangleSession.html0000664000000000000000000003744312253421054020040 00000000000000 EntangleSession

EntangleSession

EntangleSession

Object Hierarchy

  GObject
   +----EntangleSession

Properties

  "directory"                gchar*                : Read / Write / Construct Only
  "filename-pattern"         gchar*                : Read / Write / Construct Only

Signals

  "session-image-added"                            : Run First
  "session-image-removed"                          : Run First

Description

Details

struct EntangleSession

struct EntangleSession;

struct EntangleSessionClass

struct EntangleSessionClass {
    GObjectClass parent_class;

    void (*session_image_added)(EntangleSession *session, EntangleImage *image);
    void (*session_image_removed)(EntangleSession *session, EntangleImage *image);
};

entangle_session_new ()

EntangleSession *   entangle_session_new                (const char *directory,
                                                         const char *filenamePattern);

entangle_session_directory ()

const char *        entangle_session_directory          (EntangleSession *session);

entangle_session_filename_pattern ()

const char *        entangle_session_filename_pattern   (EntangleSession *session);

entangle_session_next_filename ()

char *              entangle_session_next_filename      (EntangleSession *session,
                                                         EntangleCameraFile *file);

entangle_session_load ()

gboolean            entangle_session_load               (EntangleSession *session);

entangle_session_add ()

void                entangle_session_add                (EntangleSession *session,
                                                         EntangleImage *image);

entangle_session_remove ()

void                entangle_session_remove             (EntangleSession *session,
                                                         EntangleImage *image);

entangle_session_image_count ()

int                 entangle_session_image_count        (EntangleSession *session);

entangle_session_image_get ()

EntangleImage *     entangle_session_image_get          (EntangleSession *session,
                                                         int idx);

Property Details

The "directory" property

  "directory"                gchar*                : Read / Write / Construct Only

Full path to session file.

Default value: NULL


The "filename-pattern" property

  "filename-pattern"         gchar*                : Read / Write / Construct Only

Pattern for creating new filenames.

Default value: NULL

Signal Details

The "session-image-added" signal

void                user_function                      (EntangleSession *entanglesession,
                                                        EntangleImage   *arg1,
                                                        gpointer         user_data)            : Run First

The "session-image-removed" signal

void                user_function                      (EntangleSession *entanglesession,
                                                        EntangleImage   *arg1,
                                                        gpointer         user_data)            : Run First
entangle-0.5.4/docs/reference/html/EntangleColourProfile.html0000664000000000000000000005271412253421054021177 00000000000000 EntangleColourProfile

EntangleColourProfile

EntangleColourProfile

Object Hierarchy

  GObject
   +----EntangleColourProfile
  GObject
   +----EntangleColourProfileTransform
  GEnum
   +----EntangleColourProfileIntent

Properties

  "data"                     GByteArray*           : Read / Write / Construct Only
  "filename"                 gchar*                : Read / Write / Construct Only
  "dst-profile"              EntangleColourProfile*  : Read / Write / Construct Only
  "rendering-intent"         EntangleColourProfileIntent  : Read / Write / Construct Only
  "src-profile"              EntangleColourProfile*  : Read / Write / Construct Only

Description

Details

struct EntangleColourProfile

struct EntangleColourProfile;

struct EntangleColourProfileClass

struct EntangleColourProfileClass {
    GObjectClass parent_class;
};

struct EntangleColourProfileTransform

struct EntangleColourProfileTransform;

struct EntangleColourProfileTransformClass

struct EntangleColourProfileTransformClass {
    GObjectClass parent_class;
};

enum EntangleColourProfileIntent

typedef enum {
    ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL,
    ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC,
    ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION,
    ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC,
} EntangleColourProfileIntent;

ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL

ENTANGLE_COLOUR_PROFILE_INTENT_REL_COLOURIMETRIC

ENTANGLE_COLOUR_PROFILE_INTENT_SATURATION

ENTANGLE_COLOUR_PROFILE_INTENT_ABS_COLOURIMETRIC


entangle_colour_profile_new_file ()

EntangleColourProfile * entangle_colour_profile_new_file
                                                        (const char *filename);

entangle_colour_profile_new_data ()

EntangleColourProfile * entangle_colour_profile_new_data
                                                        (GByteArray *data);

entangle_colour_profile_filename ()

const char *        entangle_colour_profile_filename    (EntangleColourProfile *profile);

entangle_colour_profile_product_name ()

char *              entangle_colour_profile_product_name
                                                        (EntangleColourProfile *profile);

entangle_colour_profile_product_desc ()

char *              entangle_colour_profile_product_desc
                                                        (EntangleColourProfile *profile);

entangle_colour_profile_product_info ()

char *              entangle_colour_profile_product_info
                                                        (EntangleColourProfile *profile);

entangle_colour_profile_manufacturer ()

char *              entangle_colour_profile_manufacturer
                                                        (EntangleColourProfile *profile);

entangle_colour_profile_model ()

char *              entangle_colour_profile_model       (EntangleColourProfile *profile);

entangle_colour_profile_copyright ()

char *              entangle_colour_profile_copyright   (EntangleColourProfile *profile);

entangle_colour_profile_transform_new ()

EntangleColourProfileTransform * entangle_colour_profile_transform_new
                                                        (EntangleColourProfile *src,
                                                         EntangleColourProfile *dst,
                                                         EntangleColourProfileIntent intent);

entangle_colour_profile_transform_apply ()

GdkPixbuf *         entangle_colour_profile_transform_apply
                                                        (EntangleColourProfileTransform *trans,
                                                         GdkPixbuf *pixbuf);

Property Details

The "data" property

  "data"                     GByteArray*           : Read / Write / Construct Only

Raw data for the profile.


The "filename" property

  "filename"                 gchar*                : Read / Write / Construct Only

Filename of the profile.

Default value: NULL


The "dst-profile" property

  "dst-profile"              EntangleColourProfile*  : Read / Write / Construct Only

Destination Profile.


The "rendering-intent" property

  "rendering-intent"         EntangleColourProfileIntent  : Read / Write / Construct Only

Profile rendering intent.

Default value: ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL


The "src-profile" property

  "src-profile"              EntangleColourProfile*  : Read / Write / Construct Only

Source profile.

entangle-0.5.4/docs/reference/html/EntanglePreferencesDisplay.html0000664000000000000000000001266412253421054022202 00000000000000 EntanglePreferencesDisplay

EntanglePreferencesDisplay

EntanglePreferencesDisplay

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----EntanglePreferencesDisplay

Implemented Interfaces

EntanglePreferencesDisplay implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Description

Details

struct EntanglePreferencesDisplay

struct EntanglePreferencesDisplay;

struct EntanglePreferencesDisplayClass

struct EntanglePreferencesDisplayClass {
    GtkDialogClass parent_class;
};

entangle_preferences_display_new ()

EntanglePreferencesDisplay * entangle_preferences_display_new
                                                        (void);
entangle-0.5.4/docs/reference/html/EntangleControlRange.html0000664000000000000000000002627012253421054021006 00000000000000 EntangleControlRange

EntangleControlRange

EntangleControlRange

Synopsis

struct              EntangleControlRange;
struct              EntangleControlRangeClass;
EntangleControlRange * entangle_control_range_new       (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly,
                                                         float min,
                                                         float max,
                                                         float step);
float               entangle_control_range_get_min      (EntangleControlRange *range);
float               entangle_control_range_get_max      (EntangleControlRange *range);
float               entangle_control_range_get_step     (EntangleControlRange *range);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlRange

Properties

  "range-max"                gfloat                : Read / Write / Construct Only
  "range-min"                gfloat                : Read / Write / Construct Only
  "range-step"               gfloat                : Read / Write / Construct Only
  "value"                    gfloat                : Read / Write

Description

Details

struct EntangleControlRange

struct EntangleControlRange;

struct EntangleControlRangeClass

struct EntangleControlRangeClass {
    EntangleControlClass parent_class;
};

entangle_control_range_new ()

EntangleControlRange * entangle_control_range_new       (const char *path,
                                                         int id,
                                                         const char *label,
                                                         const char *info,
                                                         gboolean readonly,
                                                         float min,
                                                         float max,
                                                         float step);

entangle_control_range_get_min ()

float               entangle_control_range_get_min      (EntangleControlRange *range);

entangle_control_range_get_max ()

float               entangle_control_range_get_max      (EntangleControlRange *range);

entangle_control_range_get_step ()

float               entangle_control_range_get_step     (EntangleControlRange *range);

Property Details

The "range-max" property

  "range-max"                gfloat                : Read / Write / Construct Only

Maximum range value.

Allowed values: [-1e+07,1e+07]

Default value: 0


The "range-min" property

  "range-min"                gfloat                : Read / Write / Construct Only

Minimum range value.

Allowed values: [-1e+07,1e+07]

Default value: 0


The "range-step" property

  "range-step"               gfloat                : Read / Write / Construct Only

Increment for range steps.

Allowed values: [-1e+07,1e+07]

Default value: 0


The "value" property

  "value"                    gfloat                : Read / Write

Current control value.

Allowed values: [-1e+07,1e+07]

Default value: 0

entangle-0.5.4/docs/reference/html/EntangleCameraList.html0000664000000000000000000004030212253421054020425 00000000000000 EntangleCameraList

EntangleCameraList

EntangleCameraList

Object Hierarchy

  GObject
   +----EntangleCameraList

Properties

  "device-manager"           EntangleDeviceManager*  : Read

Signals

  "camera-added"                                   : Run First
  "camera-removed"                                 : Run First

Description

Details

struct EntangleCameraList

struct EntangleCameraList;

struct EntangleCameraListClass

struct EntangleCameraListClass {
    GObjectClass parent_class;

    void (*camera_added)(EntangleCameraList *list, EntangleCamera *cam);
    void (*camera_removed)(EntangleCameraList *list, EntangleCamera *cam);
};

entangle_camera_list_new ()

EntangleCameraList * entangle_camera_list_new           (void);

entangle_camera_list_refresh ()

gboolean            entangle_camera_list_refresh        (EntangleCameraList *list,
                                                         GError **error);

entangle_camera_list_count ()

int                 entangle_camera_list_count          (EntangleCameraList *list);

entangle_camera_list_add ()

void                entangle_camera_list_add            (EntangleCameraList *list,
                                                         EntangleCamera *cam);

entangle_camera_list_remove ()

void                entangle_camera_list_remove         (EntangleCameraList *list,
                                                         EntangleCamera *cam);

entangle_camera_list_get ()

EntangleCamera *    entangle_camera_list_get            (EntangleCameraList *list,
                                                         int entry);

entangle_camera_list_get_cameras ()

GList *             entangle_camera_list_get_cameras    (EntangleCameraList *list);

list :

the camera list

Returns :

a list of EntangleCamera objects. [transfer container]

entangle_camera_list_find ()

EntangleCamera *    entangle_camera_list_find           (EntangleCameraList *list,
                                                         const char *port);

entangle_camera_list_get_supported ()

gchar **            entangle_camera_list_get_supported  (EntangleCameraList *list);

Property Details

The "device-manager" property

  "device-manager"           EntangleDeviceManager*  : Read

Device manager for detecting cameras.

Signal Details

The "camera-added" signal

void                user_function                      (EntangleCameraList *entanglecameralist,
                                                        EntangleCamera     *arg1,
                                                        gpointer            user_data)               : Run First

The "camera-removed" signal

void                user_function                      (EntangleCameraList *entanglecameralist,
                                                        EntangleCamera     *arg1,
                                                        gpointer            user_data)               : Run First
entangle-0.5.4/docs/reference/html/EntangleImageStatusbar.html0000664000000000000000000002031612253421054021317 00000000000000 EntangleImageStatusbar

EntangleImageStatusbar

EntangleImageStatusbar

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkEventBox
                                 +----EntangleImageStatusbar

Implemented Interfaces

EntangleImageStatusbar implements AtkImplementorIface and GtkBuildable.

Properties

  "image"                    EntangleImage*        : Read / Write

Description

Details

struct EntangleImageStatusbar

struct EntangleImageStatusbar;

struct EntangleImageStatusbarClass

struct EntangleImageStatusbarClass {
    GtkEventBoxClass parent_class;
};

entangle_image_statusbar_new ()

EntangleImageStatusbar * entangle_image_statusbar_new   (void);

entangle_image_statusbar_set_image ()

void                entangle_image_statusbar_set_image  (EntangleImageStatusbar *statusbar,
                                                         EntangleImage *image);

entangle_image_statusbar_get_image ()

EntangleImage *     entangle_image_statusbar_get_image  (EntangleImageStatusbar *statusbar);

Property Details

The "image" property

  "image"                    EntangleImage*        : Read / Write

Image.

entangle-0.5.4/docs/reference/html/EntangleCameraSupport.html0000664000000000000000000002207712253421054021177 00000000000000 EntangleCameraSupport

EntangleCameraSupport

EntangleCameraSupport

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----EntangleCameraSupport

Implemented Interfaces

EntangleCameraSupport implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Properties

  "camera-list"              EntangleCameraList*   : Read / Write

Description

Details

ENTANGLE_TYPE_CAMERA_SUPPORT_DATA

#define ENTANGLE_TYPE_CAMERA_SUPPORT_DATA       (entangle_camera_support_data_get_type())

struct EntangleCameraSupport

struct EntangleCameraSupport;

struct EntangleCameraSupportClass

struct EntangleCameraSupportClass {
    GtkDialogClass parent_class;
};

entangle_camera_support_new ()

EntangleCameraSupport * entangle_camera_support_new     (void);

entangle_camera_support_set_camera_list ()

void                entangle_camera_support_set_camera_list
                                                        (EntangleCameraSupport *support,
                                                         EntangleCameraList *list);

entangle_camera_support_get_camera_list ()

EntangleCameraList * entangle_camera_support_get_camera_list
                                                        (EntangleCameraSupport *support);

Property Details

The "camera-list" property

  "camera-list"              EntangleCameraList*   : Read / Write

Camera list to query.

entangle-0.5.4/docs/reference/html/EntangleCamera.html0000664000000000000000000026063012253421054017601 00000000000000 EntangleCamera

EntangleCamera

EntangleCamera

Synopsis

struct              EntangleCamera;
struct              EntangleCameraClass;
EntangleCamera *    entangle_camera_new                 (const char *model,
                                                         const char *port,
                                                         gboolean hasCapture,
                                                         gboolean hasPreview,
                                                         gboolean hasSettings);
const char *        entangle_camera_get_model           (EntangleCamera *cam);
const char *        entangle_camera_get_port            (EntangleCamera *cam);
gboolean            entangle_camera_connect             (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_connect_async       (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_connect_finish      (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_disconnect          (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_disconnect_async    (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_disconnect_finish   (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_get_connected       (EntangleCamera *cam);
char *              entangle_camera_get_summary         (EntangleCamera *cam);
char *              entangle_camera_get_manual          (EntangleCamera *cam);
char *              entangle_camera_get_driver          (EntangleCamera *cam);
EntangleCameraFile * entangle_camera_capture_image      (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_capture_image_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
EntangleCameraFile * entangle_camera_capture_image_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
EntangleCameraFile * entangle_camera_preview_image      (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_preview_image_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
EntangleCameraFile * entangle_camera_preview_image_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_download_file       (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GError **error);
void                entangle_camera_download_file_async (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_download_file_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);
gboolean            entangle_camera_delete_file         (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GError **error);
void                entangle_camera_delete_file_async   (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_delete_file_finish  (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_process_events      (EntangleCamera *cam,
                                                         guint64 waitms,
                                                         GError **error);
void                entangle_camera_process_events_async
                                                        (EntangleCamera *cam,
                                                         guint64 waitms,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_process_events_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_set_viewfinder      (EntangleCamera *cam,
                                                         gboolean enabled,
                                                         GError **error);
void                entangle_camera_set_viewfinder_async
                                                        (EntangleCamera *cam,
                                                         gboolean enabled,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_set_viewfinder_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_autofocus           (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_autofocus_async     (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_autofocus_finish    (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_manualfocus         (EntangleCamera *cam,
                                                         gshort delta,
                                                         GError **error);
void                entangle_camera_manualfocus_async   (EntangleCamera *cam,
                                                         gshort delta,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_manualfocus_finish  (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_get_has_capture     (EntangleCamera *cam);
gboolean            entangle_camera_get_has_preview     (EntangleCamera *cam);
gboolean            entangle_camera_get_has_settings    (EntangleCamera *cam);
gboolean            entangle_camera_get_has_viewfinder  (EntangleCamera *cam);
gboolean            entangle_camera_load_controls       (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_load_controls_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_load_controls_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
gboolean            entangle_camera_save_controls       (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_save_controls_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_save_controls_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);
EntangleControlGroup * entangle_camera_get_controls     (EntangleCamera *cam,
                                                         GError **error);
void                entangle_camera_set_progress        (EntangleCamera *cam,
                                                         EntangleProgress *prog);
EntangleProgress *  entangle_camera_get_progress        (EntangleCamera *cam);
gboolean            entangle_camera_is_mounted          (EntangleCamera *cam);
void                entangle_camera_mount_async         (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_mount_finish        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);
void                entangle_camera_unmount_async       (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);
gboolean            entangle_camera_unmount_finish      (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);

Object Hierarchy

  GObject
   +----EntangleCamera

Properties

  "driver"                   gchar*                : Read
  "has-capture"              gboolean              : Read / Write / Construct Only
  "has-preview"              gboolean              : Read / Write / Construct Only
  "has-settings"             gboolean              : Read / Write / Construct Only
  "has-viewfinder"           gboolean              : Read / Write / Construct Only
  "manual"                   gchar*                : Read
  "model"                    gchar*                : Read / Write / Construct Only
  "port"                     gchar*                : Read / Write / Construct Only
  "progress"                 EntangleProgress*     : Read / Write
  "summary"                  gchar*                : Read

Signals

  "camera-connected"                               : Run First
  "camera-controls-changed"                        : Run First
  "camera-disconnected"                            : Run First
  "camera-file-added"                              : Run First
  "camera-file-captured"                           : Run First
  "camera-file-deleted"                            : Run First
  "camera-file-downloaded"                         : Run First
  "camera-file-previewed"                          : Run First

Description

Details

struct EntangleCamera

struct EntangleCamera;

struct EntangleCameraClass

struct EntangleCameraClass {
    GObjectClass parent_class;

    void (*camera_file_added)(EntangleCamera *cam, EntangleCameraFile *file);
    void (*camera_file_captured)(EntangleCamera *cam, EntangleCameraFile *file);
    void (*camera_file_previewed)(EntangleCamera *cam, EntangleCameraFile *file);
    void (*camera_file_downloaded)(EntangleCamera *cam, EntangleCameraFile *file);
    void (*camera_file_deleted)(EntangleCamera *cam, EntangleCameraFile *file);

    void (*camera_controls_changed)(EntangleCamera *cam);

    void (*camera_connected)(EntangleCamera *cam);
    void (*camera_disconnected)(EntangleCamera *cam);
};

entangle_camera_new ()

EntangleCamera *    entangle_camera_new                 (const char *model,
                                                         const char *port,
                                                         gboolean hasCapture,
                                                         gboolean hasPreview,
                                                         gboolean hasSettings);

entangle_camera_get_model ()

const char *        entangle_camera_get_model           (EntangleCamera *cam);

entangle_camera_get_port ()

const char *        entangle_camera_get_port            (EntangleCamera *cam);

entangle_camera_connect ()

gboolean            entangle_camera_connect             (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_connect_async ()

void                entangle_camera_connect_async       (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_connect_finish ()

gboolean            entangle_camera_connect_finish      (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_disconnect ()

gboolean            entangle_camera_disconnect          (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_disconnect_async ()

void                entangle_camera_disconnect_async    (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_disconnect_finish ()

gboolean            entangle_camera_disconnect_finish   (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_get_connected ()

gboolean            entangle_camera_get_connected       (EntangleCamera *cam);

entangle_camera_get_summary ()

char *              entangle_camera_get_summary         (EntangleCamera *cam);

entangle_camera_get_manual ()

char *              entangle_camera_get_manual          (EntangleCamera *cam);

entangle_camera_get_driver ()

char *              entangle_camera_get_driver          (EntangleCamera *cam);

entangle_camera_capture_image ()

EntangleCameraFile * entangle_camera_capture_image      (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_capture_image_async ()

void                entangle_camera_capture_image_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_capture_image_finish ()

EntangleCameraFile * entangle_camera_capture_image_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_preview_image ()

EntangleCameraFile * entangle_camera_preview_image      (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_preview_image_async ()

void                entangle_camera_preview_image_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_preview_image_finish ()

EntangleCameraFile * entangle_camera_preview_image_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_download_file ()

gboolean            entangle_camera_download_file       (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GError **error);

entangle_camera_download_file_async ()

void                entangle_camera_download_file_async (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_download_file_finish ()

gboolean            entangle_camera_download_file_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);

entangle_camera_delete_file ()

gboolean            entangle_camera_delete_file         (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GError **error);

entangle_camera_delete_file_async ()

void                entangle_camera_delete_file_async   (EntangleCamera *cam,
                                                         EntangleCameraFile *file,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_delete_file_finish ()

gboolean            entangle_camera_delete_file_finish  (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_process_events ()

gboolean            entangle_camera_process_events      (EntangleCamera *cam,
                                                         guint64 waitms,
                                                         GError **error);

entangle_camera_process_events_async ()

void                entangle_camera_process_events_async
                                                        (EntangleCamera *cam,
                                                         guint64 waitms,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_process_events_finish ()

gboolean            entangle_camera_process_events_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_set_viewfinder ()

gboolean            entangle_camera_set_viewfinder      (EntangleCamera *cam,
                                                         gboolean enabled,
                                                         GError **error);

entangle_camera_set_viewfinder_async ()

void                entangle_camera_set_viewfinder_async
                                                        (EntangleCamera *cam,
                                                         gboolean enabled,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_set_viewfinder_finish ()

gboolean            entangle_camera_set_viewfinder_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_autofocus ()

gboolean            entangle_camera_autofocus           (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_autofocus_async ()

void                entangle_camera_autofocus_async     (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_autofocus_finish ()

gboolean            entangle_camera_autofocus_finish    (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_manualfocus ()

gboolean            entangle_camera_manualfocus         (EntangleCamera *cam,
                                                         gshort delta,
                                                         GError **error);

entangle_camera_manualfocus_async ()

void                entangle_camera_manualfocus_async   (EntangleCamera *cam,
                                                         gshort delta,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_manualfocus_finish ()

gboolean            entangle_camera_manualfocus_finish  (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_get_has_capture ()

gboolean            entangle_camera_get_has_capture     (EntangleCamera *cam);

entangle_camera_get_has_preview ()

gboolean            entangle_camera_get_has_preview     (EntangleCamera *cam);

entangle_camera_get_has_settings ()

gboolean            entangle_camera_get_has_settings    (EntangleCamera *cam);

entangle_camera_get_has_viewfinder ()

gboolean            entangle_camera_get_has_viewfinder  (EntangleCamera *cam);

entangle_camera_load_controls ()

gboolean            entangle_camera_load_controls       (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_load_controls_async ()

void                entangle_camera_load_controls_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_load_controls_finish ()

gboolean            entangle_camera_load_controls_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_save_controls ()

gboolean            entangle_camera_save_controls       (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_save_controls_async ()

void                entangle_camera_save_controls_async (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_save_controls_finish ()

gboolean            entangle_camera_save_controls_finish
                                                        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **error);

entangle_camera_get_controls ()

EntangleControlGroup * entangle_camera_get_controls     (EntangleCamera *cam,
                                                         GError **error);

entangle_camera_set_progress ()

void                entangle_camera_set_progress        (EntangleCamera *cam,
                                                         EntangleProgress *prog);

entangle_camera_get_progress ()

EntangleProgress *  entangle_camera_get_progress        (EntangleCamera *cam);

entangle_camera_is_mounted ()

gboolean            entangle_camera_is_mounted          (EntangleCamera *cam);

entangle_camera_mount_async ()

void                entangle_camera_mount_async         (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_mount_finish ()

gboolean            entangle_camera_mount_finish        (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);

entangle_camera_unmount_async ()

void                entangle_camera_unmount_async       (EntangleCamera *cam,
                                                         GCancellable *cancellable,
                                                         GAsyncReadyCallback callback,
                                                         gpointer user_data);

entangle_camera_unmount_finish ()

gboolean            entangle_camera_unmount_finish      (EntangleCamera *cam,
                                                         GAsyncResult *result,
                                                         GError **err);

Property Details

The "driver" property

  "driver"                   gchar*                : Read

Camera driver information.

Default value: NULL


The "has-capture" property

  "has-capture"              gboolean              : Read / Write / Construct Only

Whether image capture is supported.

Default value: FALSE


The "has-preview" property

  "has-preview"              gboolean              : Read / Write / Construct Only

Whether image preview is supported.

Default value: FALSE


The "has-settings" property

  "has-settings"             gboolean              : Read / Write / Construct Only

Whether camera settings configuration is supported.

Default value: FALSE


The "has-viewfinder" property

  "has-viewfinder"           gboolean              : Read / Write / Construct Only

Whether camera viewfinder configuration is supported.

Default value: FALSE


The "manual" property

  "manual"                   gchar*                : Read

Camera manual.

Default value: NULL


The "model" property

  "model"                    gchar*                : Read / Write / Construct Only

Model name of the camera.

Default value: NULL


The "port" property

  "port"                     gchar*                : Read / Write / Construct Only

Device port of the camera.

Default value: NULL


The "progress" property

  "progress"                 EntangleProgress*     : Read / Write

Operation progress updater.


The "summary" property

  "summary"                  gchar*                : Read

Camera summary.

Default value: NULL

Signal Details

The "camera-connected" signal

void                user_function                      (EntangleCamera *entanglecamera,
                                                        gpointer        user_data)           : Run First

The "camera-controls-changed" signal

void                user_function                      (EntangleCamera *entanglecamera,
                                                        gpointer        user_data)           : Run First

The "camera-disconnected" signal

void                user_function                      (EntangleCamera *entanglecamera,
                                                        gpointer        user_data)           : Run First

The "camera-file-added" signal

void                user_function                      (EntangleCamera     *entanglecamera,
                                                        EntangleCameraFile *arg1,
                                                        gpointer            user_data)           : Run First

The "camera-file-captured" signal

void                user_function                      (EntangleCamera     *entanglecamera,
                                                        EntangleCameraFile *arg1,
                                                        gpointer            user_data)           : Run First

The "camera-file-deleted" signal

void                user_function                      (EntangleCamera     *entanglecamera,
                                                        EntangleCameraFile *arg1,
                                                        gpointer            user_data)           : Run First

The "camera-file-downloaded" signal

void                user_function                      (EntangleCamera     *entanglecamera,
                                                        EntangleCameraFile *arg1,
                                                        gpointer            user_data)           : Run First

The "camera-file-previewed" signal

void                user_function                      (EntangleCamera     *entanglecamera,
                                                        EntangleCameraFile *arg1,
                                                        gpointer            user_data)           : Run First
entangle-0.5.4/docs/reference/html/index.html0000664000000000000000000001500712253421054016036 00000000000000 Entangle Reference Manual entangle-0.5.4/docs/reference/html/EntangleDeviceManager.html0000664000000000000000000002120212253421054021071 00000000000000 EntangleDeviceManager

EntangleDeviceManager

EntangleDeviceManager

Object Hierarchy

  GObject
   +----EntangleDeviceManager

Signals

  "device-added"                                   : Run First
  "device-removed"                                 : Run First

Description

Details

struct EntangleDeviceManager

struct EntangleDeviceManager;

struct EntangleDeviceManagerClass

struct EntangleDeviceManagerClass {
    GObjectClass parent_class;

    void (*device_added)(EntangleDeviceManager *manager, const char *port);
    void (*device_removed)(EntangleDeviceManager *manager, const char *port);
};

entangle_device_manager_new ()

EntangleDeviceManager * entangle_device_manager_new     (void);

entangle_device_manager_has_port ()

gboolean            entangle_device_manager_has_port    (EntangleDeviceManager *manager,
                                                         const char *port);

entangle_device_manager_port_serial ()

char *              entangle_device_manager_port_serial (EntangleDeviceManager *manager,
                                                         const char *port);

Signal Details

The "device-added" signal

void                user_function                      (EntangleDeviceManager *entangledevicemanager,
                                                        gchar                 *arg1,
                                                        gpointer               user_data)                  : Run First

The "device-removed" signal

void                user_function                      (EntangleDeviceManager *entangledevicemanager,
                                                        gchar                 *arg1,
                                                        gpointer               user_data)                  : Run First
entangle-0.5.4/docs/reference/html/EntangleImageDisplay.html0000664000000000000000000010032312253421054020751 00000000000000 EntangleImageDisplay

EntangleImageDisplay

EntangleImageDisplay

Synopsis

struct              EntangleImageDisplay;
struct              EntangleImageDisplayClass;
EntangleImageDisplay * entangle_image_display_new       (void);
void                entangle_image_display_set_image    (EntangleImageDisplay *display,
                                                         EntangleImage *image);
EntangleImage *     entangle_image_display_get_image    (EntangleImageDisplay *display);
void                entangle_image_display_set_image_list
                                                        (EntangleImageDisplay *display,
                                                         GList *image);
GList *             entangle_image_display_get_image_list
                                                        (EntangleImageDisplay *display);
void                entangle_image_display_set_autoscale
                                                        (EntangleImageDisplay *displsy,
                                                         gboolean autoscale);
gboolean            entangle_image_display_get_autoscale
                                                        (EntangleImageDisplay *display);
void                entangle_image_display_set_scale    (EntangleImageDisplay *display,
                                                         gdouble scale);
gdouble             entangle_image_display_get_scale    (EntangleImageDisplay *display);
void                entangle_image_display_set_aspect_ratio
                                                        (EntangleImageDisplay *display,
                                                         gdouble aspect);
gdouble             entangle_image_display_get_aspect_ratio
                                                        (EntangleImageDisplay *display);
void                entangle_image_display_set_mask_opacity
                                                        (EntangleImageDisplay *display,
                                                         gdouble opacity);
gdouble             entangle_image_display_get_mask_opacity
                                                        (EntangleImageDisplay *display);
void                entangle_image_display_set_mask_enabled
                                                        (EntangleImageDisplay *display,
                                                         gboolean enabled);
gboolean            entangle_image_display_get_mask_enabled
                                                        (EntangleImageDisplay *display);
void                entangle_image_display_set_focus_point
                                                        (EntangleImageDisplay *display,
                                                         gboolean enabled);
gboolean            entangle_image_display_get_focus_point
                                                        (EntangleImageDisplay *display);
gboolean            entangle_image_display_get_loaded   (EntangleImageDisplay *display);
enum                EntangleImageDisplayGrid;
void                entangle_image_display_set_grid_display
                                                        (EntangleImageDisplay *display,
                                                         EntangleImageDisplayGrid mode);
EntangleImageDisplayGrid entangle_image_display_get_grid_display
                                                        (EntangleImageDisplay *display);

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkDrawingArea
                     +----EntangleImageDisplay
  GEnum
   +----EntangleImageDisplayGrid

Implemented Interfaces

EntangleImageDisplay implements AtkImplementorIface and GtkBuildable.

Properties

  "aspect-ratio"             gfloat                : Read / Write
  "autoscale"                gboolean              : Read / Write
  "focus-point"              gboolean              : Read / Write
  "grid-display"             EntangleImageDisplayGrid  : Read / Write
  "image"                    EntangleImage*        : Read / Write
  "mask-enabled"             gboolean              : Read / Write
  "mask-opacity"             gfloat                : Read / Write
  "scale"                    gfloat                : Read / Write

Description

Details

struct EntangleImageDisplay

struct EntangleImageDisplay;

struct EntangleImageDisplayClass

struct EntangleImageDisplayClass {
    GtkDrawingAreaClass parent_class;
};

entangle_image_display_new ()

EntangleImageDisplay * entangle_image_display_new       (void);

entangle_image_display_set_image ()

void                entangle_image_display_set_image    (EntangleImageDisplay *display,
                                                         EntangleImage *image);

entangle_image_display_get_image ()

EntangleImage *     entangle_image_display_get_image    (EntangleImageDisplay *display);

entangle_image_display_set_image_list ()

void                entangle_image_display_set_image_list
                                                        (EntangleImageDisplay *display,
                                                         GList *image);

entangle_image_display_get_image_list ()

GList *             entangle_image_display_get_image_list
                                                        (EntangleImageDisplay *display);

entangle_image_display_set_autoscale ()

void                entangle_image_display_set_autoscale
                                                        (EntangleImageDisplay *displsy,
                                                         gboolean autoscale);

entangle_image_display_get_autoscale ()

gboolean            entangle_image_display_get_autoscale
                                                        (EntangleImageDisplay *display);

entangle_image_display_set_scale ()

void                entangle_image_display_set_scale    (EntangleImageDisplay *display,
                                                         gdouble scale);

entangle_image_display_get_scale ()

gdouble             entangle_image_display_get_scale    (EntangleImageDisplay *display);

entangle_image_display_set_aspect_ratio ()

void                entangle_image_display_set_aspect_ratio
                                                        (EntangleImageDisplay *display,
                                                         gdouble aspect);

entangle_image_display_get_aspect_ratio ()

gdouble             entangle_image_display_get_aspect_ratio
                                                        (EntangleImageDisplay *display);

entangle_image_display_set_mask_opacity ()

void                entangle_image_display_set_mask_opacity
                                                        (EntangleImageDisplay *display,
                                                         gdouble opacity);

entangle_image_display_get_mask_opacity ()

gdouble             entangle_image_display_get_mask_opacity
                                                        (EntangleImageDisplay *display);

entangle_image_display_set_mask_enabled ()

void                entangle_image_display_set_mask_enabled
                                                        (EntangleImageDisplay *display,
                                                         gboolean enabled);

entangle_image_display_get_mask_enabled ()

gboolean            entangle_image_display_get_mask_enabled
                                                        (EntangleImageDisplay *display);

entangle_image_display_set_focus_point ()

void                entangle_image_display_set_focus_point
                                                        (EntangleImageDisplay *display,
                                                         gboolean enabled);

entangle_image_display_get_focus_point ()

gboolean            entangle_image_display_get_focus_point
                                                        (EntangleImageDisplay *display);

entangle_image_display_get_loaded ()

gboolean            entangle_image_display_get_loaded   (EntangleImageDisplay *display);

enum EntangleImageDisplayGrid

typedef enum {
    ENTANGLE_IMAGE_DISPLAY_GRID_NONE,
    ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES,
    ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS,
    ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS,
    ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS,
    ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS,
} EntangleImageDisplayGrid;

ENTANGLE_IMAGE_DISPLAY_GRID_NONE

ENTANGLE_IMAGE_DISPLAY_GRID_CENTER_LINES

ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_3RDS

ENTANGLE_IMAGE_DISPLAY_GRID_QUARTERS

ENTANGLE_IMAGE_DISPLAY_GRID_RULE_OF_5THS

ENTANGLE_IMAGE_DISPLAY_GRID_GOLDEN_SECTIONS


entangle_image_display_set_grid_display ()

void                entangle_image_display_set_grid_display
                                                        (EntangleImageDisplay *display,
                                                         EntangleImageDisplayGrid mode);

entangle_image_display_get_grid_display ()

EntangleImageDisplayGrid entangle_image_display_get_grid_display
                                                        (EntangleImageDisplay *display);

Property Details

The "aspect-ratio" property

  "aspect-ratio"             gfloat                : Read / Write

Aspect ratio to mask image to.

Allowed values: [0,100]

Default value: 1.69


The "autoscale" property

  "autoscale"                gboolean              : Read / Write

Automatically scale image to fit available area.

Default value: TRUE


The "focus-point" property

  "focus-point"              gboolean              : Read / Write

Overlay center focus point.

Default value: FALSE


The "grid-display" property

  "grid-display"             EntangleImageDisplayGrid  : Read / Write

Grid line display.

Default value: ENTANGLE_IMAGE_DISPLAY_GRID_NONE


The "image" property

  "image"                    EntangleImage*        : Read / Write

Image.


The "mask-enabled" property

  "mask-enabled"             gboolean              : Read / Write

Enable aspect ratio image mask.

Default value: FALSE


The "mask-opacity" property

  "mask-opacity"             gfloat                : Read / Write

Mask opacity when adjusting aspect ratio.

Allowed values: [0,1]

Default value: 0.5


The "scale" property

  "scale"                    gfloat                : Read / Write

Scale factor for image, 0-1 for zoom out, 1->32 for zoom in.

Allowed values: [0,32]

Default value: 0

entangle-0.5.4/docs/reference/html/EntangleSessionBrowser.html0000664000000000000000000005647712253421054021414 00000000000000 EntangleSessionBrowser

EntangleSessionBrowser

EntangleSessionBrowser

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkDrawingArea
                     +----EntangleSessionBrowser

Implemented Interfaces

EntangleSessionBrowser implements AtkImplementorIface, GtkBuildable, GtkCellLayout and GtkScrollable.

Properties

  "session"                  EntangleSession*      : Read / Write
  "thumbnail-loader"         EntangleThumbnailLoader*  : Read / Write

Signals

  "selection-changed"                              : Run First

Description

Details

struct EntangleSessionBrowser

struct EntangleSessionBrowser;

struct EntangleSessionBrowserClass

struct EntangleSessionBrowserClass {
    GtkDrawingAreaClass parent_class;

    void (*selection_changed)(EntangleSessionBrowser *browser);
};

entangle_session_browser_new ()

EntangleSessionBrowser * entangle_session_browser_new   (void);

entangle_session_browser_selected_image ()

EntangleImage *     entangle_session_browser_selected_image
                                                        (EntangleSessionBrowser *browser);

browser :

the session browser. [transfer none]

Returns :

the selected image or NULL. [transfer full]

entangle_session_browser_earlier_images ()

GList *             entangle_session_browser_earlier_images
                                                        (EntangleSessionBrowser *browser,
                                                         gboolean include_selected,
                                                         gsize count);

Get a list of images prior to the currently selected image. If include_selected is true, then the currently selected image will be included in the returned list

browser :

the session browser. [transfer none]

include_selected :

true to include the current image in the list

count :

maximum number of images to return

Returns :

the list of images. [transfer full][element-type EntangleImage]

entangle_session_browser_set_thumbnail_loader ()

void                entangle_session_browser_set_thumbnail_loader
                                                        (EntangleSessionBrowser *browser,
                                                         EntangleThumbnailLoader *loader);

Set the thumbnail loader to use for generating image thumbnails

browser :

the session browser. [transfer none]

loader :

the thumbnail loader to use. [transfer none]

entangle_session_browser_get_thumbnail_loader ()

EntangleThumbnailLoader * entangle_session_browser_get_thumbnail_loader
                                                        (EntangleSessionBrowser *browser);

Get the thumbnail loader used by the session browser

browser :

the session browser

Returns :

the session browser. [transfer none]

entangle_session_browser_set_session ()

void                entangle_session_browser_set_session
                                                        (EntangleSessionBrowser *browser,
                                                         EntangleSession *session);

Set the session to be displayed

browser :

the session browser. [transfer none]

session :

the session to display. [transfer none]

entangle_session_browser_get_session ()

EntangleSession *   entangle_session_browser_get_session
                                                        (EntangleSessionBrowser *browser);

Get the session being displayed

browser :

the session browser. [transfer none]

Returns :

the session. [transfer none]

entangle_session_browser_get_image_at_coords ()

EntangleImage *     entangle_session_browser_get_image_at_coords
                                                        (EntangleSessionBrowser *browser,
                                                         gint x,
                                                         gint y);

Retrieve the image displayed at the co-ordinates (x, y)

browser :

the session browser. [transfer none]

x :

the horizontal co-ordinate

y :

the vertical co-ordinate

Returns :

the image, or NULL. [transfer none]

Property Details

The "session" property

  "session"                  EntangleSession*      : Read / Write

Session to be displayed.


The "thumbnail-loader" property

  "thumbnail-loader"         EntangleThumbnailLoader*  : Read / Write

Thumbnail loader.

Signal Details

The "selection-changed" signal

void                user_function                      (EntangleSessionBrowser *entanglesessionbrowser,
                                                        gpointer                user_data)                   : Run First
entangle-0.5.4/docs/reference/html/EntangleControlGroup.html0000664000000000000000000002341312253421054021042 00000000000000 EntangleControlGroup

EntangleControlGroup

EntangleControlGroup

Synopsis

struct              EntangleControlGroup;
struct              EntangleControlGroupClass;
EntangleControlGroup * entangle_control_group_new       (const gchar *path,
                                                         gint id,
                                                         const gchar *label,
                                                         const gchar *info,
                                                         gboolean readonly);
void                entangle_control_group_add          (EntangleControlGroup *group,
                                                         EntangleControl *control);
guint               entangle_control_group_count        (EntangleControlGroup *group);
EntangleControl *   entangle_control_group_get          (EntangleControlGroup *group,
                                                         int idx);
EntangleControl *   entangle_control_group_get_by_path  (EntangleControlGroup *group,
                                                         const gchar *path);

Object Hierarchy

  GObject
   +----EntangleControl
         +----EntangleControlGroup

Description

Details

struct EntangleControlGroup

struct EntangleControlGroup;

struct EntangleControlGroupClass

struct EntangleControlGroupClass {
    EntangleControlClass parent_class;
};

entangle_control_group_new ()

EntangleControlGroup * entangle_control_group_new       (const gchar *path,
                                                         gint id,
                                                         const gchar *label,
                                                         const gchar *info,
                                                         gboolean readonly);

entangle_control_group_add ()

void                entangle_control_group_add          (EntangleControlGroup *group,
                                                         EntangleControl *control);

entangle_control_group_count ()

guint               entangle_control_group_count        (EntangleControlGroup *group);

entangle_control_group_get ()

EntangleControl *   entangle_control_group_get          (EntangleControlGroup *group,
                                                         int idx);

entangle_control_group_get_by_path ()

EntangleControl *   entangle_control_group_get_by_path  (EntangleControlGroup *group,
                                                         const gchar *path);
entangle-0.5.4/docs/reference/html/EntangleHelpAbout.html0000664000000000000000000001220612253421054020266 00000000000000 EntangleHelpAbout

EntangleHelpAbout

EntangleHelpAbout

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----GtkAboutDialog
                                             +----EntangleHelpAbout

Implemented Interfaces

EntangleHelpAbout implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Description

Details

struct EntangleHelpAbout

struct EntangleHelpAbout;

struct EntangleHelpAboutClass

struct EntangleHelpAboutClass {
    GtkAboutDialogClass parent_class;

    void (*about_close)(EntangleHelpAbout *about);
};

entangle_help_about_new ()

EntangleHelpAbout * entangle_help_about_new             (void);
entangle-0.5.4/docs/reference/html/EntangleCameraPicker.html0000664000000000000000000002316212253421054020734 00000000000000 EntangleCameraPicker

EntangleCameraPicker

EntangleCameraPicker

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----GtkDialog
                                       +----EntangleCameraPicker

Implemented Interfaces

EntangleCameraPicker implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Properties

  "cameras"                  EntangleCameraList*   : Read / Write

Signals

  "picker-connect"                                 : Run First
  "picker-refresh"                                 : Run First

Description

Details

struct EntangleCameraPicker

struct EntangleCameraPicker;

struct EntangleCameraPickerClass

struct EntangleCameraPickerClass {
    GtkDialogClass parent_class;

    void (*picker_connect)(EntangleCameraPicker *picker, EntangleCamera *cam);
    void (*picker_refresh)(EntangleCameraPicker *picker);
};

entangle_camera_picker_new ()

EntangleCameraPicker * entangle_camera_picker_new       (void);

entangle_camera_picker_set_camera_list ()

void                entangle_camera_picker_set_camera_list
                                                        (EntangleCameraPicker *picker,
                                                         EntangleCameraList *cameras);

Property Details

The "cameras" property

  "cameras"                  EntangleCameraList*   : Read / Write

List of known camera objects.

Signal Details

The "picker-connect" signal

void                user_function                      (EntangleCameraPicker *entanglecamerapicker,
                                                        GObject              *arg1,
                                                        gpointer              user_data)                 : Run First

The "picker-refresh" signal

void                user_function                      (EntangleCameraPicker *entanglecamerapicker,
                                                        gpointer              user_data)                 : Run First
entangle-0.5.4/docs/reference/html/Entangle-EntangleProgress.html0000664000000000000000000001310012253421054021734 00000000000000 EntangleProgress

EntangleProgress

EntangleProgress

Synopsis

struct              EntangleProgressInterface;
void                entangle_progress_start             (EntangleProgress *prog,
                                                         float target,
                                                         const char *msg);
void                entangle_progress_update            (EntangleProgress *prog,
                                                         float current);
void                entangle_progress_stop              (EntangleProgress *prog);

Description

Details

struct EntangleProgressInterface

struct EntangleProgressInterface {
    GTypeInterface parent;

    void (*start) (EntangleProgress *prog, float target, const char *msg);
    void (*update) (EntangleProgress *prog, float current);
    void (*stop) (EntangleProgress *prog);
};

entangle_progress_start ()

void                entangle_progress_start             (EntangleProgress *prog,
                                                         float target,
                                                         const char *msg);

entangle_progress_update ()

void                entangle_progress_update            (EntangleProgress *prog,
                                                         float current);

entangle_progress_stop ()

void                entangle_progress_stop              (EntangleProgress *prog);
entangle-0.5.4/docs/reference/html/index.sgml0000664000000000000000000025322212253421054016037 00000000000000 entangle-0.5.4/docs/reference/html/right.png0000644000000000000000000000073012253421054015657 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME2 I%=eIDATx!o@.'**M0$$?1~vIeEuLl&4䝠Bݛ|>$ݶoc entangle-debug

entangle-debug

entangle-debug

Synopsis

extern gboolean     entangle_debug_app;
extern gboolean     entangle_debug_gphoto;
extern gint64       entangle_debug_startms;
void                entangle_debug_setup                (gboolean debug_app,
                                                         gboolean debug_gphoto);
#define             ENTANGLE_DEBUG                      (fmt,
                                                         ...)

Description

Details

entangle_debug_app

extern gboolean entangle_debug_app;

entangle_debug_gphoto

extern gboolean entangle_debug_gphoto;

entangle_debug_startms

extern gint64 entangle_debug_startms;

entangle_debug_setup ()

void                entangle_debug_setup                (gboolean debug_app,
                                                         gboolean debug_gphoto);

ENTANGLE_DEBUG()

#define             ENTANGLE_DEBUG(fmt, ...)
entangle-0.5.4/docs/reference/html/style.css0000644000000000000000000001210012253421054015700 00000000000000.synopsis, .classsynopsis { /* tango:aluminium 1/2 */ background: #eeeeec; border: solid 1px #d3d7cf; padding: 0.5em; } .programlisting { /* tango:sky blue 0/1 */ background: #e6f3ff; border: solid 1px #729fcf; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .variablelist td:first-child { vertical-align: top; } @media screen { sup a.footnote { position: relative; top: 0em ! important; } /* this is needed so that the local anchors are displayed below the naviagtion */ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name] { display: inline-block; position: relative; top:-5em; } /* this seems to be a bug in the xsl style sheets when generating indexes */ div.index div.index { top: 0em; } /* make space for the fixed navigation bar and add space at the bottom so that * link targets appear somewhat close to top */ body { padding-top: 3.2em; padding-bottom: 20em; } /* style and size the navigation bar */ table.navigation#top { position: fixed; /* tango:scarlet red 0/1 */ background: #ffe6e6; border: solid 1px #ef2929; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; z-index: 10; } .navigation a, .navigation a:visited { /* tango:scarlet red 3 */ color: #a40000; } .navigation a:hover { /* tango:scarlet red 1 */ color: #ef2929; } td.shortcuts { /* tango:scarlet red 1 */ color: #ef2929; font-size: 80%; white-space: nowrap; } } @media print { table.navigation { visibility: collapse; display: none; } div.titlepage table.navigation { visibility: visible; display: table; /* tango:scarlet red 0/1 */ background: #ffe6e6; border: solid 1px #ef2929; margin-top: 0; margin-bottom: 0; top: 0; left: 0; height: 3em; } } .navigation .title { font-size: 200%; } div.gallery-float { float: left; padding: 10px; } div.gallery-float img { border-style: none; } div.gallery-spacer { clear: both; } a, a:visited { text-decoration: none; /* tango:sky blue 2 */ color: #3465a4; } a:hover { text-decoration: underline; /* tango:sky blue 1 */ color: #729fcf; } div.table table { border-collapse: collapse; border-spacing: 0px; /* tango:aluminium 3 */ border: solid 1px #babdb6; } div.table table td, div.table table th { /* tango:aluminium 3 */ border: solid 1px #babdb6; padding: 3px; vertical-align: top; } div.table table th { /* tango:aluminium 2 */ background-color: #d3d7cf; } hr { /* tango:aluminium 3 */ color: #babdb6; background: #babdb6; border: none 0px; height: 1px; clear: both; } .footer { padding-top: 3.5em; /* tango:aluminium 3 */ color: #babdb6; text-align: center; font-size: 80%; } .warning { /* tango:orange 0/1 */ background: #ffeed9; border-color: #ffb04f; } .note { /* tango:chameleon 0/0.5 */ background: #d8ffb2; border-color: #abf562; } .note, .warning { padding: 0.5em; border-width: 1px; border-style: solid; } .note h3, .warning h3 { margin-top: 0.0em } .note p, .warning p { margin-bottom: 0.0em } /* blob links */ h2 .extralinks, h3 .extralinks { float: right; /* tango:aluminium 3 */ color: #babdb6; font-size: 80%; font-weight: normal; } .annotation { /* tango:aluminium 5 */ color: #555753; font-size: 80%; font-weight: normal; } /* code listings */ .listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */ .listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */ .listing_code .programlisting .function { color: #000000; font-weight: bold; } .listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */ .listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */ .listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */ .listing_code .programlisting .normal { color: #000000; } .listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */ .listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */ .listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */ .listing_code .programlisting .type { color: #000000; } .listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */ .listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */ .listing_frame { /* tango:sky blue 1 */ border: solid 1px #729fcf; padding: 0px; } .listing_lines, .listing_code { margin-top: 0px; margin-bottom: 0px; padding: 0.5em; } .listing_lines { /* tango:sky blue 0.5 */ background: #a6c5e3; /* tango:aluminium 6 */ color: #2e3436; } .listing_code { /* tango:sky blue 0 */ background: #e6f3ff; } .listing_code .programlisting { /* override from previous */ border: none 0px; padding: 0px; } .listing_lines pre, .listing_code pre { margin: 0px; } entangle-0.5.4/docs/reference/html/EntangleApplication.html0000664000000000000000000002236012253421054020650 00000000000000 EntangleApplication

EntangleApplication

EntangleApplication

Object Hierarchy

  GObject
   +----GApplication
         +----GtkApplication
               +----EntangleApplication

Implemented Interfaces

EntangleApplication implements GActionGroup and GActionMap.

Description

Details

struct EntangleApplication

struct EntangleApplication;

struct EntangleApplicationClass

struct EntangleApplicationClass {
    GtkApplicationClass parent_class;
};

entangle_application_new ()

EntangleApplication * entangle_application_new          (void);

entangle_application_get_cameras ()

EntangleCameraList * entangle_application_get_cameras   (EntangleApplication *application);

entangle_application_get_preferences ()

EntanglePreferences * entangle_application_get_preferences
                                                        (EntangleApplication *application);

entangle_application_get_plugin_engine ()

PeasEngine *        entangle_application_get_plugin_engine
                                                        (EntangleApplication *application);

Property Details

The "cameras" property

  "cameras"                  EntangleCameraList*   : Read

List of detected cameras.


The "preferences" property

  "preferences"              EntanglePreferences*  : Read

Application preferences.

entangle-0.5.4/docs/reference/html/ch02.html0000664000000000000000000000675412253421054015474 00000000000000 Entangle Frontend entangle-0.5.4/docs/reference/html/home.png0000644000000000000000000000121612253421054015472 00000000000000PNG  IHDRw=bKGD pHYs  ~tIME1KvIDATxՕkq?rCp ~CnpCAAJ .B-\'G]:ܠC -(8 Ԁ!fDғklbRoyxwpðIJ<of_-@RHf֟t^ښ$Q|pgv;X^^&s(bwwZF9&3඙ ^IRZUE.0Z]]U PYM8HGIekqqҀ! $۬3n e{-/seeeÌXOͷ$8==USQRR'9-s+B^ Cەs+%<7W :2IENDB`entangle-0.5.4/docs/reference/html/EntangleImagePopup.html0000664000000000000000000003221012253421054020446 00000000000000 EntangleImagePopup

EntangleImagePopup

EntangleImagePopup

Object Hierarchy

  GObject
   +----GInitiallyUnowned
         +----GtkWidget
               +----GtkContainer
                     +----GtkBin
                           +----GtkWindow
                                 +----EntangleImagePopup

Implemented Interfaces

EntangleImagePopup implements AtkImplementorIface, GtkBuildable and EntangleWindow.

Properties

  "image"                    EntangleImage*        : Read / Write

Signals

  "popup-close"                                    : Run First

Description

Details

struct EntangleImagePopup

struct EntangleImagePopup;

struct EntangleImagePopupClass

struct EntangleImagePopupClass {
    GtkWindowClass parent_class;

    void (*popup_close)(EntangleImagePopup *popup);
};

entangle_image_popup_new ()

EntangleImagePopup * entangle_image_popup_new           (void);

entangle_image_popup_show ()

void                entangle_image_popup_show           (EntangleImagePopup *popup,
                                                         GtkWindow *parent,
                                                         int x,
                                                         int y);

entangle_image_popup_move_to_monitor ()

void                entangle_image_popup_move_to_monitor
                                                        (EntangleImagePopup *popup,
                                                         gint monitor);

entangle_image_popup_show_on_monitor ()

void                entangle_image_popup_show_on_monitor
                                                        (EntangleImagePopup *popup,
                                                         gint monitor);

entangle_image_popup_set_image ()

void                entangle_image_popup_set_image      (EntangleImagePopup *popup,
                                                         EntangleImage *image);

entangle_image_popup_get_image ()

EntangleImage *     entangle_image_popup_get_image      (EntangleImagePopup *popup);

Property Details

The "image" property

  "image"                    EntangleImage*        : Read / Write

Image to be displayed.

Signal Details

The "popup-close" signal

void                user_function                      (EntangleImagePopup *entangleimagepopup,
                                                        gpointer            user_data)               : Run First
entangle-0.5.4/docs/reference/html/object-tree.html0000664000000000000000000001563012253421054017134 00000000000000 Object Hierarchy entangle-0.5.4/docs/reference/html/ch01.html0000664000000000000000000001074212253421054015463 00000000000000 Entangle Backend entangle-0.5.4/docs/reference/html/api-index-full.html0000664000000000000000000041250112253421054017545 00000000000000 API Index

API Index

A

EntangleApplication, struct in EntangleApplication
EntangleApplication:cameras, object property in EntangleApplication
EntangleApplication:preferences, object property in EntangleApplication
EntangleApplicationClass, struct in EntangleApplication
entangle_application_get_cameras, function in EntangleApplication
entangle_application_get_plugin_engine, function in EntangleApplication
entangle_application_get_preferences, function in EntangleApplication
entangle_application_new, function in EntangleApplication
EntangleAutoDrawer, struct in EntangleAutoDrawer
EntangleAutoDrawerClass, struct in EntangleAutoDrawer
entangle_auto_drawer_close, function in EntangleAutoDrawer
entangle_auto_drawer_new, function in EntangleAutoDrawer
entangle_auto_drawer_set_active, function in EntangleAutoDrawer
entangle_auto_drawer_set_fill, function in EntangleAutoDrawer
entangle_auto_drawer_set_no_overlap_pixels, function in EntangleAutoDrawer
entangle_auto_drawer_set_offset, function in EntangleAutoDrawer
entangle_auto_drawer_set_overlap_pixels, function in EntangleAutoDrawer
entangle_auto_drawer_set_pinned, function in EntangleAutoDrawer
entangle_auto_drawer_set_slide_delay, function in EntangleAutoDrawer

C

EntangleCamera, struct in EntangleCamera
EntangleCamera::camera-connected, object signal in EntangleCamera
EntangleCamera::camera-controls-changed, object signal in EntangleCamera
EntangleCamera::camera-disconnected, object signal in EntangleCamera
EntangleCamera::camera-file-added, object signal in EntangleCamera
EntangleCamera::camera-file-captured, object signal in EntangleCamera
EntangleCamera::camera-file-deleted, object signal in EntangleCamera
EntangleCamera::camera-file-downloaded, object signal in EntangleCamera
EntangleCamera::camera-file-previewed, object signal in EntangleCamera
EntangleCamera:driver, object property in EntangleCamera
EntangleCamera:has-capture, object property in EntangleCamera
EntangleCamera:has-preview, object property in EntangleCamera
EntangleCamera:has-settings, object property in EntangleCamera
EntangleCamera:has-viewfinder, object property in EntangleCamera
EntangleCamera:manual, object property in EntangleCamera
EntangleCamera:model, object property in EntangleCamera
EntangleCamera:port, object property in EntangleCamera
EntangleCamera:progress, object property in EntangleCamera
EntangleCamera:summary, object property in EntangleCamera
EntangleCameraClass, struct in EntangleCamera
EntangleCameraFile, struct in EntangleCameraFile
EntangleCameraFile:data, object property in EntangleCameraFile
EntangleCameraFile:folder, object property in EntangleCameraFile
EntangleCameraFile:mimetype, object property in EntangleCameraFile
EntangleCameraFile:name, object property in EntangleCameraFile
EntangleCameraFileClass, struct in EntangleCameraFile
EntangleCameraInfo, struct in EntangleCameraInfo
EntangleCameraInfo:camera, object property in EntangleCameraInfo
EntangleCameraInfo:data, object property in EntangleCameraInfo
EntangleCameraInfoClass, struct in EntangleCameraInfo
EntangleCameraInfoData, enum in EntangleCameraInfo
EntangleCameraList, struct in EntangleCameraList
EntangleCameraList::camera-added, object signal in EntangleCameraList
EntangleCameraList::camera-removed, object signal in EntangleCameraList
EntangleCameraList:device-manager, object property in EntangleCameraList
EntangleCameraListClass, struct in EntangleCameraList
EntangleCameraManager, struct in EntangleCameraManager
EntangleCameraManager::closed, object signal in EntangleCameraManager
EntangleCameraManager:camera, object property in EntangleCameraManager
EntangleCameraManagerClass, struct in EntangleCameraManager
EntangleCameraPicker, struct in EntangleCameraPicker
EntangleCameraPicker::picker-connect, object signal in EntangleCameraPicker
EntangleCameraPicker::picker-refresh, object signal in EntangleCameraPicker
EntangleCameraPicker:cameras, object property in EntangleCameraPicker
EntangleCameraPickerClass, struct in EntangleCameraPicker
EntangleCameraSupport, struct in EntangleCameraSupport
EntangleCameraSupport:camera-list, object property in EntangleCameraSupport
EntangleCameraSupportClass, struct in EntangleCameraSupport
entangle_camera_autofocus, function in EntangleCamera
entangle_camera_autofocus_async, function in EntangleCamera
entangle_camera_autofocus_finish, function in EntangleCamera
entangle_camera_capture_image, function in EntangleCamera
entangle_camera_capture_image_async, function in EntangleCamera
entangle_camera_capture_image_finish, function in EntangleCamera
entangle_camera_connect, function in EntangleCamera
entangle_camera_connect_async, function in EntangleCamera
entangle_camera_connect_finish, function in EntangleCamera
entangle_camera_delete_file, function in EntangleCamera
entangle_camera_delete_file_async, function in EntangleCamera
entangle_camera_delete_file_finish, function in EntangleCamera
entangle_camera_disconnect, function in EntangleCamera
entangle_camera_disconnect_async, function in EntangleCamera
entangle_camera_disconnect_finish, function in EntangleCamera
entangle_camera_download_file, function in EntangleCamera
entangle_camera_download_file_async, function in EntangleCamera
entangle_camera_download_file_finish, function in EntangleCamera
entangle_camera_file_get_data, function in EntangleCameraFile
entangle_camera_file_get_folder, function in EntangleCameraFile
entangle_camera_file_get_mimetype, function in EntangleCameraFile
entangle_camera_file_get_name, function in EntangleCameraFile
entangle_camera_file_new, function in EntangleCameraFile
entangle_camera_file_save_path, function in EntangleCameraFile
entangle_camera_file_save_uri, function in EntangleCameraFile
entangle_camera_file_set_data, function in EntangleCameraFile
entangle_camera_file_set_mimetype, function in EntangleCameraFile
entangle_camera_get_connected, function in EntangleCamera
entangle_camera_get_controls, function in EntangleCamera
entangle_camera_get_driver, function in EntangleCamera
entangle_camera_get_has_capture, function in EntangleCamera
entangle_camera_get_has_preview, function in EntangleCamera
entangle_camera_get_has_settings, function in EntangleCamera
entangle_camera_get_has_viewfinder, function in EntangleCamera
entangle_camera_get_manual, function in EntangleCamera
entangle_camera_get_model, function in EntangleCamera
entangle_camera_get_port, function in EntangleCamera
entangle_camera_get_progress, function in EntangleCamera
entangle_camera_get_summary, function in EntangleCamera
entangle_camera_info_get_camera, function in EntangleCameraInfo
entangle_camera_info_get_data, function in EntangleCameraInfo
entangle_camera_info_new, function in EntangleCameraInfo
entangle_camera_info_set_camera, function in EntangleCameraInfo
entangle_camera_info_set_data, function in EntangleCameraInfo
entangle_camera_is_mounted, function in EntangleCamera
entangle_camera_list_add, function in EntangleCameraList
entangle_camera_list_count, function in EntangleCameraList
entangle_camera_list_find, function in EntangleCameraList
entangle_camera_list_get, function in EntangleCameraList
entangle_camera_list_get_cameras, function in EntangleCameraList
entangle_camera_list_get_supported, function in EntangleCameraList
entangle_camera_list_new, function in EntangleCameraList
entangle_camera_list_refresh, function in EntangleCameraList
entangle_camera_list_remove, function in EntangleCameraList
entangle_camera_load_controls, function in EntangleCamera
entangle_camera_load_controls_async, function in EntangleCamera
entangle_camera_load_controls_finish, function in EntangleCamera
entangle_camera_manager_capture, function in EntangleCameraManager
entangle_camera_manager_get_camera, function in EntangleCameraManager
entangle_camera_manager_new, function in EntangleCameraManager
entangle_camera_manager_preview_begin, function in EntangleCameraManager
entangle_camera_manager_preview_cancel, function in EntangleCameraManager
entangle_camera_manager_set_camera, function in EntangleCameraManager
entangle_camera_manualfocus, function in EntangleCamera
entangle_camera_manualfocus_async, function in EntangleCamera
entangle_camera_manualfocus_finish, function in EntangleCamera
entangle_camera_mount_async, function in EntangleCamera
entangle_camera_mount_finish, function in EntangleCamera
entangle_camera_new, function in EntangleCamera
entangle_camera_picker_new, function in EntangleCameraPicker
entangle_camera_picker_set_camera_list, function in EntangleCameraPicker
entangle_camera_preview_image, function in EntangleCamera
entangle_camera_preview_image_async, function in EntangleCamera
entangle_camera_preview_image_finish, function in EntangleCamera
entangle_camera_process_events, function in EntangleCamera
entangle_camera_process_events_async, function in EntangleCamera
entangle_camera_process_events_finish, function in EntangleCamera
entangle_camera_save_controls, function in EntangleCamera
entangle_camera_save_controls_async, function in EntangleCamera
entangle_camera_save_controls_finish, function in EntangleCamera
entangle_camera_set_progress, function in EntangleCamera
entangle_camera_set_viewfinder, function in EntangleCamera
entangle_camera_set_viewfinder_async, function in EntangleCamera
entangle_camera_set_viewfinder_finish, function in EntangleCamera
entangle_camera_support_get_camera_list, function in EntangleCameraSupport
entangle_camera_support_new, function in EntangleCameraSupport
entangle_camera_support_set_camera_list, function in EntangleCameraSupport
entangle_camera_unmount_async, function in EntangleCamera
entangle_camera_unmount_finish, function in EntangleCamera
EntangleColourProfile, struct in EntangleColourProfile
EntangleColourProfile:data, object property in EntangleColourProfile
EntangleColourProfile:filename, object property in EntangleColourProfile
EntangleColourProfileClass, struct in EntangleColourProfile
EntangleColourProfileIntent, enum in EntangleColourProfile
EntangleColourProfileTransform, struct in EntangleColourProfile
EntangleColourProfileTransform:dst-profile, object property in EntangleColourProfile
EntangleColourProfileTransform:rendering-intent, object property in EntangleColourProfile
EntangleColourProfileTransform:src-profile, object property in EntangleColourProfile
EntangleColourProfileTransformClass, struct in EntangleColourProfile
entangle_colour_profile_copyright, function in EntangleColourProfile
entangle_colour_profile_filename, function in EntangleColourProfile
entangle_colour_profile_manufacturer, function in EntangleColourProfile
entangle_colour_profile_model, function in EntangleColourProfile
entangle_colour_profile_new_data, function in EntangleColourProfile
entangle_colour_profile_new_file, function in EntangleColourProfile
entangle_colour_profile_product_desc, function in EntangleColourProfile
entangle_colour_profile_product_info, function in EntangleColourProfile
entangle_colour_profile_product_name, function in EntangleColourProfile
entangle_colour_profile_transform_apply, function in EntangleColourProfile
entangle_colour_profile_transform_new, function in EntangleColourProfile
EntangleControl, struct in EntangleControl
EntangleControl:dirty, object property in EntangleControl
EntangleControl:id, object property in EntangleControl
EntangleControl:info, object property in EntangleControl
EntangleControl:label, object property in EntangleControl
EntangleControl:path, object property in EntangleControl
EntangleControl:readonly, object property in EntangleControl
EntangleControlButton, struct in EntangleControlButton
EntangleControlButtonClass, struct in EntangleControlButton
EntangleControlChoice, struct in EntangleControlChoice
EntangleControlChoice:value, object property in EntangleControlChoice
EntangleControlChoiceClass, struct in EntangleControlChoice
EntangleControlClass, struct in EntangleControl
EntangleControlDate, struct in EntangleControlDate
EntangleControlDate:value, object property in EntangleControlDate
EntangleControlDateClass, struct in EntangleControlDate
EntangleControlGroup, struct in EntangleControlGroup
EntangleControlGroupClass, struct in EntangleControlGroup
EntangleControlPanel, struct in EntangleControlPanel
EntangleControlPanel:camera, object property in EntangleControlPanel
EntangleControlPanel:has-controls, object property in EntangleControlPanel
EntangleControlPanelClass, struct in EntangleControlPanel
EntangleControlRange, struct in EntangleControlRange
EntangleControlRange:range-max, object property in EntangleControlRange
EntangleControlRange:range-min, object property in EntangleControlRange
EntangleControlRange:range-step, object property in EntangleControlRange
EntangleControlRange:value, object property in EntangleControlRange
EntangleControlRangeClass, struct in EntangleControlRange
EntangleControlText, struct in EntangleControlText
EntangleControlText:value, object property in EntangleControlText
EntangleControlTextClass, struct in EntangleControlText
EntangleControlToggle, struct in EntangleControlToggle
EntangleControlToggle:value, object property in EntangleControlToggle
EntangleControlToggleClass, struct in EntangleControlToggle
entangle_control_button_new, function in EntangleControlButton
entangle_control_choice_add_entry, function in EntangleControlChoice
entangle_control_choice_entry_count, function in EntangleControlChoice
entangle_control_choice_entry_get, function in EntangleControlChoice
entangle_control_choice_new, function in EntangleControlChoice
entangle_control_date_new, function in EntangleControlDate
entangle_control_get_dirty, function in EntangleControl
entangle_control_get_id, function in EntangleControl
entangle_control_get_info, function in EntangleControl
entangle_control_get_label, function in EntangleControl
entangle_control_get_path, function in EntangleControl
entangle_control_get_readonly, function in EntangleControl
entangle_control_group_add, function in EntangleControlGroup
entangle_control_group_count, function in EntangleControlGroup
entangle_control_group_get, function in EntangleControlGroup
entangle_control_group_get_by_path, function in EntangleControlGroup
entangle_control_group_new, function in EntangleControlGroup
entangle_control_new, function in EntangleControl
entangle_control_panel_get_camera, function in EntangleControlPanel
entangle_control_panel_get_has_controls, function in EntangleControlPanel
entangle_control_panel_new, function in EntangleControlPanel
entangle_control_panel_set_camera, function in EntangleControlPanel
entangle_control_range_get_max, function in EntangleControlRange
entangle_control_range_get_min, function in EntangleControlRange
entangle_control_range_get_step, function in EntangleControlRange
entangle_control_range_new, function in EntangleControlRange
entangle_control_set_dirty, function in EntangleControl
entangle_control_set_readonly, function in EntangleControl
entangle_control_text_new, function in EntangleControlText
entangle_control_toggle_new, function in EntangleControlToggle

D

ENTANGLE_DEBUG, macro in entangle-debug
entangle_debug_app, variable in entangle-debug
entangle_debug_gphoto, variable in entangle-debug
entangle_debug_setup, function in entangle-debug
entangle_debug_startms, variable in entangle-debug
EntangleDeviceManager, struct in EntangleDeviceManager
EntangleDeviceManager::device-added, object signal in EntangleDeviceManager
EntangleDeviceManager::device-removed, object signal in EntangleDeviceManager
EntangleDeviceManagerClass, struct in EntangleDeviceManager
entangle_device_manager_has_port, function in EntangleDeviceManager
entangle_device_manager_new, function in EntangleDeviceManager
entangle_device_manager_port_serial, function in EntangleDeviceManager
entangle_dpms_set_blanking, function in entangle-dpms
EntangleDrawer, struct in EntangleDrawer
EntangleDrawerClass, struct in EntangleDrawer
entangle_drawer_get_close_time, function in EntangleDrawer
entangle_drawer_new, function in EntangleDrawer
entangle_drawer_set_goal, function in EntangleDrawer
entangle_drawer_set_speed, function in EntangleDrawer

H

EntangleHelpAbout, struct in EntangleHelpAbout
EntangleHelpAboutClass, struct in EntangleHelpAbout
entangle_help_about_new, function in EntangleHelpAbout

I

EntangleImage, struct in EntangleImage
EntangleImage:filename, object property in EntangleImage
EntangleImage:metadata, object property in EntangleImage
EntangleImage:pixbuf, object property in EntangleImage
EntangleImageClass, struct in EntangleImage
EntangleImageDisplay, struct in EntangleImageDisplay
EntangleImageDisplay:aspect-ratio, object property in EntangleImageDisplay
EntangleImageDisplay:autoscale, object property in EntangleImageDisplay
EntangleImageDisplay:focus-point, object property in EntangleImageDisplay
EntangleImageDisplay:grid-display, object property in EntangleImageDisplay
EntangleImageDisplay:image, object property in EntangleImageDisplay
EntangleImageDisplay:mask-enabled, object property in EntangleImageDisplay
EntangleImageDisplay:mask-opacity, object property in EntangleImageDisplay
EntangleImageDisplay:scale, object property in EntangleImageDisplay
EntangleImageDisplayClass, struct in EntangleImageDisplay
EntangleImageDisplayGrid, enum in EntangleImageDisplay
EntangleImageHistogram, struct in EntangleImageHistogram
EntangleImageHistogram:image, object property in EntangleImageHistogram
EntangleImageHistogramClass, struct in EntangleImageHistogram
EntangleImageLoader, struct in EntangleImageLoader
EntangleImageLoader:embedded-preview, object property in EntangleImageLoader
EntangleImageLoaderClass, struct in EntangleImageLoader
EntangleImagePopup, struct in EntangleImagePopup
EntangleImagePopup::popup-close, object signal in EntangleImagePopup
EntangleImagePopup:image, object property in EntangleImagePopup
EntangleImagePopupClass, struct in EntangleImagePopup
EntangleImageStatusbar, struct in EntangleImageStatusbar
EntangleImageStatusbar:image, object property in EntangleImageStatusbar
EntangleImageStatusbarClass, struct in EntangleImageStatusbar
entangle_image_delete, function in EntangleImage
entangle_image_display_get_aspect_ratio, function in EntangleImageDisplay
entangle_image_display_get_autoscale, function in EntangleImageDisplay
entangle_image_display_get_focus_point, function in EntangleImageDisplay
entangle_image_display_get_grid_display, function in EntangleImageDisplay
entangle_image_display_get_image, function in EntangleImageDisplay
entangle_image_display_get_image_list, function in EntangleImageDisplay
entangle_image_display_get_loaded, function in EntangleImageDisplay
entangle_image_display_get_mask_enabled, function in EntangleImageDisplay
entangle_image_display_get_mask_opacity, function in EntangleImageDisplay
entangle_image_display_get_scale, function in EntangleImageDisplay
entangle_image_display_new, function in EntangleImageDisplay
entangle_image_display_set_aspect_ratio, function in EntangleImageDisplay
entangle_image_display_set_autoscale, function in EntangleImageDisplay
entangle_image_display_set_focus_point, function in EntangleImageDisplay
entangle_image_display_set_grid_display, function in EntangleImageDisplay
entangle_image_display_set_image, function in EntangleImageDisplay
entangle_image_display_set_image_list, function in EntangleImageDisplay
entangle_image_display_set_mask_enabled, function in EntangleImageDisplay
entangle_image_display_set_mask_opacity, function in EntangleImageDisplay
entangle_image_display_set_scale, function in EntangleImageDisplay
entangle_image_get_filename, function in EntangleImage
entangle_image_get_file_size, function in EntangleImage
entangle_image_get_last_modified, function in EntangleImage
entangle_image_get_metadata, function in EntangleImage
entangle_image_get_pixbuf, function in EntangleImage
entangle_image_histogram_get_histogram_linear, function in EntangleImageHistogram
entangle_image_histogram_get_image, function in EntangleImageHistogram
entangle_image_histogram_new, function in EntangleImageHistogram
entangle_image_histogram_set_histogram_linear, function in EntangleImageHistogram
entangle_image_histogram_set_image, function in EntangleImageHistogram
entangle_image_loader_add, function in EntangleImageLoader
entangle_image_loader_get_embedded_preview, function in EntangleImageLoader
entangle_image_loader_new, function in EntangleImageLoader
entangle_image_loader_remove, function in EntangleImageLoader
entangle_image_loader_set_embedded_preview, function in EntangleImageLoader
entangle_image_new_file, function in EntangleImage
entangle_image_new_pixbuf, function in EntangleImage
entangle_image_popup_get_image, function in EntangleImagePopup
entangle_image_popup_move_to_monitor, function in EntangleImagePopup
entangle_image_popup_new, function in EntangleImagePopup
entangle_image_popup_set_image, function in EntangleImagePopup
entangle_image_popup_show, function in EntangleImagePopup
entangle_image_popup_show_on_monitor, function in EntangleImagePopup
entangle_image_set_metadata, function in EntangleImage
entangle_image_set_pixbuf, function in EntangleImage
entangle_image_statusbar_get_image, function in EntangleImageStatusbar
entangle_image_statusbar_new, function in EntangleImageStatusbar
entangle_image_statusbar_set_image, function in EntangleImageStatusbar

O

EntangleOverlayBox, struct in EntangleOverlayBox
EntangleOverlayBoxClass, struct in EntangleOverlayBox
entangle_overlay_box_get_fraction, function in EntangleOverlayBox
entangle_overlay_box_new, function in EntangleOverlayBox
entangle_overlay_box_set_fraction, function in EntangleOverlayBox
entangle_overlay_box_set_min, function in EntangleOverlayBox
entangle_overlay_box_set_over, function in EntangleOverlayBox
entangle_overlay_box_set_under, function in EntangleOverlayBox

P

EntanglePixbufImageSlot, enum in entangle-pixbuf
EntanglePixbufLoader, struct in EntanglePixbufLoader
EntanglePixbufLoader::metadata-loaded, object signal in EntanglePixbufLoader
EntanglePixbufLoader::metadata-unloaded, object signal in EntanglePixbufLoader
EntanglePixbufLoader::pixbuf-loaded, object signal in EntanglePixbufLoader
EntanglePixbufLoader::pixbuf-unloaded, object signal in EntanglePixbufLoader
EntanglePixbufLoader:colour-transform, object property in EntanglePixbufLoader
EntanglePixbufLoader:with-metadata, object property in EntanglePixbufLoader
EntanglePixbufLoader:workers, object property in EntanglePixbufLoader
EntanglePixbufLoaderClass, struct in EntanglePixbufLoader
entangle_pixbuf_auto_rotate, function in entangle-pixbuf
entangle_pixbuf_loader_get_colour_transform, function in EntanglePixbufLoader
entangle_pixbuf_loader_get_metadata, function in EntanglePixbufLoader
entangle_pixbuf_loader_get_pixbuf, function in EntanglePixbufLoader
entangle_pixbuf_loader_get_workers, function in EntanglePixbufLoader
entangle_pixbuf_loader_is_ready, function in EntanglePixbufLoader
entangle_pixbuf_loader_load, function in EntanglePixbufLoader
entangle_pixbuf_loader_set_colour_transform, function in EntanglePixbufLoader
entangle_pixbuf_loader_set_workers, function in EntanglePixbufLoader
entangle_pixbuf_loader_trigger_reload, function in EntanglePixbufLoader
entangle_pixbuf_loader_unload, function in EntanglePixbufLoader
entangle_pixbuf_open_image, function in entangle-pixbuf
EntanglePreferences, struct in EntanglePreferences
EntanglePreferences:capture-continuous-preview, object property in EntanglePreferences
EntanglePreferences:capture-delete-file, object property in EntanglePreferences
EntanglePreferences:capture-filename-pattern, object property in EntanglePreferences
EntanglePreferences:capture-last-session, object property in EntanglePreferences
EntanglePreferences:cms-detect-system-profile, object property in EntanglePreferences
EntanglePreferences:cms-enabled, object property in EntanglePreferences
EntanglePreferences:cms-monitor-profile, object property in EntanglePreferences
EntanglePreferences:cms-rendering-intent, object property in EntanglePreferences
EntanglePreferences:cms-rgb-profile, object property in EntanglePreferences
EntanglePreferences:img-aspect-ratio, object property in EntanglePreferences
EntanglePreferences:img-embedded-preview, object property in EntanglePreferences
EntanglePreferences:img-focus-point, object property in EntanglePreferences
EntanglePreferences:img-grid-lines, object property in EntanglePreferences
EntanglePreferences:img-mask-enabled, object property in EntanglePreferences
EntanglePreferences:img-mask-opacity, object property in EntanglePreferences
EntanglePreferences:img-onion-layers, object property in EntanglePreferences
EntanglePreferences:img-onion-skin, object property in EntanglePreferences
EntanglePreferences:interface-auto-connect, object property in EntanglePreferences
EntanglePreferences:interface-histogram-linear, object property in EntanglePreferences
EntanglePreferences:interface-screen-blank, object property in EntanglePreferences
EntanglePreferencesClass, struct in EntanglePreferences
EntanglePreferencesDisplay, struct in EntanglePreferencesDisplay
EntanglePreferencesDisplayClass, struct in EntanglePreferencesDisplay
entangle_preferences_capture_get_continuous_preview, function in EntanglePreferences
entangle_preferences_capture_get_delete_file, function in EntanglePreferences
entangle_preferences_capture_get_filename_pattern, function in EntanglePreferences
entangle_preferences_capture_get_last_session, function in EntanglePreferences
entangle_preferences_capture_set_continuous_preview, function in EntanglePreferences
entangle_preferences_capture_set_delete_file, function in EntanglePreferences
entangle_preferences_capture_set_filename_pattern, function in EntanglePreferences
entangle_preferences_capture_set_last_session, function in EntanglePreferences
entangle_preferences_cms_get_detect_system_profile, function in EntanglePreferences
entangle_preferences_cms_get_enabled, function in EntanglePreferences
entangle_preferences_cms_get_monitor_profile, function in EntanglePreferences
entangle_preferences_cms_get_rendering_intent, function in EntanglePreferences
entangle_preferences_cms_get_rgb_profile, function in EntanglePreferences
entangle_preferences_cms_set_detect_system_profile, function in EntanglePreferences
entangle_preferences_cms_set_enabled, function in EntanglePreferences
entangle_preferences_cms_set_monitor_profile, function in EntanglePreferences
entangle_preferences_cms_set_rendering_intent, function in EntanglePreferences
entangle_preferences_cms_set_rgb_profile, function in EntanglePreferences
entangle_preferences_display_new, function in EntanglePreferencesDisplay
entangle_preferences_img_get_aspect_ratio, function in EntanglePreferences
entangle_preferences_img_get_embedded_preview, function in EntanglePreferences
entangle_preferences_img_get_focus_point, function in EntanglePreferences
entangle_preferences_img_get_grid_lines, function in EntanglePreferences
entangle_preferences_img_get_mask_enabled, function in EntanglePreferences
entangle_preferences_img_get_mask_opacity, function in EntanglePreferences
entangle_preferences_img_get_onion_layers, function in EntanglePreferences
entangle_preferences_img_get_onion_skin, function in EntanglePreferences
entangle_preferences_img_set_aspect_ratio, function in EntanglePreferences
entangle_preferences_img_set_embedded_preview, function in EntanglePreferences
entangle_preferences_img_set_focus_point, function in EntanglePreferences
entangle_preferences_img_set_grid_lines, function in EntanglePreferences
entangle_preferences_img_set_mask_enabled, function in EntanglePreferences
entangle_preferences_img_set_mask_opacity, function in EntanglePreferences
entangle_preferences_img_set_onion_layers, function in EntanglePreferences
entangle_preferences_img_set_onion_skin, function in EntanglePreferences
entangle_preferences_interface_add_plugin, function in EntanglePreferences
entangle_preferences_interface_get_auto_connect, function in EntanglePreferences
entangle_preferences_interface_get_histogram_linear, function in EntanglePreferences
entangle_preferences_interface_get_plugins, function in EntanglePreferences
entangle_preferences_interface_get_screen_blank, function in EntanglePreferences
entangle_preferences_interface_remove_plugin, function in EntanglePreferences
entangle_preferences_interface_set_auto_connect, function in EntanglePreferences
entangle_preferences_interface_set_histogram_linear, function in EntanglePreferences
entangle_preferences_interface_set_screen_blank, function in EntanglePreferences
entangle_preferences_new, function in EntanglePreferences
EntangleProgressInterface, struct in EntangleProgress
entangle_progress_start, function in EntangleProgress
entangle_progress_stop, function in EntangleProgress
entangle_progress_update, function in EntangleProgress

S

EntangleSession, struct in EntangleSession
EntangleSession::session-image-added, object signal in EntangleSession
EntangleSession::session-image-removed, object signal in EntangleSession
EntangleSession:directory, object property in EntangleSession
EntangleSession:filename-pattern, object property in EntangleSession
EntangleSessionBrowser, struct in EntangleSessionBrowser
EntangleSessionBrowser::selection-changed, object signal in EntangleSessionBrowser
EntangleSessionBrowser:session, object property in EntangleSessionBrowser
EntangleSessionBrowser:thumbnail-loader, object property in EntangleSessionBrowser
EntangleSessionBrowserClass, struct in EntangleSessionBrowser
EntangleSessionClass, struct in EntangleSession
entangle_session_add, function in EntangleSession
entangle_session_browser_earlier_images, function in EntangleSessionBrowser
entangle_session_browser_get_image_at_coords, function in EntangleSessionBrowser
entangle_session_browser_get_session, function in EntangleSessionBrowser
entangle_session_browser_get_thumbnail_loader, function in EntangleSessionBrowser
entangle_session_browser_new, function in EntangleSessionBrowser
entangle_session_browser_selected_image, function in EntangleSessionBrowser
entangle_session_browser_set_session, function in EntangleSessionBrowser
entangle_session_browser_set_thumbnail_loader, function in EntangleSessionBrowser
entangle_session_directory, function in EntangleSession
entangle_session_filename_pattern, function in EntangleSession
entangle_session_image_count, function in EntangleSession
entangle_session_image_get, function in EntangleSession
entangle_session_load, function in EntangleSession
entangle_session_new, function in EntangleSession
entangle_session_next_filename, function in EntangleSession
entangle_session_remove, function in EntangleSession

T

EntangleThumbnailLoader, struct in EntangleThumbnailLoader
EntangleThumbnailLoader:height, object property in EntangleThumbnailLoader
EntangleThumbnailLoader:width, object property in EntangleThumbnailLoader
EntangleThumbnailLoaderClass, struct in EntangleThumbnailLoader
entangle_thumbnail_loader_new, function in EntangleThumbnailLoader
ENTANGLE_TYPE_CAMERA_SUPPORT_DATA, macro in EntangleCameraSupport

W

EntangleWindowInterface, struct in EntangleWindow
entangle_window_new, function in EntangleWindow
entangle_window_set_builder, function in EntangleWindow
entangle-0.5.4/docs/reference/html/EntanglePreferences.html0000664000000000000000000020253212253421054020647 00000000000000 EntanglePreferences

EntanglePreferences

EntanglePreferences

Synopsis

struct              EntanglePreferences;
struct              EntanglePreferencesClass;
EntanglePreferences * entangle_preferences_new          (void);
gboolean            entangle_preferences_interface_get_auto_connect
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_interface_set_auto_connect
                                                        (EntanglePreferences *prefs,
                                                         gboolean autoconn);
gboolean            entangle_preferences_interface_get_screen_blank
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_interface_set_screen_blank
                                                        (EntanglePreferences *prefs,
                                                         gboolean blank);
gchar **            entangle_preferences_interface_get_plugins
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_interface_add_plugin
                                                        (EntanglePreferences *prefs,
                                                         const char *name);
void                entangle_preferences_interface_remove_plugin
                                                        (EntanglePreferences *prefs,
                                                         const char *name);
gboolean            entangle_preferences_interface_get_histogram_linear
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_interface_set_histogram_linear
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
char *              entangle_preferences_capture_get_last_session
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_capture_set_last_session
                                                        (EntanglePreferences *prefs,
                                                         const gchar *dir);
char *              entangle_preferences_capture_get_filename_pattern
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_capture_set_filename_pattern
                                                        (EntanglePreferences *prefs,
                                                         const gchar *dir);
gboolean            entangle_preferences_capture_get_continuous_preview
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_capture_set_continuous_preview
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gboolean            entangle_preferences_capture_get_delete_file
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_capture_set_delete_file
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gboolean            entangle_preferences_cms_get_enabled
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_cms_set_enabled
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
EntangleColourProfile * entangle_preferences_cms_get_rgb_profile
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_cms_set_rgb_profile
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfile *prof);
EntangleColourProfile * entangle_preferences_cms_get_monitor_profile
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_cms_set_monitor_profile
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfile *prof);
gboolean            entangle_preferences_cms_get_detect_system_profile
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_cms_set_detect_system_profile
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
EntangleColourProfileIntent entangle_preferences_cms_get_rendering_intent
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_cms_set_rendering_intent
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfileIntent intent);
gchar *             entangle_preferences_img_get_aspect_ratio
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_aspect_ratio
                                                        (EntanglePreferences *prefs,
                                                         const gchar *aspect);
gint                entangle_preferences_img_get_mask_opacity
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_mask_opacity
                                                        (EntanglePreferences *prefs,
                                                         gint opacity);
gboolean            entangle_preferences_img_get_mask_enabled
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_mask_enabled
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gboolean            entangle_preferences_img_get_focus_point
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_focus_point
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gint                entangle_preferences_img_get_grid_lines
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_grid_lines
                                                        (EntanglePreferences *prefs,
                                                         gint gridLines);
gboolean            entangle_preferences_img_get_embedded_preview
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_embedded_preview
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gboolean            entangle_preferences_img_get_onion_skin
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_onion_skin
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);
gint                entangle_preferences_img_get_onion_layers
                                                        (EntanglePreferences *prefs);
void                entangle_preferences_img_set_onion_layers
                                                        (EntanglePreferences *prefs,
                                                         gint layers);

Object Hierarchy

  GObject
   +----EntanglePreferences

Properties

  "capture-continuous-preview" gboolean              : Read / Write
  "capture-delete-file"      gboolean              : Read / Write
  "capture-filename-pattern" gchar*                : Read / Write
  "capture-last-session"     gchar*                : Read / Write
  "cms-detect-system-profile" gboolean              : Read / Write
  "cms-enabled"              gboolean              : Read / Write
  "cms-monitor-profile"      EntangleColourProfile*  : Read / Write
  "cms-rendering-intent"     EntangleColourProfileIntent  : Read / Write
  "cms-rgb-profile"          EntangleColourProfile*  : Read / Write
  "img-aspect-ratio"         gchar*                : Read / Write
  "img-embedded-preview"     gboolean              : Read / Write
  "img-focus-point"          gboolean              : Read / Write
  "img-grid-lines"           gint                  : Read / Write
  "img-mask-enabled"         gboolean              : Read / Write
  "img-mask-opacity"         gint                  : Read / Write
  "img-onion-layers"         gint                  : Read / Write
  "img-onion-skin"           gboolean              : Read / Write
  "interface-auto-connect"   gboolean              : Read / Write
  "interface-histogram-linear" gboolean              : Read / Write
  "interface-screen-blank"   gboolean              : Read / Write

Description

Details

struct EntanglePreferences

struct EntanglePreferences;

struct EntanglePreferencesClass

struct EntanglePreferencesClass {
    GObjectClass parent_class;
};

entangle_preferences_new ()

EntanglePreferences * entangle_preferences_new          (void);

entangle_preferences_interface_get_auto_connect ()

gboolean            entangle_preferences_interface_get_auto_connect
                                                        (EntanglePreferences *prefs);

entangle_preferences_interface_set_auto_connect ()

void                entangle_preferences_interface_set_auto_connect
                                                        (EntanglePreferences *prefs,
                                                         gboolean autoconn);

entangle_preferences_interface_get_screen_blank ()

gboolean            entangle_preferences_interface_get_screen_blank
                                                        (EntanglePreferences *prefs);

entangle_preferences_interface_set_screen_blank ()

void                entangle_preferences_interface_set_screen_blank
                                                        (EntanglePreferences *prefs,
                                                         gboolean blank);

entangle_preferences_interface_get_plugins ()

gchar **            entangle_preferences_interface_get_plugins
                                                        (EntanglePreferences *prefs);

entangle_preferences_interface_add_plugin ()

void                entangle_preferences_interface_add_plugin
                                                        (EntanglePreferences *prefs,
                                                         const char *name);

entangle_preferences_interface_remove_plugin ()

void                entangle_preferences_interface_remove_plugin
                                                        (EntanglePreferences *prefs,
                                                         const char *name);

entangle_preferences_interface_get_histogram_linear ()

gboolean            entangle_preferences_interface_get_histogram_linear
                                                        (EntanglePreferences *prefs);

entangle_preferences_interface_set_histogram_linear ()

void                entangle_preferences_interface_set_histogram_linear
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_capture_get_last_session ()

char *              entangle_preferences_capture_get_last_session
                                                        (EntanglePreferences *prefs);

entangle_preferences_capture_set_last_session ()

void                entangle_preferences_capture_set_last_session
                                                        (EntanglePreferences *prefs,
                                                         const gchar *dir);

entangle_preferences_capture_get_filename_pattern ()

char *              entangle_preferences_capture_get_filename_pattern
                                                        (EntanglePreferences *prefs);

entangle_preferences_capture_set_filename_pattern ()

void                entangle_preferences_capture_set_filename_pattern
                                                        (EntanglePreferences *prefs,
                                                         const gchar *dir);

entangle_preferences_capture_get_continuous_preview ()

gboolean            entangle_preferences_capture_get_continuous_preview
                                                        (EntanglePreferences *prefs);

entangle_preferences_capture_set_continuous_preview ()

void                entangle_preferences_capture_set_continuous_preview
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_capture_get_delete_file ()

gboolean            entangle_preferences_capture_get_delete_file
                                                        (EntanglePreferences *prefs);

entangle_preferences_capture_set_delete_file ()

void                entangle_preferences_capture_set_delete_file
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_cms_get_enabled ()

gboolean            entangle_preferences_cms_get_enabled
                                                        (EntanglePreferences *prefs);

entangle_preferences_cms_set_enabled ()

void                entangle_preferences_cms_set_enabled
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_cms_get_rgb_profile ()

EntangleColourProfile * entangle_preferences_cms_get_rgb_profile
                                                        (EntanglePreferences *prefs);

entangle_preferences_cms_set_rgb_profile ()

void                entangle_preferences_cms_set_rgb_profile
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfile *prof);

entangle_preferences_cms_get_monitor_profile ()

EntangleColourProfile * entangle_preferences_cms_get_monitor_profile
                                                        (EntanglePreferences *prefs);

entangle_preferences_cms_set_monitor_profile ()

void                entangle_preferences_cms_set_monitor_profile
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfile *prof);

entangle_preferences_cms_get_detect_system_profile ()

gboolean            entangle_preferences_cms_get_detect_system_profile
                                                        (EntanglePreferences *prefs);

entangle_preferences_cms_set_detect_system_profile ()

void                entangle_preferences_cms_set_detect_system_profile
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_cms_get_rendering_intent ()

EntangleColourProfileIntent entangle_preferences_cms_get_rendering_intent
                                                        (EntanglePreferences *prefs);

entangle_preferences_cms_set_rendering_intent ()

void                entangle_preferences_cms_set_rendering_intent
                                                        (EntanglePreferences *prefs,
                                                         EntangleColourProfileIntent intent);

entangle_preferences_img_get_aspect_ratio ()

gchar *             entangle_preferences_img_get_aspect_ratio
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_aspect_ratio ()

void                entangle_preferences_img_set_aspect_ratio
                                                        (EntanglePreferences *prefs,
                                                         const gchar *aspect);

entangle_preferences_img_get_mask_opacity ()

gint                entangle_preferences_img_get_mask_opacity
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_mask_opacity ()

void                entangle_preferences_img_set_mask_opacity
                                                        (EntanglePreferences *prefs,
                                                         gint opacity);

entangle_preferences_img_get_mask_enabled ()

gboolean            entangle_preferences_img_get_mask_enabled
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_mask_enabled ()

void                entangle_preferences_img_set_mask_enabled
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_img_get_focus_point ()

gboolean            entangle_preferences_img_get_focus_point
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_focus_point ()

void                entangle_preferences_img_set_focus_point
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_img_get_grid_lines ()

gint                entangle_preferences_img_get_grid_lines
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_grid_lines ()

void                entangle_preferences_img_set_grid_lines
                                                        (EntanglePreferences *prefs,
                                                         gint gridLines);

entangle_preferences_img_get_embedded_preview ()

gboolean            entangle_preferences_img_get_embedded_preview
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_embedded_preview ()

void                entangle_preferences_img_set_embedded_preview
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_img_get_onion_skin ()

gboolean            entangle_preferences_img_get_onion_skin
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_onion_skin ()

void                entangle_preferences_img_set_onion_skin
                                                        (EntanglePreferences *prefs,
                                                         gboolean enabled);

entangle_preferences_img_get_onion_layers ()

gint                entangle_preferences_img_get_onion_layers
                                                        (EntanglePreferences *prefs);

entangle_preferences_img_set_onion_layers ()

void                entangle_preferences_img_set_onion_layers
                                                        (EntanglePreferences *prefs,
                                                         gint layers);

Property Details

The "capture-continuous-preview" property

  "capture-continuous-preview" gboolean              : Read / Write

Continue preview after capturing.

Default value: FALSE


The "capture-delete-file" property

  "capture-delete-file"      gboolean              : Read / Write

Delete file after capturing.

Default value: TRUE


The "capture-filename-pattern" property

  "capture-filename-pattern" gchar*                : Read / Write

Pattern for creating new filenames.

Default value: NULL


The "capture-last-session" property

  "capture-last-session"     gchar*                : Read / Write

Directory to store pictures in.

Default value: NULL


The "cms-detect-system-profile" property

  "cms-detect-system-profile" gboolean              : Read / Write

Detect the monitor colour profile.

Default value: TRUE


The "cms-enabled" property

  "cms-enabled"              gboolean              : Read / Write

Whether to enable colour management on display.

Default value: FALSE


The "cms-monitor-profile" property

  "cms-monitor-profile"      EntangleColourProfile*  : Read / Write

Colour profile for monitor.


The "cms-rendering-intent" property

  "cms-rendering-intent"     EntangleColourProfileIntent  : Read / Write

Rendering intent for images.

Default value: ENTANGLE_COLOUR_PROFILE_INTENT_PERCEPTUAL


The "cms-rgb-profile" property

  "cms-rgb-profile"          EntangleColourProfile*  : Read / Write

Colour profile for workspace.


The "img-aspect-ratio" property

  "img-aspect-ratio"         gchar*                : Read / Write

Image mask aspect ratio.

Default value: "1.33"


The "img-embedded-preview" property

  "img-embedded-preview"     gboolean              : Read / Write

Embedded preview for raw files.

Default value: FALSE


The "img-focus-point" property

  "img-focus-point"          gboolean              : Read / Write

Focus point during preview.

Default value: FALSE


The "img-grid-lines" property

  "img-grid-lines"           gint                  : Read / Write

Grid lines during preview.

Allowed values: [0,4]

Default value: 4


The "img-mask-enabled" property

  "img-mask-enabled"         gboolean              : Read / Write

Enable aspect ratio image mask.

Default value: FALSE


The "img-mask-opacity" property

  "img-mask-opacity"         gint                  : Read / Write

Image mask border opacity.

Allowed values: [0,100]

Default value: 90


The "img-onion-layers" property

  "img-onion-layers"         gint                  : Read / Write

Overlay layers in image display.

Allowed values: [1,5]

Default value: 3


The "img-onion-skin" property

  "img-onion-skin"           gboolean              : Read / Write

Enable image overlay display.

Default value: FALSE


The "interface-auto-connect" property

  "interface-auto-connect"   gboolean              : Read / Write

Automatically connect to cameras at startup.

Default value: TRUE


The "interface-histogram-linear" property

  "interface-histogram-linear" gboolean              : Read / Write

Use linear histogram.

Default value: FALSE


The "interface-screen-blank" property

  "interface-screen-blank"   gboolean              : Read / Write

Blank screen while capturing images.

Default value: FALSE

entangle-0.5.4/docs/man/0000775000000000000000000000000012253421054011767 500000000000000entangle-0.5.4/docs/man/Makefile.am0000664000000000000000000000005512253420651013745 00000000000000 SUBDIRS = en -include $(top_srcdir)/git.mk entangle-0.5.4/docs/man/Makefile.in0000664000000000000000000005147612253420720013770 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/man DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \ ctags-recursive dvi-recursive html-recursive info-recursive \ install-data-recursive install-dvi-recursive \ install-exec-recursive install-html-recursive \ install-info-recursive install-pdf-recursive \ install-ps-recursive install-recursive installcheck-recursive \ installdirs-recursive pdf-recursive ps-recursive \ tags-recursive uninstall-recursive am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive am__recursive_targets = \ $(RECURSIVE_TARGETS) \ $(RECURSIVE_CLEAN_TARGETS) \ $(am__extra_recursive_targets) AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \ distdir am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) # Read a list of newline-separated strings from the standard input, # and print each of them once, without duplicates. Input order is # *not* preserved. am__uniquify_input = $(AWK) '\ BEGIN { nonempty = 0; } \ { items[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in items) print i; }; } \ ' # Make sure the list of sources is unique. This is necessary because, # e.g., the same source file might be shared among _SOURCES variables # for different programs/libraries. am__define_uniq_tagged_files = \ list='$(am__tagged_files)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) am__relativize = \ dir0=`pwd`; \ sed_first='s,^\([^/]*\)/.*$$,\1,'; \ sed_rest='s,^[^/]*/*,,'; \ sed_last='s,^.*/\([^/]*\)$$,\1,'; \ sed_butlast='s,/*[^/]*$$,,'; \ while test -n "$$dir1"; do \ first=`echo "$$dir1" | sed -e "$$sed_first"`; \ if test "$$first" != "."; then \ if test "$$first" = ".."; then \ dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \ dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \ else \ first2=`echo "$$dir2" | sed -e "$$sed_first"`; \ if test "$$first2" = "$$first"; then \ dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \ else \ dir2="../$$dir2"; \ fi; \ dir0="$$dir0"/"$$first"; \ fi; \ fi; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ done; \ reldir="$$dir2" ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = en all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/man/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/man/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run 'make' without going through this Makefile. # To change the values of 'make' variables: instead of editing Makefiles, # (1) if the variable is set in 'config.status', edit 'config.status' # (which will cause the Makefiles to be regenerated when you run 'make'); # (2) otherwise, pass the desired values on the 'make' command line. $(am__recursive_targets): @fail=; \ if $(am__make_keepgoing); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" ID: $(am__tagged_files) $(am__define_uniq_tagged_files); mkid -fID $$unique tags: tags-recursive TAGS: tags tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) set x; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ $(am__define_uniq_tagged_files); \ shift; \ if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ if test $$# -gt 0; then \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ "$$@" $$unique; \ else \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$unique; \ fi; \ fi ctags: ctags-recursive CTAGS: ctags ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files) $(am__define_uniq_tagged_files); \ test -z "$(CTAGS_ARGS)$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && $(am__cd) $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) "$$here" cscopelist: cscopelist-recursive cscopelist-am: $(am__tagged_files) list='$(am__tagged_files)'; \ case "$(srcdir)" in \ [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \ *) sdir=$(subdir)/$(srcdir) ;; \ esac; \ for i in $$list; do \ if test -f "$$i"; then \ echo "$(subdir)/$$i"; \ else \ echo "$$sdir/$$i"; \ fi; \ done >> $(top_builddir)/cscope.files distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done @list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ $(am__make_dryrun) \ || test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ dir1=$$subdir; dir2="$(distdir)/$$subdir"; \ $(am__relativize); \ new_distdir=$$reldir; \ dir1=$$subdir; dir2="$(top_distdir)"; \ $(am__relativize); \ new_top_distdir=$$reldir; \ echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \ echo " am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \ ($(am__cd) $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$new_top_distdir" \ distdir="$$new_distdir" \ am__remove_distdir=: \ am__skip_length_check=: \ am__skip_mode_fix=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive html-am: info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-dvi-am: install-exec-am: install-html: install-html-recursive install-html-am: install-info: install-info-recursive install-info-am: install-man: install-pdf: install-pdf-recursive install-pdf-am: install-ps: install-ps-recursive install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(am__recursive_targets) install-am install-strip .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am check \ check-am clean clean-generic clean-libtool cscopelist-am ctags \ ctags-am distclean distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-am uninstall uninstall-am -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/docs/man/en/0000775000000000000000000000000012253421054012371 500000000000000entangle-0.5.4/docs/man/en/Makefile.am0000664000000000000000000000047012253420651014350 00000000000000 man1_SRC = entangle.pod man1_MANS = $(man1_SRC:%.pod=%.1) POD2MAN = pod2man -c "User Commands" -r "$(PACKAGE)-$(VERSION)" EXTRA_DIST = $(man1_SRC) $(man1_MANS) entangle.1: entangle.pod $(AM_V_GEN)$(POD2MAN) --name ENTANGLE $< $(srcdir)/$@ MAINTAINERCLEANFILES = $(man1_MANS) -include $(top_srcdir)/git.mk entangle-0.5.4/docs/man/en/Makefile.in0000664000000000000000000004360712253420720014367 00000000000000# Makefile.in generated by automake 1.13.4 from Makefile.am. # @configure_input@ # Copyright (C) 1994-2013 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)' am__make_running_with_option = \ case $${target_option-} in \ ?) ;; \ *) echo "am__make_running_with_option: internal error: invalid" \ "target option '$${target_option-}' specified" >&2; \ exit 1;; \ esac; \ has_opt=no; \ sane_makeflags=$$MAKEFLAGS; \ if $(am__is_gnu_make); then \ sane_makeflags=$$MFLAGS; \ else \ case $$MAKEFLAGS in \ *\\[\ \ ]*) \ bs=\\; \ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \ esac; \ fi; \ skip_next=no; \ strip_trailopt () \ { \ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \ }; \ for flg in $$sane_makeflags; do \ test $$skip_next = yes && { skip_next=no; continue; }; \ case $$flg in \ *=*|--*) continue;; \ -*I) strip_trailopt 'I'; skip_next=yes;; \ -*I?*) strip_trailopt 'I';; \ -*O) strip_trailopt 'O'; skip_next=yes;; \ -*O?*) strip_trailopt 'O';; \ -*l) strip_trailopt 'l'; skip_next=yes;; \ -*l?*) strip_trailopt 'l';; \ -[dEDm]) skip_next=yes;; \ -[JT]) skip_next=yes;; \ esac; \ case $$flg in \ *$$target_option*) has_opt=yes; break;; \ esac; \ done; \ test $$has_opt = yes am__make_dryrun = (target_option=n; $(am__make_running_with_option)) am__make_keepgoing = (target_option=k; $(am__make_running_with_option)) pkgdatadir = $(datadir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkglibexecdir = $(libexecdir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ subdir = docs/man/en DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/m4/entangle-compile-warnings.m4 \ $(top_srcdir)/m4/gtk-doc.m4 $(top_srcdir)/m4/intltool.m4 \ $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/manywarnings.m4 $(top_srcdir)/m4/warnings.m4 \ $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = CONFIG_CLEAN_VPATH_FILES = AM_V_P = $(am__v_P_@AM_V@) am__v_P_ = $(am__v_P_@AM_DEFAULT_V@) am__v_P_0 = false am__v_P_1 = : AM_V_GEN = $(am__v_GEN_@AM_V@) am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@) am__v_GEN_0 = @echo " GEN " $@; am__v_GEN_1 = AM_V_at = $(am__v_at_@AM_V@) am__v_at_ = $(am__v_at_@AM_DEFAULT_V@) am__v_at_0 = @ am__v_at_1 = SOURCES = DIST_SOURCES = am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ *) (install-info --version) >/dev/null 2>&1;; \ esac am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`; am__install_max = 40 am__nobase_strip_setup = \ srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'` am__nobase_strip = \ for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||" am__nobase_list = $(am__nobase_strip_setup); \ for p in $$list; do echo "$$p $$p"; done | \ sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \ $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \ if (++n[$$2] == $(am__install_max)) \ { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \ END { for (dir in files) print dir, files[dir] }' am__base_list = \ sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \ sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g' am__uninstall_files_from_dir = { \ test -z "$$files" \ || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ $(am__cd) "$$dir" && rm -f $$files; }; \ } man1dir = $(mandir)/man1 am__installdirs = "$(DESTDIR)$(man1dir)" NROFF = nroff MANS = $(man1_MANS) am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ ALL_LINGUAS = @ALL_LINGUAS@ AMTAR = @AMTAR@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CATALOGS = @CATALOGS@ CATOBJEXT = @CATOBJEXT@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CYGPATH_W = @CYGPATH_W@ DATADIRNAME = @DATADIRNAME@ DBUS_GLIB_CFLAGS = @DBUS_GLIB_CFLAGS@ DBUS_GLIB_LIBS = @DBUS_GLIB_LIBS@ DBUS_GLIB_REQUIRED = @DBUS_GLIB_REQUIRED@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DLLTOOL = @DLLTOOL@ DSYMUTIL = @DSYMUTIL@ DUMPBIN = @DUMPBIN@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ GDK_PIXBUF_CFLAGS = @GDK_PIXBUF_CFLAGS@ GDK_PIXBUF_LIBS = @GDK_PIXBUF_LIBS@ GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ GEXIV2_CFLAGS = @GEXIV2_CFLAGS@ GEXIV2_LIBS = @GEXIV2_LIBS@ GEXIV2_REQUIRED = @GEXIV2_REQUIRED@ GIO_CFLAGS = @GIO_CFLAGS@ GIO_LIBS = @GIO_LIBS@ GIO_REQUIRED = @GIO_REQUIRED@ GLIB_CFLAGS = @GLIB_CFLAGS@ GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@ GLIB_LIBS = @GLIB_LIBS@ GLIB_REQUIRED = @GLIB_REQUIRED@ GMODULE_CFLAGS = @GMODULE_CFLAGS@ GMODULE_LIBS = @GMODULE_LIBS@ GMOFILES = @GMOFILES@ GMSGFMT = @GMSGFMT@ GOBJECT_INTROSPECTION_CFLAGS = @GOBJECT_INTROSPECTION_CFLAGS@ GOBJECT_INTROSPECTION_LIBS = @GOBJECT_INTROSPECTION_LIBS@ GOBJECT_INTROSPECTION_REQUIRED = @GOBJECT_INTROSPECTION_REQUIRED@ GPHOTO2_CFLAGS = @GPHOTO2_CFLAGS@ GPHOTO2_LIBS = @GPHOTO2_LIBS@ GPHOTO2_REQUIRED = @GPHOTO2_REQUIRED@ GREP = @GREP@ GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@ GTHREAD_CFLAGS = @GTHREAD_CFLAGS@ GTHREAD_LIBS = @GTHREAD_LIBS@ GTHREAD_REQUIRED = @GTHREAD_REQUIRED@ GTKDOC_CHECK = @GTKDOC_CHECK@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ GTK_CFLAGS = @GTK_CFLAGS@ GTK_LIBS = @GTK_LIBS@ GTK_REQUIRED = @GTK_REQUIRED@ GUDEV_CFLAGS = @GUDEV_CFLAGS@ GUDEV_LIBS = @GUDEV_LIBS@ GUDEV_REQUIRED = @GUDEV_REQUIRED@ G_IR_COMPILER = @G_IR_COMPILER@ G_IR_SCANNER = @G_IR_SCANNER@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ INSTOBJEXT = @INSTOBJEXT@ INTLLIBS = @INTLLIBS@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ INTLTOOL_MERGE = @INTLTOOL_MERGE@ INTLTOOL_PERL = @INTLTOOL_PERL@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_V_MERGE = @INTLTOOL_V_MERGE@ INTLTOOL_V_MERGE_OPTIONS = @INTLTOOL_V_MERGE_OPTIONS@ INTLTOOL__v_MERGE_ = @INTLTOOL__v_MERGE_@ INTLTOOL__v_MERGE_0 = @INTLTOOL__v_MERGE_0@ LCMS_CFLAGS = @LCMS_CFLAGS@ LCMS_LIBS = @LCMS_LIBS@ LCMS_REQUIRED = @LCMS_REQUIRED@ LD = @LD@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBPEAS_CFLAGS = @LIBPEAS_CFLAGS@ LIBPEAS_LIBS = @LIBPEAS_LIBS@ LIBPEAS_REQUIRED = @LIBPEAS_REQUIRED@ LIBPEAS_UI_CFLAGS = @LIBPEAS_UI_CFLAGS@ LIBPEAS_UI_LIBS = @LIBPEAS_UI_LIBS@ LIBRAW_CFLAGS = @LIBRAW_CFLAGS@ LIBRAW_LIBS = @LIBRAW_LIBS@ LIBRAW_REQUIRED = @LIBRAW_REQUIRED@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIPO = @LIPO@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MKINSTALLDIRS = @MKINSTALLDIRS@ MSGFMT = @MSGFMT@ MSGFMT_OPTS = @MSGFMT_OPTS@ MSGMERGE = @MSGMERGE@ NM = @NM@ NMEDIT = @NMEDIT@ OBJDUMP = @OBJDUMP@ OBJEXT = @OBJEXT@ OTOOL = @OTOOL@ OTOOL64 = @OTOOL64@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_URL = @PACKAGE_URL@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ POFILES = @POFILES@ POSUB = @POSUB@ PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@ PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ USE_NLS = @USE_NLS@ VERSION = @VERSION@ WARN_CFLAGS = @WARN_CFLAGS@ WARN_LDFLAGS = @WARN_LDFLAGS@ XEXT_CFLAGS = @XEXT_CFLAGS@ XEXT_LIBS = @XEXT_LIBS@ XEXT_REQUIRED = @XEXT_REQUIRED@ XGETTEXT = @XGETTEXT@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_AR = @ac_ct_AR@ ac_ct_CC = @ac_ct_CC@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ gsettingsschemadir = @gsettingsschemadir@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ intltool__v_merge_options_ = @intltool__v_merge_options_@ intltool__v_merge_options_0 = @intltool__v_merge_options_0@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ top_build_prefix = @top_build_prefix@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ man1_SRC = entangle.pod man1_MANS = $(man1_SRC:%.pod=%.1) POD2MAN = pod2man -c "User Commands" -r "$(PACKAGE)-$(VERSION)" EXTRA_DIST = $(man1_SRC) $(man1_MANS) MAINTAINERCLEANFILES = $(man1_MANS) all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu docs/man/en/Makefile'; \ $(am__cd) $(top_srcdir) && \ $(AUTOMAKE) --gnu docs/man/en/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(am__aclocal_m4_deps): mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-man1: $(man1_MANS) @$(NORMAL_INSTALL) @list1='$(man1_MANS)'; \ list2=''; \ test -n "$(man1dir)" \ && test -n "`echo $$list1$$list2`" \ || exit 0; \ echo " $(MKDIR_P) '$(DESTDIR)$(man1dir)'"; \ $(MKDIR_P) "$(DESTDIR)$(man1dir)" || exit 1; \ { for i in $$list1; do echo "$$i"; done; \ if test -n "$$list2"; then \ for i in $$list2; do echo "$$i"; done \ | sed -n '/\.1[a-z]*$$/p'; \ fi; \ } | while read p; do \ if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ echo "$$d$$p"; echo "$$p"; \ done | \ sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ sed 'N;N;s,\n, ,g' | { \ list=; while read file base inst; do \ if test "$$base" = "$$inst"; then list="$$list $$file"; else \ echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man1dir)/$$inst'"; \ $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man1dir)/$$inst" || exit $$?; \ fi; \ done; \ for i in $$list; do echo "$$i"; done | $(am__base_list) | \ while read files; do \ test -z "$$files" || { \ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man1dir)'"; \ $(INSTALL_DATA) $$files "$(DESTDIR)$(man1dir)" || exit $$?; }; \ done; } uninstall-man1: @$(NORMAL_UNINSTALL) @list='$(man1_MANS)'; test -n "$(man1dir)" || exit 0; \ files=`{ for i in $$list; do echo "$$i"; done; \ } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^1][0-9a-z]*$$,1,;x' \ -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ dir='$(DESTDIR)$(man1dir)'; $(am__uninstall_files_from_dir) tags TAGS: ctags CTAGS: cscope cscopelist: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d "$(distdir)/$$file"; then \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \ find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \ fi; \ cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \ else \ test -f "$(distdir)/$$file" \ || cp -p $$d/$$file "$(distdir)/$$file" \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(MANS) installdirs: for dir in "$(DESTDIR)$(man1dir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: if test -z '$(STRIP)'; then \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ install; \ else \ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \ fi mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am html-am: info: info-am info-am: install-data-am: install-man install-dvi: install-dvi-am install-dvi-am: install-exec-am: install-html: install-html-am install-html-am: install-info: install-info-am install-info-am: install-man: install-man1 install-pdf: install-pdf-am install-pdf-am: install-ps: install-ps-am install-ps-am: installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-man uninstall-man: uninstall-man1 .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ cscopelist-am ctags-am distclean distclean-generic \ distclean-libtool distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-man1 install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags-am uninstall uninstall-am uninstall-man \ uninstall-man1 entangle.1: entangle.pod $(AM_V_GEN)$(POD2MAN) --name ENTANGLE $< $(srcdir)/$@ -include $(top_srcdir)/git.mk # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/docs/man/en/entangle.pod0000664000000000000000000000225512253420651014620 00000000000000=head1 NAME entangle - tethered camera control & capture =head1 SYNOPSIS entangle [OPTION...] =head1 DESCRIPTION Entangle provides a graphical interface for "tethered shooting", aka taking photographs with a digital camera completely controlled from the computer. Valid command options: =over 4 =item --debug-entangle Enable debugging of the Entangle application code =item --debug-gphoto Enable debugging of the gphoto library code =item --help Show command line option summary =item --help-all Show all command line options =item --help-gtk Show GTK+ command line options =item --help-entangle Show Entangle command line options =back =head1 AUTHOR Entangle was initially written by Daniel P. Berrange . For details of subsequent contributors, see the application AUTHORS file in the source or GIT commit history. =head1 COPYRIGHT Copyright (C) 2009-2012 by Daniel P. Berrange =head1 LICENSE Entangle is distributed under the terms of the GNU GPL v3+. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE =head1 SEE ALSO C, C entangle-0.5.4/docs/man/en/entangle.10000664000000000000000000001261612253421010014166 00000000000000.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.20) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{ . if \nF \{ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "ENTANGLE 1" .TH ENTANGLE 1 "2013-12-15" "entangle-0.5.4" "User Commands" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" entangle \- tethered camera control & capture .SH "SYNOPSIS" .IX Header "SYNOPSIS" entangle [\s-1OPTION...\s0] .SH "DESCRIPTION" .IX Header "DESCRIPTION" Entangle provides a graphical interface for \*(L"tethered shooting\*(R", aka taking photographs with a digital camera completely controlled from the computer. .PP Valid command options: .IP "\-\-debug\-entangle" 4 .IX Item "--debug-entangle" Enable debugging of the Entangle application code .IP "\-\-debug\-gphoto" 4 .IX Item "--debug-gphoto" Enable debugging of the gphoto library code .IP "\-\-help" 4 .IX Item "--help" Show command line option summary .IP "\-\-help\-all" 4 .IX Item "--help-all" Show all command line options .IP "\-\-help\-gtk" 4 .IX Item "--help-gtk" Show \s-1GTK+\s0 command line options .IP "\-\-help\-entangle" 4 .IX Item "--help-entangle" Show Entangle command line options .SH "AUTHOR" .IX Header "AUTHOR" Entangle was initially written by Daniel P. Berrange . For details of subsequent contributors, see the application \s-1AUTHORS\s0 file in the source or \s-1GIT\s0 commit history. .SH "COPYRIGHT" .IX Header "COPYRIGHT" Copyright (C) 2009\-2012 by Daniel P. Berrange .SH "LICENSE" .IX Header "LICENSE" Entangle is distributed under the terms of the \s-1GNU GPL\s0 v3+. This is free software; see the source for copying conditions. There is \s-1NO\s0 warranty; not even for \s-1MERCHANTABILITY\s0 or \s-1FITNESS FOR A PARTICULAR PURPOSE\s0 .SH "SEE ALSO" .IX Header "SEE ALSO" \&\f(CWgphoto2(1)\fR, \f(CWlibgphoto2(3)\fR entangle-0.5.4/configure.ac0000664000000000000000000001473012253420651012501 00000000000000dnl Process this file with autoconf to produce a configure script. AC_INIT([entangle], [0.5.4]) AC_CONFIG_SRCDIR([src/entangle-main.c]) AM_CONFIG_HEADER([config.h]) dnl Make automake keep quiet about wildcards & other GNUmake-isms AM_INIT_AUTOMAKE([-Wno-portability]) AC_CONFIG_MACRO_DIR([m4]) # Use the silent-rules feature when possible. m4_ifndef([AM_SILENT_RULES], [m4_define([AM_SILENT_RULES],[])]) AM_SILENT_RULES([yes]) AC_CANONICAL_HOST dnl ******************************************************************************* dnl Declare required library versions dnl ******************************************************************************* GLIB_REQUIRED=2.26.0 AC_SUBST(GLIB_REQUIRED) GIO_REQUIRED=2.26.0 AC_SUBST(GIO_REQUIRED) GTHREAD_REQUIRED=2.26.0 AC_SUBST(GTHREAD_REQUIRED) GDK_PIXBUF_REQUIRED=2.12.0 AC_SUBST(GDK_PIXBUF_REQUIRED) GTK_REQUIRED=3.0.0 AC_SUBST(GTK_REQUIRED) GPHOTO2_REQUIRED=2.4.11 AC_SUBST(GPHOTO2_REQUIRED) GUDEV_REQUIRED=145 AC_SUBST(GUDEV_REQUIRED) DBUS_GLIB_REQUIRED=0.60 AC_SUBST(DBUS_GLIB_REQUIRED) GOBJECT_INTROSPECTION_REQUIRED=0.9.3 AC_SUBST(GOBJECT_INTROSPECTION_REQUIRED) LCMS_REQUIRED=1.18 AC_SUBST(LCMS_REQUIRED) LIBPEAS_REQUIRED=0.5.5 AC_SUBST(LIBPEAS_REQUIRED) GEXIV2_REQUIRED=0.2.2 AC_SUBST(GEXIV2_REQUIRED) XEXT_REQUIRED=1.3.0 AC_SUBST(XEXT_REQUIRED) LIBRAW_REQUIRED=0.9.0 AC_SUBST(LIBRAW_REQUIRED) dnl ******************************************************************************* dnl Setup core compilers / build helpers dnl ******************************************************************************* AC_PROG_CC_STDC AM_PROG_CC_C_O LT_INIT([disable-static]) PKG_CHECK_MODULES([GLIB], [glib-2.0 >= $GLIB_REQUIRED]) AC_SUBST(GLIB_CFLAGS) AC_SUBST(GLIB_LIBS) PKG_CHECK_MODULES([GIO], [glib-2.0 >= $GIO_REQUIRED]) AC_SUBST(GIO_CFLAGS) AC_SUBST(GIO_LIBS) PKG_CHECK_MODULES([GMODULE], [gmodule-2.0 >= $GLIB_REQUIRED]) AC_SUBST(GMODULE_CFLAGS) AC_SUBST(GMODULE_LIBS) PKG_CHECK_MODULES([GTHREAD], [gthread-2.0 >= $GTHREAD_REQUIRED]) AC_SUBST(GTHREAD_CFLAGS) AC_SUBST(GTHREAD_LIBS) PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= $GDK_PIXBUF_REQUIRED]) AC_SUBST(GDK_PIXBUF_CFLAGS) AC_SUBST(GDK_PIXBUF_LIBS) PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= $GTK_REQUIRED]) AC_SUBST(GTK_CFLAGS) AC_SUBST(GTK_LIBS) have_gphoto25=no PKG_CHECK_MODULES([GPHOTO2], [libgphoto2 >= 2.5], [ have_gphoto25=yes ], [ PKG_CHECK_MODULES([GPHOTO2], [libgphoto2 >= $GPHOTO2_REQUIRED]) ]) AC_SUBST(GPHOTO2_CFLAGS) AC_SUBST(GPHOTO2_LIBS) if test "$have_gphoto25" = "yes" ; then AC_DEFINE_UNQUOTED([HAVE_GPHOTO25], 1, [whether we're building libgphoto >= 2.5]) fi PKG_CHECK_MODULES([GUDEV], [gudev-1.0 >= $GUDEV_REQUIRED]) AC_SUBST(GUDEV_CFLAGS) AC_SUBST(GUDEV_LIBS) PKG_CHECK_MODULES([DBUS_GLIB], [dbus-glib-1 >= $DBUS_GLIB_REQUIRED]) AC_SUBST(DBUS_GLIB_CFLAGS) AC_SUBST(DBUS_GLIB_LIBS) PKG_CHECK_MODULES([LCMS], [lcms >= $LCMS_REQUIRED]) AC_SUBST(LCMS_CFLAGS) AC_SUBST(LCMS_LIBS) PKG_CHECK_MODULES([GEXIV2], [gexiv2 >= $GEXIV2_REQUIRED]) AC_SUBST(GEXIV2_CFLAGS) AC_SUBST(GEXIV2_LIBS) PKG_CHECK_MODULES([LIBRAW], [libraw_r >= $LIBRAW_REQUIRED]) AC_SUBST(LIBRAW_CFLAGS) AC_SUBST(LIBRAW_LIBS) PKG_CHECK_MODULES([XEXT], [xext >= $XEXT_REQUIRED], [have_xext=yes], [have_xext=no]) AC_SUBST(XEXT_CFLAGS) AC_SUBST(XEXT_LIBS) if test "$have_xext" = "yes"; then AC_DEFINE_UNQUOTED([HAVE_XEXT], [], [Use Xext library]) fi GLIB_GSETTINGS GTK_DOC_CHECK([1.10],[--flavour no-tmpl]) PKG_CHECK_MODULES([GOBJECT_INTROSPECTION], [gobject-introspection-1.0 >= $GOBJECT_INTROSPECTION_REQUIRED]) AC_SUBST(GOBJECT_INTROSPECTION_CFLAGS) AC_SUBST(GOBJECT_INTROSPECTION_LIBS) AC_SUBST([G_IR_SCANNER], [$($PKG_CONFIG --variable=g_ir_scanner gobject-introspection-1.0)]) AC_SUBST([G_IR_COMPILER], [$($PKG_CONFIG --variable=g_ir_compiler gobject-introspection-1.0)]) PKG_CHECK_MODULES([LIBPEAS], [libpeas-1.0 >= $LIBPEAS_REQUIRED]) PKG_CHECK_MODULES([LIBPEAS_UI], [libpeas-gtk-1.0 >= $LIBPEAS_REQUIRED]) AC_SUBST(LIBPEAS_CFLAGS) AC_SUBST(LIBPEAS_LIBS) AC_SUBST(LIBPEAS_UI_CFLAGS) AC_SUBST(LIBPEAS_UI_LIBS) ENTANGLE_COMPILE_WARNINGS GETTEXT_PACKAGE=entangle AC_SUBST(GETTEXT_PACKAGE) AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],"$GETTEXT_PACKAGE", [GETTEXT package name]) AM_GLIB_GNU_GETTEXT IT_PROG_INTLTOOL([0.35.0]) # Autoconf 2.61a.99 and earlier don't support linking a file only # in VPATH builds. But since GNUmakefile is for maintainer use # only, it does not matter if we skip the link with older autoconf. # Automake 1.10.1 and earlier try to remove GNUmakefile in non-VPATH # builds, so use a shell variable to bypass this. GNUmakefile=GNUmakefile m4_if(m4_version_compare([2.61a.100], m4_defn([m4_PACKAGE_VERSION])), [1], [], [AC_CONFIG_LINKS([$GNUmakefile:$GNUmakefile], [], [GNUmakefile=$GNUmakefile])]) AC_CONFIG_FILES( Makefile entangle.spec src/Makefile src/icons/Makefile src/icons/128x128/Makefile src/icons/128x128/actions/Makefile src/icons/16x16/Makefile src/icons/16x16/actions/Makefile src/icons/22x22/Makefile src/icons/22x22/actions/Makefile src/icons/32x32/Makefile src/icons/32x32/actions/Makefile src/icons/48x48/Makefile src/icons/48x48/actions/Makefile src/icons/64x64/Makefile src/icons/64x64/actions/Makefile po/Makefile.in docs/Makefile docs/man/Makefile docs/man/en/Makefile docs/reference/Makefile ) AC_OUTPUT # Need to eval twice, to ensure we fully subsitute out all path variables rawdatadir=`eval "echo $datadir"` rawdatadir=`eval "echo $rawdatadir"` searchdirs="/usr/share:/usr/local/share" test -n "$XDG_DATA_DIRS" && searchdirs="$searchdirs:$XDG_DATA_DIRS" found=0 oldIFS=$IFS IFS=: for i in $searchdirs do test "$i" = "$rawdatadir" && found=1 done IFS=$oldIFS if test "$found" = "0" then AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: GSettings schemas will be installed under:]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: $rawdatadir]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: GSettings will only look for configuration file schemas under:]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: $searchdirs]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: If you continue with this install location for schemas, you]) AC_MSG_NOTICE([WARNING: should set the following environment variable:]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: XDG_DATA_DIRS=$rawdatadir:$searchdirs]) AC_MSG_NOTICE([WARNING:]) AC_MSG_NOTICE([WARNING: If XDG_DATA_DIRS is not set, Entangle will attempt to enable]) AC_MSG_NOTICE([WARNING: a workaround on startup to avoid crashes]) fi entangle-0.5.4/po/0000775000000000000000000000000012253421054010702 500000000000000entangle-0.5.4/po/lv.po0000664000000000000000000005330212253420651011610 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Latvian (http://www.transifex.com/projects/p/fedora/language/lv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: lv\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/el.po0000664000000000000000000005320612253420651011572 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: el\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/vi.po0000664000000000000000000005323312253420651011610 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Vietnamese (http://www.transifex.com/projects/p/fedora/language/vi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: vi\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/es.po0000664000000000000000000006732212253420651011605 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # alex_pe , 2012 # Daniel Cabrera , 2012 # Dennis Tobar , 2012 # vareli , 2013 # Javier Galnares Arias , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-25 08:28+0000\n" "Last-Translator: vareli \n" "Language-Team: Spanish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: es\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "No puede inicializar las habilidades gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "No puede cargar las habilidades gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "No se pudo iniciar puertos de gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "No se pudo cargar puertos de gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Incapaz de iniciar la cámara" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "No se puede capturar imagen mientras no esté conectada" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Incapaz de capturar imagen: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "No puedo pre visualizar la imagen sin conección" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Incapaz de capturar vista previa: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Incapaz de obtener datos del archivo: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Incapaz de obtener nombre de archivo: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "No puedo descargar el archivo cuando sin conección" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Imposible obtener el archivo de la cámara: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "No puedo brorrar el archivo cuando no esta conectado" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Incapaz de borrar archivo: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "No puede esperar eventos mientras no conecte" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Incapaz de esperar por eventos: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Incapaz de extraer el tipo widget" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Incapaz de extraer el nombre widget" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Incapaz de cargar controles, la cámara no está conectada" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Incapaz de extraer la configuración de control de cámara" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Incapaz de guardar controles, la cámara no está conectada" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Incapaz de guardar controles, la cámara no es configurable" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Incapaz de guardar la configuración de control de cámara: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Controles no disponibles cuando la cámara está desconectada" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Controles no disponibles para esta cámara" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Control de visor no disponible con esta cámara" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "El control del visor no era un widget palanca" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Fallado al fijar el estado del visor: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Fallado al fijar el estado de enfoque manual: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Control de autoenfoque no disponible con esta cámara" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "El control de autofoco no es un widget palanca" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Fallado al fijar el estado del autofoco: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Control de enfoque manual con esta cámara no disponible" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Control de enfoque manual no estaba en rango widget" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "No podría cargar el fichero de definición de interfaz de usuario: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Información desconocida" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s Información de Cámara - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Información de Cámara - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etiqueta" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Esta cámara no soporta la captura de imágenes" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Esta cámara no soporta la previsualización de imágenes" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Operación: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: Operación fallada" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Falló la carga de controles de la cámara" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: Carga de controles de cámara fallado" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Monitor" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Eliminar" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Descargar" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Capturar" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Vista previa" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Manejador de Cámara - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Imposible conectar a la cámara: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Compruebe que la cámara\n\n- no está abierta por otra aplicación\n- no está montada como sistema de ficheros en el escritorio\n- no está en modo bajo consumo para ahorrar batería\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Cancelar" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Reintentar" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Cámara en ejecución" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "La cámara no puede ser abierta porque actualmente está montada como sistema de ficheros. ¿Desea desmontarla ahora?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "No" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Sí" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Fallo al conectar con la cámara" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: Conexión de cámara fallada" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s Manejador de Cámara - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Selectionar un directorio" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Autoenfoque fallado" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: Autoenfoque de la cámara fallado" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Enfoque manual fallado" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: Enfoque manual de la cámara fallado" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Selecionar aplicacion..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Archivo" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Seleccionar session" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Conectar cámara" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Edición" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Ver" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Ajustes" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Pantalla completa" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Presentación" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Prensentar en" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Ventanas" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nueva Ventana" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Sincronizar captura" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Ayuda" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Cámara" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Controlador" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Manual" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Cámaras soportadas" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Ver la lista completa de configuraciones de la cámara" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Capturar una imagen" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Vista previa de la captura continua" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Intentar cancelar la operación\nactual en ejecución en la cámara" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Encoger la visualización de la imagen\na factor unidad" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Alejar" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Agrandar la visualización de la imagen\na factor unidad" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Acercar" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Redimensionar la imagen automáticamente para\najustarla al tamaño de ventana disponible" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Mejor ajuste" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Mostrar la imagen con el número de píxeles de origen" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Cambiar al mode de pantalla completa" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Pantalla completa" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Abrir con" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Modelo" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Puerto" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Seleccione la cámara - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Seleccione una cámara para conectar a:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "No se detecto ninguna cámara, por favor comprobar\n\n - que los cables esten conectados\n - que la cámara este encendida \n - que la cámara este en mode correcto\n - que la cámara sea un modelo suportado \n\nLas cámaras USB son detectadas automaticamente\nal conectarce, para otras intenta refrescar" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Fallo al actualizar el control de la cámara" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: Actualización de Control de cámara fallado" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Encendido" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Apagado" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Sin cámara conectada" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Sin controles disponibles" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "La pantalla en blanco no está disponible en este visualización" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "La pantalla en blanco no está implementada sobre esta plataforma" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Acerca de - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Control de la Cámara Atada y Captura" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Inteface" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Visor de Imagenes" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Gestión del color" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Plugins" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "Perfiles ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Todos los archivos (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Square / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm película" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) – Pantalla ancha" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) – Pantalla ancha" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Pantalla ancha" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Pantalla ancha" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Planned HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm película" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Ninguno" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Centrar líneas" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Regla de 3ºs" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Cuartos" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Regla de 5ºs" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Secciones doradas" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Perceptivo" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Colorimétrico relativo" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Saturación" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Colorimétrico absoluto" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Preferencias Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Capturar" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Patrón de nombres:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Modo de previsualización continúa después de la captura" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Borrar archivo de la cámara tras la descarga" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Gestión del color" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Modo de operación:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "Perfil RGB:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Perfil de monitor:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Intento de prestación:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Detectado perfil del monitor del sistema" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Visualizador de color manejado" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Plugins" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Interfaz" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Conectar automáticamente a las cámaras al arranque" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Pantalla en blanco cuando esté capturando imágenes" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Mostrar histograma lineal" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Visualizador de Imagen " #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Aplicar la máscara para alterar la relación de aspecto" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Relación de aspecto:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Opacidad de máscara:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Mostrar el punto de enfoque durante la previsualización" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Líneas de la cuadrícula:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Utilice la vista previa encastrada de archivos raw" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Superponer imágenes anteriores" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Superponer capas:" entangle-0.5.4/po/nb.po0000664000000000000000000005321412253420651011570 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Norwegian Bokmål \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nb\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/nl.po0000664000000000000000000005556112253420651011611 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Geert Warrink , 2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Dutch (http://www.transifex.com/projects/p/fedora/language/nl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "label" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Vastleggen" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Preview" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Annuleren" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Verstrikken" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Bestand" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Verbindt camera" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Bewerk" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Bekijk" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Instellingen" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Volledig scherm" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Presentatie" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Presenten op" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Hulp" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Camera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Driver" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Handmatig" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Ondersteunde camera's" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Bekijk de volledige lijst met camera instellingen" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Leg een afbeelding vast" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Continue vastleggen van preview" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Verklein de display van de afbeelding\nmet een factor" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Zoom uit" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Vergroot het display van de afbeelding\nmet een factor" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Zoom in" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Verander de grootte van de afbeelding om\nautomatisch in het beschikbare venster te passen" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Best passend" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Toon de afbeelding met zijn\nnative pixel grootte" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normaal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Schakel om naar volledig scherm display modus" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Volledig scherm" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Selecteer camera - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Selecteer een camera om te verbinden met:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Er werden geen camera's gedetecteerd, contoleer of\n\n - de kabels verbonden zijn\n - de camera aangezet is\n - de camera zich in de correcte modus bevindt\n - de camera een ondersteund model is\n\nUSB camera's worden automatisch gedetecteerd\nbij het aansluiten, probeer verversen voor andere" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Over - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Gebonden camera controle & vastleggen" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Kleurbeheer" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Absolute colorimetrie" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Vastleggen" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Kleurbeheer" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Plug-ins" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ta.po0000664000000000000000000005321112253420651011572 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Tamil \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ta\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/kn.po0000664000000000000000000005323012253420651011577 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Kannada (http://www.transifex.com/projects/p/fedora/language/kn/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kn\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ro.po0000664000000000000000000005331112253420651011607 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Romanian (http://www.transifex.com/projects/p/fedora/language/ro/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ro\n" "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/sv.po0000664000000000000000000006456512253420651011634 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Göran Uddeborg , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Swedish (http://www.transifex.com/projects/p/fedora/language/sv/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sv\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Kan inte initiera gphoto2:s egenskaper" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Kan inte ladda gphoto2:s egenskaper" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Kan inte initiera gphoto2:s portar" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Kan inte ladda gphoto2:s portar" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Kan inte initiera kameran" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Kan inte fånga bilder utan anslutning" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Kan inte fånga en bild: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Kan inte förhandsvisa en bild utan anslutning" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Kan inte fånga en förhandsvisning: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Kan inte hämta fildata: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Kan inte hämta filnamnet: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Kan inte hämta filen utan anslutning" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Kan inte hämta fil från kameran: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Kan inte radera en fil utan anslutning" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Kan inte radera filen: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Kan inte vänta på händelser utan anslutning" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Kan inte vänta på händelser: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Kan inte ta fram widget-typen" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Kan inte ta fram widget-namnet" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Kan inte ladda kontroller, kameran är inte ansluten" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Kan inte ta fram kamerans kontrollkonfiguration" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Kan inte spara kontroller, kameran är inte ansluten" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Kan inte spara kontroller, kameran är inte konfigurerbar" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Kan inte spara kamerans kontrollkonfiguration: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Kontroller är inte tillgängliga när kameran inte är ansluten" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Kontroller är inte tillgängliga för denna kamera" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Kunde inte ladda definitionsfilen för användargränssnittet: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Okänd information" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s Kamerainformation - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Kamerainformation - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etikett" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Denna kamera stödjer inte fångst av bilder" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Denna kamera stödjer inte förhandsvisning av bilder" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Åtgärd: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: Åtgärden misslyckades" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Laddning av kamerakontroller misslyckades" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: Laddning av kamerakontroller misslyckades" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Övervaka" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Radera" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Hämta" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Fånga" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Förhandsvisning" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Kamerahanterare - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Kan inte ansluta till kameran: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Kontrollera att kameran inte är\n\n - öppnad av ett annat fotoprogram\n - monterad som ett filsystem på skrivbordet\n - i sovläge för att spara ström\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Avbryt" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Försök igen" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Kameran används" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Kameran kan inte öppnas för att den just nu är monterad som ett filsystem. Vill du avmontera den nu?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Nej" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Ja" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Anslutning till kameran misslyckades" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: Anslutning till kameran misslyckades" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s kamerahanterare - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Välj en mapp" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Välj program…" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Arkiv" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Välj session" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Anslut kameran" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Redigera" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Visa" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Inställningar" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Helskärm" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Presentation" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Presentation på" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Fönster" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nytt fönster" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Synkronisera fångst" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Hjälp" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Kamera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Drivrutin" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Manual" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Kameror som stödjs" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Visa den fullständiga listan över kamerainställningar" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Fånga en bild" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Kontinuerlig förhandsvisning av fångade bilder" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Försök avbryta den nu\npågående kameraåtgärden" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Krymp visningen av bilden\nmed en faktor" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Zooma ut" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Förstora visningen av bilden\nmed en faktor" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Zooma in" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Ändra storlek på bilden för att automatiskt\npassa det tillgängliga utrymmet i fönstret" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Bästa anpassning" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Visa bilden med dess naturliga\nbildpunktsstorlek" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Byt visningen till helskärmsläge" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Helskärm" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Öppna med" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Model" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Välj kamera - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Välj en kamera att ansluta till:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Inga kameror hittades, kontrollera att\n\n - sladdarna är inkopplade\n - kameran är påslagen\n - kameran är i rätt läge\n - kameran är av en modell som stödjs\n\nUSB-kameror upptäcks automatiskt när de kopplas\nin, försök med en omläsning för övriga" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Uppdatering av kamerakontroller misslyckades" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: Uppdatering av kamerakontroller misslyckades" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "På" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Av" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Skärmsläckning är inte tillgängligt för denna skärm" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Skärmsläckning är inte implementerat på denna plattform" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Om - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright © 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Tjudrad kamerakontroll och -fångst" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Gränssnitt" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Bildvisare" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Färghantering" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Insticksmoduler" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC-profiler (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Alla filer (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Kvadratisk / MF 6×6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm film" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Bredbild" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Bredbild" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Bredbild" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Bredbild" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Planerad HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm film" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Ingen" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Mittlinjer" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Tredjedelsregeln" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Fjärdedelar" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Femtedelsregeln" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Gyllene snittet" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Perceptuell" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Relativ kolorimetrisk" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Mättnad" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Absolut kolorimetrisk" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Inställningar för Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Fångst" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Filnamnsmönster:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Fortsätt i förhandsvisningsläge efter fångst" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Radera filer från kameran efter att de hämtats" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Färghantering" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Arbetsläge:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB-profil:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Monitorprofil:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Renderingssyfte:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Detektera systemmonitorprofilen" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Färghanterad display" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Insticksmoduler" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Gränssnitt" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Anslut automatiskt till kameror vid uppstart" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Töm skärmen när bilder fångas" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Bildvisare" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Använd mask för att ändra bildformat" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Bildformat:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Maskogenomskinlighet:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Visa fokuspunkt under förhandsvisning" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Rutmönster:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Använd inbäddad förhandsvisning från råa filer" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ga.po0000664000000000000000000005330312253420651011557 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Irish (http://www.transifex.com/projects/p/fedora/language/ga/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ga\n" "Plural-Forms: nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/kk.po0000664000000000000000000005322712253420651011602 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Kazakh (http://www.transifex.com/projects/p/fedora/language/kk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: kk\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/bn_IN.po0000664000000000000000000005321412253420651012156 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Bengali (India) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn_IN\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/fi.po0000664000000000000000000005323712253420651011574 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Finnish (http://www.transifex.com/projects/p/fedora/language/fi/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/he.po0000664000000000000000000005320712253420651011567 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Hebrew \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: he\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/sr.po0000664000000000000000000005332212253420651011615 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Serbian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sr\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/sl.po0000664000000000000000000005332512253420651011612 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Slovenian (http://www.transifex.com/projects/p/fedora/language/sl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sl\n" "Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ia.po0000664000000000000000000005321412253420651011562 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Interlingua \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ia\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/uk.po0000664000000000000000000010220312253420651011601 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Yuri Chornoivan , 2012-2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:57+0000\n" "Last-Translator: Yuri Chornoivan \n" "Language-Team: Ukrainian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: uk\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Не вдалося ініціалізувати можливості gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Не вдалося завантажити можливості gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Не вдалося ініціалізувати порти gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Не вдалося завантажити порти gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Не вдалося ініціалізувати фотоапарат" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Захоплення зображень з нез’єднаного фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Не вдалося захопити зображення: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Попереднього перегляду зображень з нез’єднаного фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Не вдалося захопити зображення попереднього перегляду: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Не вдалося отримати дані щодо файла: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Не вдалося отримати назву файла: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Звантаження файлів з нез’єднаного фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Не вдалося отримати файл з фотоапарата: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Вилучення файлів з нез’єднаного фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Не вдалося вилучити файл: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Очікування на події неможливе, якщо фотоапарат не з’єднано" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Очікування на події неможливе: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Не вдалося отримати тип віджета" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Не вдалося отримати назву віджета" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Не вдалося завантажити засоби керування — фотоапарат не з’єднано з комп’ютером" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Не вдалося отримати налаштування засобів керування фотоапаратом" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Не вдалося зберегти налаштування засобів керування фотоапаратом — фотоапарат не з’єднано" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Не вдалося зберегти налаштування засобів керування фотоапаратом — налаштовування фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Не вдалося зберегти налаштування засобів керування фотоапаратом: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Для цього фотоапарата не передбачено засобів керування" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Не вдалося отримати доступ до засобів керування цим фотоапаратом" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Керування видошукачем для цього фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Віджет керування видошукачем не можна вмикати або вимикати" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Не вдалося встановити стан видошукача: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Не вдалося встановити стан фокусування вручну: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Керування автофокусуванням для цього фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "Віджет керування автофокусуванням не можна вмикати або вимикати" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Не вдалося встановити стан автофокусування: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Керування фокусуванням вручну для цього фотоапарата не передбачено" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Віджет керування фокусуванням вручну не є віджетом діапазону значень" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Не вдалося завантажити файл визначень інтерфейсу користувача: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Нерозпізнані дані" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "Дані щодо %s — Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Дані щодо фотоапарата — Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "мітка" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Для цього фотоапарата не передбачено захоплення зображень" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Для цього фотоапарата не передбачено попереднього перегляду знімків" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Дія: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: помилка дії" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Помилка завантаження засобів керування фотоапаратом" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: не вдалося завантажити засоби керування фотоапаратом" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Монітор" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Вилучити" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Звантажити" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Захопити" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Перегляд" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Керування фотоапаратами — Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Не вдалося встановити з’єднання з фотоапаратом: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Переконайтеся, що виконуються такі умови:\n\n - з фотоапаратом не працює ніяка стороння програма;\n - фотоапарат не змонтовано як файлову систему стільничним середовищем;\n - фотоапарат не перебуває у режимі сну, призначеному для економії заряду акумуляторів.\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Скасувати" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Повторити" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Фотоапарат використовується" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Робота з фотоапаратом неможлива, оскільки зараз його змонтовано як сховище даних. Демонтувати відповідне сховище даних?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Ні" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Так" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Помилка з’єднання з фотоапаратом" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: не вдалося встановити з’єднання з фотоапаратом" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "Керування фотоапаратами %s — Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Виберіть теку" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Спроба автофокусування зазнала невдачі" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: спроба автоматично встановити фокус фотоапарата зазнала невдачі" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Спроба фокусування вручну зазнала невдачі" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: не вдалося встановити на фотоапараті фокусування вручну" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Виберіть програму…" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Файл" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Виберіть сеанс" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "З’єднати фотоапарат" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "З_міни" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "П_ерегляд" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Параметри" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "На весь екран" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Показ" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Показ" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Вікна" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Створити вікно" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Синхронізоване захоплення" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Довідка" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Камера" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Драйвер" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Вручну" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Підтримувані фотоапарати" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Переглянути список параметрів фотоапарата повністю" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Захопити зображення" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Неперервний перегляд захопленого" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Спробувати скасувати поточну дію,\nяка виконується фотоапаратом" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Зменшити область показу зображення на\nодин крок масштабу" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Зменшити" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Збільшити область показу зображення на\nодин крок масштабу" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Збільшити" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Автоматично змінити розміри зображення\nвідповідно до розмірів вікна програми" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Найкраще заповнення" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Використовувати під час показу\nприродний розмір зображення" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Звичайний" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Перемкнутися у режим повноекранного показу" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Весь екран" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Відкрити за допомогою" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Модель" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Порт" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Вибір фотоапарата — Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Виберіть фотоапарат, з яким слід встановити з’єднання" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Не виявлено жодної фотоапарата. Переконайтеся, що:\n\n - фотоапарат з’єднано кабелям;\n - фотоапарат увімкнено;\n - фотоапарат працює у належному режимі;\n - використано фотоапарат підтримуваної моделі.\n\nПрограма автоматично виявляє фотоапарати, з’єднані за допомогою\nUSB. Для виявлення фотоапаратів, з’єднаних іншим способом, слід\nоновити список." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Помилка оновлення списку фотоапаратів" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: спроба оновлення списку керування фотоапаратами зазнала невдачі" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Увімкнено" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Вимкнено" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Не з’єднано жодного фотоапарата" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Немає доступу до засобів керування" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Спорожнення екрана недоступне на цьому дисплеї" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Спорожнення екрана на цій платформі не реалізовано" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Про програму Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "© Daniel P. Berrange, 2009–2012" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Керування фотоапаратами та захоплення даних зі з’єднаних фотоапаратів" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Інтерфейс" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Перегляд зображень" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Керування кольорами" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Додатки" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "профілі ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "всі файли (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 — квадратне / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 — Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1,33:1 (4:3, 12:9) — супер 35 мм / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 — 35 мм відео" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 — IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10) — 35 мм відеозапис" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) — широкий екран" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1,66:1 (5:3, 15:9) — супер 16 мм" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1,75:1 (7:4) — широкий екран" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1,77:1 (16:9) — APS-H / HDTV / широкоекранне" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1,85:1 — широкоекранний, 35 мм" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2,00:1 — SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2,10:1 (21:10) —плановане телебачення високої роздільності" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2,20:1 (11:5, 22:10) — 70 мм відео" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2,35:1 — CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2,37:1 (64:27) — телебачення високої роздільності" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2,39:1 (12:5) — Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2,55:1 (23:9) — CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2,59:1 (13:5) — Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2,66:1 (8:3, 24:9) — супер 16 мм" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2,76:1 (11:4) — Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2,93:1 — камера MGM 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 панорама APS" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 — Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 — кругове бачення 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Немає" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Центрувати рядки" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Правило третіх" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Чверті" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Правило п’ятих" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Золоті перетини" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Придатний для сприйняття" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Відносний колориметричний" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Насиченість" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Абсолютний колориметричний" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Параметри Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Захоплення" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Шаблон назви файла:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Продовжити роботу у режимі перегляду після захоплення" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Вилучити файл з фотоапарата після звантаження" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Керування кольорами" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Режим роботи:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "Профіль RGB:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Профіль монітора:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Відтворення кольорів:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Виявляти профіль монітора системи" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Показ з керуванням кольорами" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Додатки" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Інтерфейс" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Автоматично встановлювати з’єднання з камерами під час запуску" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Спорожняти екран під час захоплення зображень" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Показати лінійну гістограму" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Перегляд зображень" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Застосувати маску з метою зміни форм-фактора" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Форм-фактор:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Непрозорість маски:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Показувати точку фокусування під час перегляду" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Лінії сітки:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Вбудовані мініатюри з файлів цифрових негативів" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Накладати попередні зображення" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Шари накладання" entangle-0.5.4/po/LINGUAS0000664000000000000000000000027712253420651011657 00000000000000ar as ast bg bn_IN bn bo br ca cs da de el es eu fa fi fr ga gl he hi hu ia id is it ja ka kk kn ko ks lv mai ml nb nl nn pl pt_BR pt ro ru si sk sl sq sr sv ta te tr uk vi zh_CN zh_HK zh_TW entangle-0.5.4/po/ca.po0000664000000000000000000005407612253420651011563 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Catalan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ca\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etiqueta" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Monitor" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Suprimeix" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Baixada" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Captura" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Previsualització" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Cancel·la" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Reintent" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "No" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Sí" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Fitxer" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Edita" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Visualitza" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Paràmetres" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Pantalla completa" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Presentació" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Finestres" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Finestra nova" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "A_juda" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Càmera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Controlador" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Manual" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Allunya" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Apropa" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Millor ajust" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Pantalla completa" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Obre amb" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Model" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Activada" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Desactivada" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Interfície" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Visualitzador d'imatges" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Gestió del color" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Connectors" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Tots els fitxers (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Cap" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Perceptiu" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Saturació" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Mode d'operació:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Perfil del monitor:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Relació de l'aspecte:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ast.po0000664000000000000000000005324212253420651011761 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Asturian (http://www.transifex.com/projects/p/fedora/language/ast/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ast\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/id.po0000664000000000000000000005320412253420651011564 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Indonesian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: id\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ru.po0000664000000000000000000005332212253420651011617 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Russian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ru\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/zh_HK.po0000664000000000000000000005321712253420651012177 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Chinese (Hong Kong) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_HK\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/cs.po0000664000000000000000000007007012253420651011575 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # pavelb , 2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-05-11 18:39+0000\n" "Last-Translator: pavelb \n" "Language-Team: Czech (http://www.transifex.com/projects/p/fedora/language/cs/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: cs\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Nezdařilo se inicializovat funkce gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Nezdařilo se načíst funkce gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Nezdařilo se inicializovat porty ghpoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Nezdařilo se nahrát porty gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Nezdařilo se inicializovat fotoaparát" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Když fotoaparát není připojen, není možné pořizovat snímky" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Nezdařilo se pořídit snímek: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Když fotoaparát není připojen, nelze zobrazit náhled" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Nezdařilo se pořídit náhled: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Nezdařilo se získat informace o souboru: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Nezdařilo se získat název souboru: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Když fotoaparát není připojen, nelze z něho stahovat obrázky" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Nezdařilo se získat soubor z fotoaparátu: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Když fotoaparát není připojen, nelze z něho mazat obrázky" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Nezdařilo se smazat soubor: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Když fotoaparát není připojen, nelze sledovat vyčkávat na událost" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Nezdařilo se vyčkávat na událost: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Nezdařilo se získat typ prvku" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Nezdařilo se získat název prvku" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Nezdařilo se nahrát ovládací prvky – fotoaparát není připojen" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Nezdařilo se získat současné nastavení ovládacích prvků fotoaparátu" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Nezdařilo se uložit nastavení ovládacích prvků do fotoaparátu, protože není připojen" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Nezdařilo se uložit nastavení ovládacích prvků do fotoaparátu, protože tento fotoaparát to neumožňuje" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Nezdařilo se uložit nastavení ovládacích prvků: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Když je fotoaparát odpojený, ovládací prvky nemohou být dostupné" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "U tohoto fotoaparátu nejsou ovládací prvky dostupné" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Hledáček tohoto fotoaparátu nelze ovládat." #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Ovládání hledáčku nebylo přepínatelným prvkem." #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Nastavení hledáčku se nezdařilo: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Nastavení ručního ostření se nezdařilo: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Automatické ostření není pro tento fotoaparát dostupné" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "Automatické ostření nebylo přepínatelným prvkem" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Nezdařilo se nastavit automatické ostření: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Ruční ostření není u tohoto fotoaparátu dostupné" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Ovládání ručního ostření nebylo prvkem „rozsah“" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Nezdařilo se nahrát soubor s definicemi uživatelského rozhraní: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Neznámé sdělení" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s informace o fotoaparátu - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Informace o fotoaparátu - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "označení" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Tento fotoaparát není možné ovládat z počítače" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "U tohoto fotoaparátu není možné zobrazovat náhled" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Operace: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: operace se nezdařila" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Nahrání ovládacích prvků fotoaparátu se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: nahrání ovládacích prvků fotoaparátu se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Obrazovka" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Smazat" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Stáhnout" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Pořizování snímků" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Náhled" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Správce fotoaparátů - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Nezdařilo se připojit fotoaparát: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Zkontrolujte, zda:\n\n- fotoaparát není používán jinou foto aplikací\n- souborový systém na jeho paměťové kartě není připojen do systému\n- se přístroj nenachází v úsporném režimu (šetření energií v akumulátoru)\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Storno" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Zkusit znovu" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Fotoaparát je používán jinou aplikací" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Fotoaparát není možné otevřít, protože souborový systém na jeho paměťové kartě je momentálně připojen do systému. Přejete si tento souborový systém odpojit?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Ne" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Ano" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Navázání spojení s fotoaparátem se nezdařilo." #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: navázání spojení s fotoaparátem se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s správce fotoaparátů - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Zvolte složku" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Automatické ostření se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: automatické ostření se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Ruční ostření se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: ruční ostření se nezdařilo" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Zvolte aplikaci…" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Soubor" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Zvolit projekt" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Připojit fotoaparát" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Úpravy" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Zobrazení" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Nastavení" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Celá obrazovka" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Spustit prezentaci" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Zobrazovat na" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Okna" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nové okno" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Fotografovat najednou na všech připojených přístrojích." #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Nápověda" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Fotoaparát" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Ovladač" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Dokumentace" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Podporované fotoaparáty" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Zobrazit všechna nastavení\ndostupná pro tento fotoaparát" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Pořídit snímek" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Průběžně obnovovat náhled" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Pokusit se ukončit akci právě\nprobíhající na fotoaparátu" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Zmenšit zobrazení na polovinu" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Oddálit" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Zvětšit zobrazení na dvojnásobek" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Přiblížit" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Automaticky přizpůsobovat\nvelikost zobrazování oknu" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Přizpůsobit velikosti okna" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Zobrazit v původní velikosti\n(co 1 pixel obrázku, to 1 pixel na obrazovce)" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Původní" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Zobrazit přes celou obrazovku" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Celá obrazovka" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Otevřít s" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Výrobce a typ" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Rozhraní – port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Volba fotoaparátu - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Vyberte ke kterému z fotoaparátů se připojit:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Nebyly nalezeny žádné fotoaparáty, zkontrolujte zda:\n\n- jsou kabely zapojené\n- je fotoaparát zapnutý\n- je fotoaparát přepnutý do příslušného režimu\n- je tento typ fotoaparátu podporován\n\nFotoaparáty s rozhraním USB jsou po připojení\nrozpoznány automaticky, u ostatních rozhraní\nje po připojení třeba kliknout na tlačítko obnovit." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Aktualizace stavu ovládacího prvku se nezdařila" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: aktualizace stavu ovládacího prvku se nezdařila" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Zapnuto" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Vypnuto" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Není připojen žádný fotoaparát" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Nejsou k dispozici žádné ovládací prvky" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Tuto obrazovku není možné zatmívat." #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Pro tento tento operační systém není zatmívání obrazovky ještě dodělané." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "O aplikaci - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Autorská práva 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Ovládání a pořizování snímků z fotoaparátu přes počítač" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Uživatelské rozhraní" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Prohlížeč obrázků" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Správa přesnosti podání barev" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Rozšiřující zásuvné moduly" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "Barevné profily ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Všechny soubory (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - čtverec / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm film" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - širokoúhlé" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - širokoúhlé" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / širokoúhlé" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm širokoúhlé" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm film" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - 360° panorama" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Žádná" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Označení středu" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Pravidlo třetin" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Čtvrtiny" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Pravidlo pětin" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Zlaté řezy" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Perceptuální (vjemová)" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Relativní kolorimetrická" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Saturační" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Absolutní kolorimetrická" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Nastavení Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Pořizování snímků" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Struktura názvů souborů:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Pokračovat ve zobrazování náhledu i po pořízení snímku" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Po stažení do počítače smazat snímek z fotoaparátu" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Správa přesnosti podání barev" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Režim:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB profil:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Barevný profil monitoru:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Metoda korekce barev:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Použít barevný profil monitoru z operačního systému" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Obrazovka má seřízené podání barev" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Rozšiřující zásuvné moduly" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Uživatelské rozhraní" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Při spuštění aplikace automaticky připojit k fotoaparátu" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Při spuštění závěrky fotoaparátu zatemnit obrazovku počítače (probliknutí)." #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Zobrazit lineární histogram" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Prohlížeč obrázků" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Použít masku ke změně poměru stran" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Poměr stran:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Průhlednost masky:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "V náhledu zobrazovat bod, na který se ostří" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Kompoziční pomůcka:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Používat zapouzdřené náhledy z RAW souborů" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Zobrazit současně s dřívějšími obrázky (překrývání)" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Počet překrývajících se vrstev:" entangle-0.5.4/po/nn.po0000664000000000000000000005321412253420651011604 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Norwegian Nynorsk \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: nn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/Makefile.in.in0000644000000000000000000001604612105306711013277 00000000000000# Makefile for program source directory in GNU NLS utilities package. # Copyright (C) 1995, 1996, 1997 by Ulrich Drepper # Copyright (C) 2004-2008 Rodney Dawes # # This file may be copied and used freely without restrictions. It may # be used in projects which are not available under a GNU Public License, # but which still want to provide support for the GNU gettext functionality. # # - Modified by Owen Taylor to use GETTEXT_PACKAGE # instead of PACKAGE and to look for po2tbl in ./ not in intl/ # # - Modified by jacob berkman to install # Makefile.in.in and po2tbl.sed.in for use with glib-gettextize # # - Modified by Rodney Dawes for use with intltool # # We have the following line for use by intltoolize: # INTLTOOL_MAKEFILE GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ PACKAGE = @PACKAGE@ VERSION = @VERSION@ SHELL = @SHELL@ srcdir = @srcdir@ top_srcdir = @top_srcdir@ top_builddir = @top_builddir@ VPATH = @srcdir@ prefix = @prefix@ exec_prefix = @exec_prefix@ datadir = @datadir@ datarootdir = @datarootdir@ libdir = @libdir@ DATADIRNAME = @DATADIRNAME@ itlocaledir = $(prefix)/$(DATADIRNAME)/locale subdir = po install_sh = @install_sh@ # Automake >= 1.8 provides @mkdir_p@. # Until it can be supposed, use the safe fallback: mkdir_p = $(install_sh) -d INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ GMSGFMT = @GMSGFMT@ MSGFMT = @MSGFMT@ XGETTEXT = @XGETTEXT@ INTLTOOL_UPDATE = @INTLTOOL_UPDATE@ INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@ MSGMERGE = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --dist GENPOT = INTLTOOL_EXTRACT="$(INTLTOOL_EXTRACT)" XGETTEXT="$(XGETTEXT)" srcdir=$(srcdir) $(INTLTOOL_UPDATE) --gettext-package $(GETTEXT_PACKAGE) --pot ALL_LINGUAS = @ALL_LINGUAS@ PO_LINGUAS=$(shell if test -r $(srcdir)/LINGUAS; then grep -v "^\#" $(srcdir)/LINGUAS; else echo "$(ALL_LINGUAS)"; fi) USER_LINGUAS=$(shell if test -n "$(LINGUAS)"; then LLINGUAS="$(LINGUAS)"; ALINGUAS="$(ALL_LINGUAS)"; for lang in $$LLINGUAS; do if test -n "`grep \^$$lang$$ $(srcdir)/LINGUAS 2>/dev/null`" -o -n "`echo $$ALINGUAS|tr ' ' '\n'|grep \^$$lang$$`"; then printf "$$lang "; fi; done; fi) USE_LINGUAS=$(shell if test -n "$(USER_LINGUAS)" -o -n "$(LINGUAS)"; then LLINGUAS="$(USER_LINGUAS)"; else if test -n "$(PO_LINGUAS)"; then LLINGUAS="$(PO_LINGUAS)"; else LLINGUAS="$(ALL_LINGUAS)"; fi; fi; for lang in $$LLINGUAS; do printf "$$lang "; done) POFILES=$(shell LINGUAS="$(PO_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.po "; done) DISTFILES = Makefile.in.in POTFILES.in $(POFILES) EXTRA_DISTFILES = ChangeLog POTFILES.skip Makevars LINGUAS POTFILES = \ # This comment gets stripped out CATALOGS=$(shell LINGUAS="$(USE_LINGUAS)"; for lang in $$LINGUAS; do printf "$$lang.gmo "; done) .SUFFIXES: .SUFFIXES: .po .pox .gmo .mo .msg .cat AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ INTLTOOL_V_MSGFMT = $(INTLTOOL__v_MSGFMT_$(V)) INTLTOOL__v_MSGFMT_= $(INTLTOOL__v_MSGFMT_$(AM_DEFAULT_VERBOSITY)) INTLTOOL__v_MSGFMT_0 = @echo " MSGFMT" $@; .po.pox: $(MAKE) $(GETTEXT_PACKAGE).pot $(MSGMERGE) $< $(GETTEXT_PACKAGE).pot -o $*.pox .po.mo: $(INTLTOOL_V_MSGFMT)$(MSGFMT) -o $@ $< .po.gmo: $(INTLTOOL_V_MSGFMT)file=`echo $* | sed 's,.*/,,'`.gmo \ && rm -f $$file && $(GMSGFMT) -o $$file $< .po.cat: sed -f ../intl/po2msg.sed < $< > $*.msg \ && rm -f $@ && gencat $@ $*.msg all: all-@USE_NLS@ all-yes: $(CATALOGS) all-no: $(GETTEXT_PACKAGE).pot: $(POTFILES) $(GENPOT) install: install-data install-data: install-data-@USE_NLS@ install-data-no: all install-data-yes: all linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ dir=$(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES; \ $(mkdir_p) $$dir; \ if test -r $$lang.gmo; then \ $(INSTALL_DATA) $$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $$lang.gmo as $$dir/$(GETTEXT_PACKAGE).mo"; \ else \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo $$dir/$(GETTEXT_PACKAGE).mo; \ echo "installing $(srcdir)/$$lang.gmo as" \ "$$dir/$(GETTEXT_PACKAGE).mo"; \ fi; \ if test -r $$lang.gmo.m; then \ $(INSTALL_DATA) $$lang.gmo.m $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $$lang.gmo.m as $$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ if test -r $(srcdir)/$$lang.gmo.m ; then \ $(INSTALL_DATA) $(srcdir)/$$lang.gmo.m \ $$dir/$(GETTEXT_PACKAGE).mo.m; \ echo "installing $(srcdir)/$$lang.gmo.m as" \ "$$dir/$(GETTEXT_PACKAGE).mo.m"; \ else \ true; \ fi; \ fi; \ done # Empty stubs to satisfy archaic automake needs dvi info ctags tags CTAGS TAGS ID: # Define this as empty until I found a useful application. install-exec installcheck: uninstall: linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo; \ rm -f $(DESTDIR)$(itlocaledir)/$$lang/LC_MESSAGES/$(GETTEXT_PACKAGE).mo.m; \ done check: all $(GETTEXT_PACKAGE).pot rm -f missing notexist srcdir=$(srcdir) $(INTLTOOL_UPDATE) -m if [ -r missing -o -r notexist ]; then \ exit 1; \ fi mostlyclean: rm -f *.pox $(GETTEXT_PACKAGE).pot *.old.po cat-id-tbl.tmp rm -f .intltool-merge-cache clean: mostlyclean distclean: clean rm -f Makefile Makefile.in POTFILES stamp-it rm -f *.mo *.msg *.cat *.cat.m *.gmo maintainer-clean: distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." rm -f Makefile.in.in distdir = ../$(PACKAGE)-$(VERSION)/$(subdir) dist distdir: $(DISTFILES) dists="$(DISTFILES)"; \ extra_dists="$(EXTRA_DISTFILES)"; \ for file in $$extra_dists; do \ test -f $(srcdir)/$$file && dists="$$dists $(srcdir)/$$file"; \ done; \ for file in $$dists; do \ test -f $$file || file="$(srcdir)/$$file"; \ ln $$file $(distdir) 2> /dev/null \ || cp -p $$file $(distdir); \ done update-po: Makefile $(MAKE) $(GETTEXT_PACKAGE).pot tmpdir=`pwd`; \ linguas="$(USE_LINGUAS)"; \ for lang in $$linguas; do \ echo "$$lang:"; \ result="`$(MSGMERGE) -o $$tmpdir/$$lang.new.po $$lang`"; \ if $$result; then \ if cmp $(srcdir)/$$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \ rm -f $$tmpdir/$$lang.new.po; \ else \ if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \ :; \ else \ echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \ rm -f $$tmpdir/$$lang.new.po; \ exit 1; \ fi; \ fi; \ else \ echo "msgmerge for $$lang.gmo failed!"; \ rm -f $$tmpdir/$$lang.new.po; \ fi; \ done Makefile POTFILES: stamp-it @if test ! -f $@; then \ rm -f stamp-it; \ $(MAKE) stamp-it; \ fi stamp-it: Makefile.in.in $(top_builddir)/config.status POTFILES.in cd $(top_builddir) \ && CONFIG_FILES=$(subdir)/Makefile.in CONFIG_HEADERS= CONFIG_LINKS= \ $(SHELL) ./config.status # Tell versions [3.59,3.63) of GNU make not to export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: entangle-0.5.4/po/zh_CN.po0000664000000000000000000005400512253420651012171 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Tiansworld , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Chinese (China) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_CN\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "标签" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "捕捉" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "预览" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "取消" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "文件(_T)" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "连接相机" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "编辑(_E)" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "浏览(_V)" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "设置" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "全屏" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "演示" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "帮助(_H)" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "相机" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "驱动" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "手动" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "捕捉图像" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "连续捕捉预览" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "常规" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "选择要连接的相机" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "关于 - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "色彩管理" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "捕捉" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "下载后将文件从相机内删除" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "色彩管理" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "插件" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/it.po0000664000000000000000000006624512253420651011615 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # cri , 2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: it\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Impossibile inizializzare le funzionalità di gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Impossibile caricare le funzionalità di gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Impossibile inizializzare le porte di gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Impossibile caricare le porte di gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Impossibile inizializzare la fotocamera" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Impossibile catturare l'immagine quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Impossibile catturare l'immagine: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Impossibile creare l'anteprima dell'immagine quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Impossibile catturare l'anteprima: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Impossibile ottenere i dati del file: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Impossibile ottenere il nome del file: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Impossibile scaricare il file quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Impossibile ottenere il file della fotocamera: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Impossibile eliminare il file quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Impossibile eliminare il file: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Impossibile attendere gli eventi quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Impossibile attendere gli eventi: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Impossibile ottenere il tipo di widget" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Impossibile ottenere il nome del widget" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Impossibile caricare i controlli, la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Impossibile ottenere la configurazione dei controlli della fotocamera" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Impossibile salvare i controlli, la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Impossibile salvare i controlli, la fotocamera non è configurabile" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Impossibile salvare la configurazione dei controlli della fotocamera: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "I controlli non sono disponibili quando la fotocamera non è connessa" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Controlli non disponibili per questa fotocamera" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Impossibile caricare il file di definizione dell'interfaccia utente: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Informazione sconosciuta" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "Informazioni fotocamera %s - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Informazioni fotocamera - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etichetta" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Questa fotocamera non supporta la cattura delle immagini" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Questa fotocamera non supporta l'anteprima dell'immagine" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Operazione: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: operazione non riuscita" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Caricamento dei controlli della fotocamera non riuscito" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: caricamento dei controlli della fotocamera non riuscito" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Schermo" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Elimina" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Scaricati" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Cattura" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Anteprima" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Gestore fotocamera - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Impossibile connettersi alla fotocamera: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Controllare che la fotocamera non sia:\n\n - in uso da un'altra applicazione;\n - montata come file system;\n - in modalità sleep per il risparmio della batteria.\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Annulla" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Ritenta" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "La fotocamera è in uso" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "La fotocamera non può essere aperta perché è montata come un file system. Smontarla ora?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "No" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Sì" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Connessione alla fotocamera non riuscita" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: connessione alla fotocamera non riuscita" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "Gestore fotocamera %s - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Selezione cartella" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Selezionare un'applicazione..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_File" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Selezione sessione" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Connetti fotocamera" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Modifica" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Visualizza" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Impostazioni" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Schermo intero" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Presentazione" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Presente su" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Finestre" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nuova finestra" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Sincronizza cattura" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "A_iuto" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Fotocamera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Driver" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Manuale" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Fotocamere supportate" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Mostra l'elenco completo delle impostazioni della fotocamera" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Cattura un'immagine" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Anteprima a cattura continua" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Tentativo di annullamento\ndell'operazione in corso" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Riduce la visualizzazione dell'immagine\ndi un fattore" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Zoom indietro" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Aumenta la visualizzazione dell'immagine\ndi un fattore" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Zoom avanti" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Ridimensiona l'immagine per occupare automaticamente\nlo spazio disponibile nella finestra" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Adattamento migliore" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Visualizza l'immagine con la\ndimensione in pixel nativa" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normale" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Abilita la modalità a schermo intero" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Schermo intero" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Apri con" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Modello" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Porta" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Selezione fotocamera - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Selezionare una fotocamera a cui connettersi:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Non è stata individuata alcuna fotocamera; controllare che:\n\n - il cavo sia connesso;\n - la fotocamera sia accesa;\n - la fotocamera sia nella modalità corretta;\n - la fotocamera sia supportata.\n\nLe fotocamere USB sono identificate automaticamente\nquando vengono connesse; per le altre provare il comando aggiorna." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Aggiornamento dei controlli della fotocamera non riuscito" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: aggiornamento dei controlli della fotocamera non riuscito" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Attivo" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Inattivo" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Lo svuotamento della schermata non è disponibile su questo schermo" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Lo svuotamento della schermata non è implementato su questa piattaforma" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Informazioni su Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Controllo e cattura dalla fotocamera via cavo" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Interfaccia" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Visualizzatore di immagini" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Gestione del colore" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Plugin" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "Profili ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Tutti i file (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Quadrato / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - film 35mm" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Widescreen" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Widescreen" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Widescreen" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Widescreen" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Planned HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - film 70mm" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "nessuno" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Righe centrali" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Regola dei terzi" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Quarti" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Regola dei quinti" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Sezioni auree" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Percettivo" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Colorimetrico relativo" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Saturazione" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Colorimetrico assoluto" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Preferenze di Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Cattura" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Schema del nome del file:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Continua la modalità anteprima dopo la cattura" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Elimina il file dalla fotocamera dopo lo scaricamento" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Gestione del colore" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Modalità di operazione:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "Profilo RGB:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Profilo del monitor:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Scopo del rendering:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Identifica il profilo dello schermo di sistema" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Schermo con gestione del colore" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Plugin" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Interfaccia" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Connetti automaticamente la fotocamera all'avvio" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Svuota lo schermo durante la cattura delle immagini" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Visualizzatore di immagini" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Applica maschera per modificare il rapporto d'aspetto" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Rapporto d'aspetto:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Opacità maschera:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Mostra il punto di fuoco durante l'anteprima" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Griglia:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Usa anteprima contenuta nei file raw" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Sovrapponi le immagini precedenti" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Livelli di sovrapposizione:" entangle-0.5.4/po/ks.po0000664000000000000000000005324012253420651011605 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Kashmiri (http://www.transifex.com/projects/p/fedora/language/ks/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ks\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/pl.po0000664000000000000000000006722312253420651011611 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Piotr Drąg , 2012-2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 21:04+0000\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pl\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Nie można zainicjować możliwości biblioteki gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Nie można wczytać możliwości biblioteki gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Nie można zainicjować portów biblioteki gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Nie można wczytać portów biblioteki gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Nie można zainicjować aparatu" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Nie można pobrać obrazu, kiedy nie jest połączone" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Nie można pobrać obrazu: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Nie można wyświetlić podglądu obrazu, kiedy nie jest połączone" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Nie można pobrać podglądu: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Nie można pobrać danych pliku: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Nie można pobrać nazwy pliku: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Nie można pobrać pliku, kiedy nie jest połączone" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Nie można pobrać pliku aparatu: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Nie można usunąć pliku, kiedy nie jest połączone" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Nie można usunąć pliku: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Nie można czekać na zdarzenia, kiedy nie jest połączone" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Nie można czekać na zdarzenia: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Nie można pobrać typu widżetu" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Nie można pobrać nazwy widżetu" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Nie można wczytać kontroli, aparat nie jest podłączony" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Nie można pobrać konfiguracji kontroli aparatu" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Nie można zapisać kontroli, aparat nie jest podłączony" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Nie można wczytać kontroli, aparat nie jest konfigurowalny" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Nie można zapisać konfiguracji kontroli aparatu: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Kontrole nie są dostępne, kiedy aparat jest rozłączony" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Kontrole nie są dostępne dla tego aparatu" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Kontrola widoku wyszukiwania nie jest dostępna dla tego aparatu" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Kontrola widoku wyszukiwania nie jest widżetem przełączania" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Ustawienie stanu widoku wyszukiwania się nie powiodło: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Ustawienie stanu ręcznej ostrości się nie powiodło: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Kontrola automatycznej ostrości nie jest dostępna dla tego aparatu" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "Kontrola automatycznej ostrości nie jest widżetem przełączania" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Ustawienie stanu automatycznej ostrości się nie powiodło: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Kontrola ręcznej ostrości nie jest dostępna dla tego aparatu" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Kontrola ręcznej ostrości nie jest widżetem przełączania" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Nie można wczytać pliku określenia interfejsu użytkownika: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Nieznane informacje" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "Informacje o aparacie %s - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Informacje o aparacie - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etykieta" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Ten aparat nie obsługuje pobierania obrazów" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Ten aparat nie obsługuje podglądu obrazów" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Działanie: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: działanie się nie powiodło" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Kontrole wczytania aparatu się nie powiodły" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: kontrole wczytania aparatu się nie powiodły" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Monitor" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Usuń" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Pobierz" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Pobierz" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Podgląd" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Menedżer aparatów - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Nie można połączyć się z aparatem: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Proszę sprawdzić, czy aparat nie jest:\n\n - otwarty przez inną aplikację do obsługi zdjęć\n - zamontowany jako system plików na pulpicie\n - w trybie uśpienia, aby oszczędzić zasilanie\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Anuluj" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Ponów" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Aparat jest używany" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Nie można otworzyć aparatu, ponieważ jest obecnie zamontowany jako system plików. Odmontować go teraz?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Nie" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Tak" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Połączenie aparatu się nie powiodło" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: połączenie aparatu się nie powiodło" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "Menedżer aparatu %s - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Wybierz katalog" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Automatyczna ostrość się nie powiodła" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: automatyczna ostrość aparatu się nie powiodła" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Ręczna ostrość się nie powiodła" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: ręczna ostrość aparatu się nie powiodła" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Wybierz program..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Plik" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Wybierz sesję" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Podłącz aparat" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Edycja" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Widok" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Ustawienia" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Pełny ekran" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Prezentacja" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Wyświetla w" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Okna" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nowe okno" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Zsynchronizuj pobieranie" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "Pomo_c" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Aparat" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Sterownik" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Ręcznie" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Obsługiwane aparaty" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Wyświetla pełną listę ustawień aparatu" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Pobiera obraz" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Ciągły podgląd pobierania" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Próba anulowania obecnie\nwykonywanego działania aparatu" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Zmniejsza wyświetlanie obrazu\no jedną wartość" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Oddal" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Zwiększa wyświetlanie obrazu\no jedną wartość" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Przybliż" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Automatycznie zmienia rozmiar obrazu,\naby pasował do okna" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Najlepsze dopasowanie" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Wyświetla obraz w jego\nnatywnym rozmiarze" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Zwykły" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Przełącza na tryb pełnoekranowy" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Pełny ekran" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Otwórz za pomocą" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Model" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Wybór aparatu - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Wybór aparatu do podłączenia:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Nie wykryto aparatów, proszę sprawdzić, czy\n\n - kable są podłączone\n - aparat jest włączony\n - aparat jest we właściwym trybie\n - aparat jest obsługiwanym modelem\n\nAparaty USB są automatycznie wykrywane po\npodłączeniu, inne mogą potrzebować odświeżenia" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Aktualizacja kontroli aparatu się nie powiodła" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: aktualizacja kontroli aparatu się nie powiodła" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Włączone" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Wyłączone" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Nie podłączono aparatu" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Brak dostępnych kontroli" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Wygaszanie jest niedostępne na tym ekranie" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Wygaszanie ekranu nie jest zaimplementowane na tej platformie" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "O programie Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Kontrola i pobieranie zdjęć z podłączonego aparatu" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Interfejs" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Przeglądarka obrazów" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Zarządzanie kolorami" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Wtyczki" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "Profile ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Wszystkie pliki (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - kwadratowy / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - film 35mm" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - szeroki ekran" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - szeroki ekran" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / szeroki ekran" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - szeroki ekran 35mm" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - planowane HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - film 70mm" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- kino HDTV" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 panorama APS" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Brak" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Wyśrodkowane linie" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Jedna trzecia" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Jedna czwarta" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Jedna piąta" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Złoty podział" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Percepcyjnie" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Kolorymetria względna" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Nasycenie" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Kolorymetria bezwzględna" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Preferencje programu Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Pobieranie" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Wzór nazw plików:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Kontynuowanie trybu podglądu do pobraniu" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Usuwanie plików z aparatu po pobraniu" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Zarządzanie kolorami" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Tryb działania:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "Profil RGB:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Profil monitora:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Renderowanie docelowe:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Wykrywanie systemowego profilu monitora" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Zarządzanie kolorami ekranu" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Wtyczki" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Interfejs" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Automatyczne łączenie z aparatami podczas uruchamiania" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Wygaszanie ekranu podczas pobierania obrazów" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Wyświetlanie histogramu liniowego" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Przeglądarka obrazów" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Zastosowanie maski, aby zmienić współczynnik proporcji" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Współczynnik proporcji:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Nieprzezroczystość maski:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Wyświetlanie punktu ostrości w podglądzie" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Linie siatki:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Używa osadzonego podglądu z plików RAW" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Pokrywanie wcześniejszych obrazów" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Warstwy pokrywania:" entangle-0.5.4/po/ar.po0000664000000000000000000005333212253420651011574 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Arabic \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ar\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/sq.po0000664000000000000000000005324012253420651011613 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Albanian (http://www.transifex.com/projects/p/fedora/language/sq/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sq\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/tr.po0000664000000000000000000005323612253420651011622 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Turkish (http://www.transifex.com/projects/p/fedora/language/tr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: tr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/as.po0000664000000000000000000005324012253420651011573 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Assamese (http://www.transifex.com/projects/p/fedora/language/as/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: as\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/hu.po0000664000000000000000000006736312253420651011617 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Zoltan Hoppár , 2012-2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-06-25 12:34+0000\n" "Last-Translator: Zoltan Hoppár \n" "Language-Team: Hungarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "A gphoto2 képességei nem beállíthatóak" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "A gphoto2 képességei nem betölthetőek" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "A gphoto2 portjai nem beállíthatóak" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "A gphoto2 portjai nem betölthetőek" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Kamera beállítása sikertelen" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Képrögzítés sikertelen, amíg nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Képrögzítés sikertelen: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Kép előnézete sikertelen, míg nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Előnézeti kép rögzítése sikertelen: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Fájl adatainak letöltése sikertelen: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Fájlnév elérhetetlen: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Fájl nem letölthető amíg nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "A kamera fájl elérhetetlen: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Nem törölhető amíg nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Fájl törlése sikertelen: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Műveletre várakozás nem lehetséges, amíg nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Műveletre várakozás nem lehetséges: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Widget típus letöltése sikertelen" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Widget nevének letöltése sikertelen" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Vezérlés nem betölthető, kamera nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Kamera vezérlési beállításainak letöltése sikertelen" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Vezérlés mentése nem lehetséges, kamera nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Vezérlés mentése nem lehetséges, kamera nem szabályozható" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Kamera vezérlési összeállítása nem lehetséges: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Vezérlés nem elérhető amíg a kamera nincs csatlakoztatva" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Vezérlés nem elérhető ehhez a kamerához" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Kereső vezérlés nem elérhető ezzel a kamerával" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Kereső vezérlés nem volt kapcsoló widget" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Sikertelen a kereső állapotának beállítása: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Manuális fókusz állapotának beállítása sikertelen: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Autofókusz vezérlés nem elérhető ehhez a kamerához" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "Autofókusz vezérlés nem kapcsoló widget" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Sikertelen az autofókusz kereső állapotának beállítása: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Kézi fókuszvezérlés nem elérhető ezzel a kamerával" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Kézi fókuszvezérlés nem távolsági widget" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Fehasználói kezelőfelület leíró fájl nem betölthető: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Ismeretlen információ" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s kamera információ - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Kamera Információ - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "címke" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Ez a kamera nem támogatja a képrögzítést" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Ez a kamera nem támogatja az előnézeti kép megjelenítését" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Művelet: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: Művelet sikertelen" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Kamera vezérlési betöltése sikertelen" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: Kamera vezérlési betöltése sikertelen" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Monitor" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Törlés" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Letöltés" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Képrögzítés" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Előnézet" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Kamera kezelő - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Csatlakozás a kamerához sikertelen: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Ellenőrizze, hogy a kamera:\n\n- nincs megnyitva más fotós alkalmazással ami lefoglalja\n- nincs csatlakoztatva a fájlrendszere az asztalon\n- nincs alvó módban hogy az elemeket kímélje\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Mégsem" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Újra" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Kamera használatban" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "A kamera nem megnyitható, mivel a fájlrendszerben csatlakoztatva van. Kívánja, hogy leválasszuk most?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Nem" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Igen" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Kamera csatlakozása sikertelen" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: Kamera csatlakozása sikertelen" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s Kamera kezelő - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Válasszon mappát" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Autofókuszálás sikertelen" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: Kamera autofókuszálás sikertelen" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Manuális fókuszálás sikertelen" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: Kamera manuális fókuszálás sikertelen" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Válasszon alkalmazást..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Fájl" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Válasszon folyamatot" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Kamera csatlakoztatása" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "Sz_erkesztés" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "Nézet" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Beállítások" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Totálkép" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Bemutató" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Megjelenítés ezen:" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Ablakok" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Új ablak" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Képrögzítés szinkronizálása" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "Súgó" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Kamera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Eszközkezelő" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Kézikönyv" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Támogatott kamerák" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Kamera beállítások teljes listájának megtekintése" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Egy kép rögzítése" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Sorozatkép előnézet" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Kísérlet a jelenleg végrehajtott\nkamera művelet megszakítására." #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Csökkentse a kép megjelenített területét\negy nagyságrenddel" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Távolítás" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Nagyítsa meg a kép megjelenítő területét\negy nagyságrenddel" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Közelítés" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Méretezze át a képet automatikusan\nhogy beférjen az ablak valódi keretei közé" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Legjobb illesztés" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Jelenítse meg a képet\nnatív pixel méreteivel" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normál" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Átváltás teljesképernyős megjelenítési módba" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Teljes képernyő" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Megnyitás ezzel:" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Modell" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Válasszon kamerát - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Válasszon egy kamerát a csatlakozáshoz:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Nem látszik semmilyen kamera jelenléte, ellenőrizze hogy\n\n- a kábelek csatlakoztatva vannak\n- a gép be van kapcsolva\n- a gép helyes módban fut\n- a kamera amit használni kíván a program által támogatott modell\n\nUSB kamerák automatikusan detektálásra kerülnek\namikor csatlakoztatja őket, a többi esetben próbáljon frissíteni." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Kamera vezérlés frissítése sikertelen" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: Kamera vezérlés frissítése sikertelen" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Be" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Ki" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Nincs kamera csatlakoztatva" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Nincs elérhető vezérlés" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Képernyő törlése nem lehetséges ezen a kijelzőn" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Képernyőtörlés nincs implementálva ezen a platformon" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Az alkalmazásról - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Szerzői jog (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Összekapcsolt kameravezérlés & képrögzítő" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Kezelőfelület" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Képnéző" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Színkezelés" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Bővítmények" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC profilok (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Minden fájl (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Négyszög / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Film-rögzítés változó fényerővel" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Szuper 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm mozifilm" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35 mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Szélesvásznú" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Szuper 16 mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Szélesvásznú" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Szélesvásznú" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35 mm Szélesvásznú" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope arány" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - sík HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70 mm mozifilm" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5) - Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9) - CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9) - Szuper 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panoráma" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Nincs" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Középvonalak" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "3 osztású szabály" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Negyedek" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "5 osztású szabály" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Arany szekciók" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Észlelési" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Relatív szín-metrikus" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Telítettség" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Abszolút színmetrikus" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Entangle beállításai" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Képrögzítés" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Fáljnév minta:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Előnézeti módban marad képrögzítés után is" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Fájl törlése a kameráról a letöltés után" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Színkezelés" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Működési mód:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB profil:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Monitor profil:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Leképezési mód:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Érzékelje a rendszer monitor profilját" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Színre beállított kijelző" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Bővítmények" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Kezelőfelület" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Automatikusan csatlakoztassa a kamerákat induláskor" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Törölje a képet ha képet rögzít, fotóz" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Lineáris hisztogram megjelenítése" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Képnéző" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Maszk alkalmazása a képarányok módosításához" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Képarány" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Maszk átlászósága" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Fókuszpont megjelenítése az előnézet alatt" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Hálóvonalak:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Beépített előnézet használata raw fájlokból" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Korábbi képek átfedése" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Átfedési rétegek:" entangle-0.5.4/po/ko.po0000664000000000000000000005322712253420651011606 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Korean (http://www.transifex.com/projects/p/fedora/language/ko/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ko\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ja.po0000664000000000000000000007243012253420651011564 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Tomoyuki KATO , 2012-2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-06-10 07:11+0000\n" "Last-Translator: Tomoyuki KATO \n" "Language-Team: Japanese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ja\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "gphoto2 機能を初期化できません" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "gphoto2 機能を読み込めません" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "gphoto2 ポートを初期化できません" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "gphoto2 ポートを読み込めません" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "カメラを初期化できません" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "接続していない間は画像をキャプチャーできません" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "画像をキャプチャーできません: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "接続していない間は画像をプレビューできません" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "プレビューをキャプチャーできません: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "ファイルのデータを取得できません: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "ファイル名を取得できません: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "接続されていないときにファイルをダウンロードできません" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "カメラのファイルを取得できません: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "接続されていないときにファイルを削除できません" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "ファイルを削除できません: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "接続されていないときにイベントを待機できません" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "イベントを待機できません: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "ウィジェットの形式を取り出せません" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "装置名を取得できません" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "制御内容を読み込めません、カメラが接続されていません" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "カメラ制御の設定を取得できません" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "制御内容を保存できません、カメラが接続されていません" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "制御内容を保存できません、カメラが設定可能ではありません" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "カメラ制御の設定を保存できません: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "カメラが切断されているときに制御は利用可能ではありません" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "このカメラに対して制御は利用できません" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Viewfinder 制御がこのカメラで利用できません" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Viewfinder 制御がトグルウィジェットではありませんでした" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "viewfinder の状態の設定に失敗しました: %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "マニュアルフォーカスの状態を設定できません: %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "オートフォーカスの制御がこのカメラで利用できません" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "オートフォーカス制御がトグルウィジェットではありませんでした" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "オートフォーカスの状態を設定できませんでした: %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "手動フォーカス制御がこのカメラで利用できません" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "手動フォーカス制御が範囲ウィジェットではありませんでした" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "ユーザーインターフェース定義ファイルを読み込めませんでした: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "未知の情報" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s カメラ情報 - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "カメラ情報 - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "ラベル" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "このカメラは画像のキャプチャーをサポートしません" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "このカメラは画像のプレビューをサポートしません" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "オペレーション: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: オペレーションに失敗しました" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "カメラが制御内容の読み込みに失敗しました" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: カメラが制御内容の読み込みに失敗しました" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "モニター" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "削除" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "ダウンロード" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "キャプチャー" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "プレビュー" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "カメラマネージャー - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "カメラに接続できません: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "カメラが以下であることを確認します\n\n - 他の写真 アプリケーション により開かれていない\n - デスクトップに ファイルシステム としてマウントされていない\n - バッテリー電源を節約するために スリープモード になっていない\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "キャンセル" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "再試行" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "カメラは使用中です" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "現在ファイルシステムとしてマウントされているので、カメラを開けませんでした。今すぐアンマウントしたいですか?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "いいえ" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "はい" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "カメラの接続に失敗しました" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: カメラの接続に失敗しました" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s カメラマネージャー - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "フォルダーの選択" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "オートフォーカスに失敗しました" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle: カメラのオートフォーカスに失敗しました" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "マニュアルフォーカスに失敗しました" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle: カメラのマニュアルフォーカスに失敗しました" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "アプリケーションの選択..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "ファイル(_F)" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "セッションの選択" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "カメラに接続する" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "編集(_E)" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "表示(_V)" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "設定" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "フルスクリーン" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "プレゼンテーション" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "次のところに存在する" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Windows" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "新しいウィンドウ" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "同期キャプチャー" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "ヘルプ(_H)" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "カメラ" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "ドライバー" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "マニュアル" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "サポートされるカメラ" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "カメラ設定の完全な一覧を表示する" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "画像をキャプチャーする" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "連続的なキャプチャーのプレビュー" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "現在実行しているカメラ操作を\n取り消そうとしています。" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "ある要素により画像の表示を縮小する" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "ズームアウト" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "ある要素により画像の表示を拡大する" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "ズームイン" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "利用可能なウィンドウの実サイズに合うよう\n画像の大きさを自動的に変更します。" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "最適" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "元の画素数で画像を表示する" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "ノーマル" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "フルスクリーンのディスプレイモードに切り替える" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "フルスクリーン" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "開く" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "型名" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "ポート" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "カメラの選択 - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "接続するカメラを選択します:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "カメラを検知できません。以下を確認してください\n\n - ケーブル が接続されている\n - カメラの 電源が入っている\n - カメラが 接続モード になっている\n - カメラが サポートされている 型である\n\nUSB カメラは、接続されたときに自動的に検知されます\n他のものは更新を試してください" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "カメラの制御内容の更新に失敗しました" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: カメラの制御内容の更新に失敗しました" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "オン" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "オフ" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "カメラが接続されていません" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "制御できるデバイスがありません" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "このディスプレイにおいて画面を空白にすることはできません。" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "このディスプレイにおいて画面を空白にする機能が実装されていません。" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Entangle について" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "接続されたカメラの制御とキャプチャー" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "インターフェース" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "イメージビューアー" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "カラー管理" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "プラグイン" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC プロファイル (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "すべてのファイル (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - 正方形 / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - ムービートーン" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - スーパー 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm ムービー" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - ワイドスクリーン" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - スーパー 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - ワイドスクリーン" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / ワイドスクリーン" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm ワイドスクリーン" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - スーパースコープ" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Planned HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm ムービー" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - シネマスコープ" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV シネマ" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- パナビジョン" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- スーパー 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - ウルトラパナビジョン" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM カメラ 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS パノラマ" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "なし" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "センターライン" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "三分割法" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "クォーター" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "五分割法" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "ゴールデンセクション" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "知覚的" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "相対的カラーメトリック" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "彩度" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "絶対的カラーメトリック" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Entangle 設定" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "キャプチャー" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "ファイル名のパターン:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "キャプチャー後にプレビューモードを続けます" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "ダウンロード後にカメラからファイルを削除します" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "カラー管理" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "操作のモード:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB プロファイル:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "モニタープロファイル:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "描画の計画:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "システムモニタープロファイルを検知します" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "カラー管理されたディスプレイ" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "プラグイン" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "インターフェース" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "起動するとき自動的にカメラに接続する" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "イメージのキャプチャー中に画面を写さない。" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "リニアヒストグラムの表示" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "イメージビューアー" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "アスペクト比を変更するにはマスクを適用します" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "アスペクト比:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "不透明度マスク:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "プレビュー中に焦点を表示する" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "グリッド行:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "元ファイルから埋め込みプレビューを使用する" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "これまでのイメージを重ね合わせる" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "重ね合わせ層:" entangle-0.5.4/po/bo.po0000664000000000000000000005320112253420651011565 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Tibetan \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bo\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/pt_BR.po0000664000000000000000000005323112253420651012176 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Portuguese (Brazil) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt_BR\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/zh_TW.po0000664000000000000000000005427212253420651012231 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Walter Cheuk , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Chinese (Taiwan) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: zh_TW\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "不詳資訊" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s 相機資訊 - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "相機資訊 - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "標籤" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "擷取" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "預覽" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "取消" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "連接相機" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "檢視(_V)" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "設定" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "全螢幕" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "相機" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "驅動程式" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "手動" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "支援的相機" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "檢視相機完整設定" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "擷取影像" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "持續擷取預覽" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "嘗試取消當前相機執行作業" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "將影像縮小一級" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "縮小" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "將影像放大一級" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "放大" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "以原生像素大小顯示影像" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "正常" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "切換為全螢幕模式" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "全螢幕" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "選擇相機 - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "選擇要連接相機:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "關於 - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "色彩管理" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "擷取" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "擷取後繼續擷取模式" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "色彩管理" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ka.po0000664000000000000000000005323112253420651011563 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Georgian (http://www.transifex.com/projects/p/fedora/language/ka/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ka\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/de.po0000664000000000000000000006601512253420651011564 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Fabian Affolter , 2012 # Mario Blättermann , 2012 # Roman Spirgi , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: de\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Fähigkeiten von gphoto 2 können nicht initialisiert werden" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Fähigkeiten von gphoto 2 können nicht geladen werden" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Ports von gphoto 2 können nicht initialisiert werden" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Ports von gphoto 2 können nicht geladen werden" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Kamera kann nicht initialisiert werden" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Bildaufnahme ist ohne Verbindung nicht möglich" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Bild kann nicht aufgenommen werden: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Bildvorschau ist ohne Verbindung nicht möglich" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Aufnahmevorschau kann nicht angezeigt werden: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Daten können nicht geholt werden: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Dateiname kann nicht geholt werden: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Herunterladen von Dateien ist ohne Verbindung nicht möglich" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Kameradatei kann nicht geholt werden: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Löschen von Dateien ist ohne Verbindung nicht möglich" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Datei kann nicht gelöscht werden: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Warten auf Ereignisse ist ohne Verbindung nicht möglich" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Auf Ereignisse kann nicht gewartet werden: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Widget-Typ kann nicht ermittelt werden" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Widget-Name kann nicht ermittelt werden" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "steruerung kann nicht geladen werden, Kamera ist nicht verbunden" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Konfiguration der Kameraeinstellungen kann nicht ermittelt werden" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Steuerung kann nicht gespeichert werden, Kamera ist nicht verbunden" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Steuerung kann nicht gespeichert werden, Kamera ist nicht konfigurierbar" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Die Konfiguration der Kamerasteuerung konnte nicht gespeichert werden: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Steuerung ist nicht möglich, wenn die Kamera nicht angeschlossen ist" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Steuerung ist für diese Kamera nicht verfügbar" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Definitionsdatei der Benutzeroberfläche konnte nicht geladen werden: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Unbekannte Information" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "Info zur Kamera %s - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Info zur Kamera - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "Bezeichnung" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Die Kamera unterstützt keine Bildaufnahmen" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Die Kamera unterstützt keine Bildvorschauen" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Vorgang: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: Vorgang fehlgeschlagen" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Laden der Kamerasteuerung ist fehlgeschlagen" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: Laden der Kamerasteuerung ist fehlgeschlagen" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Bildschirm" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Löschen" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Download" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Aufnahme" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Vorschau" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Kameraverwaltung - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Verbindung zur Kamera fehlgeschlagen: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Stellen Sie sicher, dass die Kamera nicht\n\n - von einer anderen Fotoanwendung geöffnet ist\n - als Dateisystem eingehängt ist\n - im Ruhezustand ist, um Energie zu sparen\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Abbrechen" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Wiederholen" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Kamera ist bereits in Benutzung" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Die Kamera kann nicht geöffnet werden, da sie derzeit als Dateisystem eingehängt ist. Wollen Sie sie jetzt aushängen?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Nein" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Ja" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Verbindung zur Kamera ist fehlgeschlagen" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: Verbindung zur Kamera fehlgeschlagen" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "%s Kameraverwaltung - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Einen Ordner auswählen" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Anwendung auswählen …" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Datei" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Sitzung auswählen" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Kamera verbinden" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Bearbeiten" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Ansicht" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Einstellungen" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Vollbild" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Präsentation" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Präsentieren" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Fenster" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Neues Fenster" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Aufnahme synchronisieren" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Hilfe" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Kamera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Treiber" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Handbuch" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Unterstützte Kameras" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Vollständige Liste der Kameraeinstellungen anzeigen" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Ein Bild aufnehmen" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Fortlaufende Aufnahmevorschau" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Es wird versucht, den aktuell\nausgeführten Vorgang abzubrechen" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Die Bildanzeige um einen\nFaktor verkleinern" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Verkleinern" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Die Bildanzeige um einen\nFaktor vergrößern" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Vergrößern" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Das Bild automatisch anpassen, so\ndass es in das Fenster passt " #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Einpassen" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Das Bild in seiner natürlichen\nPixelgröße anzeigen" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "In den Vollbildmodus wechseln" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Vollbild" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Öffnen mit" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Modell" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Kamera wählen - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Wählen Sie eine zu verbindende Kamera" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Es wurden keine Kameras erkannt.\nÜberprüfen Sie, ob\n\n - die Kabel angeschlossen sind\n - die Kamera eingeschaltet ist\n - sich die Kamera im richtigen Modus befindet\n - das Kameramodell unterstützt wird\n\nUSB-Kameras werden automatisch beim Anschließen\nerkannt, andere sind nach einer Aktualisierung verfügbar" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Aktualisierung der Kamerasteuerung fehlgeschlagen" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: Aktualisierung der Kamerasteuerung fehlgeschlagen" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "An" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Aus" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "Leeren des Bildschirms ist für diese Anzeige nicht möglich" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "Leeren des Bildschirms ist für diese Plattform nicht implementiert" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Info - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Steuerung und Aufnahme mit angeschlossenen Kameras" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Schnittstelle" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Bildbetrachter" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Farbverwaltung" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Plugins" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC-Profile (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Alle Dateien (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Quadratisch / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm-Film" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Breitbild" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Breitbild" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Breitbild" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Breitbild" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Geplant HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm-Film" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Keine" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Mittellinien" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Drittelregel" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Viertel" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Fünftelregel" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Goldener Schnitt" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Wahrnehmung" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Relativ kolorimetrisch" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Sättigung" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Absolut kolorimetrisch" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Entangle-Einstellungen" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Aufnahme" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Dateinamensmuster:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Vorschaumodus nach der Aufnahme fortsetzen" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Datei in der Kamera nach dem Herunterladen löschen" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Farbverwaltung" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Operationsmodus:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB-Profil:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Bildschirmprofil:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Darstellungsziel:" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Bildschirmprofil des Systems erkennen" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Farbkorrigierte Darstellung" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Plugins" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Schnittstelle" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Kamera automatisch beim Start verbinden" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Bildschirm während der Aufnahme von Bildern leeren" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Image Bildbetrachter" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Maske anwenden, um das Seitenverhältnis zu ändern" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Seitenverhältnis:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Deckkraft der Maske:" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Fokuspunkt während der Vorschau anzeigen" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Gitterlinien:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "In RAW-Dateien eingebettete Vorschau verwenden" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Ältere Bilder überdecken" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Ebenen überdecken:" entangle-0.5.4/po/hi.po0000664000000000000000000005321212253420651011567 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Hindi \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: hi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/bg.po0000664000000000000000000007256212253420651011570 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Valentin Laskov , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Bulgarian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bg\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Не мога да инициализирам способностите на gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Не мога да заредя способностите на gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Не мога да инициализирам портовете на gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Не мога да заредя портовете на gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Не мога да инициализирам камерата" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Не мога да правя снимка докато не съм свързан" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Невъзможно е правенето на снимки: %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Не мога да покажа предв. преглед докато не съм свързан" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Невъзможен предварителен преглед: %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Невъзможно вземането данните на файла: %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Невъзможно вземането името на файла: %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Не мога да сваля файл докато не съм свързан" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Невъзможно да взема файла на камерата: %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Не мога да изтрия файл докато не съм свързан" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Невъзможно изтриване на файла: %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Не мога да очаквам събития докато не съм свързан" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Невъзможно очакването на събития: %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Невъзможно да се извлече типа на джаджата" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Невъзможно да се извлече името на джаджата" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Не мога да заредя управлението, камерата не е свързана" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Не мога да извлека конфигурацията за управление на камерата" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Невъзможно да запиша управлението, камерата не е свързана" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Невъзможно да запиша управлението, камерата не може да се конфигурира" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Невъзможно да запиша конфигурацията за управлението на камерата: %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Управлението не е налично, докато камерата е изключена" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Управление не е налично за тази камера" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Не мога да заредя файла с дефиниции на потребителския интерфейс: %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Непозната информация" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s инфо за камерата - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Инфо за камерата - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "етикет" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Камерата не поддържа снимане на изображения" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Тази камера не поддържа предв. преглед на изображения" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Действие: %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle: Действието не успя" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Зареждането на управлението на камерата не успя" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle: Зареждането на управлението на камерата не успя" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Монитор" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Изтрий" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Сваляне" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Снимане" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Преглед" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Управление на камерата - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Не мога да се свържа към камерата: %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Проверете дали камерата не е\n\n - отворена от друго фото приложение\n - монтирана като файлова система на десктопа\n - в спящ режим за пестене на енергия\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Отказ" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Опит отново" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "Камерата се ползва" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "Не мога да отворя камерата, понеже в момента е монтирана като файлова система. Искате ли да я демонтирам сега?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Не" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Да" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Свързването към камера не успя" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle: Свързването към камера не успя" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "Управление на камера %s - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Изберете папка" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Изберете приложение..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Файл" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Изберете сесия" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Свържете камера" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Редактиране" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Изглед" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Настройки" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Цял екран" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Представяне" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Прозорци" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Нов прозорец" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Помощ" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Камера" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Драйвер" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Ръководство" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Поддържани камери" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Преглед на всички настройки на камерата" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Създава снимка" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Постоянно наблюдение" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Опит за спиране на текущо\nизпълняваната от камерата операция" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Смалява показването на образа\nс една стъпка" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Уголемяване" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Уголемява показването на образа\nс една стъпка" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Смаляване" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Автоматично преоразмеряване на образа\nспоред достъпното пространство в прозореца" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Най-добро вместване" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Показва образа в неговия\nоригинален размер в пиксели" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Нормален" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Превключва изображението на цял екран" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Цял екран" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Отваряне с" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Модел" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Порт" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Избор на камера - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Избор на камера за използване:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Няма открити камери, проверете дали\n\n - кабелите са свързани\n - камерата е включена\n - камерата е в необходимия режим\n - моделът на камерата се поддържа\n\nUSB камерите се откриват автоматично в момента\nна включване. За останалите, пробвайте обновяване." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "Обновяването на управлението на камерата не успя" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle: Обновяването на управлението на камерата не успя" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Вкл." #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Изкл." #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Относно - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange\nПревод на български:\nВалентин Ласков" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Свързани контрол на камерата и снимане" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Интерфейс" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Управление на цветовете" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Плъгини" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC профили (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Всички файлове (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Квадрат / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm филм" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Широк екран" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Широк екран" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Широк екран" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Широк екран" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Planned HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm филм" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinema" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Нищо" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Златно сечение" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Насищане" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Предпочитания за Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Снимане" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Шаблон за име на файл:" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Продължаващ след снимането режим на преглед" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "След свалянето, изтрива файла в камерата" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Управление на цветовете" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Начин на работа:" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "RGB профил:" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Профил на монитора:" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Откриване профила на системния монитор" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Плъгини" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Интерфейс" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Автоматично свързване на камери при стартиране" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Празен екран при заснемане на изображение" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Прилагане на маска за промяна на съотношението" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Съотношение:" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Показва точката на фокус в предв. преглед" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Мрежа от линии:" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Ползвай вградения предв. преглед от raw файлове" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/si.po0000664000000000000000000005323712253420651011611 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Sinhala (http://www.transifex.com/projects/p/fedora/language/si/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: si\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/fa.po0000664000000000000000000005323012253420651011555 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Persian (http://www.transifex.com/projects/p/fedora/language/fa/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fa\n" "Plural-Forms: nplurals=1; plural=0;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/ml.po0000664000000000000000000005320212253420651011576 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Malayalam \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: ml\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/POTFILES.in0000664000000000000000000000135412253420651012404 00000000000000src/backend/entangle-camera-list.c src/backend/entangle-camera.c src/frontend/entangle-camera-info.c [type: gettext/glade] src/frontend/entangle-camera-info.ui src/frontend/entangle-camera-manager.c [type: gettext/glade] src/frontend/entangle-camera-manager.ui src/frontend/entangle-camera-picker.c [type: gettext/glade] src/frontend/entangle-camera-picker.ui [type: gettext/glade] src/frontend/entangle-camera-support.ui src/frontend/entangle-control-panel.c src/frontend/entangle-dpms.c [type: gettext/glade] src/frontend/entangle-help-about.ui [type: gettext/glade] src/frontend/entangle-image-popup.ui src/frontend/entangle-preferences-display.c [type: gettext/glade] src/frontend/entangle-preferences-display.ui src/frontend/entangle-window.c entangle-0.5.4/po/da.po0000664000000000000000000005317512253420651011563 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Danish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: da\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/te.po0000664000000000000000000005323612253420651011605 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Telugu (http://www.transifex.com/projects/p/fedora/language/te/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: te\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/sk.po0000664000000000000000000005327112253420651011611 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Slovak (http://www.transifex.com/projects/p/fedora/language/sk/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: sk\n" "Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/gl.po0000664000000000000000000005324012253420651011572 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Galician (http://www.transifex.com/projects/p/fedora/language/gl/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: gl\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/is.po0000664000000000000000000005324112253420651011604 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Icelandic (http://www.transifex.com/projects/p/fedora/language/is/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: is\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/bn.po0000664000000000000000000005317112253420651011572 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Bengali \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: bn\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/pt.po0000664000000000000000000005321312253420651011613 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Portuguese \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: pt\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/br.po0000664000000000000000000005323512253420651011577 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Breton (http://www.transifex.com/projects/p/fedora/language/br/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: br\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/fr.po0000664000000000000000000007021212253420651011575 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Damien Gourbiere , 2012 # Jérôme Fenal , 2012-2013 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-05-03 15:50+0000\n" "Last-Translator: Jérôme Fenal \n" "Language-Team: French \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: fr\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "Impossible d'initialiser les fonctionnalités de gphoto2" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "Impossible de charger les fonctionnalités de gphoto2" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "Impossible d'initialiser les ports de gphoto2" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "Impossible de charger les ports de gphoto2" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "Impossible d'initialiser l'appareil" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "Impossible de capture une image sans connexion à l'appareil" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "Impossible de capture une image : %s" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "Impossible de prévisualiser une image sans connexion à l'appareil" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "Impossible de capturer une prévisualisation : %s" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "Impossible d'obtenir les données du fichier : %s" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "Impossible d'obtenir le nom du fichier : %s" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "Impossible de télécharger une image sans connexion à l'appareil" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "Impossible d'obtenir le fichier de l'appareil : %s" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "Impossible de supprimer un fichier sans connexion à l'appareil" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "Impossible de supprimer un fichier : %s" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "Impossible d'attendre des événements sans connexion à l'appareil" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "Impossible d'attendre des événements : %s" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "Impossible d'obtenir le type de widget" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "Impossible d'obtenir le nom du widget" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "Impossible de charger les contrôles, l'appareil n'est pas connecté" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "Impossible de charger la configuration des contrôles de l'appareil" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "Impossible d'enregistrer les contrôles, l'appareil n'est pas connecté" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "Impossible d'enregistrer les contrôles, l'appareil n'est pas configurable" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "Impossible d'enregistrer la configuration des contrôles de l'appareil : %s %d" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "Les contrôles ne sont pas disponibles lorsque l'appareil est déconnecté" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "Aucun contrôle disponible pour cet appareil" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "Le contrôle du viseur n'est pas disponible pour cet appareil" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "Le contrôle du viseur n'est pas un widget à bascule" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "Impossible de définir l'état du viseur : %s %d" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "Impossible de définir l'état manuel de la focale : %s %d" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "Le contrôle de l'autofocus n'est pas disponible pour cet appareil" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "Le contrôle de l'autofocus n'est pas un widget à bascule" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "Impossible de définir l'état de l'autofocus : %s %d" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "Le contrôle de la focale n'est pas disponible pour cet appareil" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "Le contrôle manuel de la focale n'est pas un widget à intervalle" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "Impossible de charger le fichier de définition d'interface graphique : %s" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Information inconnue" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "Informations sur l'appareil %s - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Informations sur l'appareil - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "étiquette" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "Cet appareil ne prend pas en charge la capture d'image" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "Cet appareil ne prend pas en charge la prévisualisation d'image" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "Opération : %s" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "Entangle : échec de l'opération" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "Le chargement des contrôles de l'appareil a échoué" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "Entangle : Le chargement des contrôles de l'appareil a échoué" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "Moniteur" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Supprimer" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Télécharger" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "Capturer" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Prévisualiser" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "Gestionnaire d'appareil photo - Entangle" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "Impossible de se connecter à l'appareil : %s" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "Vérifier que l'appareil photo n'est pas :\n\n - utilisé par une autre application photo,\n - monté en tant que système de fichier sur le bureau,\n - en mode veille afin d'économiser la batterie.\n" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Annuler" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Réessayer" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "L'appareil est déjà utilisé" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "L'appareil photo ne peut être utilisé car il est actuellement monté en tant que système de fichier. Souhaitez-vous le démonter maintenant ?" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Non" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Oui" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "Échec de la connexion à l'appareil" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "Entangle : échec de la connexion à l'appareil" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "Gestionnaire d'appareil photo %s - Entangle" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "Sélectionner un dossier" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "Échec de l'autofocus" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "Entangle : échec de l'autofocus de l'appareil" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "Échec du changement manuel de focale" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "Entangle : Échec du changement manuel de focale de l'appareil" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "Sélectionner une application..." #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "Entangle" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Fichier" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "Sélectionner une session" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Connecter l'appareil" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "Modifi_er" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Visualiser" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Paramètres" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Plein écran" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Présentation" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "Présent sur" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "Fenêtres" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "Nouvelle fenêtre" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "Synchroniser les captures" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "Aide" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Appareil" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "Pilote" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "Manuel" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Appareils pris en charge" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Afficher la liste des paramètres de l'appareil" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "Capturer une image" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "Prévisualisation de la capture continue" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "Tentative d'annulation de l'opération\nen cours sur l'appareil" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "Réduire l'affichage de l'image\nd'un facteur un" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "Dézoomer" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "Agrandir l'affichage de l'image\nd'un facteur un" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "Zoomer" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "Redimensionner automatique l'image\npour s'ajuster à l'espace fenêtre disponible" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "Ajuster" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "Afficher l'image avec la\ntaille native des pixels" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normal" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Passer au mode plein écran" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Plein écran" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "Ouvrir avec" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "Modèle" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Port" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Sélectionner l'appareil - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Sélectionner l'appareil auquel se connecter :" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "Aucun appareil détecté, vérifier que\n\n - les câbles sont branchés,\n - l'appareil est allumé\n - l'appareil est dans le bon mode\n - l'appareil est un modèle pris en charge\n\nLes appareils photos USB sont automatiquement\ndétectés à la connexion, pour les autres, tenter\nun rafraîchissement." #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "La mise à jour des contrôles de l'appareil a échoué" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "Entangle : la mise à jour des contrôles de l'appareil a échoué" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "Allumé" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "Éteint" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "Aucun appareil connecté" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "Aucun contrôle disponible" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "L'extinction de l'affichage n'est pas disponible sur cet écran" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "L'extinction de l'affichage n'est pas disponible sur cette plate-forme" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "À propos - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "Contrôle d'appareil photo et capture asservis" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "Interface" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "Afficheur d'images" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Gestion de la couleur" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Greffons" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "Profils ICC (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Tous les fichiers (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "1:1 - Carré / MF 6x6" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "1.15:1 - Movietone" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "1.37:1 - 35mm cinéma" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "1.44:1 - IMAX" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "1.50:1 (3:2, 15:10)- 35mm SLR" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "1.6:1 (8:5, 16:10) - Écran large" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "1.66:1 (5:3, 15:9) - Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "1.75:1 (7:4) - Écran large" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "1.77:1 (16:9) - APS-H / HDTV / Écran large" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "1.85:1 - 35mm Écran large" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "2.00:1 - SuperScope" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "2.10:1 (21:10) - Future HDTV" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "2.20:1 (11:5, 22:10) - 70mm cinéma" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "2.35:1 - CinemaScope" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "2.37:1 (64:27)- HDTV cinéma" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "2.39:1 (12:5)- Panavision" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "2.55:1 (23:9)- CinemaScope 55" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "2.59:1 (13:5)- Cinerama" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "2.66:1 (8:3, 24:9)- Super 16mm" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "2.76:1 (11:4) - Ultra Panavision" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "2.93:1 - MGM Camera 65" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "3:1 APS Panorama" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "4.00:1 - Polyvision" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "12.00:1 - Circle-Vision 360" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "Aucun" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "Centrage des lignes" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "Règle des tiers" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "Quarts" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "Règles des 5emes" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "Sections dorées" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "Perceptif" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "Colorimétrie relative" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Saturation" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "Colorimétrie absolue" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "Préférences de Entangle" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "Capturer" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "Motif de nom de fichier :" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "Continuer le mode prévisualisation après capture" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "Supprimer le fichier après téléchargement" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Gestion de la couleur" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "Mode d'opération" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "Profil RVB :" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "Profil du moniteur :" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "Intention de rendu :" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "Détecter le profil du moniteur système" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "Affichage aux couleurs administrées" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Greffons" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "Interface" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "Se connecter automatiquement aux appareils au démarrage" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "Effacer l'écran lors de la capture des images" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "Afficher l'histogramme linéaire" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "Afficheur d'images" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "Appliquer le masque pour modifier le ratio" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "Rapport d'aspect :" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "Opacité du masque :" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "Afficher le point de focalisation pendant la prévisualisation" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "Quadrillage :" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "Utiliser les vignettes de prévisualisation des fichiers raw" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "Ajouter une surcouche à des images précédentes" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "Surcouches :" entangle-0.5.4/po/eu.po0000664000000000000000000005444112253420651011605 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: # Asier Iturralde Sarasola , 2012 msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Basque (http://www.transifex.com/projects/p/fedora/language/eu/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: eu\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "Informazio ezezaguna" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "%s Kameraren informazioa - Entangle" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "Kameraren informazioa - Entangle" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "etiketa" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "Ezabatu" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "Deskargatu" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "Aurrebista" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "Utzi" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "Saiatu berriz" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "Ez" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "Bai" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "_Fitxategia" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "Konektatu kamera" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "_Editatu" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "_Ikusi" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "Ezarpenak" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "Pantaila osoa" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "Aurkezpena" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "_Laguntza" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "Kamera" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "Onartutako kamerak" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "Ikusi kameren ezarpenen zerrenda osoa" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "Normala" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "Aldatu pantaila osoko modura" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "Pantaila osoa" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "Ataka" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "Hautatu kamera - Entangle" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "Hautatu kamera bat konektatzeko:" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "Honi buruz - Entangle" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "Copyright-a (C) 2009-2012 Daniel P. Berrange" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "Kolore kudeaketa" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "Pluginak" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "ICC profilak (*.icc, *.icm)" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "Fitxategi guztiak (*.*)" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "Asetasuna" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "Kolore kudeaketa" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "Pluginak" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/po/mai.po0000664000000000000000000005324212253420651011740 00000000000000# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # # Translators: msgid "" msgstr "" "Project-Id-Version: Entangle\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2013-08-17 18:57+0100\n" "PO-Revision-Date: 2013-04-24 18:44+0000\n" "Last-Translator: Daniel Berrange \n" "Language-Team: Maithili (http://www.transifex.com/projects/p/fedora/language/mai/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Language: mai\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../src/backend/entangle-camera-list.c:218 #: ../src/backend/entangle-camera.c:746 #, c-format msgid "Cannot initialize gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:221 #: ../src/backend/entangle-camera.c:752 #, c-format msgid "Cannot load gphoto2 abilities" msgstr "" #: ../src/backend/entangle-camera-list.c:224 #: ../src/backend/entangle-camera.c:758 #, c-format msgid "Cannot initialize gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera-list.c:227 #: ../src/backend/entangle-camera.c:764 #, c-format msgid "Cannot load gphoto2 ports" msgstr "" #: ../src/backend/entangle-camera.c:795 #, c-format msgid "Unable to initialize camera" msgstr "" #: ../src/backend/entangle-camera.c:1054 msgid "Cannot capture image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1067 #, c-format msgid "Unable to capture image: %s" msgstr "" #: ../src/backend/entangle-camera.c:1153 msgid "Cannot preview image while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1168 #, c-format msgid "Unable to capture preview: %s" msgstr "" #: ../src/backend/entangle-camera.c:1174 ../src/backend/entangle-camera.c:1303 #, c-format msgid "Unable to get file data: %s" msgstr "" #: ../src/backend/entangle-camera.c:1179 #, c-format msgid "Unable to get filename: %s" msgstr "" #: ../src/backend/entangle-camera.c:1275 msgid "Cannot download file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1297 #, c-format msgid "Unable to get camera file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1392 msgid "Cannot delete file while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1409 #, c-format msgid "Unable to delete file: %s" msgstr "" #: ../src/backend/entangle-camera.c:1491 msgid "Cannot wait for events while not connected" msgstr "" #: ../src/backend/entangle-camera.c:1517 #, c-format msgid "Unable to wait for events: %s" msgstr "" #: ../src/backend/entangle-camera.c:1690 ../src/backend/entangle-camera.c:1852 #: ../src/backend/entangle-camera.c:1961 ../src/backend/entangle-camera.c:2311 #: ../src/backend/entangle-camera.c:2449 ../src/backend/entangle-camera.c:2575 #, c-format msgid "Unable to fetch widget type" msgstr "" #: ../src/backend/entangle-camera.c:1696 ../src/backend/entangle-camera.c:1858 #: ../src/backend/entangle-camera.c:1967 #, c-format msgid "Unable to fetch widget name" msgstr "" #: ../src/backend/entangle-camera.c:2063 #, c-format msgid "Unable to load controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2071 #, c-format msgid "Unable to fetch camera control configuration" msgstr "" #: ../src/backend/entangle-camera.c:2158 #, c-format msgid "Unable to save controls, camera is not connected" msgstr "" #: ../src/backend/entangle-camera.c:2164 #, c-format msgid "Unable to save controls, camera is not configurable" msgstr "" #: ../src/backend/entangle-camera.c:2175 ../src/backend/entangle-camera.c:2339 #: ../src/backend/entangle-camera.c:2477 ../src/backend/entangle-camera.c:2603 #, c-format msgid "Unable to save camera control configuration: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2250 ../src/backend/entangle-camera.c:2287 #: ../src/backend/entangle-camera.c:2428 ../src/backend/entangle-camera.c:2554 #, c-format msgid "Controls not available when camera is disconnected" msgstr "" #: ../src/backend/entangle-camera.c:2256 ../src/backend/entangle-camera.c:2293 #: ../src/backend/entangle-camera.c:2434 ../src/backend/entangle-camera.c:2560 #, c-format msgid "Controls not available for this camera" msgstr "" #: ../src/backend/entangle-camera.c:2304 #, c-format msgid "Viewfinder control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2317 #, c-format msgid "Viewfinder control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2324 #, c-format msgid "Failed to set viewfinder state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2330 ../src/backend/entangle-camera.c:2468 #: ../src/backend/entangle-camera.c:2588 ../src/backend/entangle-camera.c:2594 #, c-format msgid "Failed to set manual focus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2442 #, c-format msgid "Autofocus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2455 #, c-format msgid "Autofocus control was not a toggle widget" msgstr "" #: ../src/backend/entangle-camera.c:2462 #, c-format msgid "Failed to set autofocus state: %s %d" msgstr "" #: ../src/backend/entangle-camera.c:2568 #, c-format msgid "Manual focus control not available with this camera" msgstr "" #: ../src/backend/entangle-camera.c:2581 #, c-format msgid "Manual focus control was not a range widget" msgstr "" #: ../src/frontend/entangle-camera-info.c:236 #: ../src/frontend/entangle-camera-manager.c:3023 #: ../src/frontend/entangle-camera-picker.c:521 #: ../src/frontend/entangle-camera-support.c:192 #: ../src/frontend/entangle-help-about.c:114 #: ../src/frontend/entangle-image-popup.c:242 #: ../src/frontend/entangle-preferences-display.c:888 #, c-format msgid "Could not load user interface definition file: %s" msgstr "" #: ../src/frontend/entangle-camera-info.c:299 msgid "Unknown information" msgstr "" #: ../src/frontend/entangle-camera-info.c:346 #, c-format msgid "%s Camera Info - Entangle" msgstr "" #: ../src/frontend/entangle-camera-info.c:349 msgid "Camera Info - Entangle" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-info.xml.h:1 #: ../src/frontend/entangle-camera-support.xml.h:1 msgid "label" msgstr "" #: ../src/frontend/entangle-camera-manager.c:537 msgid "This camera does not support image capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:542 msgid "This camera does not support image preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:683 #, c-format msgid "Operation: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:685 msgid "Entangle: Operation failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:716 #: ../src/frontend/entangle-camera-manager.c:1290 msgid "Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:718 #: ../src/frontend/entangle-camera-manager.c:1292 msgid "Entangle: Camera load controls failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:756 msgid "Monitor" msgstr "" #: ../src/frontend/entangle-camera-manager.c:908 #: ../src/frontend/entangle-camera-manager.c:2720 msgid "Delete" msgstr "" #: ../src/frontend/entangle-camera-manager.c:928 msgid "Download" msgstr "" #: ../src/frontend/entangle-camera-manager.c:959 #: ../src/frontend/entangle-camera-manager.c:997 #: ../src/frontend/entangle-camera-manager.c:1025 #: ../src/frontend/entangle-camera-manager.xml.h:22 #: ../src/frontend/entangle-camera-picker.c:533 #: ../src/frontend/entangle-preferences-display.c:975 #: ../src/frontend/entangle-preferences-display.c:981 #: ../src/frontend/entangle-preferences.xml.h:10 msgid "Capture" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1060 #: ../src/frontend/entangle-camera-manager.xml.h:24 msgid "Preview" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1245 msgid "Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1332 #: ../src/frontend/entangle-camera-manager.c:2575 #, c-format msgid "Unable to connect to camera: %s" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1337 #: ../src/frontend/entangle-camera-manager.c:2581 msgid "" "Check that the camera is not\n" "\n" " - opened by another photo application\n" " - mounted as a filesystem on the desktop\n" " - in sleep mode to save battery power\n" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1342 #: ../src/frontend/entangle-camera-manager.c:2586 #: ../src/frontend/entangle-camera-manager.xml.h:27 msgid "Cancel" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1343 #: ../src/frontend/entangle-camera-manager.c:2587 msgid "Retry" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1373 msgid "Camera is in use" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1377 msgid "" "The camera cannot be opened because it is currently mounted as a filesystem." " Do you wish to umount it now ?" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1381 #: ../src/frontend/entangle-camera-picker.c:125 msgid "No" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1382 #: ../src/frontend/entangle-camera-picker.c:125 msgid "Yes" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1417 msgid "Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1419 msgid "Entangle: Camera connect failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1455 #, c-format msgid "%s Camera Manager - Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.c:1808 #: ../src/frontend/entangle-camera-manager.xml.h:19 msgid "Select a folder" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2087 msgid "Autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2089 msgid "Entangle: Camera autofocus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2118 msgid "Manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2120 msgid "Entangle: Camera manual focus failed" msgstr "" #: ../src/frontend/entangle-camera-manager.c:2849 msgid "Select application..." msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-manager.xml.h:1 msgid "Entangle" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:2 msgid "_File" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:3 msgid "Select session" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:4 msgid "Connect camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:5 msgid "_Edit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:6 msgid "_View" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:7 msgid "Settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:8 msgid "Fullscreen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:9 msgid "Presentation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:10 msgid "Present on" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:11 msgid "Windows" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:12 msgid "New window" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:13 msgid "Synchronize capture" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:14 msgid "_Help" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:15 msgid "Camera" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:16 msgid "Driver" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:17 msgid "Manual" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:18 msgid "Supported Cameras" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:20 msgid "View the full list of camera settings" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:21 msgid "Capture an image" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:23 msgid "Continuous capture preview" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:25 msgid "" "Attempt to cancel the currently\n" "executing camera operation" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:28 msgid "" "Shrink the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:30 msgid "Zoom Out" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:31 msgid "" "Enlarge the display of the image\n" "by one factor" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:33 msgid "Zoom In" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:34 msgid "" "Resize the image to automatically\n" "fit the available window real estate" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:36 msgid "Best Fit" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:37 msgid "" "Display the image with its\n" "native pixel size" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:39 msgid "Normal" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:40 msgid "Switch to fullscreen display mode" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:41 msgid "Full Screen" msgstr "" #: ../src/frontend/entangle-camera-manager.xml.h:42 msgid "Open with" msgstr "" #: ../src/frontend/entangle-camera-picker.c:531 msgid "Model" msgstr "" #: ../src/frontend/entangle-camera-picker.c:532 msgid "Port" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-camera-picker.xml.h:1 msgid "Select camera - Entangle" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:2 msgid "Select a camera to connect to:" msgstr "" #: ../src/frontend/entangle-camera-picker.xml.h:3 msgid "" "No cameras were detected, check that\n" "\n" " - the cables are connected\n" " - the camera is turned on\n" " - the camera is in the correct mode\n" " - the camera is a supported model\n" "\n" "USB cameras are automatically detected\n" "when plugged in, for others try a refresh" msgstr "" #: ../src/frontend/entangle-control-panel.c:79 msgid "Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:81 msgid "Entangle: Camera control update failed" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "On" msgstr "" #: ../src/frontend/entangle-control-panel.c:232 msgid "Off" msgstr "" #: ../src/frontend/entangle-control-panel.c:559 msgid "No camera connected" msgstr "" #: ../src/frontend/entangle-control-panel.c:568 msgid "No controls available" msgstr "" #: ../src/frontend/entangle-dpms.c:57 msgid "Screen blanking is not available on this display" msgstr "" #: ../src/frontend/entangle-dpms.c:69 msgid "Screen blanking is not implemented on this platform" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-help-about.xml.h:1 msgid "About - Entangle" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:2 msgid "Copyright (C) 2009-2012 Daniel P. Berrange" msgstr "" #: ../src/frontend/entangle-help-about.xml.h:3 msgid "Tethered Camera Control & Capture" msgstr "" #: ../src/frontend/entangle-preferences-display.c:947 #: ../src/frontend/entangle-preferences-display.c:953 #: ../src/frontend/entangle-preferences.xml.h:25 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences-display.c:961 #: ../src/frontend/entangle-preferences-display.c:967 #: ../src/frontend/entangle-preferences.xml.h:35 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences-display.c:989 #: ../src/frontend/entangle-preferences-display.c:995 #: ../src/frontend/entangle-preferences.xml.h:18 msgid "Color Management" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1003 #: ../src/frontend/entangle-preferences-display.c:1009 #: ../src/frontend/entangle-preferences.xml.h:20 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1030 msgid "ICC profiles (*.icc, *.icm)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1035 msgid "All files (*.*)" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1061 msgid "1:1 - Square / MF 6x6" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1066 msgid "1.15:1 - Movietone" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1071 msgid "1.33:1 (4:3, 12:9) - Super 35mm / DSLR / MF 645" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1076 msgid "1.37:1 - 35mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1081 msgid "1.44:1 - IMAX" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1086 msgid "1.50:1 (3:2, 15:10)- 35mm SLR" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1091 msgid "1.6:1 (8:5, 16:10) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1096 msgid "1.66:1 (5:3, 15:9) - Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1101 msgid "1.75:1 (7:4) - Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1106 msgid "1.77:1 (16:9) - APS-H / HDTV / Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1111 msgid "1.85:1 - 35mm Widescreen" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1116 msgid "2.00:1 - SuperScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1121 msgid "2.10:1 (21:10) - Planned HDTV" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1126 msgid "2.20:1 (11:5, 22:10) - 70mm movie" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1131 msgid "2.35:1 - CinemaScope" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1136 msgid "2.37:1 (64:27)- HDTV cinema" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1141 msgid "2.39:1 (12:5)- Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1146 msgid "2.55:1 (23:9)- CinemaScope 55" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1151 msgid "2.59:1 (13:5)- Cinerama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1156 msgid "2.66:1 (8:3, 24:9)- Super 16mm" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1161 msgid "2.76:1 (11:4) - Ultra Panavision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1166 msgid "2.93:1 - MGM Camera 65" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1171 msgid "3:1 APS Panorama" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1176 msgid "4.00:1 - Polyvision" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1181 msgid "12.00:1 - Circle-Vision 360" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1199 msgid "None" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1204 msgid "Center lines" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1209 msgid "Rule of 3rds" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1214 msgid "Quarters" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1219 msgid "Rule of 5ths" msgstr "" #: ../src/frontend/entangle-preferences-display.c:1224 msgid "Golden sections" msgstr "" #. * Local variables: #. * c-indent-level: 4 #. * c-basic-offset: 4 #. * indent-tabs-mode: nil #. * tab-width: 8 #. * End: #. #: ../src/frontend/entangle-preferences.xml.h:1 msgid "Perceptual" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:2 msgid "Relative colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:3 msgid "Saturation" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:4 msgid "Absolute colourimetric" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:5 msgid "Entangle Preferences" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:6 msgid "Capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:7 msgid "Filename pattern:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:8 msgid "Continue preview mode after capture" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:9 msgid "Delete file from camera after downloading" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:11 msgid "Colour management" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:12 msgid "Mode of operation:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:13 msgid "RGB profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:14 msgid "Monitor profile:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:15 msgid "Rendering intent:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:16 msgid "Detect the system monitor profile" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:17 msgid "Colour managed display" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:19 msgid "Plugins" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:21 msgid "Interface" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:22 msgid "Automatically connect to cameras at startup" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:23 msgid "Blank screen when capturing images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:24 msgid "Show linear histogram" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:26 msgid "Image Viewer" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:27 msgid "Apply mask to alter aspect ratio" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:28 msgid "Aspect ratio:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:29 msgid "Mask opacity:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:30 msgid "Display focus point during preview" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:31 msgid "Grid lines:" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:32 msgid "Use embedded preview from raw files" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:33 msgid "Overlay earlier images" msgstr "" #: ../src/frontend/entangle-preferences.xml.h:34 msgid "Overlay layers:" msgstr "" entangle-0.5.4/missing0000755000000000000000000001533112253420720011603 00000000000000#! /bin/sh # Common wrapper for a few potentially missing GNU programs. scriptversion=2012-06-26.16; # UTC # Copyright (C) 1996-2013 Free Software Foundation, Inc. # Originally written by Fran,cois Pinard , 1996. # 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, 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. # You should have received a copy of the GNU General Public License # along with this program. If not, see . # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. if test $# -eq 0; then echo 1>&2 "Try '$0 --help' for more information" exit 1 fi case $1 in --is-lightweight) # Used by our autoconf macros to check whether the available missing # script is modern enough. exit 0 ;; --run) # Back-compat with the calling convention used by older automake. shift ;; -h|--h|--he|--hel|--help) echo "\ $0 [OPTION]... PROGRAM [ARGUMENT]... Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due to PROGRAM being missing or too old. Options: -h, --help display this help and exit -v, --version output version information and exit Supported PROGRAM values: aclocal autoconf autoheader autom4te automake makeinfo bison yacc flex lex help2man Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 'g' are ignored when checking the name. Send bug reports to ." exit $? ;; -v|--v|--ve|--ver|--vers|--versi|--versio|--version) echo "missing $scriptversion (GNU Automake)" exit $? ;; -*) echo 1>&2 "$0: unknown '$1' option" echo 1>&2 "Try '$0 --help' for more information" exit 1 ;; esac # Run the given program, remember its exit status. "$@"; st=$? # If it succeeded, we are done. test $st -eq 0 && exit 0 # Also exit now if we it failed (or wasn't found), and '--version' was # passed; such an option is passed most likely to detect whether the # program is present and works. case $2 in --version|--help) exit $st;; esac # Exit code 63 means version mismatch. This often happens when the user # tries to use an ancient version of a tool on a file that requires a # minimum version. if test $st -eq 63; then msg="probably too old" elif test $st -eq 127; then # Program was missing. msg="missing on your system" else # Program was found and executed, but failed. Give up. exit $st fi perl_URL=http://www.perl.org/ flex_URL=http://flex.sourceforge.net/ gnu_software_URL=http://www.gnu.org/software program_details () { case $1 in aclocal|automake) echo "The '$1' program is part of the GNU Automake package:" echo "<$gnu_software_URL/automake>" echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/autoconf>" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; autoconf|autom4te|autoheader) echo "The '$1' program is part of the GNU Autoconf package:" echo "<$gnu_software_URL/autoconf/>" echo "It also requires GNU m4 and Perl in order to run:" echo "<$gnu_software_URL/m4/>" echo "<$perl_URL>" ;; esac } give_advice () { # Normalize program name to check for. normalized_program=`echo "$1" | sed ' s/^gnu-//; t s/^gnu//; t s/^g//; t'` printf '%s\n' "'$1' is $msg." configure_deps="'configure.ac' or m4 files included by 'configure.ac'" case $normalized_program in autoconf*) echo "You should only need it if you modified 'configure.ac'," echo "or m4 files included by it." program_details 'autoconf' ;; autoheader*) echo "You should only need it if you modified 'acconfig.h' or" echo "$configure_deps." program_details 'autoheader' ;; automake*) echo "You should only need it if you modified 'Makefile.am' or" echo "$configure_deps." program_details 'automake' ;; aclocal*) echo "You should only need it if you modified 'acinclude.m4' or" echo "$configure_deps." program_details 'aclocal' ;; autom4te*) echo "You might have modified some maintainer files that require" echo "the 'automa4te' program to be rebuilt." program_details 'autom4te' ;; bison*|yacc*) echo "You should only need it if you modified a '.y' file." echo "You may want to install the GNU Bison package:" echo "<$gnu_software_URL/bison/>" ;; lex*|flex*) echo "You should only need it if you modified a '.l' file." echo "You may want to install the Fast Lexical Analyzer package:" echo "<$flex_URL>" ;; help2man*) echo "You should only need it if you modified a dependency" \ "of a man page." echo "You may want to install the GNU Help2man package:" echo "<$gnu_software_URL/help2man/>" ;; makeinfo*) echo "You should only need it if you modified a '.texi' file, or" echo "any other file indirectly affecting the aspect of the manual." echo "You might want to install the Texinfo package:" echo "<$gnu_software_URL/texinfo/>" echo "The spurious makeinfo call might also be the consequence of" echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" echo "want to install GNU make:" echo "<$gnu_software_URL/make/>" ;; *) echo "You might have modified some files without having the proper" echo "tools for further handling them. Check the 'README' file, it" echo "often tells you about the needed prerequisites for installing" echo "this package. You may also peek at any GNU archive site, in" echo "case some other package contains this missing '$1' program." ;; esac } give_advice "$1" | sed -e '1s/^/WARNING: /' \ -e '2,$s/^/ /' >&2 # Propagate the correct exit status (expected to be 127 for a program # not found, 63 for a program that failed due to version mismatch). exit $st # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC" # time-stamp-end: "; # UTC" # End: