Update to xrandr 1.5.1

This commit is contained in:
matthieu 2020-05-16 09:49:44 +00:00
parent 8ff49d974a
commit 813522ca42
9 changed files with 689 additions and 201 deletions

View File

@ -1,3 +1,272 @@
commit 824484e5ba50f1e6858ea990393c181a249c3a5e
Author: Matt Turner <mattst88@gmail.com>
Date: Mon Aug 12 10:42:41 2019 -0700
xrandr 1.5.1
Signed-off-by: Matt Turner <mattst88@gmail.com>
commit edac280f06da2ad2256c710f95b34253202e6e49
Author: Matt Turner <mattst88@gmail.com>
Date: Mon Aug 12 10:49:52 2019 -0700
Build xz tarballs instead of bzip2
Signed-off-by: Matt Turner <mattst88@gmail.com>
commit 829ed54d89bb37c9e2f8050fe72bd4ecf7b5395a
Author: Vladimir Panteleev <git@thecybershadow.net>
Date: Thu Dec 20 11:28:51 2018 +0000
xrandr: Fix deleting inactive monitors
The following commands did not behave correctly:
xrandr --setmonitor empty auto none
xrandr --delmonitor empty
The second command failed with "No monitor named 'empty'". This
occurred because get_monitors was invoked with its get_active argument
set to False, which caused it to not retrieve inactive monitors. Thus,
inactive monitors could not be deleted.
Fix this bug by invoking get_monitors (and, thus, XRRGetMonitors) with
get_active = False, thus enabling deletion of disabled monitors.
Signed-off-by: Matt Turner <mattst88@gmail.com>
commit 9e5fa7c8c26f78e121ffad0d7a745a674c4a1849
Author: Adam Simpkins <adam@adamsimpkins.net>
Date: Thu Aug 3 15:11:53 2017 -0700
xrandr: fix crash if some modes cannot be found
When printing modes in "xrandr -q", check to see if we failed to look up
mode information from a mode XID. Previously the command would
dereference null and crash if the mode information could not be found.
When using an external HDMI monitor on a laptop with a Skylake Intel
graphics chipset "xrandr -q" occasionally is unable to look up mode
information for some of the modes. It seems likely there is some other
sort of library or driver issue causing these lookup failures, but this
change to xrandr at least prevents it from segfaulting.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3316ccaca35dc5fc6b6e3b5826e222cd648eb9c9
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Nov 21 17:17:09 2018 -0800
Update configure.ac bug URL for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 004681fb9c71256feb49e2bda203819654b0a05f
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Nov 16 22:47:41 2018 -0800
Update README for gitlab migration
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit a2134406ab0aef44e7b710e1e2a2a40965e96692
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Thu Sep 13 09:44:16 2018 +1000
init the name to 0
There are a few conditions where coverity finds a use of an uninitialized
field of the name_t struct. These are rather messy combinations of conditions,
so let's go with the simple solution here and just init everything to 0.
This may still have side-effects but at least they'll be more obvious than the
previous "use whatever memory is leftover from breakfast".
This patch also adds a missing init_name(), much for the same reason.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 9882680c9f7f433a47514a9cb799c79e3e10a024
Author: Pali Rohár <pali.rohar@gmail.com>
Date: Sat Mar 10 16:23:29 2018 +0100
Document that --dpi and --fbmm options set DPI of whole X screen
Explicitly document and make it clear that those options do not change
DPI of some monitor output. Also state that these options have no useful
meaning for multi-monitor configuration.
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Reviewed-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
commit da61a8bd95bd20d45397eee6a6c0d3ad5a50c399
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Tue Feb 6 22:02:42 2018 +0100
xrandr: gamma and scaling factors must be positive
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit 5e95248b5bab1254ecedffb6cb681b0ee06c0f29
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Mon Feb 5 02:01:21 2018 +0100
xrandr.man: document the monitor manipulation options
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit cf25d585df5582d29528acc35f1c91dcb98b0f00
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Mon Feb 5 01:31:15 2018 +0100
xrandr: allow single value for --gamma
Similarly to --scale, accept a single value to be used for all three
components, and refuse values with extra junk after the acceptable
values.
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit 289bc0f1c53d8bc488d96e7f79afabd361758e08
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Sun Jul 16 14:57:40 2017 +0200
xrandr.man: grammar tuning
Rephrase the --scale option paragraph to improve English and be more
consistent in choice of plurals and tense. Also ensure that each
sentence starts on a new line in the roff source.
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit 635a4c8bc9f81852dc77b5dc9de1ce5825849a7f
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Sun Jul 16 15:05:21 2017 +0200
xrandr: stricter --scale argument parsing
We used to accept something like --scale 2x3junk as a valid input
(scaling x by 2 and y by 3), even though this isn't really a valid
scaling factor.
Fix by making sure there is nothing after the parsed number(s).
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit 4e655b2cfc79b02d0ca7cea82b09f1f1133f1a0a
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Wed May 17 17:20:50 2017 +0200
xrandr: allow a single value for --scale
This allows using e.g. --scale 0.5 as a shorthand for --scale 0.5x0.5
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
commit 8969b3c651eaae3e3a2370ec45f4eeae9750111d
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Thu Jun 1 15:45:59 2017 -0700
man: Document the new --filter option
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 6ac2afc0d7d8d51d4085767b901667393c11061b
Author: Pablo De La Garza <pdelagarza@nvidia.com>
Date: Thu Mar 23 16:05:02 2017 -0700
xrandr: Add a "--filter" flag
Flag can be set to "nearest" or "bilinear"
Signed-off-by: Pablo De La Garza <pdelagarza@nvidia.com>
[aplattner@nvidia.com: Fixed style and whitespace]
Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
commit 5d5db88d106a49d7560a8042fa054df8b609f00a
Author: Pali Rohár <pali.rohar@gmail.com>
Date: Sun May 28 23:33:26 2017 +0200
Document format of --dpi option in non-ambiguous way
Slash in previous documentation could be misunderstood as part of the
--dpi command line option. So fix it.
Signed-off-by: Pali Rohár <pali.rohar@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit 215a01f1513f918e7295a8a477d4674f7b8085f0
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Wed Jan 18 08:52:23 2017 +0100
xrandr: suppress misleading indentation warning
When printing out rotations, we print a space before any item other than
the first, and set `first = False` in each block where we print.
However, this is done in the same line as the conditional that checks if
first is set, which may give the impression that the assignment is also
under the conditional. This is not the case, and recent GCC warns about
this.
Move the assignment to after we print the value we want to print, which
(1) doesn't mislead about the indentation, and
(2) makes logical sense as the _next_ entry is what won't be the first.
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
commit 85e95db7120da3bdaf9efb3033be5f9338e6c328
Author: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
Date: Wed Jan 18 08:52:09 2017 +0100
xrandr: document that we accept '--dpi output'
Signed-off-by: Giuseppe Bilotta <giuseppe.bilotta@gmail.com>
commit 1b561d25d197069a4a2c8b5d4007938b669ee612
Author: Mihail Konev <k.mvc@ya.ru>
Date: Thu Jan 26 14:00:21 2017 +1000
autogen: add default patch prefix
Signed-off-by: Mihail Konev <k.mvc@ya.ru>
commit f84206b8cdbb9c6211c845da92492346bae8fde0
Author: Emil Velikov <emil.l.velikov@gmail.com>
Date: Mon Mar 9 12:00:52 2015 +0000
autogen.sh: use quoted string variables
Place quotes around the $srcdir, $ORIGDIR and $0 variables to prevent
fall-outs, when they contain space.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
commit bd3f2f58351a038469c7adc6be7650087433f6f4
Author: Peter Hutterer <peter.hutterer@who-t.net>
Date: Tue Jan 24 10:32:07 2017 +1000
autogen.sh: use exec instead of waiting for configure to finish
Syncs the invocation of configure with the one from the server.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
commit 65fd628cdfd1c95bd01a50706d4577655d1dd404 commit 65fd628cdfd1c95bd01a50706d4577655d1dd404
Author: Aaron Plattner <aplattner@nvidia.com> Author: Aaron Plattner <aplattner@nvidia.com>
Date: Tue Feb 23 10:22:26 2016 -0800 Date: Tue Feb 23 10:22:26 2016 -0800
@ -132,14 +401,14 @@ Date: Fri Aug 1 23:14:42 2014 -0700
Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
commit 20d76f773cf8de474cf7a3f1082961605732c3f1 commit 20d76f773cf8de474cf7a3f1082961605732c3f1
Merge: 00477d88297e 193a358563a5 Merge: 00477d8 193a358
Author: Aaron Plattner <aplattner@nvidia.com> Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri Aug 1 23:10:46 2014 -0700 Date: Fri Aug 1 23:10:46 2014 -0700
Merge commit '193a358' Merge commit '193a358'
Conflicts: Conflicts:
xrandr.c xrandr.c
commit 193a358563a59c1a3fc55f55029c605e2419c80b commit 193a358563a59c1a3fc55f55029c605e2419c80b
Author: Stéphane Aulery <lkppo@free.fr> Author: Stéphane Aulery <lkppo@free.fr>
@ -418,14 +687,14 @@ Date: Tue Feb 12 13:24:38 2013 -0800
Signed-off-by: Aaron Plattner <aplattner@nvidia.com> Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
commit 3e5f160c4198a5160be5e9a3f21ba3f4130d4318 commit 3e5f160c4198a5160be5e9a3f21ba3f4130d4318
Merge: dac72dbbc750 bd166184f6c1 Merge: dac72db bd16618
Author: Aaron Plattner <aplattner@nvidia.com> Author: Aaron Plattner <aplattner@nvidia.com>
Date: Tue Feb 12 12:30:20 2013 -0800 Date: Tue Feb 12 12:30:20 2013 -0800
Merge branch 'fixes' Merge branch 'fixes'
Conflicts: Conflicts:
xrandr.c xrandr.c
commit bd166184f6c1973ae2f5f99d040733db3e9e82cf commit bd166184f6c1973ae2f5f99d040733db3e9e82cf
Author: Aaron Plattner <aplattner@nvidia.com> Author: Aaron Plattner <aplattner@nvidia.com>
@ -1504,7 +1773,7 @@ Date: Fri Mar 6 14:49:43 2009 +0100
Conflicts: Conflicts:
xrandr.c xrandr.c
commit 880f045202d1e70368b855c3783604e19be946b8 commit 880f045202d1e70368b855c3783604e19be946b8
Author: Julien Cristau <jcristau@debian.org> Author: Julien Cristau <jcristau@debian.org>
@ -1684,7 +1953,7 @@ Date: Mon Dec 1 21:45:47 2008 +0100
Fix build outside of the source dir Fix build outside of the source dir
commit 63ba316bcbe8ad61ba63d9fe62c82e7d56dcc399 commit 63ba316bcbe8ad61ba63d9fe62c82e7d56dcc399
Merge: a813c4da7f0b 1b95e32b4b0a Merge: a813c4d 1b95e32
Author: Julien Cristau <jcristau@debian.org> Author: Julien Cristau <jcristau@debian.org>
Date: Mon Dec 1 21:33:35 2008 +0100 Date: Mon Dec 1 21:33:35 2008 +0100
@ -2162,7 +2431,7 @@ Date: Sun Feb 18 21:27:55 2007 -0800
Update version number to 1.2.0 for release. Update version number to 1.2.0 for release.
commit 13cef2baa884039e96f5dfd9245bb949aed99448 commit 13cef2baa884039e96f5dfd9245bb949aed99448
Merge: 065f09cc304d a175972de6fb Merge: 065f09c a175972
Author: Keith Packard <keithp@neko.keithp.com> Author: Keith Packard <keithp@neko.keithp.com>
Date: Sun Feb 18 21:26:50 2007 -0800 Date: Sun Feb 18 21:26:50 2007 -0800
@ -2204,7 +2473,7 @@ Date: Sat Feb 10 16:14:58 2007 -0800
Display set of available CRTCs per output in --verbose mode. Display set of available CRTCs per output in --verbose mode.
commit 067cafb5cda0aa6e34773e888fd469ff657760c2 commit 067cafb5cda0aa6e34773e888fd469ff657760c2
Merge: 7c25c245bceb b0a00df69f83 Merge: 7c25c24 b0a00df
Author: Keith Packard <keithp@guitar.keithp.com> Author: Keith Packard <keithp@guitar.keithp.com>
Date: Wed Jan 31 15:25:35 2007 -0800 Date: Wed Jan 31 15:25:35 2007 -0800
@ -2363,7 +2632,7 @@ Date: Tue Dec 19 16:27:46 2006 -0800
Actually respect the --fb option Actually respect the --fb option
commit 7b32611632ab08b6a123db5df1c2b919b3a12104 commit 7b32611632ab08b6a123db5df1c2b919b3a12104
Merge: a0df3aa81205 4bb1a9cd6f9c Merge: a0df3aa 4bb1a9c
Author: Keith Packard <keithp@guitar.keithp.com> Author: Keith Packard <keithp@guitar.keithp.com>
Date: Tue Dec 19 15:58:38 2006 -0800 Date: Tue Dec 19 15:58:38 2006 -0800
@ -2376,7 +2645,7 @@ Date: Tue Dec 19 15:58:21 2006 -0800
Correct format for sscanf to double variable "dpi" Correct format for sscanf to double variable "dpi"
commit 4bb1a9cd6f9cc3ed61d7913528afa3f573092833 commit 4bb1a9cd6f9cc3ed61d7913528afa3f573092833
Merge: b6c03827bae7 6ef400f35d7d Merge: b6c0382 6ef400f
Author: Keith Packard <keithp@bouzouki.jf.intel.com> Author: Keith Packard <keithp@bouzouki.jf.intel.com>
Date: Wed Dec 13 11:36:36 2006 -0800 Date: Wed Dec 13 11:36:36 2006 -0800

