Archive-Unzip-Burst
view release on metacpan or search on metacpan
unzip-6.0/unix/configure view on Meta::CPAN
CPP="${CC} -E"
# solaris as(1) needs -P, maybe others as well ?
[ -f /usr/ccs/lib/cpp ] && CPP="/usr/ccs/lib/cpp -P"
[ -f /usr/lib/cpp ] && CPP=/usr/lib/cpp
[ -f /lib/cpp ] && CPP=/lib/cpp
[ -f /usr/bin/cpp ] && CPP=/usr/bin/cpp
[ -f /xenix ] && CPP="${CC} -E"
[ -f /lynx.os ] && CPP="${CC} -E"
echo "#include <stdio.h>" > conftest.c
$CPP conftest.c >/dev/null 2>/dev/null || CPP="${CC} -E"
echo Check if we can use asm code
CRC32OA=""
if eval "$CPP crc_i386.S > _crc_i386.s 2>/dev/null"; then
if test ! -s _crc_i386.s || grep error < _crc_i386.s > /dev/null; then
:
elif eval "$CC -c _crc_i386.s >/dev/null 2>/dev/null" && [ -f _crc_i386.o ]; then
CFLAGSR="${CFLAGSR} -DASM_CRC"
CRC32OA="crc_gcc.o"
echo "int foo() { return 0;}" > conftest.c
$CC -c conftest.c >/dev/null 2>/dev/null
echo Check if compiler generates underlines
nm conftest.o | grep "(^|[^_])foo" >/dev/null 2>/dev/null
[ $? -eq 0 ] && CPP="${CPP} -DNO_UNDERLINE"
fi
fi
rm -f _crc_i386.s _crc_i386.o
# ANSI options for compilers that don't have __STDC__ defined by default
# Currently HPUX, pyramid, Dynix, AIX, OSF/1 and ultrix
echo Check for ANSI options
cat > conftest.c << _EOF_
int main()
{
#ifndef __STDC__
forget it
#endif
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
if [ $? -ne 0 ]; then
for OPT in "-Aa -D_HPUX_SOURCE" -Xa -qlanglvl=ansi -std1 -std
do
$CC $CFLAGS $OPT -c conftest.c > /dev/null 2>/dev/null
[ $? -eq 0 ] && CFLAGSR="${CFLAGSR} ${OPT}" && break
done
fi
echo Check for prototypes
echo "int main(int argc, char *argv[]) { return 0; }" > conftest.c
$CC $CFLAGS -c conftest.c > /dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_PROTO"
# const check currently handles mips cc and non ANSI compilers.
# does it need more ?
echo Check the handling of const
cat > conftest.c << _EOF_
typedef int charset[2];
int main()
{
const charset x;
const char *foo;
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_CONST"
echo Check for time_t
cat > conftest.c << _EOF_
#include <sys/types.h>
#include <time.h>
int main()
{
time_t t;
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_TIME_T"
echo Check for size_t
cat > conftest.c << _EOF_
#include <sys/types.h>
int main()
{
size_t s;
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_SIZE_T"
echo Check for off_t
cat > conftest.c << _EOF_
#include <sys/types.h>
int main()
{
off_t s;
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_OFF_T"
# Added 11/4/2003 EG
# Revised 8/12/04 EG
# Now we set the 64-bit file environment and check the size of off_t
echo Check for Large File Support
cat > conftest.c << _EOF_
# define _LARGEFILE_SOURCE /* some OSes need this for fseeko */
# define _LARGEFILE64_SOURCE
# define _FILE_OFFSET_BITS 64 /* select default interface as 64 bit */
# define _LARGE_FILES /* some OSes need this for 64-bit off_t */
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdio.h>
int main()
{
off_t offset;
unzip-6.0/unix/configure view on Meta::CPAN
fi
# Added 11/24/2005 EG
# Check for wide char for Unicode support
echo Check for wide char support
cat > conftest.c << _EOF_
#include <stdlib.h>
#include <stdio.h>
#include <wchar.h>
int main()
{
size_t wsize;
wchar_t *wide_string;
if ((wide_string = (wchar_t *)malloc(4 * sizeof(wchar_t))) == NULL) {
return 0;
}
/* get wide string */
wsize = mbstowcs(wide_string, "foo", 3);
wide_string[wsize] = (wchar_t) NULL;
#ifndef __STDC_ISO_10646__
return 1;
#else
printf(" __STDC_ISO_10646__ = %d\n", __STDC_ISO_10646__);
return 2;
#endif
}
_EOF_
# compile it
$CC -o conftest conftest.c >/dev/null 2>/dev/null
if [ $? -ne 0 ]; then
echo "-- no Unicode (wchar_t) support"
else
# have wide char support
# run it
./conftest
r=$?
if [ $r -eq 0 ]; then
echo -- no Unicode wchar_t support - wchar_t allocation error
elif [ $r -eq 1 ]; then
echo -- no Unicode support - wchar_t encoding unspecified
elif [ $r -eq 2 ]; then
echo -- have wchar_t with known UCS encoding - enabling Unicode support!
CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUNICODE_WCHAR"
else
echo "-- no Unicode (wchar_t) support - conftest returned $r"
fi
fi
echo "Check for setlocale support (needed for UNICODE Native check)"
cat > conftest.c << _EOF_
#include <locale.h>
int main()
{
char *loc = setlocale(LC_CTYPE, "");
return 0;
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
echo "-- have setlocale, can check for charset type"
echo "-- - enabling UTF8-native support!"
CFLAGSR="${CFLAGSR} -DUNICODE_SUPPORT -DUTF8_MAYBE_NATIVE"
else
echo "-- no Unicode (UTF-8 native) support!"
CFLAGSR="${CFLAGSR} -DNO_SETLOCALE"
fi
# from configure 2.4i (Onno) 12/5/04
echo Check for gcc no-builtin flag
# -fno-builtin since version 2
cat > conftest.c << _EOF_
int main()
{
#if __GNUC__ >= 2
return 0;
#else
forget it
#endif
}
_EOF_
$CC $CFLAGS -c conftest.c >/dev/null 2>/dev/null
[ $? -eq 0 ] && BFLAG="-fno-builtin"
# Check for missing functions
# add NO_'function_name' to flags if missing
for func in fchmod fchown lchown nl_langinfo
do
echo Check for $func
echo "int main(){ $func(); return 0; }" > conftest.c
$CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_`echo $func | tr '[a-z]' '[A-Z]'`"
done
# Check (seriously) for a working lchmod.
echo 'Check for lchmod'
temp_file="/tmp/unzip_test_$$"
temp_link="link_$$"
( echo '#include <unistd.h>' ; \
echo "int main() { lchmod(\"${temp_file}\", 0666); }" \
) > conftest.c
ln -s "${temp_link}" "${temp_file}" && \
$CC $BFLAG -o conftest conftest.c >/dev/null 2>/dev/null && \
./conftest
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DNO_LCHMOD"
rm -f "${temp_file}"
echo Check for memset
echo "int main(){ char k; memset(&k,0,0); return 0; }" > conftest.c
$CC -o conftest conftest.c >/dev/null 2>/dev/null
[ $? -ne 0 ] && CFLAGSR="${CFLAGSR} -DZMEM"
echo Check for errno declaration
cat > conftest.c << _EOF_
#include <errno.h>
main()
{
errno = 0;
return 0;
}
_EOF_
( run in 3.183 seconds using v1.01-cache-2.11-cpan-df04353d9ac )