libjpeg-turbo/configure

1169 lines
31 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated automatically using autoconf.
# Copyright (C) 1991, 1992, 1993 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
# Usage: configure [--srcdir=DIR] [--host=HOST] [--gas] [--nfp]
# [--prefix=PREFIX] [--exec-prefix=PREFIX] [--with-PACKAGE[=VALUE]]
# Ignores all args except --srcdir, --prefix, --exec-prefix, and
# --with-PACKAGE[=VALUE] unless this script has special code to handle it.
for arg
do
# Handle --exec-prefix with a space before the argument.
if test x$next_exec_prefix = xyes; then exec_prefix=$arg; next_exec_prefix=
# Handle --host with a space before the argument.
elif test x$next_host = xyes; then next_host=
# Handle --prefix with a space before the argument.
elif test x$next_prefix = xyes; then prefix=$arg; next_prefix=
# Handle --srcdir with a space before the argument.
elif test x$next_srcdir = xyes; then srcdir=$arg; next_srcdir=
else
case $arg in
# For backward compatibility, recognize -exec-prefix and --exec_prefix.
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* | --exec=* | --exe=* | --ex=* | --e=*)
exec_prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- | --exec | --exe | --ex | --e)
next_exec_prefix=yes ;;
-gas | --gas | --ga | --g) ;;
-host=* | --host=* | --hos=* | --ho=* | --h=*) ;;
-host | --host | --hos | --ho | --h)
next_host=yes ;;
-nfp | --nfp | --nf) ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
next_prefix=yes ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=* | --s=*)
srcdir=`echo $arg | sed 's/[-a-z_]*=//'` ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr | --s)
next_srcdir=yes ;;
-with-* | --with-*)
package=`echo $arg|sed -e 's/-*with-//' -e 's/=.*//'`
# Reject names that aren't valid shell variable names.
if test -n "`echo $package| sed 's/[-a-zA-Z0-9_]//g'`"; then
echo "configure: $package: invalid package name" >&2; exit 1
fi
package=`echo $package| sed 's/-/_/g'`
case "$arg" in
*=*) val="`echo $arg|sed 's/[^=]*=//'`" ;;
*) val=1 ;;
esac
eval "with_$package='$val'" ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb | --ver | --ve | --v)
verbose=yes ;;
*=*)
varname=`echo $arg|sed -e 's/=.*//'`
# Reject names that aren't valid shell variable names.
if test -n "`echo $varname| sed 's/[a-zA-Z0-9_]//g'`"; then
echo "configure: $varname: invalid shell variable name" >&2; exit 1
fi
val="`echo $arg|sed 's/[^=]*=//'`"
test -n "$verbose" && echo " setting shell variable $varname to $val"
eval "$varname='$val'"
eval "export $varname" ;;
*) ;;
esac
fi
done
trap 'rm -fr conftest* confdefs* core; exit 1' 1 3 15
trap 'rm -f confdefs*' 0
# NLS nuisances.
# These must not be set unconditionally because not all systems understand
# e.g. LANG=C (notably SCO).
if test "${LC_ALL+set}" = 'set' ; then LC_ALL=C; export LC_ALL; fi
if test "${LANG+set}" = 'set' ; then LANG=C; export LANG; fi
rm -f conftest* confdefs.h
# AIX cpp loses on an empty file, so make sure it contains at least a newline.
echo > confdefs.h
compile='${CC-cc} $CFLAGS conftest.c -o conftest $LIBS >/dev/null 2>&1'
# A filename unique to this package, relative to the directory that
# configure is in, which we can look for to find out if srcdir is correct.
unique_file=jcmaster.c
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
srcdirdefaulted=yes
# Try the directory containing this script, then `..'.
prog=$0
confdir=`echo $prog|sed 's%/[^/][^/]*$%%'`
test "X$confdir" = "X$prog" && confdir=.
srcdir=$confdir
if test ! -r $srcdir/$unique_file; then
srcdir=..
fi
fi
if test ! -r $srcdir/$unique_file; then
if test x$srcdirdefaulted = xyes; then
echo "configure: Can not find sources in \`${confdir}' or \`..'." 1>&2
else
echo "configure: Can not find sources in \`${srcdir}'." 1>&2
fi
exit 1
fi
# Preserve a srcdir of `.' to avoid automounter screwups with pwd.
# But we can't avoid them for `..', to make subdirectories work.
case $srcdir in
.|/*|~*) ;;
*) srcdir=`cd $srcdir; pwd` ;; # Make relative path absolute.
esac
# Save the original args to write them into config.status later.
configure_args="$*"
if test -z "$CC"; then
# Extract the first word of `gcc', so it can be a program name with args.
set dummy gcc; word=$2
echo checking for $word
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/$word; then
CC="gcc"
break
fi
done
IFS="$saveifs"
fi
test -z "$CC" && CC="cc"
test -n "$CC" && test -n "$verbose" && echo " setting CC to $CC"
# Find out if we are using GNU C, under whatever name.
cat > conftest.c <<EOF
#ifdef __GNUC__
yes
#endif
EOF
${CC-cc} -E conftest.c > conftest.out 2>&1
if egrep yes conftest.out >/dev/null 2>&1; then
GCC=1 # For later tests.
fi
rm -f conftest*
echo checking how to run the C preprocessor
if test -z "$CPP"; then
# This must be in double quotes, not single quotes, because CPP may get
# substituted into the Makefile and ``${CC-cc}'' will simply confuse
# make. It must be expanded now.
CPP="${CC-cc} -E"
cat > conftest.c <<EOF
#include "confdefs.h"
#include <stdio.h>
Syntax Error
EOF
err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
:
else
rm -rf conftest*
CPP=/lib/cpp
fi
rm -f conftest*
fi
test ".${verbose}" != "." && echo " setting CPP to $CPP"
echo checking whether cross-compiling
# If we cannot run a trivial program, we must be cross compiling.
cat > conftest.c <<EOF
#include "confdefs.h"
main(){exit(0);}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
:
else
cross_compiling=1
fi
rm -fr conftest*
echo checking for function prototypes
cat > conftest.c <<EOF
#include "confdefs.h"
int testfunction (int arg1, int * arg2); /* check prototypes */
struct methods_struct { /* check method-pointer declarations */
int (*error_exit) (char *msgtext);
int (*trace_message) (char *msgtext);
int (*another_method) (void);
};
int testfunction (int arg1, int * arg2) /* check definitions */
{ return arg2[arg1]; }
int test2function (void) /* check void arg list */
{ return 0; }
int main() { exit(0); }
int t() { }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" HAVE_PROTOTYPES to be empty
echo "#define" HAVE_PROTOTYPES >> confdefs.h
DEFS="$DEFS -DHAVE_PROTOTYPES="
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_PROTOTYPES\${SEDdB}HAVE_PROTOTYPES\${SEDdC}\${SEDdD}
\${SEDuA}HAVE_PROTOTYPES\${SEDuB}HAVE_PROTOTYPES\${SEDuC}\${SEDuD}
\${SEDeA}HAVE_PROTOTYPES\${SEDeB}HAVE_PROTOTYPES\${SEDeC}\${SEDeD}
"
}
else
rm -rf conftest*
echo Your compiler does not seem to know about function prototypes.
echo Perhaps it needs a special switch to enable ANSI C mode.
echo If so, we recommend running configure like this:
echo " ./configure CC='cc -switch'"
echo where -switch is the proper switch.
fi
rm -f conftest*
echo checking for stddef.h
cat > conftest.c <<EOF
#include "confdefs.h"
#include <stddef.h>
EOF
err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" HAVE_STDDEF_H to be empty
echo "#define" HAVE_STDDEF_H >> confdefs.h
DEFS="$DEFS -DHAVE_STDDEF_H="
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_STDDEF_H\${SEDdB}HAVE_STDDEF_H\${SEDdC}\${SEDdD}
\${SEDuA}HAVE_STDDEF_H\${SEDuB}HAVE_STDDEF_H\${SEDuC}\${SEDuD}
\${SEDeA}HAVE_STDDEF_H\${SEDeB}HAVE_STDDEF_H\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for stdlib.h
cat > conftest.c <<EOF
#include "confdefs.h"
#include <stdlib.h>
EOF
err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" HAVE_STDLIB_H to be empty
echo "#define" HAVE_STDLIB_H >> confdefs.h
DEFS="$DEFS -DHAVE_STDLIB_H="
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_STDLIB_H\${SEDdB}HAVE_STDLIB_H\${SEDdC}\${SEDdD}
\${SEDuA}HAVE_STDLIB_H\${SEDuB}HAVE_STDLIB_H\${SEDuC}\${SEDuD}
\${SEDeA}HAVE_STDLIB_H\${SEDeB}HAVE_STDLIB_H\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for string.h
cat > conftest.c <<EOF
#include "confdefs.h"
#include <string.h>
EOF
err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" NEED_BSD_STRINGS to be empty
echo "#define" NEED_BSD_STRINGS >> confdefs.h
DEFS="$DEFS -DNEED_BSD_STRINGS="
SEDDEFS="${SEDDEFS}\${SEDdA}NEED_BSD_STRINGS\${SEDdB}NEED_BSD_STRINGS\${SEDdC}\${SEDdD}
\${SEDuA}NEED_BSD_STRINGS\${SEDuB}NEED_BSD_STRINGS\${SEDuC}\${SEDuD}
\${SEDeA}NEED_BSD_STRINGS\${SEDeB}NEED_BSD_STRINGS\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for size_t
cat > conftest.c <<EOF
#include "confdefs.h"
#ifdef HAVE_STDDEF_H
#include <stddef.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#include <stdio.h>
#ifdef NEED_BSD_STRINGS
#include <strings.h>
#else
#include <string.h>
#endif
typedef size_t my_size_t;
int main() { exit(0); }
int t() { my_size_t foovar; }
EOF
if eval $compile; then
:
else
rm -rf conftest*
echo checking for sys/types.h
cat > conftest.c <<EOF
#include "confdefs.h"
#include <sys/types.h>
EOF
err=`eval "($CPP conftest.c >/dev/null) 2>&1"`
if test -z "$err"; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" NEED_SYS_TYPES_H to be empty
echo "#define" NEED_SYS_TYPES_H >> confdefs.h
DEFS="$DEFS -DNEED_SYS_TYPES_H="
SEDDEFS="${SEDDEFS}\${SEDdA}NEED_SYS_TYPES_H\${SEDdB}NEED_SYS_TYPES_H\${SEDdC}\${SEDdD}
\${SEDuA}NEED_SYS_TYPES_H\${SEDuB}NEED_SYS_TYPES_H\${SEDuC}\${SEDuD}
\${SEDeA}NEED_SYS_TYPES_H\${SEDeB}NEED_SYS_TYPES_H\${SEDeC}\${SEDeD}
"
}
else
rm -rf conftest*
echo Type size_t is not defined in any of the usual places.
echo Try putting '"typedef unsigned int size_t;"' in jconfig.h.
fi
rm -f conftest*
fi
rm -f conftest*
echo checking for unsigned char
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { unsigned char un_char; }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" HAVE_UNSIGNED_CHAR to be empty
echo "#define" HAVE_UNSIGNED_CHAR >> confdefs.h
DEFS="$DEFS -DHAVE_UNSIGNED_CHAR="
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_UNSIGNED_CHAR\${SEDdB}HAVE_UNSIGNED_CHAR\${SEDdC}\${SEDdD}
\${SEDuA}HAVE_UNSIGNED_CHAR\${SEDuB}HAVE_UNSIGNED_CHAR\${SEDuC}\${SEDuD}
\${SEDeA}HAVE_UNSIGNED_CHAR\${SEDeB}HAVE_UNSIGNED_CHAR\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for unsigned short
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { unsigned short un_short; }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" HAVE_UNSIGNED_SHORT to be empty
echo "#define" HAVE_UNSIGNED_SHORT >> confdefs.h
DEFS="$DEFS -DHAVE_UNSIGNED_SHORT="
SEDDEFS="${SEDDEFS}\${SEDdA}HAVE_UNSIGNED_SHORT\${SEDdB}HAVE_UNSIGNED_SHORT\${SEDdC}\${SEDdD}
\${SEDuA}HAVE_UNSIGNED_SHORT\${SEDuB}HAVE_UNSIGNED_SHORT\${SEDuC}\${SEDuD}
\${SEDeA}HAVE_UNSIGNED_SHORT\${SEDeB}HAVE_UNSIGNED_SHORT\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for type void
cat > conftest.c <<EOF
#include "confdefs.h"
/* Caution: a C++ compiler will insist on valid prototypes */
typedef void * void_ptr; /* check void * */
#ifdef HAVE_PROTOTYPES /* check ptr to function returning void */
typedef void (*void_func) (int a, int b);
#else
typedef void (*void_func) ();
#endif
#ifdef HAVE_PROTOTYPES /* check void function result */
void test3function (void_ptr arg1, void_func arg2)
#else
void test3function (arg1, arg2)
void_ptr arg1;
void_func arg2;
#endif
{
char * locptr = (char *) arg1; /* check casting to and from void * */
arg1 = (void *) locptr;
(*arg2) (1, 2); /* check call of fcn returning void */
}
int main() { exit(0); }
int t() { }
EOF
if eval $compile; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" void to be char
echo "#define" void char >> confdefs.h
DEFS="$DEFS -Dvoid=char"
SEDDEFS="${SEDDEFS}\${SEDdA}void\${SEDdB}void\${SEDdC}char\${SEDdD}
\${SEDuA}void\${SEDuB}void\${SEDuC}char\${SEDuD}
\${SEDeA}void\${SEDeB}void\${SEDeC}char\${SEDeD}
"
}
fi
rm -f conftest*
prog='/* Ultrix mips cc rejects this. */
typedef int charset[2]; const charset x;
/* SunOS 4.1.1 cc rejects this. */
char const *const *ccp;
char **p;
/* AIX XL C 1.02.0.0 rejects this.
It does not let you subtract one const X* pointer from another in an arm
of an if-expression whose if-part is not a constant expression */
const char *g = "string";
ccp = &g + (g ? g-g : 0);
/* HPUX 7.0 cc rejects these. */
++ccp;
p = (char**) ccp;
ccp = (char const *const *) p;
{ /* SCO 3.2v4 cc rejects this. */
char *t;
char const *s = 0 ? (char *) 0 : (char const *) 0;
*t++ = 0;
}
{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
int x[] = {25,17};
const int *foo = &x[0];
++foo;
}
{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
typedef const int *iptr;
iptr p = 0;
++p;
}
{ /* AIX XL C 1.02.0.0 rejects this saying
"k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
struct s { int j; const int *ap[3]; };
struct s *b; b->j = 5;
}
{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
const int foo = 10;
}'
echo checking for lack of working const
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { $prog }
EOF
if eval $compile; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" const to be empty
echo "#define" const >> confdefs.h
DEFS="$DEFS -Dconst="
SEDDEFS="${SEDDEFS}\${SEDdA}const\${SEDdB}const\${SEDdC}\${SEDdD}
\${SEDuA}const\${SEDuB}const\${SEDuC}\${SEDuD}
\${SEDeA}const\${SEDeB}const\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for inline
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { } inline int foo() { return 0; }
int bar() { return foo(); }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" INLINE to be inline
echo "#define" INLINE inline >> confdefs.h
DEFS="$DEFS -DINLINE=inline"
SEDDEFS="${SEDDEFS}\${SEDdA}INLINE\${SEDdB}INLINE\${SEDdC}inline\${SEDdD}
\${SEDuA}INLINE\${SEDuB}INLINE\${SEDuC}inline\${SEDuD}
\${SEDeA}INLINE\${SEDeB}INLINE\${SEDeC}inline\${SEDeD}
"
}
else
rm -rf conftest*
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { } __inline__ int foo() { return 0; }
int bar() { return foo(); }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" INLINE to be __inline__
echo "#define" INLINE __inline__ >> confdefs.h
DEFS="$DEFS -DINLINE=__inline__"
SEDDEFS="${SEDDEFS}\${SEDdA}INLINE\${SEDdB}INLINE\${SEDdC}__inline__\${SEDdD}
\${SEDuA}INLINE\${SEDuB}INLINE\${SEDuC}__inline__\${SEDuD}
\${SEDeA}INLINE\${SEDeB}INLINE\${SEDeC}__inline__\${SEDeD}
"
}
else
rm -rf conftest*
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { } __inline int foo() { return 0; }
int bar() { return foo(); }
EOF
if eval $compile; then
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" INLINE to be __inline
echo "#define" INLINE __inline >> confdefs.h
DEFS="$DEFS -DINLINE=__inline"
SEDDEFS="${SEDDEFS}\${SEDdA}INLINE\${SEDdB}INLINE\${SEDdC}__inline\${SEDdD}
\${SEDuA}INLINE\${SEDuB}INLINE\${SEDuC}__inline\${SEDuD}
\${SEDeA}INLINE\${SEDeB}INLINE\${SEDeC}__inline\${SEDeD}
"
}
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" INLINE to be empty
echo "#define" INLINE >> confdefs.h
DEFS="$DEFS -DINLINE="
SEDDEFS="${SEDDEFS}\${SEDdA}INLINE\${SEDdB}INLINE\${SEDdC}\${SEDdD}
\${SEDuA}INLINE\${SEDuB}INLINE\${SEDuC}\${SEDuD}
\${SEDeA}INLINE\${SEDeB}INLINE\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
fi
rm -f conftest*
fi
rm -f conftest*
echo checking for broken incomplete types
cat > conftest.c <<EOF
#include "confdefs.h"
typedef struct undefined_structure * undef_struct_ptr;
int main() { exit(0); }
int t() { }
EOF
if eval $compile; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" INCOMPLETE_TYPES_BROKEN to be empty
echo "#define" INCOMPLETE_TYPES_BROKEN >> confdefs.h
DEFS="$DEFS -DINCOMPLETE_TYPES_BROKEN="
SEDDEFS="${SEDDEFS}\${SEDdA}INCOMPLETE_TYPES_BROKEN\${SEDdB}INCOMPLETE_TYPES_BROKEN\${SEDdC}\${SEDdD}
\${SEDuA}INCOMPLETE_TYPES_BROKEN\${SEDuB}INCOMPLETE_TYPES_BROKEN\${SEDuC}\${SEDuD}
\${SEDeA}INCOMPLETE_TYPES_BROKEN\${SEDeB}INCOMPLETE_TYPES_BROKEN\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking for short external names
cat > conftest.c <<EOF
#include "confdefs.h"
int possibly_duplicate_function () { return 0; }
int possibly_dupli_function () { return 1; }
int main() { exit(0); }
int t() { }
EOF
if eval $compile; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" NEED_SHORT_EXTERNAL_NAMES to be empty
echo "#define" NEED_SHORT_EXTERNAL_NAMES >> confdefs.h
DEFS="$DEFS -DNEED_SHORT_EXTERNAL_NAMES="
SEDDEFS="${SEDDEFS}\${SEDdA}NEED_SHORT_EXTERNAL_NAMES\${SEDdB}NEED_SHORT_EXTERNAL_NAMES\${SEDdC}\${SEDdD}
\${SEDuA}NEED_SHORT_EXTERNAL_NAMES\${SEDuB}NEED_SHORT_EXTERNAL_NAMES\${SEDuC}\${SEDuD}
\${SEDeA}NEED_SHORT_EXTERNAL_NAMES\${SEDeB}NEED_SHORT_EXTERNAL_NAMES\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
echo checking to see if char is signed
if test -n "$cross_compiling"
then
echo Assuming that char is signed on target machine.
echo If it is unsigned, this will be a little bit inefficient.
else
cat > conftest.c <<EOF
#include "confdefs.h"
#ifdef HAVE_PROTOTYPES
int is_char_signed (int arg)
#else
int is_char_signed (arg)
int arg;
#endif
{
if (arg == 189) { /* expected result for unsigned char */
return 0; /* type char is unsigned */
}
else if (arg != -67) { /* expected result for signed char */
printf("Hmm, it seems 'char' is not eight bits wide on your machine.\n");
printf("I fear the JPEG software will not work at all.\n\n");
}
return 1; /* assume char is signed otherwise */
}
char signed_char_check = (char) (-67);
main() {
exit(is_char_signed((int) signed_char_check));
}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
{
test -n "$verbose" && \
echo " defining" CHAR_IS_UNSIGNED to be empty
echo "#define" CHAR_IS_UNSIGNED >> confdefs.h
DEFS="$DEFS -DCHAR_IS_UNSIGNED="
SEDDEFS="${SEDDEFS}\${SEDdA}CHAR_IS_UNSIGNED\${SEDdB}CHAR_IS_UNSIGNED\${SEDdC}\${SEDdD}
\${SEDuA}CHAR_IS_UNSIGNED\${SEDuB}CHAR_IS_UNSIGNED\${SEDuC}\${SEDuD}
\${SEDeA}CHAR_IS_UNSIGNED\${SEDeB}CHAR_IS_UNSIGNED\${SEDeC}\${SEDeD}
"
}
fi
fi
rm -fr conftest*
echo checking to see if right shift is signed
if test -n "$cross_compiling"
then
echo Assuming that right shift is signed on target machine.
else
cat > conftest.c <<EOF
#include "confdefs.h"
#ifdef HAVE_PROTOTYPES
int is_shifting_signed (long arg)
#else
int is_shifting_signed (arg)
long arg;
#endif
/* See whether right-shift on a long is signed or not. */
{
long res = arg >> 4;
if (res == -0x7F7E80CL) { /* expected result for signed shift */
return 1; /* right shift is signed */
}
/* see if unsigned-shift hack will fix it. */
/* we can't just test exact value since it depends on width of long... */
res |= (~0L) << (32-4);
if (res == -0x7F7E80CL) { /* expected result now? */
return 0; /* right shift is unsigned */
}
printf("Right shift isn't acting as I expect it to.\n");
printf("I fear the JPEG software will not work at all.\n\n");
return 0; /* try it with unsigned anyway */
}
main() {
exit(is_shifting_signed(-0x7F7E80B1L));
}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
{
test -n "$verbose" && \
echo " defining" RIGHT_SHIFT_IS_UNSIGNED to be empty
echo "#define" RIGHT_SHIFT_IS_UNSIGNED >> confdefs.h
DEFS="$DEFS -DRIGHT_SHIFT_IS_UNSIGNED="
SEDDEFS="${SEDDEFS}\${SEDdA}RIGHT_SHIFT_IS_UNSIGNED\${SEDdB}RIGHT_SHIFT_IS_UNSIGNED\${SEDdC}\${SEDdD}
\${SEDuA}RIGHT_SHIFT_IS_UNSIGNED\${SEDuB}RIGHT_SHIFT_IS_UNSIGNED\${SEDuC}\${SEDuD}
\${SEDeA}RIGHT_SHIFT_IS_UNSIGNED\${SEDeB}RIGHT_SHIFT_IS_UNSIGNED\${SEDeC}\${SEDeD}
"
}
fi
fi
rm -fr conftest*
echo checking to see if fopen accepts b spec
if test -n "$cross_compiling"
then
echo Assuming that it does.
else
cat > conftest.c <<EOF
#include "confdefs.h"
#include <stdio.h>
main() {
if (fopen("conftestdata", "wb") != NULL)
exit(0);
exit(1);
}
EOF
eval $compile
if test -s conftest && (./conftest; exit) 2>/dev/null; then
:
else
{
test -n "$verbose" && \
echo " defining" DONT_USE_B_MODE to be empty
echo "#define" DONT_USE_B_MODE >> confdefs.h
DEFS="$DEFS -DDONT_USE_B_MODE="
SEDDEFS="${SEDDEFS}\${SEDdA}DONT_USE_B_MODE\${SEDdB}DONT_USE_B_MODE\${SEDdC}\${SEDdD}
\${SEDuA}DONT_USE_B_MODE\${SEDuB}DONT_USE_B_MODE\${SEDuC}\${SEDuD}
\${SEDeA}DONT_USE_B_MODE\${SEDeB}DONT_USE_B_MODE\${SEDeC}\${SEDeD}
"
}
fi
fi
rm -fr conftest*
# Make sure to not get the incompatible SysV /etc/install and
# /usr/sbin/install, which might be in PATH before a BSD-like install,
# or the SunOS /usr/etc/install directory, or the AIX /bin/install,
# or the AFS install, which mishandles nonexistent args, or
# /usr/ucb/install on SVR4, which tries to use the nonexistent group
# `staff'. On most BSDish systems install is in /usr/bin, not /usr/ucb
# anyway. Sigh.
if test "z${INSTALL}" = "z" ; then
echo checking for install
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
case $dir in
/etc|/usr/sbin|/usr/etc|/usr/afsws/bin|/usr/ucb) ;;
*)
if test -f $dir/installbsd; then
INSTALL="$dir/installbsd -c" # OSF1
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
break
fi
if test -f $dir/install; then
if grep dspmsg $dir/install >/dev/null 2>&1; then
: # AIX
else
INSTALL="$dir/install -c"
INSTALL_PROGRAM='$(INSTALL)'
INSTALL_DATA='$(INSTALL) -m 644'
break
fi
fi
;;
esac
done
IFS="$saveifs"
fi
INSTALL=${INSTALL-cp}
test -n "$verbose" && echo " setting INSTALL to $INSTALL"
INSTALL_PROGRAM=${INSTALL_PROGRAM-'$(INSTALL)'}
test -n "$verbose" && echo " setting INSTALL_PROGRAM to $INSTALL_PROGRAM"
INSTALL_DATA=${INSTALL_DATA-'$(INSTALL)'}
test -n "$verbose" && echo " setting INSTALL_DATA to $INSTALL_DATA"
if test -z "$RANLIB"; then
# Extract the first word of `ranlib', so it can be a program name with args.
set dummy ranlib; word=$2
echo checking for $word
IFS="${IFS= }"; saveifs="$IFS"; IFS="${IFS}:"
for dir in $PATH; do
test -z "$dir" && dir=.
if test -f $dir/$word; then
RANLIB="ranlib"
break
fi
done
IFS="$saveifs"
fi
test -z "$RANLIB" && RANLIB=":"
test -n "$RANLIB" && test -n "$verbose" && echo " setting RANLIB to $RANLIB"
# check whether --with-maxmem was given
withval="$with_maxmem"
if test -n "$withval"; then
DEFAULTMAXMEM=`expr $withval \* 1048576`
{
test -n "$verbose" && \
echo " defining" DEFAULT_MAX_MEM to be ${DEFAULTMAXMEM}
echo "#define" DEFAULT_MAX_MEM ${DEFAULTMAXMEM} >> confdefs.h
DEFS="$DEFS -DDEFAULT_MAX_MEM=${DEFAULTMAXMEM}"
SEDDEFS="${SEDDEFS}\${SEDdA}DEFAULT_MAX_MEM\${SEDdB}DEFAULT_MAX_MEM\${SEDdC}${DEFAULTMAXMEM}\${SEDdD}
\${SEDuA}DEFAULT_MAX_MEM\${SEDuB}DEFAULT_MAX_MEM\${SEDuC}${DEFAULTMAXMEM}\${SEDuD}
\${SEDeA}DEFAULT_MAX_MEM\${SEDeB}DEFAULT_MAX_MEM\${SEDeC}${DEFAULTMAXMEM}\${SEDeD}
"
}
echo checking for 'tmpfile()'
cat > conftest.c <<EOF
#include "confdefs.h"
#include <stdio.h>
int main() { exit(0); }
int t() { FILE * tfile = tmpfile(); }
EOF
if eval $compile; then
rm -rf conftest*
MEMORYMGR="jmemansi.o"
else
rm -rf conftest*
MEMORYMGR="jmemname.o"
{
test -n "$verbose" && \
echo " defining" NEED_SIGNAL_CATCHER to be empty
echo "#define" NEED_SIGNAL_CATCHER >> confdefs.h
DEFS="$DEFS -DNEED_SIGNAL_CATCHER="
SEDDEFS="${SEDDEFS}\${SEDdA}NEED_SIGNAL_CATCHER\${SEDdB}NEED_SIGNAL_CATCHER\${SEDdC}\${SEDdD}
\${SEDuA}NEED_SIGNAL_CATCHER\${SEDuB}NEED_SIGNAL_CATCHER\${SEDuC}\${SEDuD}
\${SEDeA}NEED_SIGNAL_CATCHER\${SEDeB}NEED_SIGNAL_CATCHER\${SEDeC}\${SEDeD}
"
}
echo checking for 'mktemp()'
cat > conftest.c <<EOF
#include "confdefs.h"
int main() { exit(0); }
int t() { char fname[80]; mktemp(fname); }
EOF
if eval $compile; then
:
else
rm -rf conftest*
{
test -n "$verbose" && \
echo " defining" NO_MKTEMP to be empty
echo "#define" NO_MKTEMP >> confdefs.h
DEFS="$DEFS -DNO_MKTEMP="
SEDDEFS="${SEDDEFS}\${SEDdA}NO_MKTEMP\${SEDdB}NO_MKTEMP\${SEDdC}\${SEDdD}
\${SEDuA}NO_MKTEMP\${SEDuB}NO_MKTEMP\${SEDuC}\${SEDuD}
\${SEDeA}NO_MKTEMP\${SEDeB}NO_MKTEMP\${SEDeC}\${SEDeD}
"
}
fi
rm -f conftest*
fi
rm -f conftest*
else
MEMORYMGR="jmemnobs.o"
fi
# Prepare to massage makefile.auto correctly.
case "$DEFS" in
*HAVE_PROTOTYPES*)
ANSI2KNR=""
ISANSICOM="# "
;;
*)
ANSI2KNR="ansi2knr"
ISANSICOM=""
;;
esac
case "$DEFS" in
*NEED_BSD_STRINGS*)
ANSI2KNRFLAGS="-DBSD"
;;
*)
ANSI2KNRFLAGS=""
;;
esac
# Set default prefixes.
if test -n "$prefix"; then
test -z "$exec_prefix" && exec_prefix='${prefix}'
prsub="s%^prefix\\([ ]*\\)=\\([ ]*\\).*$%prefix\\1=\\2$prefix%"
fi
if test -n "$exec_prefix"; then
prsub="$prsub
s%^exec_prefix\\([ ]*\\)=\\([ ]*\\).*$%exec_prefix\\1=\\2$exec_prefix%"
fi
# Quote sed substitution magic chars in DEFS.
cat >conftest.def <<EOF
$DEFS
EOF
escape_ampersand_and_backslash='s%[&\\]%\\&%g'
DEFS=`sed "$escape_ampersand_and_backslash" <conftest.def`
rm -f conftest.def
# Substitute for predefined variables.
trap 'rm -f config.status; exit 1' 1 3 15
echo creating config.status
rm -f config.status
cat > config.status <<EOF
#!/bin/sh
# Generated automatically by configure.
# Run this file to recreate the current configuration.
# This directory was configured as follows,
# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
#
# $0 $configure_args
for arg
do
case "\$arg" in
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
echo running \${CONFIG_SHELL-/bin/sh} $0 $configure_args
exec \${CONFIG_SHELL-/bin/sh} $0 $configure_args ;;
*) echo "Usage: config.status --recheck" 2>&1; exit 1 ;;
esac
done
trap 'rm -fr Makefile jconfig.h conftest*; exit 1' 1 3 15
CC='$CC'
CPP='$CPP'
INSTALL='$INSTALL'
INSTALL_PROGRAM='$INSTALL_PROGRAM'
INSTALL_DATA='$INSTALL_DATA'
RANLIB='$RANLIB'
MEMORYMGR='$MEMORYMGR'
ANSI2KNR='$ANSI2KNR'
ISANSICOM='$ISANSICOM'
ANSI2KNRFLAGS='$ANSI2KNRFLAGS'
LIBS='$LIBS'
srcdir='$srcdir'
prefix='$prefix'
exec_prefix='$exec_prefix'
prsub='$prsub'
extrasub='$extrasub'
EOF
cat >> config.status <<\EOF
top_srcdir=$srcdir
CONFIG_FILES=${CONFIG_FILES-"Makefile"}
for file in .. ${CONFIG_FILES}; do if test "x$file" != x..; then
srcdir=$top_srcdir
# Remove last slash and all that follows it. Not all systems have dirname.
dir=`echo $file|sed 's%/[^/][^/]*$%%'`
if test "$dir" != "$file"; then
test "$top_srcdir" != . && srcdir=$top_srcdir/$dir
test ! -d $dir && mkdir $dir
fi
echo creating $file
rm -f $file
echo "# Generated automatically from `echo $file|sed 's|.*/||'`.auto by configure." > $file
sed -e "
$prsub
$extrasub
s%@CC@%$CC%g
s%@CPP@%$CPP%g
s%@INSTALL@%$INSTALL%g
s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
s%@INSTALL_DATA@%$INSTALL_DATA%g
s%@RANLIB@%$RANLIB%g
s%@MEMORYMGR@%$MEMORYMGR%g
s%@ANSI2KNR@%$ANSI2KNR%g
s%@ISANSICOM@%$ISANSICOM%g
s%@ANSI2KNRFLAGS@%$ANSI2KNRFLAGS%g
s%@LIBS@%$LIBS%g
s%@srcdir@%$srcdir%g
s%@DEFS@%-DHAVE_CONFIG_H%" $top_srcdir/makefile.auto >> $file
fi; done
CONFIG_HEADERS=${CONFIG_HEADERS-"jconfig.h"}
for file in .. ${CONFIG_HEADERS}; do if test "x$file" != x..; then
echo creating $file
# These sed commands are put into SEDDEFS when defining a macro.
# They are broken into pieces to make the sed script easier to manage.
# They are passed to sed as "A NAME B NAME C VALUE D", where NAME
# is the cpp macro being defined and VALUE is the value it is being given.
# Each defining turns into a single global substitution command.
#
# SEDd sets the value in "#define NAME VALUE" lines.
SEDdA='s@^\([ ]*\)#\([ ]*define[ ][ ]*\)'
SEDdB='\([ ][ ]*\)[^ ]*@\1#\2'
SEDdC='\3'
SEDdD='@g'
# SEDu turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
SEDuA='s@^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
SEDuB='\([ ]\)@\1#\2define\3'
SEDuC=' '
SEDuD='\4@g'
# SEDe turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
SEDeA='s@^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
SEDeB='$@\1#\2define\3'
SEDeC=' '
SEDeD='@g'
rm -f conftest.sed
EOF
# Turn off quoting long enough to insert the sed commands.
rm -f conftest.sh
cat > conftest.sh <<EOF
$SEDDEFS
EOF
# Break up $SEDDEFS (now in conftest.sh) because some shells have a limit
# on the size of here documents.
# Maximum number of lines to put in a single here document.
maxshlines=9
while :
do
# wc gives bogus results for an empty file on some systems.
lines=`grep -c . conftest.sh`
if test -z "$lines" || test "$lines" -eq 0; then break; fi
rm -f conftest.s1 conftest.s2
sed ${maxshlines}q conftest.sh > conftest.s1 # Like head -20.
sed 1,${maxshlines}d conftest.sh > conftest.s2 # Like tail +21.
# Write a limited-size here document to append to conftest.sed.
echo 'cat >> conftest.sed <<CONFEOF' >> config.status
cat conftest.s1 >> config.status
echo 'CONFEOF' >> config.status
rm -f conftest.s1 conftest.sh
mv conftest.s2 conftest.sh
done
rm -f conftest.sh
# Now back to your regularly scheduled config.status.
cat >> config.status <<\EOF
# This sed command replaces #undef's with comments. This is necessary, for
# example, in the case of _POSIX_SOURCE, which is predefined and required
# on some systems where configure will not decide to define it in
# jconfig.h.
cat >> conftest.sed <<\CONFEOF
CONFEOF
rm -f conftest.h
# Break up the sed commands because old seds have small limits.
maxsedlines=20
cp $top_srcdir/jconfig.auto conftest.h1
while :
do
lines=`grep -c . conftest.sed`
if test -z "$lines" || test "$lines" -eq 0; then break; fi
rm -f conftest.s1 conftest.s2 conftest.h2
sed ${maxsedlines}q conftest.sed > conftest.s1 # Like head -20.
sed 1,${maxsedlines}d conftest.sed > conftest.s2 # Like tail +21.
sed -f conftest.s1 < conftest.h1 > conftest.h2
rm -f conftest.s1 conftest.h1 conftest.sed
mv conftest.h2 conftest.h1
mv conftest.s2 conftest.sed
done
rm -f conftest.sed conftest.h
echo "/* $file. Generated automatically by configure. */" > conftest.h
cat conftest.h1 >> conftest.h
rm -f conftest.h1
if cmp -s $file conftest.h 2>/dev/null; then
# The file exists and we would not be changing it.
echo "$file is unchanged"
rm -f conftest.h
else
rm -f $file
mv conftest.h $file
fi
fi; done
exit 0
EOF
chmod +x config.status
${CONFIG_SHELL-/bin/sh} config.status