Update to libXt 1.1.5

This commit is contained in:
matthieu 2015-05-10 09:26:33 +00:00
parent 5a65a1959d
commit 364407971f
29 changed files with 1401 additions and 539 deletions

View File

@ -1,3 +1,238 @@
commit e7411e7e5299116604ff1f01d9415802607f1051
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu Apr 30 22:36:14 2015 -0700
libXt 1.1.5
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 0c2c7562426aec7bdf9b54a7d6993153e0bce489
Author: Yaakov Selkowitz <yselkowitz@users.sourceforge.net>
Date: Sun Aug 10 12:44:26 2014 -0500
Fix _XtInherit on x86_64 Windows
As noted in Initialize.c, _XtInherit needs special treatment as it's both called
as a function, and used as a value to compare with.
We need to change this trickery for x86_64, as the symbols are no longer
underscore prefixed, and the address is 64 bits.
We also cannot place the trampoline in the .data section, as it may be marked
no-execute, so we use a special section for it instead.
v2: Uses of XtInherit must also be marked dllimport, so that they do not use a
thunk, but instead indirect via the __imp_XtInherit auto-import. This avoids
problems with an incorrect relocation being calculated in the case where libXt
and a library using it (e.g. libXaw/libXaw3d/libXm/etc.) are loaded more than
2GiB apart from each other.
This is enough to build a working libXt for Cygwin x86_64, because it uses the
LP64 data model. I believe that more patches are needed for libXt to work
correctly when built for the Windows LLP64 data model.
Signed-off-by: Yaakov Selkowitz <yselkowitz@cygwin.com>
Reviewed-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: Colin Harrison <colin.harrison@virgin.net>
commit 171d82fa36bb601360da2cc519718c46f137c467
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date: Tue Apr 14 12:21:58 2015 +0100
Include unistd.h for getpid()
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: David Macek <david.macek.0@gmail.com>
commit af9c277491c9bdc37a6fc5ae5a6c6ca190bfa56c
Author: Jon TURNEY <jon.turney@dronecode.org.uk>
Date: Tue Apr 14 12:19:07 2015 +0100
Include direct.h header for _getdrives() on Win32
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
Reviewed-by: David Macek <david.macek.0@gmail.com>
commit e7094ceaf95a15eae73819d0ffdb9b982075e0d2
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Feb 14 14:10:21 2015 -0800
unifdef -UCRAY -UCRAY2
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 33a6d9dc30188c02a3ec703153728b31d458ec1e
Author: Rob Clark <robdclark@gmail.com>
Date: Mon Jan 26 11:51:48 2015 -0500
asprintf needs _GNU_SOURCE on some platforms
Fixes a build break noticed on fedora 21 on arm (although I doubt that
is in any way arch specific).
http://tinderbox.x.org/builds/2015-01-26-0012/logs/libXt/#build
Signed-off-by: Rob Clark <robdclark@gmail.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit ca04f74887d53c75e794f643f7e860ba588c3a57
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 18 11:21:45 2015 -0800
makestrs: Use asprintf() if available
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit fba83e45a8d5dc2ca920ec6c49446d2b54c2db5c
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 18 10:58:08 2015 -0800
makestrs: Replace strcpy()+strcat() calls with snprintf() calls
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit 47fa41960650dd0e97eb78de2af0f5fcd9323b35
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 18 10:43:11 2015 -0800
makestrs: Replace malloc()+strcpy() calls with strdup() calls
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit f3e5903536f80cb42ee6841f85e013284eb4c2fc
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 18 10:27:42 2015 -0800
makestrs: use strchr() instead of index()
Besides being supported by more standards, strchr() has the important
characteristic of having a prototype included in <string.h> on Solaris
so that 64-bit compiles know it returns a pointer, not an integer.
(On Solaris, index() is only found in <strings.h>, for SunOS compatibility.)
Without this fix, makestrs segfaulted in 64-bit builds on Solaris after
commit f9baaf55ff8cbd4bf018a34f181eda30d03b20dc switched to <string.h>.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit aed2c4d3493cf3a06ad1240f317552fd8bfd687a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sun Jan 18 10:34:38 2015 -0800
If CFLAGS_FOR_BUILD is not set, include CWARNFLAGS in default value
Help catch errors like missing prototypes in makestrs sooner.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
commit f9baaf55ff8cbd4bf018a34f181eda30d03b20dc
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Thu Jan 8 09:18:16 2015 +0100
Use string.h instead of X11/Xos.h.
Long long ago, Xos.h was needed to choose between <string.h> &
<strings.h> depending on the OS in use.
Today we can rely on C89 & later providing <string.h> everywhere
for us.
Signed-off-by: Thomas Klausner <wiz@NetBSD.org>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 51d63a9d82dc4f2407862131bbf3e5d72b4505d3
Author: Gaetan Nadon <memsize@videotron.ca>
Date: Sat Sep 21 12:52:15 2013 -0400
Use $(MKDIR_P) in Makefile.am for better code portability
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
commit 8828fc21cb5b10f06294e460d15c38e234324960
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Wed Jul 10 08:18:26 2013 -0700
Revert "Avoid shadowing variables."
This reverts commit 3919044bd7d3bcb85ce3425a43b8889a248a7542.
Breaks programs such as xcalc & xlogo on multiple platforms.
commit 9dc5fb0b9640b79a234b58e640e05d8276556beb
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Tue Jun 25 23:02:48 2013 +0200
Fix char vs. unsigned char warnings.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 3919044bd7d3bcb85ce3425a43b8889a248a7542
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Tue Jun 25 23:02:46 2013 +0200
Avoid shadowing variables.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit d395f487e659ee1091eb60c89c551ba1b61dfe51
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Tue Jun 25 23:02:50 2013 +0200
Ignore test-driver from automake-1.13.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 71c76a6c500761a2ca0091a55b8c106906fcb125
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Wed Jun 26 00:43:03 2013 +0200
Mark non-returning function with appropriate attribute.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit ce57783ea5b5c47f5dca172d36a76f91dd7704df
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Wed Jun 26 00:43:32 2013 +0200
Use appropriate variable type for vsnprintf return value.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 0bf255ce5f2aeacece0b685996491729f804fe94
Author: Thierry Reding <thierry.reding@avionic-design.de>
Date: Thu Jan 3 10:16:55 2013 +0100
Fix cross-compilation
When cross-compiling against a sysroot for instance, a --sysroot option
is typically passed via the CPPFLAGS variable. This can cause the build
to break in the util subdirectory which requires the CPPFLAGS to be set
for the build system.
Solve this by using the value of CPPFLAGS_FOR_BUILD for CPPFLAGS in the
util subdirectory. Cross-compile setups can override the variable when
calling the configure script.
Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit 02fd80afd5d2416301e5166e202ff859902c7987
Author: Thomas Klausner <wiz@NetBSD.org>
Date: Sun Jun 2 21:48:38 2013 +0200
Add missing comma to fix DEBUG build.
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
commit e83d6d66ea28b0aaa7e574dd2471121a5250b934
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Thu May 30 18:13:27 2013 -0700