View File

@ -37,7 +37,7 @@ xrandr_LDADD = $(XRANDR_LIBS)
xrandr_SOURCES = \ xrandr_SOURCES = \
xrandr.c xrandr.c
EXTRA_DIST = xrandr_test.pl keystone.5c EXTRA_DIST = xrandr_test.pl keystone.5c README.md
MAINTAINERCLEANFILES = ChangeLog INSTALL MAINTAINERCLEANFILES = ChangeLog INSTALL
.PHONY: ChangeLog INSTALL .PHONY: ChangeLog INSTALL

View File

@ -74,7 +74,7 @@ build_triplet = @build@
host_triplet = @host@ host_triplet = @host@
bin_PROGRAMS = xrandr$(EXEEXT) bin_PROGRAMS = xrandr$(EXEEXT)
subdir = . subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ DIST_COMMON = $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \
$(top_srcdir)/configure COPYING ChangeLog INSTALL compile \ $(top_srcdir)/configure COPYING ChangeLog INSTALL compile \
config.guess config.sub depcomp install-sh missing config.guess config.sub depcomp install-sh missing
@ -208,9 +208,9 @@ am__relativize = \
dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \ dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
done; \ done; \
reldir="$$dir2" reldir="$$dir2"
DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.bz2 DIST_ARCHIVES = $(distdir).tar.gz $(distdir).tar.xz
GZIP_ENV = --best GZIP_ENV = --best
DIST_TARGETS = dist-bzip2 dist-gzip DIST_TARGETS = dist-xz dist-gzip
distuninstallcheck_listfiles = find . -type f -print distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \ am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
| sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$' | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
@ -343,7 +343,7 @@ xrandr_LDADD = $(XRANDR_LIBS)
xrandr_SOURCES = \ xrandr_SOURCES = \
xrandr.c xrandr.c
EXTRA_DIST = xrandr_test.pl keystone.5c EXTRA_DIST = xrandr_test.pl keystone.5c README.md
MAINTAINERCLEANFILES = ChangeLog INSTALL MAINTAINERCLEANFILES = ChangeLog INSTALL
all: config.h all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive $(MAKE) $(AM_MAKEFLAGS) all-recursive
@ -706,6 +706,7 @@ distdir: $(DISTFILES)
dist-gzip: distdir dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-bzip2: distdir dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2 tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
$(am__post_remove_distdir) $(am__post_remove_distdir)
@ -713,7 +714,6 @@ dist-bzip2: distdir
dist-lzip: distdir dist-lzip: distdir
tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
$(am__post_remove_distdir) $(am__post_remove_distdir)
dist-xz: distdir dist-xz: distdir
tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
$(am__post_remove_distdir) $(am__post_remove_distdir)

