Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
#!/bin/sh
#
# This file was generated by confgen version 2.
# Do not edit.
#

PREFIX='/usr'
#EXECPREFIX='$PREFIX'
INSTALLROOT=''
BINMODE='755'
#DAEMONMODE='$BINMODE'
MANMODE='644'
SUIDMODE='4755'

while [ x$1 != x ]; do case $1 in

	--help)
	cat <<EOF
Usage: configure [options]
    --help                Show this message
    --with-debug          Enable debugging
    --without-pam         Disable PAM support
    --without-shadow      Disable shadow password support
    --prefix=path         Prefix for location of files [/usr]
    --exec-prefix=path    Location for arch-depedent files [prefix]
    --installroot=root    Top of filesystem tree to install in [/]
    --binmode=mode        Mode for binaries [755]
    --daemonmode=mode     Mode for daemon binaries [same as binmode]
    --manmode=mode        Mode for manual pages [644]
    --suidmode=mode       Mode for setuid programs [4755]
    --with-c-compiler=cc  Program for compiling C source [guessed]
EOF
	exit 0;;
	--verbose) ;;
	--quiet) ;;

	--subdir) . ../configure.defs;;

	--with-debug|--debug) DEBUG=1;;
	--prefix=*) PREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
	--exec-prefix=*) EXECPREFIX=`echo $1 | sed 's/^[^=]*=//'` ;;
	--installroot=*) INSTALLROOT=`echo $1 | sed 's/^[^=]*=//'` ;;
	--binmode=*) BINMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
	--daemonmode=*) DAEMONMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
	--manmode=*) MANMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
	--suidmode=*) SUIDMODE=`echo $1 | sed 's/^[^=]*=//'` ;;
	--with-c-compiler=*) CC=`echo $1 | sed 's/^[^=]*=//'` ;;
	--without-pam|--disable-pam) WITHOUT_PAM=1;;
	--without-shadow|--disable-shadow) WITHOUT_SHADOW=1;;
	*) echo "Unrecognized option: $1"; exit 1;;
esac 
shift
done

if [ x$EXECPREFIX = x ]; then 
	EXECPREFIX="$PREFIX"
fi

if [ x$DAEMONMODE = x ]; then 
	DAEMONMODE="$BINMODE"
fi

BINDIR="$EXECPREFIX/bin"
SBINDIR="$EXECPREFIX/sbin"
MANDIR="$PREFIX/share/man"

echo "Directories: $BINDIR $SBINDIR $MANDIR "

if [ x$INSTALLROOT != x ]; then
    echo "Installing in chroot tree rooted at $INSTALLROOT"
fi

##################################################

WARNINGS='-Wall -W -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Winline '

cat << EOF > __conftest.c
    int main() { int class=0; return class; }
EOF

if [ x"$CC" = x ]; then
    echo -n 'Looking for a C compiler... '
    for TRY in egcs gcc g++ CC c++ cc; do
       (
           $TRY __conftest.c -o __conftest || exit 1;
#           ./__conftest || exit 1;
       ) >/dev/null 2>&1 || continue;
       CC=$TRY
       break;
    done
    if [ x"$CC" = x ]; then
        echo 'failed.'
        echo 'Cannot find a C compiler. Run configure with --with-c-compiler.'
        rm -f __conftest*
        exit
    fi
    echo "$CC"
else
    echo -n 'Checking if C compiler works... '
    if (
          $CC __conftest.c -o __conftest || exit 1
#          ./__conftest || exit 1
       ) >/dev/null 2>&1; then
         echo 'yes'
     else
         echo 'no'
         echo 'Compiler '"$CC"' does not exist or cannot compile C; try another.'
         rm -f __conftest*
         exit
     fi
fi

echo -n "Checking if $CC accepts gcc warnings... "
if (
    $CC $WARNINGS __conftest.c -o __conftest || exit 1
   ) >/dev/null 2>&1; then
     echo 'yes'
     CC_WARNINGS=1
else
     echo 'no'
fi

if [ x$DEBUG = x ]; then
    echo -n "Checking if $CC accepts -O2... "
    if (
         $CC -O2 __conftest.c -o __conftest
       ) >/dev/null 2>&1; then
         echo 'yes'
         CFLAGS="$CFLAGS -O2"
    else
         echo 'no'
         echo -n "Checking if $CC accepts -O... "
         if (
              $CC -O __conftest.c -o __conftest
            ) >/dev/null 2>&1; then
              echo 'yes'
              CFLAGS="$CFLAGS -O"
         else
              echo 'no'
         fi
    fi

else
    echo -n "Checking if $CC accepts -g... "
    if (
         $CC -g __conftest.c -o __conftest
       ) >/dev/null 2>&1; then
         echo 'yes'
         CFLAGS="$CFLAGS -g"
    else
         echo 'no'
    fi

fi

LDFLAGS=$LDFLAGS
LIBS=$LIBS