View File

@ -1,11 +1,13 @@
Installation Instructions
*************************
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
Copyright (C) 1994-1996, 1999-2002, 2004-2011 Free Software Foundation,
Inc.
This file is free documentation; the Free Software Foundation gives
unlimited permission to copy, distribute and modify it.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
@ -13,7 +15,11 @@ Basic Installation
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package.
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
@ -42,7 +48,7 @@ may remove or edit it.
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
@ -53,12 +59,22 @@ The simplest way to compile this package is:
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package.
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation.
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. You can remove the program binaries and object files from the
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
@ -67,8 +83,15 @@ The simplest way to compile this package is:
all sorts of other programs in order to regenerate files that came
with the distribution.
6. Often, you can also type `make uninstall' to remove the installed
files again.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'.
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
@ -120,7 +144,8 @@ Installation Names
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX'.
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them.
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Optional Features
=================
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
@ -159,10 +222,15 @@ Particular systems
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae"
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
@ -174,6 +242,16 @@ and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
@ -189,7 +267,8 @@ type, such as `sun4', or a canonical name which has the form:
where SYSTEM can have one of these forms:
OS KERNEL-OS
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
@ -277,7 +356,7 @@ operates.
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *Note Installation Names::
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.

View File

@ -74,7 +74,7 @@ host_triplet = @host@
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.h.in $(srcdir)/xt.pc.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
$(top_srcdir)/configure COPYING ChangeLog INSTALL NEWS compile \
config.guess config.sub depcomp install-sh ltmain.sh missing
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_define_dir.m4 \
@ -216,6 +216,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -279,6 +280,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -289,6 +292,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

177
lib/libXt/aclocal.m4 vendored
View File

