diff options
-rw-r--r-- | app/ico/ChangeLog | 145 | ||||
-rw-r--r-- | app/ico/Makefile.in | 4 | ||||
-rw-r--r-- | app/ico/aclocal.m4 | 64 | ||||
-rw-r--r-- | app/ico/compile | 347 | ||||
-rw-r--r-- | app/ico/configure | 97 | ||||
-rw-r--r-- | app/ico/configure.ac | 9 | ||||
-rw-r--r-- | app/ico/ico.c | 102 | ||||
-rw-r--r-- | app/ico/man/ico.man | 11 | ||||
-rw-r--r-- | app/ico/polyinfo.h | 5 |
9 files changed, 677 insertions, 107 deletions
diff --git a/app/ico/ChangeLog b/app/ico/ChangeLog index 8e1d99215..97b6717e9 100644 --- a/app/ico/ChangeLog +++ b/app/ico/ChangeLog @@ -1,3 +1,148 @@ +commit e2a3e08d7a93738a88fdc889517f85d17371b626 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Mar 9 22:26:48 2018 -0800 + + ico 1.0.5 + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 27bb9485b60408c7bad53abf67f69ca99ab8fa2e +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Tue Mar 6 22:50:37 2018 -0800 + + Fix more sign-compare warnings + + ico.c:1136:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] + for (i=0; i<NumberPolygons; i++) { + ^ + + ico.c:1151:13: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] + for (i=0; i<NumberPolygons; i++) { + ^ + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 16ae54507785927e95942690b130d6827d7fb296 +Author: Mihail Konev <k.mvc@ya.ru> +Date: Thu Jan 26 14:00:20 2017 +1000 + + autogen: add default patch prefix + + Signed-off-by: Mihail Konev <k.mvc@ya.ru> + +commit 00a77336cf2ecbe70b5be0e83b3729b76e92211d +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 3f7683aafa4b93b5c3bc416948e909826dc99a13 +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 1d5e7d243e0f0df7afd6198f9e74bb392ddcea46 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Thu Apr 23 22:33:07 2015 -0700 + + Add -version to synopsis in man page + + List -version & -objhelp seperately to indicate they cannot be used + with any of the other options. + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 2aeef741088c391f0d55ed9a063e3988ffd6ee44 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Fri Jan 16 23:01:55 2015 -0800 + + Convert icoFatal() to be a varargs function + + Drops needless NULL arguments and enables printf format checking. + + Gets rid of gcc 4.8 warning: + ico.c: In function ‘icoFatal’: + ico.c:265:2: warning: format not a string literal, argument types not checked [-Wformat-nonliteral] + fprintf(stderr, fmt, a0); + ^ + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> + +commit bbd4273f328e93d429a6edb8872a74f8fb82b259 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sat Oct 25 14:18:42 2014 -0700 + + Make polygon info const - moves 22k from .data to .rodata + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 9db7347730f3c8c9d77e5be4c9746f6d614ce470 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:58:50 2014 -0700 + + Add -version option to print program version + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 30cb700ab15c963a5cbf16cfe6281d5841f59532 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:55:00 2014 -0700 + + Print which option was in error along with usage message + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 3db5ac8466abe367a0a37efe4289aa6c7886e621 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:52:26 2014 -0700 + + Combine usage message array into single string + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 30b454f820eef8759bc2cbc258bf619717279409 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:41:36 2014 -0700 + + autogen.sh: Honor NOCONFIGURE=1 + + See http://people.gnome.org/~walters/docs/build-api.txt + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit fa3d6ddec9447be2d9a3a92b6b6a0dbe00fd1870 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:41:36 2014 -0700 + + configure: Drop AM_MAINTAINER_MODE + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +commit 727503cc004342ee0b34126c5844da381bc0b622 +Author: Alan Coopersmith <alan.coopersmith@oracle.com> +Date: Sun Jun 1 23:38:40 2014 -0700 + + config: Add missing AC_CONFIG_SRCDIR + + Regroup AC statements under the Autoconf initialization section. + Regroup AM statements under the Automake initialization section. + + Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> + commit 0c5f08dee87e0453e3263f8aa5ca545a0a03353e Author: Alan Coopersmith <alan.coopersmith@oracle.com> Date: Tue Jan 15 18:19:49 2013 -0800 diff --git a/app/ico/Makefile.in b/app/ico/Makefile.in index c125a66de..be8ed0d0a 100644 --- a/app/ico/Makefile.in +++ b/app/ico/Makefile.in @@ -75,8 +75,8 @@ bin_PROGRAMS = ico$(EXEEXT) subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ - $(top_srcdir)/configure COPYING ChangeLog INSTALL config.guess \ - config.sub depcomp install-sh missing + $(top_srcdir)/configure COPYING ChangeLog INSTALL compile \ + config.guess config.sub depcomp install-sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ diff --git a/app/ico/aclocal.m4 b/app/ico/aclocal.m4 index c0dbcfb1f..8bef9a948 100644 --- a/app/ico/aclocal.m4 +++ b/app/ico/aclocal.m4 @@ -1242,7 +1242,7 @@ AC_SUBST([am__untar]) dnl xorg-macros.m4. Generated from xorg-macros.m4.in xorgversion.m4 by configure. 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 Permission is hereby granted, free of charge, to any person obtaining a dnl copy of this software and associated documentation files (the "Software"), @@ -1279,7 +1279,7 @@ dnl DEALINGS IN THE SOFTWARE. # See the "minimum version" comment for each macro you use to see what # version you require. 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_needed], m4_substr([$1], 0, m4_index([$1], [.]))) m4_if(m4_cmp(maj_have, maj_needed), 0,, @@ -1357,6 +1357,17 @@ AC_DEFUN([XORG_MANPAGE_SECTIONS],[ AC_REQUIRE([AC_CANONICAL_HOST]) 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 APP_MAN_SUFFIX=1 fi @@ -1372,9 +1383,9 @@ if test x$LIB_MAN_DIR = x ; then fi if test x$FILE_MAN_SUFFIX = x ; then - case $host_os in - solaris*) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + case $SYSV_MAN_SECTIONS in + true) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -1382,9 +1393,9 @@ if test x$FILE_MAN_DIR = x ; then fi if test x$MISC_MAN_SUFFIX = x ; then - case $host_os in - solaris*) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + case $SYSV_MAN_SECTIONS in + true) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -1392,9 +1403,9 @@ if test x$MISC_MAN_DIR = x ; then fi if test x$DRIVER_MAN_SUFFIX = x ; then - case $host_os in - solaris*) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + case $SYSV_MAN_SECTIONS in + true) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -1402,9 +1413,9 @@ if test x$DRIVER_MAN_DIR = x ; then fi if test x$ADMIN_MAN_SUFFIX = x ; then - case $host_os in - solaris*) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + case $SYSV_MAN_SECTIONS in + true) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -1665,13 +1676,24 @@ m4_ifval([$1], fi]) # 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 cat > conftest.xml << "EOF" EOF AS_IF([test "$have_xmlto" = yes], [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])])]) + [# 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 AM_CONDITIONAL([HAVE_XMLTO_TEXT], [test $have_xmlto_text = yes]) AM_CONDITIONAL([HAVE_XMLTO], [test "$have_xmlto" = yes]) @@ -3067,8 +3089,9 @@ AC_REQUIRE([PKG_PROG_PKG_CONFIG]) macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ -|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ -echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" +|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \ +touch \$(top_srcdir)/INSTALL; \ +echo 'failed to copy INSTALL from util-macros: installing empty INSTALL.' >&2))" AC_SUBST([INSTALL_CMD]) ]) # XORG_INSTALL dnl Copyright 2005 Red Hat, Inc @@ -3129,10 +3152,11 @@ AC_DEFUN([XORG_RELEASE_VERSION],[ # # 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) \ -|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ -echo 'git directory not found: installing possibly empty changelog.' >&2)" +|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \ +touch \$(top_srcdir)/ChangeLog; \ +echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))" AC_SUBST([CHANGELOG_CMD]) ]) # XORG_CHANGELOG diff --git a/app/ico/compile b/app/ico/compile new file mode 100644 index 000000000..a85b723c7 --- /dev/null +++ b/app/ico/compile @@ -0,0 +1,347 @@ +#! /bin/sh +# Wrapper for compilers which do not understand '-c -o'. + +scriptversion=2012-10-14.11; # UTC + +# Copyright (C) 1999-2014 Free Software Foundation, Inc. +# Written by Tom Tromey <tromey@cygnus.com>. +# +# 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 <http://www.gnu.org/licenses/>. + +# 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 <bug-automake@gnu.org> or send patches to +# <automake-patches@gnu.org>. + +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 <bug-automake@gnu.org>. +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: diff --git a/app/ico/configure b/app/ico/configure index b4eba0ed5..7a31af9ef 100644 --- a/app/ico/configure +++ b/app/ico/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for ico 1.0.4. +# Generated by GNU Autoconf 2.69 for ico 1.0.5. # # Report bugs to <https://bugs.freedesktop.org/enter_bug.cgi?product=xorg>. # @@ -581,11 +581,12 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='ico' PACKAGE_TARNAME='ico' -PACKAGE_VERSION='1.0.4' -PACKAGE_STRING='ico 1.0.4' +PACKAGE_VERSION='1.0.5' +PACKAGE_STRING='ico 1.0.5' PACKAGE_BUGREPORT='https://bugs.freedesktop.org/enter_bug.cgi?product=xorg' PACKAGE_URL='' +ac_unique_file="Makefile.am" # Factoring default headers for most tests. ac_includes_default="\ #include <stdio.h> @@ -1311,7 +1312,7 @@ 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 ico 1.0.4 to adapt to many kinds of systems. +\`configure' configures ico 1.0.5 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1381,7 +1382,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of ico 1.0.4:";; + short | recursive ) echo "Configuration of ico 1.0.5:";; esac cat <<\_ACEOF @@ -1488,7 +1489,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -ico configure 1.0.4 +ico configure 1.0.5 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -1812,7 +1813,7 @@ 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 ico $as_me 1.0.4, which was +It was created by ico $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2160,6 +2161,11 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu + +ac_config_headers="$ac_config_headers config.h" + + +# Initialize Automake am__api_version='1.12' ac_aux_dir= @@ -2636,7 +2642,7 @@ fi # Define the identity of the package. PACKAGE='ico' - VERSION='1.0.4' + VERSION='1.0.5' cat >>confdefs.h <<_ACEOF @@ -10303,10 +10309,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) \ -|| (rm -f \$(top_srcdir)/.changelog.tmp; touch \$(top_srcdir)/ChangeLog; \ -echo 'git directory not found: installing possibly empty changelog.' >&2)" +|| (rm -f \$(top_srcdir)/.changelog.tmp; test -e \$(top_srcdir)/ChangeLog || ( \ +touch \$(top_srcdir)/ChangeLog; \ +echo 'git failed to create ChangeLog: installing empty ChangeLog.' >&2))" @@ -10314,14 +10321,45 @@ echo 'git directory not found: installing possibly empty changelog.' >&2)" macros_datadir=`$PKG_CONFIG --print-errors --variable=pkgdatadir xorg-macros` INSTALL_CMD="(cp -f "$macros_datadir/INSTALL" \$(top_srcdir)/.INSTALL.tmp && \ mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \ -|| (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \ -echo 'util-macros \"pkgdatadir\" from xorg-macros.pc not found: installing possibly empty INSTALL.' >&2)" +|| (rm -f \$(top_srcdir)/.INSTALL.tmp; test -e \$(top_srcdir)/INSTALL || ( \ +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 APP_MAN_SUFFIX=1 fi @@ -10337,9 +10375,9 @@ if test x$LIB_MAN_DIR = x ; then fi if test x$FILE_MAN_SUFFIX = x ; then - case $host_os in - solaris*) FILE_MAN_SUFFIX=4 ;; - *) FILE_MAN_SUFFIX=5 ;; + case $SYSV_MAN_SECTIONS in + true) FILE_MAN_SUFFIX=4 ;; + *) FILE_MAN_SUFFIX=5 ;; esac fi if test x$FILE_MAN_DIR = x ; then @@ -10347,9 +10385,9 @@ if test x$FILE_MAN_DIR = x ; then fi if test x$MISC_MAN_SUFFIX = x ; then - case $host_os in - solaris*) MISC_MAN_SUFFIX=5 ;; - *) MISC_MAN_SUFFIX=7 ;; + case $SYSV_MAN_SECTIONS in + true) MISC_MAN_SUFFIX=5 ;; + *) MISC_MAN_SUFFIX=7 ;; esac fi if test x$MISC_MAN_DIR = x ; then @@ -10357,9 +10395,9 @@ if test x$MISC_MAN_DIR = x ; then fi if test x$DRIVER_MAN_SUFFIX = x ; then - case $host_os in - solaris*) DRIVER_MAN_SUFFIX=7 ;; - *) DRIVER_MAN_SUFFIX=4 ;; + case $SYSV_MAN_SECTIONS in + true) DRIVER_MAN_SUFFIX=7 ;; + *) DRIVER_MAN_SUFFIX=4 ;; esac fi if test x$DRIVER_MAN_DIR = x ; then @@ -10367,9 +10405,9 @@ if test x$DRIVER_MAN_DIR = x ; then fi if test x$ADMIN_MAN_SUFFIX = x ; then - case $host_os in - solaris*) ADMIN_MAN_SUFFIX=1m ;; - *) ADMIN_MAN_SUFFIX=8 ;; + case $SYSV_MAN_SECTIONS in + true) ADMIN_MAN_SUFFIX=1m ;; + *) ADMIN_MAN_SUFFIX=8 ;; esac fi if test x$ADMIN_MAN_DIR = x ; then @@ -10449,9 +10487,6 @@ AM_BACKSLASH='\' -ac_config_headers="$ac_config_headers config.h" - - # Checks for library functions. for ac_func in arc4random_uniform do : @@ -11102,7 +11137,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by ico $as_me 1.0.4, which was +This file was extended by ico $as_me 1.0.5, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -11168,7 +11203,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -ico config.status 1.0.4 +ico config.status 1.0.5 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" @@ -11297,8 +11332,8 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 for ac_config_target in $ac_config_targets do case $ac_config_target in - "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "man/Makefile") CONFIG_FILES="$CONFIG_FILES man/Makefile" ;; diff --git a/app/ico/configure.ac b/app/ico/configure.ac index d48ba0538..00f703773 100644 --- a/app/ico/configure.ac +++ b/app/ico/configure.ac @@ -21,9 +21,14 @@ dnl PERFORMANCE OF THIS SOFTWARE. dnl dnl Process this file with autoconf to create configure. +# Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([ico], [1.0.4], +AC_INIT([ico], [1.0.5], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [ico]) +AC_CONFIG_SRCDIR([Makefile.am]) +AC_CONFIG_HEADERS([config.h]) + +# Initialize Automake AM_INIT_AUTOMAKE([foreign dist-bzip2]) AM_MAINTAINER_MODE @@ -33,8 +38,6 @@ m4_ifndef([XORG_MACROS_VERSION], XORG_MACROS_VERSION(1.8) XORG_DEFAULT_OPTIONS -AC_CONFIG_HEADERS([config.h]) - # Checks for library functions. AC_CHECK_FUNCS([arc4random_uniform]) diff --git a/app/ico/ico.c b/app/ico/ico.c index e3bdebed5..1104ca64d 100644 --- a/app/ico/ico.c +++ b/app/ico/ico.c @@ -87,6 +87,7 @@ SOFTWARE. #include <X11/Xfuncs.h> #include <X11/keysym.h> #include <stdio.h> +#include <stdarg.h> #ifdef MULTIBUFFER #include <X11/extensions/multibuf.h> #endif /* MULTIBUFFER */ @@ -179,37 +180,38 @@ static const char *Primaries[] = { }; #define NumberPrimaries 6 -static const char *help_message[] = { -"where options include:", -"-display host:dpy X server to use", -" -geometry geom geometry of window to use", -" -size WxH size of object to rotate", -" -delta +X+Y amount by which to move object", -" -r draw in the root window", -" -d number dashed line pattern for wire frames", -" -bg color background color", -" -colors color ... codes to use on sides", -" -p# use # (1 through 8) primary colors", +static const char *help_message = +"where options include:\n" +" -display host:dpy X server to use\n" +" -geometry geom geometry of window to use\n" +" -size WxH size of object to rotate\n" +" -delta +X+Y amount by which to move object\n" +" -r draw in the root window\n" +" -d number dashed line pattern for wire frames\n" +" -bg color background color\n" +" -colors color ... codes to use on sides\n" +" -p# use # (1 through 8) primary colors\n" #ifdef MULTIBUFFER -" -dbl use double buffering (extension if present)", +" -dbl use double buffering extension (if present)\n" #else -" -dbl use double buffering (software only)", +" -dbl use double buffering (software only)\n" #endif -" -softdbl use software double buffering", -" -noedges don't draw wire frame edges", -" -faces draw faces", -" -copy use multibuffer update action Copied", -" -untouched use multibuffer update action Untouched", -" -undefined use multibuffer update action Undefined", -" -lw number line width to use", -" -i invert", -" -sleep number seconds to sleep in between draws", -" -obj objname type of polyhedral object to draw", -" -objhelp list polyhedral objects available", +" -softdbl use software double buffering\n" +" -noedges don't draw wire frame edges\n" +" -faces draw faces\n" +" -copy use multibuffer update action Copied\n" +" -untouched use multibuffer update action Untouched\n" +" -undefined use multibuffer update action Undefined\n" +" -lw number line width to use\n" +" -i invert\n" +" -sleep number seconds to sleep in between draws\n" +" -obj objname type of polyhedral object to draw\n" +" -objhelp list polyhedral objects available\n" #ifdef MULTITHREAD -" -threads number number of windows, each its own thread", +" -threads number number of windows, each its own thread\n" #endif -NULL}; +" -version print program version\n" +; static const char *ProgramName; /* argv[0] */ @@ -255,13 +257,15 @@ static xcondition_rec count_cond;/* Xthreads doesn't define an equivalent to *****************************************************************************/ -static void icoFatal (const char *fmt, const char *a0) _X_NORETURN; - -static void -icoFatal(const char *fmt, const char *a0) +static void _X_NORETURN _X_ATTRIBUTE_PRINTF(1, 2) +icoFatal(const char *fmt, ...) { + va_list args; + fprintf(stderr, "%s: ", ProgramName); - fprintf(stderr, fmt, a0); + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); fprintf(stderr, "\n"); exit(1); } @@ -467,7 +471,7 @@ icoClearArea(struct closure *closure, int x, int y, int w, int h) static void initPoly(struct closure *closure, Polyinfo *poly, int icoW, int icoH) { - Point3D *vertices = poly->v; + const Point3D *vertices = poly->v; int NV = poly->numverts; Transform3D r1; Transform3D r2; @@ -476,7 +480,7 @@ initPoly(struct closure *closure, Polyinfo *poly, int icoW, int icoH) FormatRotateMat('y', 5 * 3.1416 / 180.0, r2); ConcatMat(r1, r2, closure->xform); - memcpy((char *)closure->xv[0], (char *)vertices, NV * sizeof(Point3D)); + memcpy(closure->xv[0], vertices, NV * sizeof(Point3D)); closure->xv_buffer = 0; closure->wo2 = icoW / 2.0; @@ -563,7 +567,7 @@ static void drawPoly(struct closure *closure, Polyinfo *poly, GC gc, int icoX, int icoY, int icoW, int icoH, int prevX, int prevY) { - int *f = poly->f; + const int *f = poly->f; int NV = poly->numverts; int NF = poly->numfaces; @@ -576,7 +580,7 @@ drawPoly(struct closure *closure, Polyinfo *poly, GC gc, XSegment edges[MAXEDGES]; int i; int j,k; - int *pf; + const int *pf; int facecolor; int pcount; @@ -753,7 +757,7 @@ initDBufs(struct closure *closure, unsigned long fg, unsigned long bg, closure->plane_masks,closure->totalplanes, closure->pixels,1); /* allocate color planes */ if (t==0) { - icoFatal("can't allocate enough color planes", NULL); + icoFatal("can't allocate enough color planes"); } } @@ -846,7 +850,7 @@ do_ico_window(void *ptr) #endif closure->cmap = XDefaultColormap(dpy,DefaultScreen(dpy)); if (!closure->cmap) { - icoFatal("no default colormap!", NULL); + icoFatal("no default colormap!"); } fg = WhitePixel(dpy, DefaultScreen(dpy)); @@ -929,7 +933,7 @@ do_ico_window(void *ptr) printf("thread %x got Expose\n", xthread_self()); #endif if (XGetWindowAttributes(dpy,closure->draw_window,&xwa)==0) { - icoFatal("cannot get window attributes (size)", NULL); + icoFatal("cannot get window attributes (size)"); } closure->winW = xwa.width; closure->winH = xwa.height; @@ -966,7 +970,7 @@ do_ico_window(void *ptr) 0, 0, closure->winW, closure->winH, 0, 0); closure->win = closure->multibuffers[1]; } else - icoFatal ("unable to obtain 2 buffers", NULL); + icoFatal ("unable to obtain 2 buffers"); } #endif /* MULTIBUFFER */ if (closure->win == None) closure->win = closure->draw_window; @@ -1127,7 +1131,7 @@ do_ico_window(void *ptr) static void giveObjHelp(void) { - int i; + unsigned int i; Polyinfo *poly; printf("%-16s%-12s #Vert. #Edges #Faces %-16s\n", @@ -1144,7 +1148,7 @@ giveObjHelp(void) static Polyinfo * findpoly(const char *name) { - int i; + unsigned int i; Polyinfo *poly; for (i=0; i<NumberPolygons; i++) { @@ -1276,19 +1280,21 @@ int main(int argc, const char **argv) giveObjHelp(); exit(1); } + else if (strcmp(*argv, "-version") == 0) { + puts(PACKAGE_STRING); + exit(0); + } else { /* unknown arg */ - const char **cpp; - - fprintf (stderr, "usage: %s [options]\n\n", - ProgramName); - for (cpp = help_message; *cpp; cpp++) - fprintf (stderr, "%s\n", *cpp); + fprintf (stderr, "%s: unrecognized argument %s\n\n", + ProgramName, *argv); + fprintf (stderr, "usage: %s [options]\n\n%s", + ProgramName, help_message); exit (1); } } if (!dofaces && !doedges) - icoFatal("nothing to draw", NULL); + icoFatal("nothing to draw"); #ifdef MULTITHREAD XInitThreads(); diff --git a/app/ico/man/ico.man b/app/ico/man/ico.man index 34d6254f1..0646fa1a5 100644 --- a/app/ico/man/ico.man +++ b/app/ico/man/ico.man @@ -5,7 +5,13 @@ ico \- animate an icosahedron or other polyhedron .B ico [-display display] [-geometry geometry] [-r] [-d pattern] [-i] [-dbl] [-faces] [-noedges] -[-sleep n] [-obj object] [-objhelp] [-colors color-list] +[-sleep n] [-obj object] [-colors color-list] +.LP +.B ico +-objhelp +.LP +.B ico +-version .SH DESCRIPTION .I Ico displays a wire-frame rotating polyhedron, with hidden lines removed, @@ -54,6 +60,9 @@ about each object. .B -colors \fIcolor color ...\fP Specify what colors should be used to draw the filled faces of the object. If less colors than faces are given, the colors are reused. +.TP +.B -version +Print program version information and exit. .SH PROGRAM TERMINATION .LP Pressing "q" will close a window. If compiled with threads support, the diff --git a/app/ico/polyinfo.h b/app/ico/polyinfo.h index c4b80f1e6..daf68db5d 100644 --- a/app/ico/polyinfo.h +++ b/app/ico/polyinfo.h @@ -16,7 +16,7 @@ typedef struct { } Point3D; /* structure of the include files which define the polyhedra */ -typedef struct { +struct polyinfo { const char *longname; /* long name of object */ const char *shortname; /* short name of object */ const char *dual; /* long name of dual */ @@ -25,6 +25,7 @@ typedef struct { int numfaces; /* number of faces */ Point3D v[MAXVERTS]; /* the vertices */ int f[MAXEDGES*2+MAXFACES]; /* the faces */ -} Polyinfo; +}; +typedef const struct polyinfo Polyinfo; /* end */ |