2007-10-14 14:12:46 +08:00
|
|
|
dnl Process this file with autoconf 2.59 or later to produce
|
2002-05-19 10:26:38 +08:00
|
|
|
dnl a configure script.
|
2007-10-14 14:12:46 +08:00
|
|
|
AC_PREREQ(2.59)
|
2003-09-09 04:02:10 +08:00
|
|
|
AC_INIT(config.h.in)
|
2003-09-01 12:19:37 +08:00
|
|
|
AC_CONFIG_HEADERS(config.h)
|
2002-05-01 04:53:16 +08:00
|
|
|
|
|
|
|
dnl Check for broken VPATH handling on older NetBSD makes.
|
|
|
|
AC_DEFUN(AC_PROG_MAKE_VPATHOK,
|
|
|
|
[AC_MSG_CHECKING(whether ${MAKE-make} has sane VPATH handling)
|
|
|
|
set dummy ${MAKE-make}; ac_make=`echo "[$]2" | sed 'y%./+-%__p_%'`
|
|
|
|
AC_CACHE_VAL(ac_cv_prog_make_vpathok,
|
|
|
|
[mkdir conftestdir
|
|
|
|
cat > conftestdir/conftestmake <<\EOF
|
|
|
|
VPATH = ..
|
|
|
|
conftestfoo: conftestbar
|
|
|
|
@echo ac_make2temp=ok
|
|
|
|
conftestbar: conftestbaz
|
|
|
|
@echo ac_maketemp=broken
|
|
|
|
@touch conftestbar
|
|
|
|
EOF
|
|
|
|
echo > conftestbaz # these two lines need to be...
|
|
|
|
echo > conftestbar # ... in this order not the other
|
|
|
|
changequote(, )dnl
|
|
|
|
unset ac_maketemp
|
|
|
|
unset ac_make2temp
|
|
|
|
# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
|
|
|
|
eval `cd conftestdir; ${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
|
|
|
|
changequote([, ])dnl
|
|
|
|
if test -n "$ac_maketemp"; then
|
|
|
|
ac_cv_prog_make_vpathok=no
|
|
|
|
else
|
|
|
|
if test -n "$ac_make2temp"; then
|
|
|
|
ac_cv_prog_make_vpathok=yes
|
|
|
|
else
|
|
|
|
ac_cv_prog_make_vpathok=no
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
rm -rf conftestdir
|
|
|
|
rm -f conftestbar conftestbaz])dnl
|
|
|
|
if test $ac_cv_prog_make_vpathok = yes; then
|
|
|
|
AC_MSG_RESULT(yes)
|
|
|
|
else
|
|
|
|
AC_MSG_RESULT(no)
|
|
|
|
fi
|
|
|
|
])
|
|
|
|
|
|
|
|
AC_PREFIX_PROGRAM(nasm)
|
|
|
|
|
|
|
|
dnl Checks for programs.
|
2007-10-14 14:12:46 +08:00
|
|
|
dnl Consider AC_USE_SYSTEM_EXTENSIONS if autoconf 2.61 is OK in the future
|
|
|
|
AC_GNU_SOURCE
|
2007-10-04 08:40:12 +08:00
|
|
|
AC_ISC_POSIX
|
2007-10-14 14:12:46 +08:00
|
|
|
AC_MINIX
|
2002-05-01 04:53:16 +08:00
|
|
|
AC_PROG_CC
|
|
|
|
AC_PROG_LN_S
|
|
|
|
AC_PROG_MAKE_SET
|
|
|
|
if test -f nasm.c; then
|
|
|
|
# we're building in the source dir, so we don't need this check at all
|
|
|
|
ac_cv_prog_make_vpathok=yes
|
|
|
|
else
|
|
|
|
AC_PROG_MAKE_VPATHOK
|
|
|
|
fi
|
|
|
|
AC_PROG_INSTALL
|
|
|
|
|
2007-04-16 06:45:25 +08:00
|
|
|
dnl If we have gcc, add appropriate options
|
|
|
|
PA_ADD_CFLAGS([-W])
|
|
|
|
PA_ADD_CFLAGS([-Wall])
|
|
|
|
PA_ADD_CFLAGS([-std=c99])
|
|
|
|
PA_ADD_CFLAGS([-pedantic])
|
2002-05-01 04:53:16 +08:00
|
|
|
|
2002-05-01 04:57:38 +08:00
|
|
|
dnl Look for "nroff" or "groff"
|
2002-05-01 04:57:59 +08:00
|
|
|
AC_CHECK_PROGS(NROFF, nroff, echo)
|
2002-05-01 04:57:38 +08:00
|
|
|
AC_SUBST(NROFF)
|
|
|
|
|
2002-05-01 04:53:16 +08:00
|
|
|
dnl Checks for header files.
|
|
|
|
AC_HEADER_STDC
|
|
|
|
if test $ac_cv_header_stdc = no; then
|
|
|
|
AC_MSG_ERROR([NASM requires ANSI C header files to compile])
|
|
|
|
fi
|
|
|
|
|
|
|
|
AC_CHECK_HEADERS(limits.h)
|
|
|
|
if test $ac_cv_header_limits_h = no; then
|
|
|
|
AC_MSG_ERROR([NASM requires '<limits.h>' to compile])
|
|
|
|
fi
|
|
|
|
|
2007-06-22 03:00:12 +08:00
|
|
|
dnl Check for <inttypes.h> or add a substitute version
|
|
|
|
AC_CHECK_HEADERS(inttypes.h, , CFLAGS="$CFLAGS -I\$(top_srcdir)/inttypes")
|
|
|
|
|
2007-10-03 12:53:51 +08:00
|
|
|
dnl The standard header for str*casecmp is <strings.h>
|
|
|
|
AC_CHECK_HEADERS(strings.h)
|
|
|
|
|
2007-10-11 05:58:45 +08:00
|
|
|
dnl Look for <stdbool.h>
|
|
|
|
AC_CHECK_HEADERS(stdbool.h)
|
|
|
|
|
2002-05-01 04:53:16 +08:00
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
|
|
AC_C_CONST
|
|
|
|
AC_TYPE_SIZE_T
|
|
|
|
|
|
|
|
dnl Checks for library functions.
|
2007-09-29 11:17:12 +08:00
|
|
|
AC_SUBST(XOBJS)
|
2002-05-01 04:53:16 +08:00
|
|
|
|
2007-09-18 04:53:14 +08:00
|
|
|
AC_CHECK_FUNCS(strcspn, ,
|
|
|
|
AC_MSG_ERROR([NASM requires ANSI C (specifically, "strcspn")]))
|
2002-05-01 04:53:16 +08:00
|
|
|
|
2007-09-18 04:53:14 +08:00
|
|
|
AC_CHECK_FUNCS(strspn, ,
|
|
|
|
AC_MSG_ERROR([NASM requires ANSI C (specifically, "strspn")]))
|
2002-05-01 04:53:16 +08:00
|
|
|
|
2007-09-18 04:53:14 +08:00
|
|
|
missing=true
|
2007-09-29 01:50:20 +08:00
|
|
|
AC_CHECK_FUNCS([vsnprintf _vsnprintf], missing=false)
|
2007-09-18 04:53:14 +08:00
|
|
|
if $missing; then
|
2007-09-29 01:50:20 +08:00
|
|
|
XOBJS="$XOBJS lib/vsnprintf.o"
|
2004-12-16 07:02:20 +08:00
|
|
|
fi
|
|
|
|
|
2007-09-18 04:53:14 +08:00
|
|
|
missing=true
|
2007-09-29 01:50:20 +08:00
|
|
|
AC_CHECK_FUNCS([snprintf _snprintf], missing=false)
|
2007-09-18 04:53:14 +08:00
|
|
|
if $missing; then
|
2007-09-29 01:50:20 +08:00
|
|
|
XOBJS="$XOBJS lib/snprintf.o"
|
2004-12-16 07:02:20 +08:00
|
|
|
fi
|
|
|
|
|
2007-10-03 12:53:51 +08:00
|
|
|
AC_CHECK_FUNCS(strcasecmp stricmp)
|
|
|
|
AC_CHECK_FUNCS(strncasecmp strnicmp)
|
|
|
|
AC_CHECK_FUNCS(strsep)
|
|
|
|
|
2007-04-13 00:54:50 +08:00
|
|
|
AC_CHECK_FUNCS(getuid)
|
|
|
|
AC_CHECK_FUNCS(getgid)
|
|
|
|
|
2007-10-27 09:49:29 +08:00
|
|
|
dnl Check for functions that might not be declared in the headers for
|
|
|
|
dnl various idiotic reasons (mostly because of library authors
|
|
|
|
dnl abusing the meaning of __STRICT_ANSI__)
|
|
|
|
AC_CHECK_DECLS(strcasecmp)
|
|
|
|
AC_CHECK_DECLS(stricmp)
|
|
|
|
AC_CHECK_DECLS(strncasecmp)
|
|
|
|
AC_CHECK_DECLS(strnicmp)
|
|
|
|
AC_CHECK_DECLS(strsep)
|
|
|
|
|
2002-05-01 04:53:16 +08:00
|
|
|
if test $ac_cv_prog_make_vpathok = no; then
|
|
|
|
echo Copying generated srcs into build directory to compensate for VPATH breakage
|
2002-05-19 10:26:38 +08:00
|
|
|
for file in macros.c insnsa.c insnsd.c insnsn.c insnsi.h version.h version.mac; do
|
|
|
|
if test ! -f $file; then cp -p ${srcdir}/${file} .; fi
|
|
|
|
done
|
2002-05-01 04:53:16 +08:00
|
|
|
fi
|
|
|
|
|
2002-05-04 08:15:02 +08:00
|
|
|
AC_OUTPUT_COMMANDS([mkdir -p output])
|
2002-05-19 09:57:54 +08:00
|
|
|
AC_OUTPUT(Makefile rdoff/Makefile doc/Makefile)
|