278
app/xrandr/aclocal.m4 vendored
View File

@ -19,32 +19,63 @@ 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. 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'.])]) To do so, use the procedure documented by the package, typically 'autoreconf'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24) dnl serial 11 (pkg-config-0.29.1)
# dnl
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>. dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
# dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
# This program is free software; you can redistribute it and/or modify dnl
# it under the terms of the GNU General Public License as published by dnl This program is free software; you can redistribute it and/or modify
# the Free Software Foundation; either version 2 of the License, or dnl it under the terms of the GNU General Public License as published by
# (at your option) any later version. dnl the Free Software Foundation; either version 2 of the License, or
# dnl (at your option) any later version.
# This program is distributed in the hope that it will be useful, but dnl
# WITHOUT ANY WARRANTY; without even the implied warranty of dnl This program is distributed in the hope that it will be useful, but
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU dnl WITHOUT ANY WARRANTY; without even the implied warranty of
# General Public License for more details. dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# dnl General Public License for more details.
# You should have received a copy of the GNU General Public License dnl
# along with this program; if not, write to the Free Software dnl You should have received a copy of the GNU General Public License
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. dnl along with this program; if not, write to the Free Software
# dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# As a special exception to the GNU General Public License, if you dnl 02111-1307, USA.
# distribute this file as part of a program that contains a dnl
# configuration script generated by Autoconf, you may include it under dnl As a special exception to the GNU General Public License, if you
# the same distribution terms that you use for the rest of that program. dnl distribute this file as part of a program that contains a
dnl configuration script generated by Autoconf, you may include it under
dnl the same distribution terms that you use for the rest of that
dnl program.
# PKG_PROG_PKG_CONFIG([MIN-VERSION]) dnl PKG_PREREQ(MIN-VERSION)
# ---------------------------------- dnl -----------------------
dnl Since: 0.29
dnl
dnl Verify that the version of the pkg-config macros are at least
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
dnl installed version of pkg-config, this checks the developer's version
dnl of pkg.m4 when generating configure.
dnl
dnl To ensure that this macro is defined, also add:
dnl m4_ifndef([PKG_PREREQ],
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
dnl
dnl See the "Since" comment for each macro you use to see what version
dnl of the macros you require.
m4_defun([PKG_PREREQ],
[m4_define([PKG_MACROS_VERSION], [0.29.1])
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
])dnl PKG_PREREQ
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
dnl ----------------------------------
dnl Since: 0.16
dnl
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
dnl first found in the path. Checks that the version of pkg-config found
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
dnl used since that's the first version where most current features of
dnl pkg-config existed.
AC_DEFUN([PKG_PROG_PKG_CONFIG], AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$]) [m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
@ -66,18 +97,19 @@ if test -n "$PKG_CONFIG"; then
PKG_CONFIG="" PKG_CONFIG=""
fi fi
fi[]dnl fi[]dnl
])# PKG_PROG_PKG_CONFIG ])dnl PKG_PROG_PKG_CONFIG
# PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
# dnl -------------------------------------------------------------------
# Check to see whether a particular set of modules exists. Similar dnl Since: 0.18
# to PKG_CHECK_MODULES(), but does not set variables or print errors. dnl
# dnl Check to see whether a particular set of modules exists. Similar to
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
# only at the first occurence in configure.ac, so if the first place dnl
# it's called might be skipped (such as if it is within an "if", you dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# have to call PKG_CHECK_EXISTS manually dnl only at the first occurence in configure.ac, so if the first place
# -------------------------------------------------------------- dnl it's called might be skipped (such as if it is within an "if", you
dnl have to call PKG_CHECK_EXISTS manually
AC_DEFUN([PKG_CHECK_EXISTS], AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \ if test -n "$PKG_CONFIG" && \
@ -87,8 +119,10 @@ m4_ifvaln([$3], [else
$3])dnl $3])dnl
fi]) fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# --------------------------------------------- dnl ---------------------------------------------
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
dnl pkg_failed based on the result.
m4_define([_PKG_CONFIG], m4_define([_PKG_CONFIG],
[if test -n "$$1"; then [if test -n "$$1"; then
pkg_cv_[]$1="$$1" pkg_cv_[]$1="$$1"
@ -100,10 +134,11 @@ m4_define([_PKG_CONFIG],
else else
pkg_failed=untried pkg_failed=untried
fi[]dnl fi[]dnl
])# _PKG_CONFIG ])dnl _PKG_CONFIG
# _PKG_SHORT_ERRORS_SUPPORTED dnl _PKG_SHORT_ERRORS_SUPPORTED
# ----------------------------- dnl ---------------------------
dnl Internal check to see if pkg-config supports short errors.
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG]) [AC_REQUIRE([PKG_PROG_PKG_CONFIG])
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
@ -111,19 +146,17 @@ if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
else else
_pkg_short_errors_supported=no _pkg_short_errors_supported=no
fi[]dnl fi[]dnl
])# _PKG_SHORT_ERRORS_SUPPORTED ])dnl _PKG_SHORT_ERRORS_SUPPORTED
# PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# [ACTION-IF-NOT-FOUND]) dnl [ACTION-IF-NOT-FOUND])
# dnl --------------------------------------------------------------
# dnl Since: 0.4.0
# Note that if there is a possibility the first call to dnl
# PKG_CHECK_MODULES might not happen, you should be sure to include an dnl Note that if there is a possibility the first call to
# explicit call to PKG_PROG_PKG_CONFIG in your configure.ac dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
# dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
#
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_MODULES], AC_DEFUN([PKG_CHECK_MODULES],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl [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][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
@ -177,16 +210,40 @@ else
AC_MSG_RESULT([yes]) AC_MSG_RESULT([yes])
$3 $3
fi[]dnl fi[]dnl
])# PKG_CHECK_MODULES ])dnl PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY) dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
# ------------------------- dnl [ACTION-IF-NOT-FOUND])
# Substitutes the variable pkgconfigdir as the location where a module dnl ---------------------------------------------------------------------
# should install pkg-config .pc files. By default the directory is dnl Since: 0.29
# $libdir/pkgconfig, but the default can be changed by passing dnl
# DIRECTORY. The user can override through the --with-pkgconfigdir dnl Checks for existence of MODULES and gathers its build flags with
# parameter. dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
dnl and VARIABLE-PREFIX_LIBS from --libs.
dnl
dnl Note that if there is a possibility the first call to
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
dnl configure.ac.
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
_save_PKG_CONFIG=$PKG_CONFIG
PKG_CONFIG="$PKG_CONFIG --static"
PKG_CHECK_MODULES($@)
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
])dnl PKG_CHECK_MODULES_STATIC
dnl PKG_INSTALLDIR([DIRECTORY])
dnl -------------------------
dnl Since: 0.27
dnl
dnl Substitutes the variable pkgconfigdir as the location where a module
dnl should install pkg-config .pc files. By default the directory is
dnl $libdir/pkgconfig, but the default can be changed by passing
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
dnl parameter.
AC_DEFUN([PKG_INSTALLDIR], AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])]) [m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description], m4_pushdef([pkg_description],
@ -197,16 +254,18 @@ AC_ARG_WITH([pkgconfigdir],
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir]) AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default]) m4_popdef([pkg_default])
m4_popdef([pkg_description]) m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR ])dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY) dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
# ------------------------- dnl --------------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a dnl Since: 0.27
# module should install arch-independent pkg-config .pc files. By dnl
# default the directory is $datadir/pkgconfig, but the default can be dnl Substitutes the variable noarch_pkgconfigdir as the location where a
# changed by passing DIRECTORY. The user can override through the dnl module should install arch-independent pkg-config .pc files. By
# --with-noarch-pkgconfigdir parameter. dnl default the directory is $datadir/pkgconfig, but the default can be
dnl changed by passing DIRECTORY. The user can override through the
dnl --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR], AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])]) [m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description], m4_pushdef([pkg_description],
@ -217,7 +276,24 @@ AC_ARG_WITH([noarch-pkgconfigdir],
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir]) AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default]) m4_popdef([pkg_default])
m4_popdef([pkg_description]) m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR ])dnl PKG_NOARCH_INSTALLDIR
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
dnl -------------------------------------------
dnl Since: 0.28
dnl
dnl Retrieves the value of the pkg-config variable for the given module.
AC_DEFUN([PKG_CHECK_VAR],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
AS_VAR_COPY([$1], [pkg_cv_][$1])
AS_VAR_IF([$1], [""], [$5], [$4])dnl
])dnl PKG_CHECK_VAR
# Copyright (C) 2002-2012 Free Software Foundation, Inc. # Copyright (C) 2002-2012 Free Software Foundation, Inc.
# #
@ -1242,7 +1318,7 @@ AC_SUBST([am__untar])
dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure.
dnl dnl
dnl Copyright (c) 2005, 2006, Oracle and/or its affiliates. All rights reserved. dnl Copyright (c) 2005, 2015, Oracle and/or its affiliates. All rights reserved.
dnl dnl
dnl Permission is hereby granted, free of charge, to any person obtaining a dnl Permission is hereby granted, free of charge, to any person obtaining a
dnl copy of this software and associated documentation files (the "Software"), dnl copy of this software and associated documentation files (the "Software"),
@ -1279,7 +1355,7 @@ dnl DEALINGS IN THE SOFTWARE.
# See the "minimum version" comment for each macro you use to see what # See the "minimum version" comment for each macro you use to see what
# version you require. # version you require.
m4_defun([XORG_MACROS_VERSION],[ m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.19.0]) m4_define([vers_have], [1.19.2])
m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.]))) m4_define([maj_have], m4_substr(vers_have, 0, m4_index(vers_have, [.])))
m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_define([maj_needed], m4_substr([$1], 0, m4_index([$1], [.])))
m4_if(m4_cmp(maj_have, maj_needed), 0,, m4_if(m4_cmp(maj_have, maj_needed), 0,,
@ -1357,6 +1433,17 @@ AC_DEFUN([XORG_MANPAGE_SECTIONS],[
AC_REQUIRE([AC_CANONICAL_HOST]) AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([AC_PROG_SED]) AC_REQUIRE([AC_PROG_SED])
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
AC_CHECK_FILE([/usr/share/man/man7/attributes.7],
[SYSV_MAN_SECTIONS=false], [SYSV_MAN_SECTIONS=true])
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1 APP_MAN_SUFFIX=1
fi fi
@ -1372,9 +1459,9 @@ if test x$LIB_MAN_DIR = x ; then
fi fi
if test x$FILE_MAN_SUFFIX = x ; then if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) FILE_MAN_SUFFIX=4 ;; true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;; *) FILE_MAN_SUFFIX=5 ;;
esac esac
fi fi
if test x$FILE_MAN_DIR = x ; then if test x$FILE_MAN_DIR = x ; then
@ -1382,9 +1469,9 @@ if test x$FILE_MAN_DIR = x ; then
fi fi
if test x$MISC_MAN_SUFFIX = x ; then if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) MISC_MAN_SUFFIX=5 ;; true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;; *) MISC_MAN_SUFFIX=7 ;;
esac esac
fi fi
if test x$MISC_MAN_DIR = x ; then if test x$MISC_MAN_DIR = x ; then
@ -1392,9 +1479,9 @@ if test x$MISC_MAN_DIR = x ; then
fi fi
if test x$DRIVER_MAN_SUFFIX = x ; then if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) DRIVER_MAN_SUFFIX=7 ;; true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;; *) DRIVER_MAN_SUFFIX=4 ;;
esac esac
fi fi
if test x$DRIVER_MAN_DIR = x ; then if test x$DRIVER_MAN_DIR = x ; then
@ -1402,9 +1489,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi fi
if test x$ADMIN_MAN_SUFFIX = x ; then if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) ADMIN_MAN_SUFFIX=1m ;; true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;; *) ADMIN_MAN_SUFFIX=8 ;;
esac esac
fi fi
if test x$ADMIN_MAN_DIR = x ; then if test x$ADMIN_MAN_DIR = x ; then
@ -1665,13 +1752,24 @@ m4_ifval([$1],
fi]) fi])
# Test for the ability of xmlto to generate a text target # Test for the ability of xmlto to generate a text target
#
# NOTE: xmlto 0.0.27 or higher return a non-zero return code in the
# following test for empty XML docbook files.
# For compatibility reasons use the following empty XML docbook file and if
# it fails try it again with a non-empty XML file.
have_xmlto_text=no have_xmlto_text=no
cat > conftest.xml << "EOF" cat > conftest.xml << "EOF"
EOF EOF
AS_IF([test "$have_xmlto" = yes], AS_IF([test "$have_xmlto" = yes],
[AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1], [AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes], [have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])]) [# Try it again with a non-empty XML file.
cat > conftest.xml << "EOF"
<x></x>
EOF
AS_IF([$XMLTO --skip-validation txt conftest.xml >/dev/null 2>&1],
[have_xmlto_text=yes],
[AC_MSG_WARN([xmlto cannot generate text format, this format skipped])])])])
rm -f conftest.xml rm -f conftest.xml
AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes])
AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes])
@ -3067,8 +3165,9 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ || (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
AC_SUBST([INSTALL_CMD]) AC_SUBST([INSTALL_CMD])
]) # XORG_INSTALL ]) # XORG_INSTALL
dnl Copyright 2005 Red Hat, Inc dnl Copyright 2005 Red Hat, Inc
@ -3129,10 +3228,11 @@ AC_DEFUN([XORG_RELEASE_VERSION],[
# #
# #
AC_DEFUN([XORG_CHANGELOG], [ AC_DEFUN([XORG_CHANGELOG], [
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ || (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
echo 'git directory not found: installing possibly empty changelog.' >&2)" touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
AC_SUBST([CHANGELOG_CMD]) AC_SUBST([CHANGELOG_CMD])
]) # XORG_CHANGELOG ]) # XORG_CHANGELOG

View File

@ -1,9 +1,9 @@
#! /bin/sh #! /bin/sh
# Wrapper for compilers which do not understand '-c -o'. # Wrapper for compilers which do not understand '-c -o'.
scriptversion=2012-10-14.11; # UTC scriptversion=2018-03-07.03; # UTC
# Copyright (C) 1999-2014 Free Software Foundation, Inc. # Copyright (C) 1999-2018 Free Software Foundation, Inc.
# Written by Tom Tromey <tromey@cygnus.com>. # Written by Tom Tromey <tromey@cygnus.com>.
# #
# This program is free software; you can redistribute it and/or modify # This program is free software; you can redistribute it and/or modify
@ -17,7 +17,7 @@ scriptversion=2012-10-14.11; # UTC
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
# As a special exception to the GNU General Public License, if you # As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a # distribute this file as part of a program that contains a
@ -255,7 +255,8 @@ EOF
echo "compile $scriptversion" echo "compile $scriptversion"
exit $? exit $?
;; ;;
cl | *[/\\]cl | cl.exe | *[/\\]cl.exe ) cl | *[/\\]cl | cl.exe | *[/\\]cl.exe | \
icl | *[/\\]icl | icl.exe | *[/\\]icl.exe )
func_cl_wrapper "$@" # Doesn't return... func_cl_wrapper "$@" # Doesn't return...
;; ;;
esac esac
@ -339,10 +340,10 @@ exit $ret
# Local Variables: # Local Variables:
# mode: shell-script # mode: shell-script
# sh-indentation: 2 # sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp) # eval: (add-hook 'before-save-hook 'time-stamp)
# time-stamp-start: "scriptversion=" # time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC" # time-stamp-time-zone: "UTC0"
# time-stamp-end: "; # UTC" # time-stamp-end: "; # UTC"
# End: # End:
#! /bin/sh #! /bin/sh

123
app/xrandr/configure vendored
View File

@ -1,8 +1,8 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for xrandr 1.5.0. # Generated by GNU Autoconf 2.69 for xrandr 1.5.1.
# #
# Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # Report bugs to <https://gitlab.freedesktop.org/xorg/app/xrandr/issues>.
# #
# #
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@ -267,7 +267,7 @@ fi
$as_echo "$0: be upgraded to zsh 4.3.4 or later." $as_echo "$0: be upgraded to zsh 4.3.4 or later."
else else
$as_echo "$0: Please tell bug-autoconf@gnu.org and $as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://bugs.freedesktop.org/enter_bug.cgi?product=xorg $0: https://gitlab.freedesktop.org/xorg/app/xrandr/issues
$0: about your system, including any error possibly output $0: about your system, including any error possibly output
$0: before this message. Then install a modern shell, or $0: before this message. Then install a modern shell, or
$0: manually run the script under such a shell if you do $0: manually run the script under such a shell if you do
@ -581,9 +581,9 @@ MAKEFLAGS=
# Identity of this package. # Identity of this package.
PACKAGE_NAME='xrandr' PACKAGE_NAME='xrandr'
PACKAGE_TARNAME='xrandr' PACKAGE_TARNAME='xrandr'
PACKAGE_VERSION='1.5.0' PACKAGE_VERSION='1.5.1'
PACKAGE_STRING='xrandr 1.5.0' PACKAGE_STRING='xrandr 1.5.1'
PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_BUGREPORT='https://gitlab.freedesktop.org/xorg/app/xrandr/issues'
PACKAGE_URL='' PACKAGE_URL=''
ac_unique_file="Makefile.am" ac_unique_file="Makefile.am"
@ -1311,7 +1311,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing. # 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. # This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF cat <<_ACEOF
\`configure' configures xrandr 1.5.0 to adapt to many kinds of systems. \`configure' configures xrandr 1.5.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]... Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1381,7 +1381,7 @@ fi
if test -n "$ac_init_help"; then if test -n "$ac_init_help"; then
case $ac_init_help in case $ac_init_help in
short | recursive ) echo "Configuration of xrandr 1.5.0:";; short | recursive ) echo "Configuration of xrandr 1.5.1:";;
esac esac
cat <<\_ACEOF cat <<\_ACEOF
@ -1426,7 +1426,7 @@ Some influential environment variables:
Use these variables to override the choices made by `configure' or to help Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations. it to find libraries and programs with nonstandard names/locations.
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. Report bugs to <https://gitlab.freedesktop.org/xorg/app/xrandr/issues>.
_ACEOF _ACEOF
ac_status=$? ac_status=$?
fi fi
@ -1489,7 +1489,7 @@ fi
test -n "$ac_init_help" && exit $ac_status test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
xrandr configure 1.5.0 xrandr configure 1.5.1
generated by GNU Autoconf 2.69 generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc. Copyright (C) 2012 Free Software Foundation, Inc.
@ -1746,7 +1746,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by xrandr $as_me 1.5.0, which was It was created by xrandr $as_me 1.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@ $ $0 $@
@ -2575,7 +2575,7 @@ fi
# Define the identity of the package. # Define the identity of the package.
PACKAGE='xrandr' PACKAGE='xrandr'
VERSION='1.5.0' VERSION='1.5.1'
cat >>confdefs.h <<_ACEOF cat >>confdefs.h <<_ACEOF
@ -2622,29 +2622,6 @@ am__tar='$${TAR-tar} chof - "$$tardir"' am__untar='$${TAR-tar} xf -'
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
# Check whether --enable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then :
enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
else
USE_MAINTAINER_MODE=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
$as_echo "$USE_MAINTAINER_MODE" >&6; }
if test $USE_MAINTAINER_MODE = yes; then
MAINTAINER_MODE_TRUE=
MAINTAINER_MODE_FALSE='#'
else
MAINTAINER_MODE_TRUE='#'
MAINTAINER_MODE_FALSE=
fi
MAINT=$MAINTAINER_MODE_TRUE
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
@ -10242,10 +10219,11 @@ _ACEOF
CHANGELOG_CMD="(GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp && \ CHANGELOG_CMD="((GIT_DIR=\$(top_srcdir)/.git git log > \$(top_srcdir)/.changelog.tmp) 2>/dev/null && \
mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \ mv \$(top_srcdir)/.changelog.tmp \$(top_srcdir)/ChangeLog) \
|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ || (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \
echo 'git directory not found: installing possibly empty changelog.' >&2)" touch \$(top_srcdir)/ChangeLog; \
echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))"
@ -10253,14 +10231,45 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)"
macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros`
INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \
mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ || (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \
echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" touch \$(top_srcdir)/INSTALL; \
echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))"
case $host_os in
solaris*)
# Solaris 2.0 - 11.3 use SysV man page section numbers, so we
# check for a man page file found in later versions that use
# traditional section numbers instead
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for /usr/share/man/man7/attributes.7" >&5
$as_echo_n "checking for /usr/share/man/man7/attributes.7... " >&6; }
if ${ac_cv_file__usr_share_man_man7_attributes_7+:} false; then :
$as_echo_n "(cached) " >&6
else
test "$cross_compiling" = yes &&
as_fn_error $? "cannot check for file existence when cross compiling" "$LINENO" 5
if test -r "/usr/share/man/man7/attributes.7"; then
ac_cv_file__usr_share_man_man7_attributes_7=yes
else
ac_cv_file__usr_share_man_man7_attributes_7=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_file__usr_share_man_man7_attributes_7" >&5
$as_echo "$ac_cv_file__usr_share_man_man7_attributes_7" >&6; }
if test "x$ac_cv_file__usr_share_man_man7_attributes_7" = xyes; then :
SYSV_MAN_SECTIONS=false
else
SYSV_MAN_SECTIONS=true
fi
;;
*) SYSV_MAN_SECTIONS=false ;;
esac
if test x$APP_MAN_SUFFIX = x ; then if test x$APP_MAN_SUFFIX = x ; then
APP_MAN_SUFFIX=1 APP_MAN_SUFFIX=1
fi fi
@ -10276,9 +10285,9 @@ if test x$LIB_MAN_DIR = x ; then
fi fi
if test x$FILE_MAN_SUFFIX = x ; then if test x$FILE_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) FILE_MAN_SUFFIX=4 ;; true) FILE_MAN_SUFFIX=4 ;;
*) FILE_MAN_SUFFIX=5 ;; *) FILE_MAN_SUFFIX=5 ;;
esac esac
fi fi
if test x$FILE_MAN_DIR = x ; then if test x$FILE_MAN_DIR = x ; then
@ -10286,9 +10295,9 @@ if test x$FILE_MAN_DIR = x ; then
fi fi
if test x$MISC_MAN_SUFFIX = x ; then if test x$MISC_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) MISC_MAN_SUFFIX=5 ;; true) MISC_MAN_SUFFIX=5 ;;
*) MISC_MAN_SUFFIX=7 ;; *) MISC_MAN_SUFFIX=7 ;;
esac esac
fi fi
if test x$MISC_MAN_DIR = x ; then if test x$MISC_MAN_DIR = x ; then
@ -10296,9 +10305,9 @@ if test x$MISC_MAN_DIR = x ; then
fi fi
if test x$DRIVER_MAN_SUFFIX = x ; then if test x$DRIVER_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) DRIVER_MAN_SUFFIX=7 ;; true) DRIVER_MAN_SUFFIX=7 ;;
*) DRIVER_MAN_SUFFIX=4 ;; *) DRIVER_MAN_SUFFIX=4 ;;
esac esac
fi fi
if test x$DRIVER_MAN_DIR = x ; then if test x$DRIVER_MAN_DIR = x ; then
@ -10306,9 +10315,9 @@ if test x$DRIVER_MAN_DIR = x ; then
fi fi
if test x$ADMIN_MAN_SUFFIX = x ; then if test x$ADMIN_MAN_SUFFIX = x ; then
case $host_os in case $SYSV_MAN_SECTIONS in
solaris*) ADMIN_MAN_SUFFIX=1m ;; true) ADMIN_MAN_SUFFIX=1m ;;
*) ADMIN_MAN_SUFFIX=8 ;; *) ADMIN_MAN_SUFFIX=8 ;;
esac esac
fi fi
if test x$ADMIN_MAN_DIR = x ; then if test x$ADMIN_MAN_DIR = x ; then
@ -10654,10 +10663,6 @@ else
am__EXEEXT_FALSE= am__EXEEXT_FALSE=
fi fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined. as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5 Usually this means the macro was only invoked conditionally." "$LINENO" 5
@ -11067,7 +11072,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their # report actual input values of CONFIG_FILES etc. instead of their
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by xrandr $as_me 1.5.0, which was This file was extended by xrandr $as_me 1.5.1, which was
generated by GNU Autoconf 2.69. Invocation command line was generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
@ -11127,13 +11132,13 @@ $config_headers
Configuration commands: Configuration commands:
$config_commands $config_commands
Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>." Report bugs to <https://gitlab.freedesktop.org/xorg/app/xrandr/issues>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
xrandr config.status 1.5.0 xrandr config.status 1.5.1
configured by $0, generated by GNU Autoconf 2.69, configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\" with options \\"\$ac_cs_config\\"

View File

@ -22,14 +22,13 @@ dnl Process this file with autoconf to create configure.
# Initialize Autoconf # Initialize Autoconf
AC_PREREQ([2.60]) AC_PREREQ([2.60])
AC_INIT([xrandr], [1.5.0], AC_INIT([xrandr], [1.5.1],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xrandr]) [https://gitlab.freedesktop.org/xorg/app/xrandr/issues], [xrandr])
AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h]) AC_CONFIG_HEADERS([config.h])
# Initialize Automake # Initialize Automake
AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_INIT_AUTOMAKE([foreign dist-xz])
AM_MAINTAINER_MODE
# Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS # Require X.Org macros 1.8 or later for MAN_SUBSTS set by XORG_MANPAGE_SECTIONS
m4_ifndef([XORG_MACROS_VERSION], m4_ifndef([XORG_MACROS_VERSION],

View File

@ -34,7 +34,7 @@ xrandr \- primitive command line interface to RandR extension
[\-\-current] [\-\-current]
[\-\-noprimary] [\-\-noprimary]
[\-\-panning \fIwidth\fPx\fIheight\fP[+\fIx\fP+\fIy\fP[/\fItrack_width\fPx\fItrack_height\fP+\fItrack_x\fP+\fItrack_y\fP[/\fIborder_left\fP/\fIborder_top\fP/\fIborder_right\fP/\fIborder_bottom\fP]]]] [\-\-panning \fIwidth\fPx\fIheight\fP[+\fIx\fP+\fIy\fP[/\fItrack_width\fPx\fItrack_height\fP+\fItrack_x\fP+\fItrack_y\fP[/\fIborder_left\fP/\fIborder_top\fP/\fIborder_right\fP/\fIborder_bottom\fP]]]]
[\-\-scale \fIx\fPx\fIy\fP] [\-\-scale \fIx\fP[x\fIy\fP]]
[\-\-scale-from \fIw\fPx\fIh\fP] [\-\-scale-from \fIw\fPx\fIh\fP]
[\-\-transform \fIa\fP,\fIb\fP,\fIc\fP,\fId\fP,\fIe\fP,\fIf\fP,\fIg\fP,\fIh\fP,\fIi\fP] [\-\-transform \fIa\fP,\fIb\fP,\fIc\fP,\fId\fP,\fIe\fP,\fIf\fP,\fIg\fP,\fIh\fP,\fIi\fP]
[\-\-primary] [\-\-primary]
@ -42,6 +42,7 @@ xrandr \- primitive command line interface to RandR extension
[\-\-fb \fIwidth\fPx\fIheight\fP] [\-\-fb \fIwidth\fPx\fIheight\fP]
[\-\-fbmm \fIwidth\fPx\fIheight\fP] [\-\-fbmm \fIwidth\fPx\fIheight\fP]
[\-\-dpi \fIdpi\fP] [\-\-dpi \fIdpi\fP]
[\-\-dpi \fIfrom-output\fP]
[\-\-newmode \fIname\fP \fImode\fP] [\-\-newmode \fIname\fP \fImode\fP]
[\-\-rmmode \fIname\fP] [\-\-rmmode \fIname\fP]
[\-\-addmode \fIoutput\fP \fIname\fP] [\-\-addmode \fIoutput\fP \fIname\fP]
@ -62,7 +63,7 @@ xrandr \- primitive command line interface to RandR extension
[\-\-set \fIproperty\fP \fIvalue\fP] [\-\-set \fIproperty\fP \fIvalue\fP]
[\-\-off] [\-\-off]
[\-\-crtc \fIcrtc\fP] [\-\-crtc \fIcrtc\fP]
[\-\-gamma \fIred\fP:\fIgreen\fP:\fIblue\fP] [\-\-gamma \fIred\fP[:\fIgreen\fP:\fIblue\fP]]
[\-\-brightness \fIbrightness\fP] [\-\-brightness \fIbrightness\fP]
[\-o \fIorientation\fP] [\-o \fIorientation\fP]
[\-s \fIsize\fP] [\-s \fIsize\fP]
@ -71,6 +72,10 @@ xrandr \- primitive command line interface to RandR extension
[\-\-listproviders] [\-\-listproviders]
[\-\-setprovideroutputsource \fIprovider\fP \fIsource\fP] [\-\-setprovideroutputsource \fIprovider\fP \fIsource\fP]
[\-\-setprovideroffloadsink \fIprovider\fP \fIsink\fP] [\-\-setprovideroffloadsink \fIprovider\fP \fIsink\fP]
[\-\-listmonitors]
[\-\-listactivemonitors]
[\-\-setmonitor \fIname\fP \fIgeometry\fP \fIoutputs\fP]
[\-\-delmonitor \fIname\fP]
.SH DESCRIPTION .SH DESCRIPTION
.I Xrandr .I Xrandr
is used to set the size, orientation and/or reflection of the outputs for a is used to set the size, orientation and/or reflection of the outputs for a
@ -117,6 +122,25 @@ is available.
Forces the usage of the RandR version 1.2 protocol, even if the display does Forces the usage of the RandR version 1.2 protocol, even if the display does
not report it as supported or a higher version is available. not report it as supported or a higher version is available.
.PP .PP
.SH "RandR version 1.5 options"
.PP
Options for RandR 1.5 are used as a superset of the options for RandR 1.4.
.PP
.IP \-\-listmonitors
Report information about all defined monitors.
.IP \-\-listactivemonitors
Report information about currently active monitors.
.IP "\-\-setmonitor \fIname\fP \fIgeometry\fP \fIoutputs\fP"} {none|\fIoutput\fP,\fIoutput\fP,...}\n"
Define a new monitor with the given geometry and associated to the given outputs.
The output list is either the keyword \fBnone\fP or a comma-separated list of outputs.
The geometry is either the keyword \fBauto\fP, in which case the monitor
will automatically track the geometry of the associated outputs, or a manual specification
in the form
\fIw\fP/\fImmw\fPx\fIh\fP/\fImmh\fP+\fIx\fP+\fIy\fP
where w, h, x, y are in pixels and mmw, mmh are the physical dimensions of the monitor.
.IP "\-\-delmonitor \fIname\fP"
Delete the given user-defined monitor.
.PP
.SH "RandR version 1.4 options" .SH "RandR version 1.4 options"
.PP .PP
Options for RandR 1.4 are used as a superset of the options for RandR 1.3. Options for RandR 1.4 are used as a superset of the options for RandR 1.3.
@ -154,7 +178,9 @@ parameters specify the border and default to 0. A width or height set to zero
disables panning on the according axis. You typically have to set the screen disables panning on the according axis. You typically have to set the screen
size with \fI--fb\fP simultaneously. size with \fI--fb\fP simultaneously.
.IP "\-\-transform \fIa\fP,\fIb\fP,\fIc\fP,\fId\fP,\fIe\fP,\fIf\fP,\fIg\fP,\fIh\fP,\fIi\fP" .IP "\-\-transform \fIa\fP,\fIb\fP,\fIc\fP,\fId\fP,\fIe\fP,\fIf\fP,\fIg\fP,\fIh\fP,\fIi\fP"
Specifies a transformation matrix to apply on the output. Automatically a bilinear filter is selected. Specifies a transformation matrix to apply on the output.
A bilinear filter is selected automatically unless the \-\-filter parameter is
also specified.
The mathematical form corresponds to: The mathematical form corresponds to:
.RS .RS
.RS .RS
@ -200,11 +226,17 @@ As a special argument, instead of
passing a matrix, one can pass the string \fInone\fP, in which case the default passing a matrix, one can pass the string \fInone\fP, in which case the default
values are used (a unit matrix without filter). values are used (a unit matrix without filter).
.RE .RE
.IP "\-\-scale \fIx\fPx\fIy\fP" .IP "\-\-filter \fIfiltermode\fP"
Changes the dimensions of the output picture. Values superior to 1 will lead to Chooses the scaling filter method to be applied when the screen is scaled or
a compressed screen (screen dimension bigger than the dimension of the output transformed.
mode), and values below 1 leads to a zoom in on the output. This option is Can be either 'bilinear' or 'nearest'.
actually a shortcut version of the \fI\-\-transform\fP option. .IP "\-\-scale \fIx\fP[x\fIy\fP]"
Changes the dimensions of the output picture.
If the \fIy\fP value is omitted, the \fIx\fP value will be used for both dimensions.
Values larger than 1 lead to a compressed screen (screen dimension bigger
than the dimension of the output mode), and values less than 1 lead to
a zoom in on the output.
This option is actually a shortcut version of the \fI\-\-transform\fP option.
.IP "\-\-scale-from \fIw\fPx\fIh\fP" .IP "\-\-scale-from \fIw\fPx\fIh\fP"
Specifies the size in pixels of the area of the framebuffer to be displayed on Specifies the size in pixels of the area of the framebuffer to be displayed on
this output. this output.
@ -225,13 +257,25 @@ fit within this size. When this option is not provided, xrandr computes the
smallest screen size that will hold the set of configured outputs; this smallest screen size that will hold the set of configured outputs; this
option provides a way to override that behaviour. option provides a way to override that behaviour.
.IP "\-\-fbmm \fIwidth\fPx\fIheight\fP" .IP "\-\-fbmm \fIwidth\fPx\fIheight\fP"
Sets the reported values for the physical size of the screen. Normally, Sets the value reported as physical size of the X screen as a whole
(union of all configured monitors). In configurations with multiple
monitors with different DPIs, the value has no physical meaning, but
it may be used by some legacy clients which do not support RandR
version 1.2 to compute a reference font scaling. Normally,
xrandr resets the reported physical size values to keep the DPI constant. xrandr resets the reported physical size values to keep the DPI constant.
This overrides that computation. This overrides that computation. Default DPI value is 96.
.IP "\-\-dpi \fIdpi\fP" .IP "\-\-dpi \fIdpi\fP"
This also sets the reported physical size values of the screen, it uses the .IP "\-\-dpi \fIfrom-output\fP"
specified DPI value to compute an appropriate physical size using whatever This also sets the value reported as physical size of the X screen as a whole
pixel size will be set. (union of all configured monitors). In configurations with multiple
monitors with different DPIs, the value has no physical meaning, but
it may be used by some legacy clients which do not support RandR
version 1.2 to compute a reference font scaling. This option uses either
the specified DPI value, or the DPI of the given output, to compute an appropriate
physical size using whatever pixel size will be set. Typical values are
the default (96 DPI), the DPI of the only monitor in single-monitor
configurations, or the DPI of the primary monitor in multi-monitor
configurations.
.IP "\-\-newmode \fIname\fP \fImode\fP" .IP "\-\-newmode \fIname\fP \fImode\fP"
New modelines can be added to the server and then associated with outputs. New modelines can be added to the server and then associated with outputs.
This option does the former. The \fImode\fP is specified using the ModeLine This option does the former. The \fImode\fP is specified using the ModeLine
@ -293,9 +337,12 @@ Uses the specified crtc (either as an index in the list of CRTCs or XID).
In normal usage, this option is not required as xrandr tries to make In normal usage, this option is not required as xrandr tries to make
sensible choices about which crtc to use with each output. When that fails sensible choices about which crtc to use with each output. When that fails
for some reason, this option can override the normal selection. for some reason, this option can override the normal selection.
.IP "\-\-gamma \fIred\fP:\fIgreen\fP:\fIblue\fP" .IP "\-\-gamma \fIred\fP[:\fIgreen\fP:\fIblue\fP]"
Set the specified floating point values as gamma correction on the crtc Set the specified floating point values as gamma correction on the crtc
currently attached to this output. Note that you cannot get two different values currently attached to this output.
If green and blue are not specified, the red value will be used
for all three components.
Note that you cannot get two different values
for cloned outputs (i.e.: which share the same crtc) and that switching an output to another crtc doesn't change for cloned outputs (i.e.: which share the same crtc) and that switching an output to another crtc doesn't change
the crtc gamma corrections at all. the crtc gamma corrections at all.
.IP "\-\-brightness \fIbrightness\fP" .IP "\-\-brightness \fIbrightness\fP"

View File

@ -54,6 +54,11 @@ static Bool automatic = False;
static Bool properties = False; static Bool properties = False;
static Bool grab_server = True; static Bool grab_server = True;
static Bool no_primary = False; static Bool no_primary = False;
static int filter_type = -1;
static const char *filter_names[2] = {
"bilinear",
"nearest"};
static const char *direction[5] = { static const char *direction[5] = {
"normal", "normal",
@ -132,13 +137,14 @@ usage(void)
" --below <output>\n" " --below <output>\n"
" --same-as <output>\n" " --same-as <output>\n"
" --set <property> <value>\n" " --set <property> <value>\n"
" --scale <x>x<y>\n" " --scale <x>[x<y>]\n"
" --scale-from <w>x<h>\n" " --scale-from <w>x<h>\n"
" --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>\n" " --transform <a>,<b>,<c>,<d>,<e>,<f>,<g>,<h>,<i>\n"
" --filter nearest,bilinear\n"
" --off\n" " --off\n"
" --crtc <crtc>\n" " --crtc <crtc>\n"
" --panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]\n" " --panning <w>x<h>[+<x>+<y>[/<track:w>x<h>+<x>+<y>[/<border:l>/<t>/<r>/<b>]]]\n"
" --gamma <r>:<g>:<b>\n" " --gamma <r>[:<g>:<b>]\n"
" --brightness <value>\n" " --brightness <value>\n"
" --primary\n" " --primary\n"
" --noprimary\n" " --noprimary\n"
@ -285,6 +291,7 @@ typedef enum _changes {
changes_panning = (1 << 10), changes_panning = (1 << 10),
changes_gamma = (1 << 11), changes_gamma = (1 << 11),
changes_primary = (1 << 12), changes_primary = (1 << 12),
changes_filter = (1 << 13),
} changes_t; } changes_t;
typedef enum _name_kind { typedef enum _name_kind {
@ -630,6 +637,7 @@ print_verbose_mode (const XRRModeInfo *mode, Bool current, Bool preferred)
static void static void
init_name (name_t *name) init_name (name_t *name)
{ {
memset(name, 0, sizeof(*name));
name->kind = name_none; name->kind = name_none;
} }
@ -1311,6 +1319,10 @@ set_output_info (output_t *output, RROutput xid, XRROutputInfo *output_info)
output->transform.params = NULL; output->transform.params = NULL;
} }
} }
if (output->changes & changes_filter)
{
output->transform.filter = filter_names[filter_type];
}
/* set primary */ /* set primary */
if (!(output->changes & changes_primary)) if (!(output->changes & changes_primary))
@ -1811,6 +1823,7 @@ get_outputs (void)
output_t *output; output_t *output;
name_t output_name; name_t output_name;
if (!output_info) fatal ("could not get output 0x%lx information\n", res->outputs[o]); if (!output_info) fatal ("could not get output 0x%lx information\n", res->outputs[o]);
init_name(&output_name);
set_name_xid (&output_name, res->outputs[o]); set_name_xid (&output_name, res->outputs[o]);
set_name_index (&output_name, o); set_name_index (&output_name, o);
set_name_string (&output_name, output_info->name); set_name_string (&output_name, output_info->name);
@ -2808,6 +2821,28 @@ main (int argc, char **argv)
action_requested = True; action_requested = True;
continue; continue;
} }
if (!strcmp("--filter", argv[i])) {
int t;
if (!config_output) argerr ("%s must be used after --output\n", argv[i]);
if (++i >= argc) argerr("%s requires an argument\n", argv[i-1]);
filter_type = -1;
for (t = 0; t < sizeof(filter_names) / sizeof(filter_names[0]); t++)
{
if (!strcmp(filter_names[t], argv[i]))
{
filter_type = t;
break;
}
}
if (filter_type == -1) argerr("Bad argument: %s, for a filter\n", argv[i]);
config_output->changes |= changes_filter;
action_requested = True;
continue;
}
if (!strcmp ("--crtc", argv[i])) { if (!strcmp ("--crtc", argv[i])) {
if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (!config_output) argerr ("%s must be used after --output\n", argv[i]);
if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]);
@ -2934,11 +2969,21 @@ main (int argc, char **argv)
continue; continue;
} }
if (!strcmp ("--gamma", argv[i])) { if (!strcmp ("--gamma", argv[i])) {
char junk;
if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (!config_output) argerr ("%s must be used after --output\n", argv[i]);
if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]);
if (sscanf(argv[i], "%f:%f:%f", &config_output->gamma.red, if (sscanf(argv[i], "%f:%f:%f%c", &config_output->gamma.red,
&config_output->gamma.green, &config_output->gamma.blue) != 3) &config_output->gamma.green, &config_output->gamma.blue, &junk) != 3)
argerr ("%s: invalid argument '%s'\n", argv[i-1], argv[i]); {
/* check if it's a single floating-point value,
* to be applied to all components */
if (sscanf(argv[i], "%f%c", &config_output->gamma.red, &junk) != 1)
argerr ("%s: invalid argument '%s'\n", argv[i-1], argv[i]);
config_output->gamma.green = config_output->gamma.blue = config_output->gamma.red;
}
if (config_output->gamma.red <= 0.0 || config_output->gamma.green <= 0.0 ||
config_output->gamma.blue <= 0.0)
argerr ("gamma correction factors must be positive\n");
config_output->changes |= changes_gamma; config_output->changes |= changes_gamma;
setit_1_2 = True; setit_1_2 = True;
continue; continue;
@ -2981,10 +3026,17 @@ main (int argc, char **argv)
if (!strcmp ("--scale", argv[i])) if (!strcmp ("--scale", argv[i]))
{ {
double sx, sy; double sx, sy;
char junk;
if (!config_output) argerr ("%s must be used after --output\n", argv[i]); if (!config_output) argerr ("%s must be used after --output\n", argv[i]);
if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]); if (++i >= argc) argerr ("%s requires an argument\n", argv[i-1]);
if (sscanf (argv[i], "%lfx%lf", &sx, &sy) != 2) if (sscanf (argv[i], "%lfx%lf%c", &sx, &sy, &junk) != 2)
argerr ("failed to parse '%s' as a scaling factor\n", argv[i]); {
if (sscanf (argv[i], "%lf%c", &sx, &junk) != 1)
argerr ("failed to parse '%s' as a scaling factor\n", argv[i]);
sy = sx;
}
if (sx <= 0.0 || sy <= 0.0)
argerr ("scaling factors must be positive\n");
init_transform (&config_output->transform); init_transform (&config_output->transform);
config_output->transform.transform.matrix[0][0] = XDoubleToFixed (sx); config_output->transform.transform.matrix[0][0] = XDoubleToFixed (sx);
config_output->transform.transform.matrix[1][1] = XDoubleToFixed (sy); config_output->transform.transform.matrix[1][1] = XDoubleToFixed (sy);
@ -3590,7 +3642,7 @@ main (int argc, char **argv)
} }
get_screen(True); get_screen(True);
get_monitors(True); get_monitors(False);
get_crtcs(); get_crtcs();
get_outputs(); get_outputs();
@ -3703,14 +3755,16 @@ main (int argc, char **argv)
printf (" ("); printf (" (");
for (i = 0; i < 4; i ++) { for (i = 0; i < 4; i ++) {
if ((rotations >> i) & 1) { if ((rotations >> i) & 1) {
if (!first) printf (" "); first = False; if (!first) printf (" ");
printf("%s", direction[i]); printf("%s", direction[i]);
first = False;
} }
} }
if (rotations & RR_Reflect_X) if (rotations & RR_Reflect_X)
{ {
if (!first) printf (" "); first = False; if (!first) printf (" ");
printf ("x axis"); printf ("x axis");
first = False;
} }
if (rotations & RR_Reflect_Y) if (rotations & RR_Reflect_Y)
{ {
@ -3873,6 +3927,12 @@ main (int argc, char **argv)
for (j = 0; j < output_info->nmode; j++) for (j = 0; j < output_info->nmode; j++)
{ {
XRRModeInfo *mode = find_mode_by_xid (output_info->modes[j]); XRRModeInfo *mode = find_mode_by_xid (output_info->modes[j]);
if (!mode)
{
printf (" [Unknown mode ID 0x%x]\n",
(int)output_info->modes[j]);
continue;
}
print_verbose_mode (mode, mode == output->mode_info, print_verbose_mode (mode, mode == output->mode_info,
j < output_info->npreferred); j < output_info->npreferred);
@ -3887,16 +3947,23 @@ main (int argc, char **argv)
{ {
XRRModeInfo *jmode, *kmode; XRRModeInfo *jmode, *kmode;
int k; int k;
if (mode_shown[j]) continue; if (mode_shown[j]) continue;
jmode = find_mode_by_xid (output_info->modes[j]); jmode = find_mode_by_xid (output_info->modes[j]);
if (!jmode)
{
printf (" [Unknown mode ID 0x%x]\n",
(int)output_info->modes[j]);
continue;
}
printf (" "); printf (" ");
printf (" %-12s", jmode->name); printf (" %-12s", jmode->name);
for (k = j; k < output_info->nmode; k++) for (k = j; k < output_info->nmode; k++)
{ {
if (mode_shown[k]) continue; if (mode_shown[k]) continue;
kmode = find_mode_by_xid (output_info->modes[k]); kmode = find_mode_by_xid (output_info->modes[k]);
if (!kmode) continue;
if (strcmp (jmode->name, kmode->name) != 0) continue; if (strcmp (jmode->name, kmode->name) != 0) continue;
mode_shown[k] = True; mode_shown[k] = True;
kmode->modeFlags |= ModeShown; kmode->modeFlags |= ModeShown;