@ -20,6 +20,7 @@ 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'.])])
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
# Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
#
@ -46,8 +47,12 @@ To do so, use the procedure documented by the package, typically 'autoreconf'.])
# ----------------------------------
AC_DEFUN([PKG_PROG_PKG_CONFIG],
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
fi
@ -60,7 +65,6 @@ if test -n "$PKG_CONFIG"; then
AC_MSG_RESULT([no])
PKG_CONFIG=""
fi
fi[]dnl
])# PKG_PROG_PKG_CONFIG
@ -69,34 +73,32 @@ fi[]dnl
# Check to see whether a particular set of modules exists. Similar
# to PKG_CHECK_MODULES(), but does not set variables or print errors.
#
#
# Similar to PKG_CHECK_MODULES, make sure that the first instance of
# this or PKG_CHECK_MODULES is called, or make sure to call
# PKG_CHECK_EXISTS manually
# Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
# only at the first occurence in configure.ac, so if the first place
# it's called might be skipped (such as if it is within an "if", you
# have to call PKG_CHECK_EXISTS manually
# --------------------------------------------------------------
AC_DEFUN([PKG_CHECK_EXISTS],
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
if test -n "$PKG_CONFIG" && \
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
m4_ifval([$2], [$2], [:])
m4_default([$2], [:])
m4_ifvaln([$3], [else
$3])dnl
fi])
# _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
# ---------------------------------------------
m4_define([_PKG_CONFIG],
[if test -n "$PKG_CONFIG"; then
if test -n "$$1"; then
pkg_cv_[]$1="$$1"
else
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`],
[pkg_failed=yes])
fi
else
pkg_failed=untried
[if test -n "$$1"; then
pkg_cv_[]$1="$$1"
elif test -n "$PKG_CONFIG"; then
PKG_CHECK_EXISTS([$3],
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
test "x$?" != "x0" && pkg_failed=yes ],
[pkg_failed=yes])
else
pkg_failed=untried
fi[]dnl
])# _PKG_CONFIG
@ -138,16 +140,17 @@ and $1[]_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.])
if test $pkg_failed = yes; then
AC_MSG_RESULT([no])
_PKG_SHORT_ERRORS_SUPPORTED
if test $_pkg_short_errors_supported = yes; then
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"`
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
else
$1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"`
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
fi
# Put the nasty error message in config.log where it belongs
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
ifelse([$4], , [AC_MSG_ERROR(dnl
m4_default([$4], [AC_MSG_ERROR(
[Package requirements ($2) were not met:
$$1_PKG_ERRORS
@ -155,28 +158,67 @@ $$1_PKG_ERRORS
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
_PKG_TEXT
])],
[AC_MSG_RESULT([no])
$4])
_PKG_TEXT])[]dnl
])
elif test $pkg_failed = untried; then
ifelse([$4], , [AC_MSG_FAILURE(dnl
AC_MSG_RESULT([no])
m4_default([$4], [AC_MSG_FAILURE(
[The pkg-config script could not be found or is too old. Make sure it
is in your PATH or set the PKG_CONFIG environment variable to the full
path to pkg-config.
_PKG_TEXT
To get pkg-config, see <http://www.freedesktop.org/software/pkgconfig>.])],
[$4])
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
])
else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
AC_MSG_RESULT([yes])
ifelse([$3], , :, [$3])
$3
fi[]dnl
])# PKG_CHECK_MODULES
# PKG_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable pkgconfigdir as the location where a module
# should install pkg-config .pc files. By default the directory is
# $libdir/pkgconfig, but the default can be changed by passing
# DIRECTORY. The user can override through the --with-pkgconfigdir
# parameter.
AC_DEFUN([PKG_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([pkgconfigdir],
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
[with_pkgconfigdir=]pkg_default)
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_INSTALLDIR
# PKG_NOARCH_INSTALLDIR(DIRECTORY)
# -------------------------
# Substitutes the variable noarch_pkgconfigdir as the location where a
# module should install arch-independent pkg-config .pc files. By
# default the directory is $datadir/pkgconfig, but the default can be
# changed by passing DIRECTORY. The user can override through the
# --with-noarch-pkgconfigdir parameter.
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
m4_pushdef([pkg_description],
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
AC_ARG_WITH([noarch-pkgconfigdir],
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
[with_noarch_pkgconfigdir=]pkg_default)
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
m4_popdef([pkg_default])
m4_popdef([pkg_description])
]) dnl PKG_NOARCH_INSTALLDIR
# Copyright (C) 2002-2012 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
@ -1169,7 +1211,7 @@ m4_include([m4/lt~obsolete.m4])
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
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"),
dnl to deal in the Software without restriction, including without limitation
@ -1202,10 +1244,10 @@ dnl DEALINGS IN THE SOFTWARE.
# [m4_fatal([must install xorg-macros 1.1 or later before running autoconf/autogen])])
#
#
# 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.
m4_defun([XORG_MACROS_VERSION],[
m4_define([vers_have], [1.16.2])
m4_define([vers_have], [1.19.0])
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,,
@ -1225,7 +1267,7 @@ m4_undefine([maj_needed])
# such as man pages and config files
AC_DEFUN([XORG_PROG_RAWCPP],[
AC_REQUIRE([AC_PROG_CPP])
AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
AC_PATH_PROGS(RAWCPP, [cpp], [${CPP}],
[$PATH:/bin:/usr/bin:/usr/lib:/usr/libexec:/usr/ccs/lib:/usr/ccs/lbin:/lib])
# Check for flag to avoid builtin definitions - assumes unix is predefined,
@ -1255,6 +1297,7 @@ if test `${RAWCPP} < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
AC_MSG_RESULT([no])
else
if test `${RAWCPP} -traditional < conftest.$ac_ext | grep -c 'preserve \"'` -eq 1 ; then
TRADITIONALCPPFLAGS="-traditional"
RAWCPPFLAGS="${RAWCPPFLAGS} -traditional"
AC_MSG_RESULT([yes])
else
@ -1263,6 +1306,7 @@ else
fi
rm -f conftest.$ac_ext
AC_SUBST(RAWCPPFLAGS)
AC_SUBST(TRADITIONALCPPFLAGS)
]) # XORG_PROG_RAWCPP
# XORG_MANPAGE_SECTIONS()
@ -1787,9 +1831,10 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
]) # XORG_WITH_ASCIIDOC
# XORG_WITH_DOXYGEN([MIN-VERSION], [DEFAULT])
# --------------------------------
# -------------------------------------------
# Minimum version: 1.5.0
# Minimum version for optional DEFAULT argument: 1.11.0
# Minimum version for optional DOT checking: 1.18.0
#
# Documentation tools are not always available on all platforms and sometimes
# not at the appropriate level. This macro enables a module to test for the
@ -1809,6 +1854,7 @@ AM_CONDITIONAL([HAVE_ASCIIDOC], [test "$have_asciidoc" = yes])
#
AC_DEFUN([XORG_WITH_DOXYGEN],[
AC_ARG_VAR([DOXYGEN], [Path to doxygen command])
AC_ARG_VAR([DOT], [Path to the dot graphics utility])
m4_define([_defopt], m4_default([$2], [auto]))
AC_ARG_WITH(doxygen,
AS_HELP_STRING([--with-doxygen],
@ -1852,6 +1898,20 @@ m4_ifval([$1],
AC_MSG_ERROR([doxygen version $doxygen_version found, but $1 needed])
fi])
fi])
dnl Check for DOT if we have doxygen. The caller decides if it is mandatory
dnl HAVE_DOT is a variable that can be used in your doxygen.in config file:
dnl HAVE_DOT = @HAVE_DOT@
HAVE_DOT=no
if test "x$have_doxygen" = "xyes"; then
AC_PATH_PROG([DOT], [dot])
if test "x$DOT" != "x"; then
HAVE_DOT=yes
fi
fi
AC_SUBST([HAVE_DOT])
AM_CONDITIONAL([HAVE_DOT], [test "$HAVE_DOT" = "yes"])
AM_CONDITIONAL([HAVE_DOXYGEN], [test "$have_doxygen" = yes])
]) # XORG_WITH_DOXYGEN
@ -2034,6 +2094,29 @@ fi])
AM_CONDITIONAL([HAVE_FOP], [test "$have_fop" = yes])
]) # XORG_WITH_FOP
# XORG_WITH_M4([MIN-VERSION])
# ---------------------------
# Minimum version: 1.19.0
#
# This macro attempts to locate an m4 macro processor which supports
# -I option and is only useful for modules relying on M4 in order to
# expand macros in source code files.
#
# Interface to module:
# M4: returns the path of the m4 program found
# returns the path set by the user in the environment
#
AC_DEFUN([XORG_WITH_M4], [
AC_CACHE_CHECK([for m4 that supports -I option], [ac_cv_path_M4],
[AC_PATH_PROGS_FEATURE_CHECK([M4], [m4 gm4],
[[$ac_path_M4 -I. /dev/null > /dev/null 2>&1 && \
ac_cv_path_M4=$ac_path_M4 ac_path_M4_found=:]],
[AC_MSG_ERROR([could not find m4 that supports -I option])],
[$PATH:/usr/gnu/bin])])
AC_SUBST([M4], [$ac_cv_path_M4])
]) # XORG_WITH_M4
# XORG_WITH_PS2PDF([DEFAULT])
# ----------------
# Minimum version: 1.6.0
@ -2488,7 +2571,8 @@ AC_ARG_ENABLE(malloc0returnsnull,
AC_MSG_CHECKING([whether malloc(0) returns NULL])
if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
AC_RUN_IFELSE([AC_LANG_PROGRAM([
AC_CACHE_VAL([xorg_cv_malloc0_returns_null],
[AC_RUN_IFELSE([AC_LANG_PROGRAM([
#include <stdlib.h>
],[
char *m0, *r0, *c0, *p;
@ -2498,9 +2582,9 @@ if test "x$MALLOC_ZERO_RETURNS_NULL" = xauto; then
c0 = calloc(0,10);
exit((m0 == 0 || r0 == 0 || c0 == 0) ? 0 : 1);
])],
[MALLOC_ZERO_RETURNS_NULL=yes],
[MALLOC_ZERO_RETURNS_NULL=no],
[MALLOC_ZERO_RETURNS_NULL=yes])
[xorg_cv_malloc0_returns_null=yes],
[xorg_cv_malloc0_returns_null=no])])
MALLOC_ZERO_RETURNS_NULL=$xorg_cv_malloc0_returns_null
fi
AC_MSG_RESULT([$MALLOC_ZERO_RETURNS_NULL])
@ -2711,18 +2795,18 @@ fi
found="no"
m4_foreach([flag], m4_cdr($@), [
if test $found = "no" ; then
if test "x$xorg_testset_unknown_warning_option" = "xyes" ; then
if test "x$xorg_testset_]CACHE_PREFIX[_unknown_warning_option" = "xyes" ; then
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unknown-warning-option"
fi
if test "x$xorg_testset_unused_command_line_argument" = "xyes" ; then
if test "x$xorg_testset_]CACHE_PREFIX[_unused_command_line_argument" = "xyes" ; then
PREFIX[FLAGS]="$PREFIX[FLAGS] -Werror=unused-command-line-argument"
fi
PREFIX[FLAGS]="$PREFIX[FLAGS] ]flag["
dnl Some hackery here since AC_CACHE_VAL can't handle a non-literal varname
AC_MSG_CHECKING([if ]COMPILER[ supports]flag[])
AC_MSG_CHECKING([if ]COMPILER[ supports ]flag[])
cacheid=AS_TR_SH([xorg_cv_]CACHE_PREFIX[_flag_]flag[])
AC_CACHE_VAL($cacheid,
[AC_LINK_IFELSE([AC_LANG_PROGRAM([int i;])],
@ -2789,7 +2873,7 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-prototypes])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wnested-externs])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wbad-function-cast])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wold-style-definition], [-fd])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wdeclaration-after-statement])
]
)
@ -2798,16 +2882,17 @@ AC_LANG_CASE(
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wunused])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wuninitialized])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wshadow])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-noreturn])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wmissing-format-attribute])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wredundant-decls])
XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# These are currently disabled because they are noisy. They will be enabled
# in the future once the codebase is sufficiently modernized to silence
# them. For now, I don't want them to drown out the other warnings.
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wlogical-op])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wparentheses])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-align])
# XORG_TESTSET_CFLAG([[BASE_]PREFIX[FLAGS]], [-Wcast-qual])
# Turn some warnings into errors, so we don't accidently get successful builds
# when there are problems that should be fixed.
@ -2981,7 +3066,7 @@ dnl
# XORG_RELEASE_VERSION
# --------------------
# Defines PACKAGE_VERSION_{MAJOR,MINOR,PATCHLEVEL} for modules to use.
AC_DEFUN([XORG_RELEASE_VERSION],[
AC_DEFINE_UNQUOTED([PACKAGE_VERSION_MAJOR],
[`echo $PACKAGE_VERSION | cut -d . -f 1`],

347
lib/libXt/compile Normal file
View File

@ -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:

833
lib/libXt/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -22,7 +22,7 @@
# Initialize Autoconf
AC_PREREQ([2.60])
AC_INIT([libXt], [1.1.4],
AC_INIT([libXt], [1.1.5],
[https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [libXt])
AC_CONFIG_SRCDIR([Makefile.am])
AC_CONFIG_HEADERS([config.h])
@ -64,7 +64,13 @@ if test x"$CC_FOR_BUILD" = x; then
fi
fi
AC_SUBST([CC_FOR_BUILD])
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${CFLAGS}}
DEFAULT_CPPFLAGS_FOR_BUILD="${CPPFLAGS}"
AC_CHECK_FUNC(asprintf,
[DEFAULT_CPPFLAGS_FOR_BUILD="${DEFAULT_CPPFLAGS_FOR_BUILD} -DHAVE_ASPRINTF -D_GNU_SOURCE"])
CPPFLAGS_FOR_BUILD=${CPPFLAGS_FOR_BUILD-${DEFAULT_CPPFLAGS_FOR_BUILD}}
AC_SUBST(CPPFLAGS_FOR_BUILD)
DEFAULT_CFLAGS_FOR_BUILD="${CFLAGS} ${CWARNFLAGS}"
CFLAGS_FOR_BUILD=${CFLAGS_FOR_BUILD-${DEFAULT_CFLAGS_FOR_BUILD}}
AC_SUBST(CFLAGS_FOR_BUILD)
LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}}
AC_SUBST(LDFLAGS_FOR_BUILD)

View File

@ -137,6 +137,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -200,6 +201,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -210,6 +213,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

@ -147,15 +147,9 @@ typedef int XtCacheType;
* ArgLists rely heavily on the above typedef.
*
****************************************************************/
#ifdef CRAY
typedef long Boolean;
typedef char* XtArgVal;
typedef long XtEnum;
#else
typedef char Boolean;
typedef long XtArgVal;
typedef unsigned char XtEnum;
#endif
typedef unsigned int Cardinal;
typedef unsigned short Dimension; /* Size in pixels */
@ -1663,12 +1657,8 @@ extern void XtGetConstraintResourceList(
#define XtDefaultFont "XtDefaultFont"
#define XtDefaultFontSet "XtDefaultFontSet"
#if defined(CRAY)
#define XtOffset(p_type,field) _Offsetof(p_type,field)
#else /* ! CRAY */
#define XtOffset(p_type,field) \
((Cardinal) (((char *) (&(((p_type)NULL)->field))) - ((char *) NULL)))
#endif /* !CRAY */
#ifdef offsetof
#define XtOffsetOf(s_type,field) offsetof(s_type,field)

View File

@ -266,7 +266,12 @@ extern Widget _XtWindowedAncestor( /* internal; implementation-dependent */
Widget /* object */
);
extern void _XtInherit(
#if (defined(_WIN32) || defined(__CYGWIN__)) && !defined(LIBXT_COMPILATION)
__declspec(dllimport)
#else
extern
#endif
void _XtInherit(
void
);

View File

@ -52,9 +52,6 @@ SOFTWARE.
#define DEALLOCATE_LOCAL_FALLBACK(_ptr) XtFree((XtPointer)(_ptr))
#include <X11/Xalloca.h>
#ifdef CRAY
#define WORD64
#endif
#if defined (_LP64) || \
defined(__alpha) || defined(__alpha__) || \

View File

@ -133,6 +133,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -196,6 +197,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -206,6 +209,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

@ -160,6 +160,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -223,6 +224,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -233,6 +236,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

@ -133,7 +133,7 @@ Cardinal XtAsprintf(
...)
{
char buf[256];
Cardinal len;
int len;
va_list ap;
va_start(ap, format);

View File

@ -89,7 +89,7 @@ static XrmDatabase errorDB = NULL;
static Boolean error_inited = FALSE;
void _XtDefaultErrorMsg(String, String, String, String, String*, Cardinal*);
void _XtDefaultWarningMsg(String, String, String, String, String*, Cardinal*);
void _XtDefaultError(String);
void _XtDefaultError(String) _X_NORETURN;
void _XtDefaultWarning(String);
static XtErrorMsgHandler errorMsgHandler = _XtDefaultErrorMsg;
static XtErrorMsgHandler warningMsgHandler = _XtDefaultWarningMsg;

View File

@ -245,11 +245,20 @@ void _XtInherit(void)
* cygwin-xfree: http://www.cygwin.com/ml/cygwin-xfree/2003-10/msg00000.html
*/
#ifdef __x86_64__
asm (".section .trampoline, \"dwx\" \n\
.globl _XtInherit \n\
_XtInherit: \n\
jmp *_y(%rip) \n\
_y: .quad __XtInherit \n\
.text \n");
#else
asm (".data\n\
.globl __XtInherit \n\
__XtInherit: jmp *_y \n\
_y: .long ___XtInherit \n\
.text \n");
#endif
#define _XtInherit __XtInherit
#endif

View File

@ -81,6 +81,9 @@ in this Software without prior written authorization from The Open Group.
#ifndef VMS
#include <sys/stat.h>
#endif /* VMS */
#ifdef WIN32
#include <direct.h> /* for _getdrives() */
#endif
#include <stdlib.h>

View File

@ -7,7 +7,7 @@ SRCH_DEFINES = -DXFILESEARCHPATHDEFAULT=\"$(XFILESEARCHPATHDEFAULT)\"
ERRORDB_DEFINES = -DERRORDB=\"$(ERRORDBDIR)/XtErrorDB\"
AM_CFLAGS = $(CWARNFLAGS) $(XT_CFLAGS) $(SRCH_DEFINES) $(ERRORDB_DEFINES) \
$(XTMALLOC_ZERO_CFLAGS)
$(XTMALLOC_ZERO_CFLAGS) -DLIBXT_COMPILATION
AM_CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/include/X11 \
-I$(top_builddir)/include -I$(top_builddir)/include/X11
@ -98,8 +98,8 @@ $(BUILT_HEADER): $(BUILT_SOURCE)
$(BUILT_SOURCE):
$(AM_V_GEN)$(top_builddir)/util/makestrs -i $(top_srcdir) $(STRINGSABIOPTIONS) < $(STRING_LIST) > StringDefs.c
$(AM_V_at)mkdir -p $(top_builddir)/src
$(AM_V_at)mkdir -p $(top_builddir)/include/X11
$(AM_V_at)$(MKDIR_P) $(top_builddir)/src
$(AM_V_at)$(MKDIR_P) $(top_builddir)/include/X11
$(AM_V_at)cp StringDefs.h $(top_builddir)/include/X11
$(AM_V_at)cp Shell.h $(top_builddir)/include/X11
$(AM_V_at)rm StringDefs.h Shell.h

View File

@ -179,6 +179,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -242,6 +243,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -252,6 +255,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@
@ -323,7 +327,7 @@ CLEANFILES = $(BUILT_SOURCES)
SRCH_DEFINES = -DXFILESEARCHPATHDEFAULT=\"$(XFILESEARCHPATHDEFAULT)\"
ERRORDB_DEFINES = -DERRORDB=\"$(ERRORDBDIR)/XtErrorDB\"
AM_CFLAGS = $(CWARNFLAGS) $(XT_CFLAGS) $(SRCH_DEFINES) $(ERRORDB_DEFINES) \
$(XTMALLOC_ZERO_CFLAGS)
$(XTMALLOC_ZERO_CFLAGS) -DLIBXT_COMPILATION
AM_CPPFLAGS = -I$(top_srcdir)/include/ -I$(top_srcdir)/include/X11 \
-I$(top_builddir)/include -I$(top_builddir)/include/X11
@ -795,8 +799,8 @@ $(BUILT_HEADER): $(BUILT_SOURCE)
$(BUILT_SOURCE):
$(AM_V_GEN)$(top_builddir)/util/makestrs -i $(top_srcdir) $(STRINGSABIOPTIONS) < $(STRING_LIST) > StringDefs.c
$(AM_V_at)mkdir -p $(top_builddir)/src
$(AM_V_at)mkdir -p $(top_builddir)/include/X11
$(AM_V_at)$(MKDIR_P) $(top_builddir)/src
$(AM_V_at)$(MKDIR_P) $(top_builddir)/include/X11
$(AM_V_at)cp StringDefs.h $(top_builddir)/include/X11
$(AM_V_at)cp Shell.h $(top_builddir)/include/X11
$(AM_V_at)rm StringDefs.h Shell.h

View File

@ -892,7 +892,7 @@ _XtResourceConfigurationEH (
int actual_format;
unsigned long nitems;
unsigned long leftover;
unsigned char *data = NULL;
char *data = NULL;
unsigned long resource_len;
char *data_ptr;
char *resource;
@ -952,7 +952,7 @@ _XtResourceConfigurationEH (
pd->rcm_data, 0L, 8192L,
TRUE, XA_STRING,
&actual_type, &actual_format, &nitems, &leftover,
&data ) == Success && actual_type == XA_STRING
(unsigned char **)&data ) == Success && actual_type == XA_STRING
&& actual_format == 8) {
/*
* data format is:
@ -981,7 +981,7 @@ _XtResourceConfigurationEH (
resource = XtNewString (data_ptr);
value = XtNewString (data_value);
#ifdef DEBUG
fprintf (stderr, "resource_len=%d\n"
fprintf (stderr, "resource_len=%d\n",
resource_len);
fprintf (stderr, "resource = %s\t value = %s\n",
resource, value);

View File

@ -86,11 +86,6 @@ static XrmName Qtranslations, QbaseTranslations;
static XrmName Qscreen;
static XrmClass QScreen;
#ifdef CRAY
void Cjump();
char *Cjumpp = (char *) Cjump;
void Cjump() {}
#endif
void _XtCopyFromParent(
Widget widget,
@ -781,13 +776,6 @@ static XtCacheRef *GetResources(
/* Convert default value to proper type */
xrm_default_type = rx->xrm_default_type;
if (xrm_default_type == QCallProc) {
#ifdef CRAY
if ( (int) Cjumpp != (int) Cjump)
(*(XtResourceDefaultProc)
(((int)(rx->xrm_default_addr))<<2))(
widget,-(rx->xrm_offset+1), &value);
else
#endif
(*(XtResourceDefaultProc)(rx->xrm_default_addr))(
widget,-(rx->xrm_offset+1), &value);
@ -1123,15 +1111,6 @@ void _XtGetApplicationResources (
XtNumber(quark_cache), &quark_args);
/* Compile resource list if needed */
if (((int) resources->resource_offset) >= 0) {
#ifdef CRAY2
if (base == 0) { /* this client is non-portable, but... */
int count;
XtResourceList res = resources;
for (count = 0; count < num_resources; res++, count++) {
res->resource_offset *= sizeof(long);
}
}
#endif /* CRAY2 */
XrmCompileResourceListEphem(resources, num_resources);
}
table = _XtCreateIndirectionTable(resources,num_resources);

View File

@ -87,6 +87,7 @@ in this Software without prior written authorization from The Open Group.
#include <X11/ICE/ICElib.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#ifdef EDITRES
#include <X11/Xmu/Editres.h>
@ -108,17 +109,10 @@ in this Software without prior written authorization from The Open Group.
*
***************************************************************************/
#ifdef CRAY
void _XtShellDepth(Widget, int, XrmValue *);
void _XtShellColormap(Widget, int, XrmValue *);
void _XtShellAncestorSensitive(Widget, int, XrmValue *);
void _XtTitleEncoding(Widget, int, XrmValue *);
#else
static void _XtShellDepth(Widget, int, XrmValue *);
static void _XtShellColormap(Widget, int, XrmValue *);
static void _XtShellAncestorSensitive(Widget, int, XrmValue *);
static void _XtTitleEncoding(Widget, int, XrmValue *);
#endif
/***************************************************************************
*
@ -931,9 +925,7 @@ static void XtCopyDefaultDepth(
value->addr = (XPointer)(&DefaultDepthOfScreen(XtScreenOfObject(widget)));
}
#ifndef CRAY
static
#endif
void _XtShellDepth(
Widget widget,
int closure,
@ -952,9 +944,7 @@ static void XtCopyDefaultColormap(
value->addr = (XPointer)(&DefaultColormapOfScreen(XtScreenOfObject(widget)));
}
#ifndef CRAY
static
#endif
void _XtShellColormap(
Widget widget,
int closure,
@ -965,9 +955,7 @@ void _XtShellColormap(
else _XtCopyFromParent (widget,closure,value);
}
#ifndef CRAY
static
#endif
void _XtShellAncestorSensitive(
Widget widget,
int closure,
@ -979,9 +967,7 @@ void _XtShellAncestorSensitive(
}
/*ARGSUSED*/
#ifndef CRAY
static
#endif
void _XtTitleEncoding(
Widget widget,
int offset,

View File

@ -1472,10 +1472,10 @@ static String ParseRepeat(
{
/*** Parse the repetitions, for double click etc... ***/
if (*str != '(' || !(isdigit(str[1]) || str[1] == '+' || str[1] == ')'))
if (*str != '(' || !(isdigit((unsigned char)str[1]) || str[1] == '+' || str[1] == ')'))
return str;
str++;
if (isdigit(*str)) {
if (isdigit((unsigned char)*str)) {
String start = str;
char repStr[7];
size_t len;

View File

@ -1,9 +1,9 @@
#! /bin/sh
# test-driver - basic testsuite driver script.
scriptversion=2012-06-27.10; # UTC
scriptversion=2013-07-13.22; # UTC
# Copyright (C) 2011-2013 Free Software Foundation, Inc.
# Copyright (C) 2011-2014 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -44,13 +44,12 @@ print_usage ()
Usage:
test-driver --test-name=NAME --log-file=PATH --trs-file=PATH
[--expect-failure={yes|no}] [--color-tests={yes|no}]
[--enable-hard-errors={yes|no}] [--] TEST-SCRIPT
[--enable-hard-errors={yes|no}] [--]
TEST-SCRIPT [TEST-SCRIPT-ARGUMENTS]
The '--test-name', '--log-file' and '--trs-file' options are mandatory.
END
}
# TODO: better error handling in option parsing (in particular, ensure
# TODO: $log_file, $trs_file and $test_name are defined).
test_name= # Used for reporting.
log_file= # Where to save the output of the test script.
trs_file= # Where to save the metadata of the test run.
@ -69,10 +68,23 @@ while test $# -gt 0; do
--enable-hard-errors) enable_hard_errors=$2; shift;;
--) shift; break;;
-*) usage_error "invalid option: '$1'";;
*) break;;
esac
shift
done
missing_opts=
test x"$test_name" = x && missing_opts="$missing_opts --test-name"
test x"$log_file" = x && missing_opts="$missing_opts --log-file"
test x"$trs_file" = x && missing_opts="$missing_opts --trs-file"
if test x"$missing_opts" != x; then
usage_error "the following mandatory options are missing:$missing_opts"
fi
if test $# -eq 0; then
usage_error "missing argument"
fi
if test $color_tests = yes; then
# Keep this in sync with 'lib/am/check.am:$(am__tty_colors)'.
red='' # Red.
@ -94,11 +106,14 @@ trap "st=143; $do_exit" 15
# Test script is run here.
"$@" >$log_file 2>&1
estatus=$?
if test $enable_hard_errors = no && test $estatus -eq 99; then
estatus=1
tweaked_estatus=1
else
tweaked_estatus=$estatus
fi
case $estatus:$expect_failure in
case $tweaked_estatus:$expect_failure in
0:yes) col=$red res=XPASS recheck=yes gcopy=yes;;
0:*) col=$grn res=PASS recheck=no gcopy=no;;
77:*) col=$blu res=SKIP recheck=no gcopy=yes;;
@ -107,6 +122,12 @@ case $estatus:$expect_failure in
*:*) col=$red res=FAIL recheck=yes gcopy=yes;;
esac
# Report the test outcome and exit status in the logs, so that one can
# know whether the test passed or failed simply by looking at the '.log'
# file, without the need of also peaking into the corresponding '.trs'
# file (automake bug#11814).
echo "$res $test_name (exit status: $estatus)" >>$log_file
# Report outcome to console.
echo "${col}${res}${std}: $test_name"

View File

@ -156,6 +156,7 @@ CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -219,6 +220,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -229,6 +232,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

@ -1,6 +1,7 @@
noinst_PROGRAMS = makestrs
CC = @CC_FOR_BUILD@
CPPFLAGS = @CPPFLAGS_FOR_BUILD@
CFLAGS = @CFLAGS_FOR_BUILD@
LDFLAGS = @LDFLAGS_FOR_BUILD@

View File

@ -139,7 +139,8 @@ CFLAGS = @CFLAGS_FOR_BUILD@
CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@
CHANGELOG_CMD = @CHANGELOG_CMD@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CPPFLAGS = @CPPFLAGS_FOR_BUILD@
CPPFLAGS_FOR_BUILD = @CPPFLAGS_FOR_BUILD@
CWARNFLAGS = @CWARNFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
@ -203,6 +204,8 @@ PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RAWCPP = @RAWCPP@
RAWCPPFLAGS = @RAWCPPFLAGS@
@ -213,6 +216,7 @@ STRICT_CFLAGS = @STRICT_CFLAGS@
STRINGSABIOPTIONS = @STRINGSABIOPTIONS@
STRIP = @STRIP@
STYLESHEET_SRCDIR = @STYLESHEET_SRCDIR@
TRADITIONALCPPFLAGS = @TRADITIONALCPPFLAGS@
VERSION = @VERSION@
XFILESEARCHPATHDEFAULT = @XFILESEARCHPATHDEFAULT@
XMALLOC_ZERO_CFLAGS = @XMALLOC_ZERO_CFLAGS@

View File

@ -27,7 +27,7 @@ in this Software without prior written authorization from The Open Group.
/* Constructs string definitions */
#include <stdio.h>
#include <X11/Xos.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
@ -90,21 +90,26 @@ static int solaris_abi_names = FALSE;
static char* includedir = NULL;
static FILE *ifopen(const char *file, const char *mode)
{
#ifndef HAVE_ASPRINTF
size_t len;
#endif
char *buffer;
FILE *ret;
if (includedir == NULL)
return fopen(file, mode);
#ifdef HAVE_ASPRINTF
if (asprintf(&buffer, "%s/%s", includedir, file) == -1)
return NULL;
#else
len = strlen(file) + strlen(includedir) + 1;
buffer = (char*)malloc(len + 1);
if (buffer == NULL)
return NULL;
strcpy(buffer, includedir);
strcat(buffer, "/");
strcat(buffer, file);
snprintf(buffer, len + 1, "%s/%s", includedir, file);
#endif
ret = fopen(buffer, mode);
@ -271,13 +276,23 @@ static void WriteHeader (char *tagline, File *phile, int abi)
/* do the right thing for Motif, i.e. avoid _XmXmStrDefs_h_ */
if (strcmp (prefixstr, "Xm") == 0) {
#ifdef HAVE_ASPRINTF
if (asprintf (&fileprotstr, "_%s_", phile->name) == -1)
exit (1);
#else
if ((fileprotstr = malloc (strlen (phile->name) + 3)) == NULL)
exit (1);
(void) sprintf (fileprotstr, "_%s_", phile->name);
#endif
} else {
#ifdef HAVE_ASPRINTF
if (asprintf (&fileprotstr, "_%s%s_", prefixstr, phile->name) == -1)
exit (1);
#else
if ((fileprotstr = malloc (strlen (phile->name) + strlen (prefixstr) + 3)) == NULL)
exit (1);
(void) sprintf (fileprotstr, "_%s%s_", prefixstr, phile->name);
#endif
}
for (tmp = fileprotstr; *tmp; tmp++) if (*tmp == '.') *tmp = '_';
@ -498,9 +513,8 @@ static void DoLine(char *buf)
if ((phile = (File*) malloc (sizeof(File))) == NULL)
exit(1);
if ((phile->name = malloc (strlen (buf + strlen (file_str)) + 1)) == NULL)
if ((phile->name = strdup (buf + strlen (file_str) + 1)) == NULL)
exit(1);
(void) strcpy (phile->name, buf + strlen (file_str) + 1);
phile->table = NULL;
phile->tablecurrent = NULL;
phile->tabletail = &phile->table;
@ -517,9 +531,8 @@ static void DoLine(char *buf)
Table* table;
if ((table = (Table*) malloc (sizeof(Table))) == NULL)
exit(1);
if ((table->name = malloc (strlen (buf + strlen (table_str)) + 1)) == NULL)
if ((table->name = strdup (buf + strlen (table_str) + 1)) == NULL)
exit(1);
(void) strcpy (table->name, buf + strlen (table_str) + 1);
if (solaris_abi_names) {
if (strcmp(table->name, "XtStringsR6") == 0) {
strcpy(table->name, "XtR6Strings");
@ -539,29 +552,24 @@ static void DoLine(char *buf)
}
break;
case X_PREFIX_TOKEN:
if ((prefixstr = malloc (strlen (buf + strlen (prefix_str)) + 1)) == NULL)
if ((prefixstr = strdup (buf + strlen (prefix_str) + 1)) == NULL)
exit(1);
(void) strcpy (prefixstr, buf + strlen (prefix_str) + 1);
break;
case X_FEATURE_TOKEN:
if ((featurestr = malloc (strlen (buf + strlen (feature_str)) + 1)) == NULL)
if ((featurestr = strdup (buf + strlen (feature_str) + 1)) == NULL)
exit(1);
(void) strcpy (featurestr, buf + strlen (feature_str) + 1);
break;
case X_EXTERNREF_TOKEN:
if ((externrefstr = malloc (strlen (buf + strlen (externref_str)) + 1)) == NULL)
if ((externrefstr = strdup (buf + strlen (externref_str) + 1)) == NULL)
exit(1);
(void) strcpy (externrefstr, buf + strlen (externref_str) + 1);
break;
case X_EXTERNDEF_TOKEN:
if ((externdefstr = malloc (strlen (buf + strlen (externdef_str)) + 1)) == NULL)
if ((externdefstr = strdup (buf + strlen (externdef_str) + 1)) == NULL)
exit(1);
(void) strcpy (externdefstr, buf + strlen (externdef_str) + 1);
break;
case X_CTMPL_TOKEN:
if ((ctmplstr = malloc (strlen (buf + strlen (ctmpl_str)) + 1)) == NULL)
if ((ctmplstr = strdup (buf + strlen (ctmpl_str) + 1)) == NULL)
exit(1);
(void) strcpy (ctmplstr, buf + strlen (ctmpl_str) + 1);
break;
case X_HTMPL_TOKEN:
if ((filecurrent->tmpl = ifopen (buf + strlen (htmpl_str) + 1, "r")) == NULL) {
@ -571,9 +579,8 @@ static void DoLine(char *buf)
}
break;
case X_CONST_TOKEN:
if ((conststr = malloc (strlen (buf + strlen (const_str)) + 1)) == NULL)
if ((conststr = strdup (buf + strlen (const_str) + 1)) == NULL)
exit(1);
(void) strcpy (conststr, buf + strlen (const_str) + 1);
break;
default:
{
@ -583,13 +590,12 @@ static void DoLine(char *buf)
int rlen;
int len;
if ((right = index(buf, ' ')))
if ((right = strchr(buf, ' ')))
*right++ = 0;
else
right = buf + 1;
if (buf[0] == 'H') {
strcpy (lbuf, prefixstr);
strcat (lbuf, right);
snprintf (lbuf, sizeof(lbuf), "%s%s", prefixstr, right);
right = lbuf;
}
@ -666,8 +672,8 @@ static char* DoComment (char *line)
int len;
/* assume that the first line with two '$' in it is the RCS tag line */
if ((tag = index (line, '$')) == NULL) return NULL;
if ((eol = index (tag + 1, '$')) == NULL) return NULL;
if ((tag = strchr (line, '$')) == NULL) return NULL;
if ((eol = strchr (tag + 1, '$')) == NULL) return NULL;
len = eol - tag;
if ((ret = malloc (len)) == NULL)
exit (1);