rm -f __conftest*

##################################################

echo -n 'Checking for BSD signal semantics... '
cat <<EOF >__conftest.c
#include <unistd.h>
#include <signal.h>
int count=0;
void handle(int foo) { count++; }
int main() {
    int pid=getpid();
    signal(SIGINT, handle);
    kill(pid,SIGINT);
    kill(pid,SIGINT);
    kill(pid,SIGINT);
    if (count!=3) return 1;
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
#      ./__conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
else
    if (
          $CC $CFLAGS -D__USE_BSD_SIGNAL __conftest.c  -o __conftest || exit 1
#          ./__conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-D__USE_BSD_SIGNAL'
        CFLAGS="$CFLAGS -D__USE_BSD_SIGNAL"
    else
        echo 'no'
        echo 'This package needs BSD signal semantics to run.'
        rm -f __conftest*
        exit
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for ncurses... '
cat <<EOF >__conftest.c
#include <stdio.h>
#include <curses.h>
#ifndef KEY_DOWN
syntax error. /* not ncurses */
#endif
int main() {
    endwin();
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c -lncurses -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
    NCURSES=1
else
    if (
          $CC $CFLAGS -I/usr/include/ncurses __conftest.c -lncurses -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-I/usr/include/ncurses'
        CFLAGS="$CFLAGS -I/usr/include/ncurses"
        NCURSES=1
    else
        echo 'no'
    fi
fi

if [ x$NCURSES != x ]; then
    LIBTERMCAP=-lncurses
else
    echo -n 'Checking for traditional termcap... '
cat <<EOF >__conftest.c
#include <stdio.h>
#include <termcap.h>
int main() {
    tgetent(NULL, NULL); return 0;
}

EOF
    if (
          $CC $CFLAGS  __conftest.c -ltermcap -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-ltermcap'
        LIBTERMCAP=-ltermcap
    else
        echo 'not found'
        echo 'This package needs termcap to run.'
        rm -f __conftest*
        exit
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for GNU libc... '
cat <<EOF >__conftest.c
#include <stdio.h>
#if defined(__GLIBC__) && (__GLIBC__ >= 2)
int tester;
#endif
int main() { tester=6; return 0; }

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
    USE_GLIBC=1
else
    echo 'no'
fi
rm -f __conftest*

##################################################

echo -n 'Checking for PAM... '
if [ x$WITHOUT_PAM != x ]; then
    echo disabled
else
cat <<EOF >__conftest.c
#include <stdio.h>
#include <security/pam_appl.h>
int main() {
    pam_start("configure", "nobody", NULL, NULL);
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c -ldl -lpam -lpam_misc -o __conftest || exit 1
   ) >/dev/null 2>&1; then
        echo 'yes'
        USE_PAM=1
    else
        echo 'no'
    fi
fi
rm -f __conftest*

##################################################

if [ x$USE_PAM = x ]; then
    echo -n 'Checking for shadow... '
    if [ x$WITHOUT_SHADOW != x ]; then
        echo disabled
    else
cat <<EOF >__conftest.c
#include <stdio.h>
#include <shadow.h>
int main() {
    getspnam("nobody");
    return 0;
}

EOF
    if (
          $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
       ) >/dev/null 2>&1; then
            echo 'yes'
            USE_SHADOW=1
            LIBSHADOW=
        else
        if (
              $CC $CFLAGS  __conftest.c -lshadow -o __conftest || exit 1
           ) >/dev/null 2>&1; then
                echo '-lshadow'
                USE_SHADOW=1
                LIBSHADOW=-lshadow
            else
                echo 'no'
            fi
        fi
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for crypt... '
cat <<EOF >__conftest.c
int main() { crypt("aa", "bb"); }

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
else
    if (
          $CC $CFLAGS  __conftest.c -lcrypt -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-lcrypt'
        LIBS="$LIBS -lcrypt"
    else
        echo 'no'
        echo 'This package requires crypt.'
        rm -f __conftest*
        exit
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for forkpty... '
cat <<EOF >__conftest.c
#include <pty.h>
int main() { forkpty(0, 0, 0, 0); }

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
else
    if (
          $CC $CFLAGS  __conftest.c -lutil -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-lutil'
        LIBS="$LIBS -lutil"
    else
        if (
              $CC $CFLAGS  __conftest.c -lbsd -o __conftest || exit 1
           ) >/dev/null 2>&1; then
            echo '-lbsd'
            LIBBSD="-lbsd"
        else
            echo 'no'
            echo 'This package requires forkpty.'
            rm -f __conftest*
            exit
        fi
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for logwtmp... '
cat <<EOF >__conftest.c
#ifdef __cplusplus
extern "C"
#endif
void logwtmp(const char *, const char *, const char *);
int main() { logwtmp(0, 0, 0); }

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
else
    if (
          $CC $CFLAGS  __conftest.c -lutil -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-lutil'
        LIBS="$LIBS -lutil"
    else
        if (
              $CC $CFLAGS  __conftest.c -lbsd -o __conftest || exit 1
           ) >/dev/null 2>&1; then
            echo '-lbsd'
            LIBBSD="-lbsd"
        else
            echo 'no'
            echo 'This package requires logwtmp.'
            rm -f __conftest*
            exit
        fi
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for socklen_t... '
cat <<EOF >__conftest.c
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main() {
    struct sockaddr_in sn;
    socklen_t len = sizeof(sn);
    getpeername(0, (struct sockaddr *)&sn, &len);
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'yes'
else
    if (
          $CC $CFLAGS -Dsocklen_t=int __conftest.c  -o __conftest || exit 1
       ) >/dev/null 2>&1; then
        echo 'int'
        CFLAGS="$CFLAGS -Dsocklen_t=int"
    else
        if (
              $CC $CFLAGS -Dsocklen_t=size_t __conftest.c  -o __conftest || exit 1
           ) >/dev/null 2>&1; then
            echo 'size_t'
            CFLAGS="$CFLAGS -Dsocklen_t=size_t"
        else
            echo 'no'
            echo 'Cannot work out what to use for socklen_t. Help...'
            rm -f __conftest*
            exit
        fi
    fi
fi
rm -f __conftest*

##################################################

echo -n 'Checking for snprintf declaration... '
cat <<EOF >__conftest.c
#include <stdio.h>
int main() {
    void *x = (void *)snprintf;
    printf("%lx", (long)x);
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c  -o __conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'ok'
else
    if (
          $CC $CFLAGS -D_GNU_SOURCE __conftest.c  -o __conftest || exit 1
#          ./__conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-D_GNU_SOURCE'
        CFLAGS="$CFLAGS -D_GNU_SOURCE"
    else
        echo 'manual'
        CFLAGS="$CFLAGS -DDECLARE_SNPRINTF"
    fi
fi
rm -f __conftest*

echo -n 'Checking for snprintf implementation... '
cat <<EOF >__conftest.c
#include <stdio.h>
#include <string.h>
#ifdef DECLARE_SNPRINTF
#ifdef __cplusplus
extern "C"
#endif /*__cplusplus*/
int snprintf(char *, int, const char *, ...);
#endif /*DECLARE_SNPRINTF*/
int main() {
    char buf[32];
    snprintf(buf, 8, "%s", "1234567890");
    if (strlen(buf)!=7) return 1;
    return 0;
}

EOF
if (
      $CC $CFLAGS  __conftest.c $LIBBSD -o __conftest || exit 1
#      ./__conftest || exit 1
   ) >/dev/null 2>&1; then
    echo 'ok'
else
    if (
          $CC $CFLAGS  __conftest.c -lsnprintf $LIBBSD -o __conftest || exit 1
#          ./__conftest || exit 1
       ) >/dev/null 2>&1; then
        echo '-lsnprintf'
        LIBS="$LIBS -lsnprintf"
    else
        if (
              $CC $CFLAGS  __conftest.c -ldb $LIBBSD -o __conftest || exit 1
#              ./__conftest || exit 1
           ) >/dev/null 2>&1; then
            echo '-ldb'
            LIBS="$LIBS -ldb"
        else
            echo 'missing'
            echo 'This package requires snprintf.'
            rm -f __conftest*
            exit
        fi
    fi
fi
rm -f __conftest*

##################################################

## libbsd should go last in case it's broken
if [ "x$LIBBSD" != x ]; then
    LIBS="$LIBS $LIBBSD"
fi

echo 'Generating MCONFIG...'
(
    echo -n '# Generated by configure (confgen version 2) on '
    date
    echo '#'
    echo

    echo "BINDIR=$BINDIR"
    echo "SBINDIR=$SBINDIR"
    echo "MANDIR=$MANDIR"
    echo "BINMODE=$BINMODE"
    echo "DAEMONMODE=$DAEMONMODE"
    echo "MANMODE=$MANMODE"
    echo "SUIDMODE=$SUIDMODE"
    echo "PREFIX=$PREFIX"
    echo "EXECPREFIX=$EXECPREFIX"
    echo "INSTALLROOT=$INSTALLROOT"
    echo "CC=$CC"
    if [ x$CC_WARNINGS != x ]; then
        CFLAGS="$CFLAGS $WARNINGS"
    fi

    echo "CFLAGS=$CFLAGS" | sed 's/= */=/'
    echo "LDFLAGS=$LDFLAGS" | sed 's/= */=/'
    echo "LIBS=$LIBS" | sed 's/= */=/'

    echo "LIBTERMCAP=$LIBTERMCAP"
    echo "USE_GLIBC=$USE_GLIBC"
    echo "USE_PAM=$USE_PAM"
    echo "USE_SHADOW=$USE_SHADOW"
    echo "LIBSHADOW=$LIBSHADOW"
) > MCONFIG