diff options
-rw-r--r-- | pkgtools/autoswc/DESCR | 3 | ||||
-rw-r--r-- | pkgtools/autoswc/Makefile | 72 | ||||
-rw-r--r-- | pkgtools/autoswc/PLIST | 7 | ||||
-rw-r--r-- | pkgtools/autoswc/files/autoswc.8 | 130 | ||||
-rw-r--r-- | pkgtools/autoswc/files/autoswc.mk | 50 | ||||
-rw-r--r-- | pkgtools/autoswc/files/autoswc.sh | 209 | ||||
-rw-r--r-- | pkgtools/autoswc/files/config.site | 41 | ||||
-rw-r--r-- | pkgtools/autoswc/files/configure.ac | 253 |
8 files changed, 765 insertions, 0 deletions
diff --git a/pkgtools/autoswc/DESCR b/pkgtools/autoswc/DESCR new file mode 100644 index 00000000000..e8cc474199b --- /dev/null +++ b/pkgtools/autoswc/DESCR @@ -0,0 +1,3 @@ +autoswc is an utility that automatically generates system wide cache files +for use with configure scripts created by GNU autoconf, and specially by +those executed within pkgsrc. diff --git a/pkgtools/autoswc/Makefile b/pkgtools/autoswc/Makefile new file mode 100644 index 00000000000..57775ca8c1a --- /dev/null +++ b/pkgtools/autoswc/Makefile @@ -0,0 +1,72 @@ +# $NetBSD: Makefile,v 1.1.1.1 2004/02/21 23:28:32 jmmv Exp $ + +DISTNAME= autoswc-1.0 +CATEGORIES= sysutils +MASTER_SITES= # empty +DISTFILES= # empty + +MAINTAINER= jmmv@NetBSD.org +COMMENT= Generates system wide cache files for GNU autoconf + +DEPENDS= autoconf>=2.59:../../devel/autoconf +DEPENDS+= automake>=1.8.2:../../devel/automake +DEPENDS+= libtool-base>=1.5.2:../../devel/libtool-base + +NO_BUILDLINK= YES +NO_CHECKSUM= YES +NO_CONFIGURE= YES +NO_MTREE= YES +USE_PKGINSTALL= YES +WRKSRC= ${WRKDIR} + +PKG_SYSCONFSUBDIR= autoswc +CACHEDIR= /var/db/autoswc +MKCONF= /etc/mk.conf +OWN_DIRS= ${CACHEDIR} + +EVAL_PREFIX+= PREFIX.autoconf=autoconf +PREFIX.autoconf_DEFAULT= ${LOCALBASE} +EVAL_PREFIX+= PREFIX.automake=automake +PREFIX.automake_DEFAULT= ${LOCALBASE} +EVAL_PREFIX+= PREFIX.libtool=libtool +PREFIX.libtool_DEFAULT= ${LOCALBASE} + +SUBST_CLASSES+= build +SUBST_MESSAGE.build= "Building autoswc." +SUBST_STAGE.build= do-build +SUBST_FILES.build= autoswc +SUBST_FILES.build+= autoswc.8 +SUBST_FILES.build+= autoswc.mk +SUBST_FILES.build+= config.site +SUBST_SED.build= -e 's|@ACLOCAL@|${PREFIX.automake}/bin/aclocal|g' +SUBST_SED.build+= -e 's|@AUTOCONF@|${PREFIX.autoconf}/bin/autoconf|g' +SUBST_SED.build+= -e 's|@AUTOMAKE@|${PREFIX.automake}/bin/automake|g' +SUBST_SED.build+= -e 's|@CACHEDIR@|${CACHEDIR}|g' +SUBST_SED.build+= -e 's|@LIBTOOLIZE@|${PREFIX.libtool}/bin/libtoolize|g' +SUBST_SED.build+= -e 's|@MAKE@|${MAKE}|g' +SUBST_SED.build+= -e 's|@MKCONF@|${MKCONF}|g' +SUBST_SED.build+= -e 's|@PREFIX@|${PREFIX}|g' +SUBST_SED.build+= -e 's|@SH@|${SH}|g' +SUBST_SED.build+= -e 's|@SYSCONFDIR@|${PKG_SYSCONFDIR}|g' + +INSTALL_DIRS= man/man8 sbin + +do-extract: + ${CP} ${FILESDIR}/autoswc.8 ${WRKSRC} + ${CP} ${FILESDIR}/autoswc.mk ${WRKSRC} + ${CP} ${FILESDIR}/autoswc.sh ${WRKSRC}/autoswc + ${CP} ${FILESDIR}/config.site ${WRKSRC} + +do-build: + @${DO_NADA} + +do-install: + ${INSTALL_SCRIPT} ${WRKSRC}/autoswc ${PREFIX}/sbin + ${INSTALL_DATA} ${WRKSRC}/autoswc.8 ${PREFIX}/man/man8 + ${INSTALL_DATA_DIR} ${PREFIX}/share/autoswc + ${INSTALL_DATA} ${WRKSRC}/autoswc.mk ${PREFIX}/share/autoswc + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/autoswc + ${INSTALL_DATA} ${WRKSRC}/config.site ${PREFIX}/share/autoswc + ${INSTALL_DATA} ${FILESDIR}/configure.ac ${PREFIX}/share/autoswc + +.include "../../mk/bsd.pkg.mk" diff --git a/pkgtools/autoswc/PLIST b/pkgtools/autoswc/PLIST new file mode 100644 index 00000000000..814a9502b35 --- /dev/null +++ b/pkgtools/autoswc/PLIST @@ -0,0 +1,7 @@ +@comment $NetBSD: PLIST,v 1.1.1.1 2004/02/21 23:28:32 jmmv Exp $ +man/man8/autoswc.8 +sbin/autoswc +share/autoswc/autoswc.mk +share/autoswc/config.site +share/autoswc/configure.ac +@dirrm share/autoswc diff --git a/pkgtools/autoswc/files/autoswc.8 b/pkgtools/autoswc/files/autoswc.8 new file mode 100644 index 00000000000..037b66db103 --- /dev/null +++ b/pkgtools/autoswc/files/autoswc.8 @@ -0,0 +1,130 @@ +.\" $NetBSD: autoswc.8,v 1.1.1.1 2004/02/21 23:28:36 jmmv Exp $ +.\" +.\" autoswc - Generates system wide cache files for GNU autoconf +.\" Copyright (c) 2004 Julio M. Merino Vidal <jmmv@NetBSD.org> +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Neither the name of The NetBSD Foundation nor the names of its +.\" contributors may be used to endorse or promote products derived +.\" from this software without specific prior written permission. +.\" 3. Neither the name of author nor the names of its contributors may +.\" be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +.\" POSSIBILITY OF SUCH DAMAGE. +.\" +.Dd February 21, 2004 +.Dt AUTOSWC 8 +.Os +.Sh NAME +.Nm autoswc +.Nd generates system wide cache files for GNU autoconf +.Sh SYNOPSIS +.Nm +.Op Fl c Ar ac_file +.Op Fl n Ar cache_name +.Sh DESCRIPTION +.Nm +is an utility that automatically generates system wide cache files for use +with configure scripts created by +.Nm GNU autoconf , +and specially by those executed within +.Nm pkgsrc . +.Pp +.Nm +starts by reading the configuration script template. +It will use +.Pa @SYSCONFDIR@/configure.ac +if found, or fallback to +.Pa @PREFIX@/share/autoswc/configure.ac +otherwise (a custom file may be given using the +.Fl c +flag, though). +This issues all checks that the user wants to store in the system wide +cache file, and are basically calls to standard +.Nm GNU autoconf , +.Nm GNU automake +and/or +.Nm GNU libtool +macros. +There is no need to manually execute any of the +.Sq AC_INIT , +.Sq AM_INIT_AUTOMAKE , +.Sq AC_CACHE_SAVE +and +.Sq AC_OUTPUT +macros, as they are automatically inserted in the right place during +execution. +.Pp +The default cache file is stored inside the +.Pa @CACHEDIR@ +directory, using +.Pa config.cache.default +as the file name. +The +.Sq default +part can be changed using the +.Fl n +flag, which takes the base name of the cache file. +.Pp +To tell +.Nm pkgsrc +to use the system wide cache, all you need to do is append the following +line to your +.Pa @MKCONF@ +file: +.Bd -literal -offset indent +\&.sinclude "@PREFIX@/share/autoswc/autoswc.mk" +.Ed +.Pp +In case you used the +.Fl n +flag, you also need to define the +.Va AUTOSWC_CACHE_NAME +variable in this file, setting it to the value passed to the flag. +.Sh NOTES +Be very careful about what you add to +.Pa configure.ac . +You should only check for things that are unlikely to change over time, +as functions in the +.Lb libc +and its header files. +Failure to do so can easily lead to cache files that get outdated very +easily during installation of new packages, and cause unexpected +configuration errors. +.Pp +It is recommended that you rebuild the cache file periodically. +You can configure a simple +.Xr cron 8 +job to it, which just needs to launch this utility. +.Pp +If you hit a compilation problem in any package when using +.Nm , +be +.Em absolutely +sure it is not beeing caused by an outdated cache before reporting +problems. +The safest and easiest way to do this is to clean the package in question +and restart the build with the +.Va AUTOSWC_DISABLE +variable set, like in the following example: +.Bd -literal -offset indent +$ @MAKE@ clean +$ @MAKE@ AUTOSWC_DISABLE=YES +.Ed +.Sh AUTHORS +.An Julio M. Merino Vidal Aq jmmv@netbsd.org diff --git a/pkgtools/autoswc/files/autoswc.mk b/pkgtools/autoswc/files/autoswc.mk new file mode 100644 index 00000000000..ea65a26f9a4 --- /dev/null +++ b/pkgtools/autoswc/files/autoswc.mk @@ -0,0 +1,50 @@ +# $NetBSD: autoswc.mk,v 1.1.1.1 2004/02/21 23:28:36 jmmv Exp $ +# +# autoswc - Generates system wide cache files for GNU autoconf +# Copyright (c) 2004 Julio M. Merino Vidal <jmmv@NetBSD.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of author nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +.if !defined(AUTOSWC_MK) +AUTOSWC_MK= # defined + +. if !defined(AUTOSWC_DISABLE) +AUTOSWC_CACHE_FILE?= @CACHEDIR@/config.cache.${AUTOSWC_CACHE_NAME} +AUTOSWC_CACHE_NAME?= default + +. if exists(@SYSCONFDIR@/config.site) +AUTOSWC_CONFIG_SITE?= @SYSCONFDIR@/config.site +. else +AUTOSWC_CONFIG_SITE?= @PREFIX@/share/autoswc/config.site +. endif + +CONFIGURE_ENV+= AUTOSWC_CACHE_FILE="${AUTOSWC_CACHE_FILE}" +CONFIGURE_ENV+= AUTOSWC_CACHE_NAME="${AUTOSWC_CACHE_NAME}" +CONFIGURE_ENV+= CONFIG_SITE="${AUTOSWC_CONFIG_SITE}" +. endif + +.endif # AUTOSWC_MK diff --git a/pkgtools/autoswc/files/autoswc.sh b/pkgtools/autoswc/files/autoswc.sh new file mode 100644 index 00000000000..e0316845fd4 --- /dev/null +++ b/pkgtools/autoswc/files/autoswc.sh @@ -0,0 +1,209 @@ +#!@SH@ +# +# $NetBSD: autoswc.sh,v 1.1.1.1 2004/02/21 23:28:36 jmmv Exp $ +# +# autoswc - Generates system wide cache files for GNU autoconf +# Copyright (c) 2004 Julio M. Merino Vidal <jmmv@NetBSD.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of author nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +ProgName=${0##*/} + +err() { + echo "${ProgName}: $*" 1>&2 + exit 1 +} + +info() { + echo "${ProgName}: $*" 1>&2 +} + +mktempdir() { + local d tmpdir + + # Check if mktemp exists in the current system. + for d in $(echo ${PATH} | tr ':' ' '); do + if [ -x $d/mktemp ]; then + $d/mktemp -d /tmp/autoswc.XXXX + return + fi + done + + # Emulate mktemp; this is not safe. + info "mktemp(1) not found; race conditions may appear" + tmpdir=/tmp/autoswc.$$ + mkdir -p ${tmpdir} + chmod 700 ${tmpdir} + echo ${tmpdir} +} + +usage() { + echo "Usage: ${ProgName} [-c ac_file] [-n cache_name]" 1>&2 + exit 1 +} + +# ------------------------------------------------------------------------- + +# Main program + +cachename="default" + +confsrc="@PREFIX@/share/autoswc/configure.ac" +[ -f "@SYSCONFDIR@/configure.ac" ] && confsrc="@SYSCONFDIR@/configure.ac" + +# Parse command line options +args=$(getopt c:n: $*) +[ $? -ne 0 ] && usage +set -- ${args} +while [ $# -gt 0 ]; do + case "$1" in + -c) + confsrc="$2"; shift + ;; + -n) + cachename="$2"; shift + ;; + --) + shift; break + ;; + esac + shift +done +[ $# -gt 0 ] && usage + +# Set the cache name. +confcache="@CACHEDIR@/config.cache.${cachename}" + +# Check if we will be able to store the resulting cache file. +# The permissions may change during the execution of this script, but this +# won't bring us problems. This check is just done to save some time in +# case we got the wrong user running autoswc. +touch ${confcache} >/dev/null 2>&1 || err "can't update ${confcache}" + +# Ensure that the source configure.ac exists. +[ ! -f ${confsrc} ] && err "${confsrc} does not exist" + +# Create work directory. +wrkdir=$(mktempdir) +info "using ${wrkdir} as work directory" +cd ${wrkdir} + +# Create work project. This includes: +# - Makefile.am - empty, just needs to be present. +# - configure.ac - the user-defined configure.ac file, modified to include +# basic and required macros. +# - NEWS README AUTHORS ChangeLog - empty, just need to be present. +echo "# empty" >Makefile.am + +echo "AC_INIT(configure.ac)" >configure.ac +echo "AM_INIT_AUTOMAKE" >>configure.ac +cat ${confsrc} >>configure.ac +echo "AC_CACHE_SAVE" >>configure.ac +echo "AC_OUTPUT(Makefile)" >>configure.ac + +touch NEWS README AUTHORS ChangeLog + +# Generate scripts and add missing files. +info "running @ACLOCAL@..." +@ACLOCAL@ +if grep LIBTOOL configure.ac >/dev/null 2>&1; then + info "running @LIBTOOLIZE@..." + @LIBTOOLIZE@ --force +fi +info "running @AUTOMAKE@..." +@AUTOMAKE@ --add-missing --force-missing +info "running @AUTOCONF@..." +@AUTOCONF@ + +# Run the configure script. +[ ! -f configure ] && err "autoconf failed" +CONFIG_SITE= ./configure --cache-file=config.cache || \ + err "configure failed" +mv config.cache config.cache.in + +# Prune the cache file from entries that will abort configure scripts when +# running from within pkgsrc. This is not 100% safe, because configure is +# right in warning from changed values, but is needed to get this working. +grep -v "^ac_cv_env" <config.cache.in >config.cache + +# Update the cache file. We don't give it write permissions since we don't +# want third-party configure scripts update it with unwanted results. +install -c -m 444 config.cache ${confcache} || err "can't update ${confcache}" + +cd - + +rm -rf ${wrkdir} + +# Start of summary. +cat <<EOF + +=========================================================================== +AUTOSWC - SUMMARY FOR \`${cachename}' CACHE + + ${confcache} updated successfully. + +EOF + +# Warn the user if autoswc.mk is not included from mk.conf. +if ! egrep '^.-?[ \t]*s?include[ \t]+"@PREFIX@/share/autoswc/autoswc.mk"' \ + @MKCONF@ >/dev/null 2>&1; then + cat <<EOF + The @MKCONF@ file seems to not include autoswc.mk. This means that + configure scripts will not find the generated cache file. Add the + following line to it: + + .sinclude "@PREFIX@/share/autoswc/autoswc.mk" + +EOF +fi + +# Tell the user to define AUTOSWC_CACHE_NAME if he used a custom cache +# name. +if [ ${cachename} != default ]; then + cat <<EOF + You have used a non-standard cache name. To let configure scripts + find it, you should add the following line somewhere in your + @MKCONF@ file, in case it is not there yet: + + AUTOSWC_CACHE_NAME= ${cachename} + +EOF +fi + +# Warn the user about the dangers of using a system wide cache file. +cat <<EOF + Please remember that by using a system wide cache file, you assume + that the results stored in it may get outdated and cause strange build + failures in third-party packages. When reporting bugs, be absolutely + sure it is not your fault. Check the autoswc(8) manpage for more + details. +=========================================================================== +EOF + +exit 0 + +# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 diff --git a/pkgtools/autoswc/files/config.site b/pkgtools/autoswc/files/config.site new file mode 100644 index 00000000000..c59b3703f50 --- /dev/null +++ b/pkgtools/autoswc/files/config.site @@ -0,0 +1,41 @@ +# $NetBSD: config.site,v 1.1.1.1 2004/02/21 23:28:36 jmmv Exp $ +# +# autoswc - Generates system wide cache files for GNU autoconf +# Copyright (c) 2004 Julio M. Merino Vidal <jmmv@NetBSD.org> +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the +# distribution. +# 3. Neither the name of author nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS +# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS +# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +# Set default values. +: ${AUTOSWC_CACHE_NAME:=default} +: ${AUTOSWC_CACHE_FILE:=@CACHEDIR@/config.cache.${AUTOSWC_CACHE_NAME}} + +# Set which cache file to use, if not already set. +if test "${cache_file}" = /dev/null; then + cache_file="${AUTOSWC_CACHE_FILE}" +fi + +# vim: syntax=sh:expandtab:shiftwidth=4:softtabstop=4 diff --git a/pkgtools/autoswc/files/configure.ac b/pkgtools/autoswc/files/configure.ac new file mode 100644 index 00000000000..42930b487f6 --- /dev/null +++ b/pkgtools/autoswc/files/configure.ac @@ -0,0 +1,253 @@ +dnl $NetBSD: configure.ac,v 1.1.1.1 2004/02/21 23:28:36 jmmv Exp $ + +dnl ----------------------------------------------------------------------- + +dnl Check for host details. +AC_CANONICAL_HOST + +dnl ----------------------------------------------------------------------- + +dnl Check for compilers and preprocessors. +AC_PROG_CC +AC_PROG_CPP +AC_PROG_CXX +AC_PROG_CXXCPP + +dnl ----------------------------------------------------------------------- + +dnl Check for libtool and the maximum command line length supported by the +dnl system, as this takes a long time. +AM_PROG_LIBTOOL +AC_LIBTOOL_SYS_MAX_CMD_LEN + +dnl ----------------------------------------------------------------------- + +dnl Check for compiler features. +AC_C_BACKSLASH_A +AC_C_BIGENDIAN +AC_C_CONST +AC_C_RESTRICT +AC_C_VOLATILE +AC_C_INLINE +AC_C_CHAR_UNSIGNED +AC_C_LONG_DOUBLE +AC_C_STRINGIZE +AC_C_PROTOTYPES +AC_PROG_CC_C_O +AC_PROG_GCC_TRADITIONAL + +dnl ----------------------------------------------------------------------- + +dnl Check for standard header files. +AC_HEADER_DIRENT +AC_HEADER_MAJOR +AC_HEADER_STAT +AC_HEADER_STDBOOL +AC_HEADER_STDC +AC_HEADER_SYS_WAIT +AC_HEADER_TIME +AC_HEADER_TIOCGWINSZ +AC_CHECK_HEADERS([sys/cdefs.h \ + sys/ioctl.h \ + sys/mount.h \ + sys/param.h \ + sys/resource.h \ + sys/stat.h \ + sys/statvfs.h \ + sys/sysctl.h \ + sys/types.h \ + sys/utsname.h \ + sys/varargs.h \ + sys/vfs.h \ + argz.h \ + assert.h \ + ctype.h \ + err.h \ + fcntl.h \ + fstab.h \ + inttypes.h \ + libgen.h \ + limits.h \ + malloc.h \ + mntent.h \ + mount.h \ + paths.h \ + signal.h \ + stdarg.h \ + stddef.h \ + stdint.h \ + strings.h \ + util.h \ + varargs.h \ + wctype.h],,, + [[#if HAVE_SYS_CDEFS_H + # include <sys/cdefs.h> + #endif + #if HAVE_SYS_PARAM_H + # include <sys/param.h> + #endif]]) +AC_LANG_PUSH(C++) +AC_CHECK_HEADERS([bitset \ + deque \ + fstream \ + iostream \ + list \ + map \ + queue \ + set \ + stack \ + string \ + vector]) +AC_LANG_POP(C++) + +dnl ----------------------------------------------------------------------- + +dnl Check for standard functions. +AC_FUNC_ALLOCA +AC_FUNC_CHOWN +AC_FUNC_CLOSEDIR_VOID +AC_FUNC_ERROR_AT_LINE +AC_FUNC_FNMATCH +AC_FUNC_FORK +AC_FUNC_FSEEKO +AC_FUNC_GETGROUPS +AC_FUNC_GETMNTENT +AC_FUNC_GETPGRP +AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK +AC_FUNC_MALLOC +AC_FUNC_MEMCMP +AC_FUNC_MBRTOWC +AC_FUNC_MKTIME +AC_FUNC_MMAP +AC_FUNC_OBSTACK +AC_FUNC_REALLOC +AC_FUNC_SELECT_ARGTYPES +AC_FUNC_SETPGRP +AC_FUNC_STAT +AC_FUNC_LSTAT +AC_FUNC_SETVBUF_REVERSED +AC_FUNC_STRCOLL +AC_FUNC_STRTOD +AC_FUNC_STRERROR_R +AC_FUNC_STRFTIME +AC_FUNC_STRNLEN +AC_FUNC_UTIME_NULL +AC_FUNC_VPRINTF +AC_CHECK_FUNCS([__argz_count \ + __argz_next \ + __argz_stringify \ + __fsetlocking \ + basename \ + bzero \ + connect \ + dirname \ + dup2 \ + err \ + errx \ + feof_unlocked \ + fgets_unlocked \ + getc_unlocked \ + getcwd \ + getdelim \ + getdtablesize \ + getegid \ + geteuid \ + getgid \ + gethostbyname \ + getmode \ + getprogname \ + gettimeofday \ + getuid \ + inet_pton \ + lockf \ + lseek64 \ + memchr \ + memcpy \ + memmove \ + memset \ + mempcpy \ + mmap \ + mkdir \ + mkfifo \ + mkstemp \ + mkstemps \ + mktemp \ + munmap \ + open64 \ + poll \ + putenv \ + readdir_r \ + remove \ + setegid \ + setenv \ + seteuid \ + setmode \ + setprogname \ + setresgid \ + setresuid \ + shmat \ + sigaction \ + sigset \ + snprintf \ + socket \ + statvfs \ + stpcpy \ + strcasecmp \ + strchr \ + strrchr \ + strdup \ + strerror \ + stricmp \ + strlcat \ + strlcpy \ + strncasecmp \ + strncat \ + strncpy \ + strndup \ + strspn \ + strstr \ + strtoul \ + tsearch \ + uname \ + vasprintf \ + vsnprintf \ + waitpid \ + wait3 \ + warn \ + warnx]) + +dnl ----------------------------------------------------------------------- + +dnl Check for standard types. +AC_CHECK_TYPES([gid_t, + int16_t, + int32_t, + int64_t, + int8_t, + mode_t, + off_t, + ptrdiff_t, + rlim_t, + sig_t, + size_t, + ssize_t, + u_int16_t, + u_int32_t, + u_int64_t, + u_int8_t, + uid_t, + uint16_t, + uint32_t, + uint64_t, + uint8_t]) + +dnl ----------------------------------------------------------------------- + +dnl Check for standard sizes. +AC_CHECK_SIZEOF(char) +AC_CHECK_SIZEOF(short) +AC_CHECK_SIZEOF(int) +AC_CHECK_SIZEOF(long) +AC_CHECK_SIZEOF(long long) + +dnl vim: syntax=config:expandtab:shiftwidth=4:softtabstop=4 |