diff configure @ 125:e413158cae13

Add ushare project files.
author naoyan@johnstown.minaminoshima.org
date Sun, 03 Oct 2010 11:35:19 +0900
parents
children 3a7d8d2f0585
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/configure	Sun Oct 03 11:35:19 2010 +0900
@@ -0,0 +1,770 @@
+#!/bin/sh
+#
+# recpt1 configure script - (c) 2007 Benjamin Zores
+#
+#  (fully inspirated from ffmpeg configure script, thanks to Fabrice Bellard)
+#
+
+# make sure we are running under a compatible shell
+unset foo
+(: ${foo%%bar}) 2>/dev/null && ! (: ${foo?}) 2>/dev/null
+if test "$?" != 0; then
+    if test "x$USHARE_CONFIGURE_EXEC" = x; then
+        USHARE_CONFIGURE_EXEC=1
+        export USHARE_CONFIGURE_EXEC
+        exec bash "$0" "$@"
+        exec ksh "$0" "$@"
+        exec /usr/xpg4/bin/sh "$0" "$@"
+    fi
+    echo "No compatible shell script interpreter found."
+    exit 1
+fi
+
+show_help(){
+  echo "Usage: configure [options]"
+  echo "Options: [defaults in brackets after descriptions]"
+  echo
+  echo "Standard options:"
+  echo "  --help                      print this message"
+  echo "  --log[=FILE|yes|no]         log tests and output to FILE [config.log]"
+  echo "  --prefix=PREFIX             install in PREFIX [$PREFIX]"
+  echo "  --bindir=DIR                install binaries in DIR [PREFIX/bin]"
+  echo "  --sysconfdir=DIR            configuration files DIR [PREFIX/etc]"
+  echo "  --localedir=DIR             use locales from DIR [PREFIX/share/locale]"
+  echo ""
+  echo "Extended options:"
+  echo "  --enable-dlna               enable DLNA support through libldna"
+  echo "  --disable-dlna              disable DLNA support"
+  echo "  --disable-nls               do not use Native Language Support"
+  echo "  --enable-b25                enable b25 support"
+  echo ""
+  echo "Search paths:"
+  echo "  --with-libupnp-dir=DIR      check for libupnp installed in DIR"
+  echo "  --with-libdlna-dir=DIR      check for libdlna installed in DIR"
+  echo "  --with-b25-dir=DIR          check for libarib25 installed in DIR"
+  echo ""
+  echo "Advanced options (experts only):"
+  echo "  --enable-debug              enable debugging symbols"
+  echo "  --disable-debug             disable debugging symbols"
+  echo "  --disable-strip             disable stripping of executables at installation"
+  echo "  --disable-optimize          disable compiler optimization"
+  echo "  --cross-prefix=PREFIX       use PREFIX for compilation tools [$cross_prefix]"
+  echo "  --cross-compile             assume a cross-compiler is used"
+  exit 1
+}
+
+log(){
+    echo "$@" >>$logfile
+}
+
+log_file(){
+    log BEGIN $1
+    cat -n $1 >>$logfile
+    log END $1
+}
+
+echolog(){
+    log "$@"
+    echo "$@"
+}
+
+clean(){
+    rm -f $TMPC $TMPO $TMPE $TMPS
+}
+
+die(){
+    echolog "$@"
+    if enabled logging; then
+      echo "See file \"$logfile\" produced by configure for more details."
+    else
+      echo "Rerun configure with logging enabled (do not use --log=no) for more details."
+    fi
+    clean
+    exit 1
+}
+
+enabled(){
+    eval test "x\$$1" = "xyes"
+}
+
+flags_saved(){
+    (: ${SAVE_CFLAGS?}) 2>/dev/null
+}
+
+save_flags(){
+    flags_saved && return
+    SAVE_CFLAGS="$CFLAGS"
+    SAVE_LDFLAGS="$LDFLAGS"
+    SAVE_extralibs="$extralibs"
+}
+
+restore_flags(){
+    CFLAGS="$SAVE_CFLAGS"
+    LDFLAGS="$SAVE_LDFLAGS"
+    extralibs="$SAVE_extralibs"
+    unset SAVE_CFLAGS
+    unset SAVE_LDFLAGS
+    unset SAVE_extralibs
+}
+
+temp_cflags(){
+    temp_append CFLAGS "$@"
+}
+
+temp_ldflags(){
+    temp_append LDFLAGS "$@"
+}
+
+temp_extralibs(){
+    temp_append extralibs "$@"
+}
+
+temp_append(){
+    local var
+    var=$1
+    shift
+    save_flags
+    append_var "$var" "$@"
+}
+
+append_var(){
+    local var f
+    var=$1
+    shift
+    for f in $@; do
+      if eval echo \$$var | grep -qv -e "$f"; then
+        eval "$var=\"\$$var $f\""
+      fi
+    done
+}
+
+append(){
+    local var
+    var=$1
+    shift
+    flags_saved && append_var "SAVE_$var" "$@"
+    append_var "$var" "$@"
+}
+
+add_cflags(){
+    append CFLAGS "$@"
+}
+
+add_ldflags(){
+    append LDFLAGS "$@"
+}
+
+add_extralibs(){
+    append extralibs "$@"
+}
+
+add_clog(){
+    echo "#define $1 $2" >> $CONFIG_H
+}
+
+add_clog_str(){
+    echo "#define $1 \"$2\"" >> $CONFIG_H
+}
+
+check_cmd(){
+    log "$@"
+    "$@" >>$logfile 2>&1
+}
+
+check_cc(){
+    log check_cc "$@"
+    cat >$TMPC
+    log_file $TMPC
+    check_cmd $cc $CFLAGS "$@" -c -o $TMPO $TMPC
+}
+
+check_cpp(){
+    log check_cpp "$@"
+    cat >$TMPC
+    log_file $TMPC
+    check_cmd $cc $CFLAGS "$@" -E -o $TMPO $TMPC
+}
+
+check_ld(){
+    log check_ld "$@"
+    check_cc || return
+    check_cmd $cc $LDFLAGS "$@" -o $TMPE $TMPO $extralibs
+}
+
+check_exec(){
+    check_ld "$@" && { enabled cross_compile || $TMPE >>$logfile 2>&1; }
+}
+
+check_cflags(){
+    log check_cflags "$@"
+    check_cc "$@" <<EOF && add_cflags "$@"
+int x;
+EOF
+}
+
+check_ldflags(){
+    log check_ldflags "$@"
+    check_ld "$@" <<EOF && add_ldflags "$@"
+int main(){
+    return 0;
+}
+EOF
+}
+
+check_header(){
+    local header
+    log check_header "$@"
+    header=$1
+    shift
+    check_cpp "$@" <<EOF
+#include <$header>
+int x;
+EOF
+}
+
+check_func(){
+    local func
+    log check_func "$@"
+    func=$1
+    shift
+    check_ld "$@" <<EOF
+extern int $func();
+int main(){
+    $func();
+    return 0;
+}
+EOF
+}
+
+check_lib(){
+    local header func err
+    log check_lib "$@"
+    header="$1"
+    func="$2"
+    shift 2
+    temp_extralibs "$@"
+    check_header $header && check_func $func && add_extralibs "$@"
+    err=$?
+    restore_flags
+    return $err
+}
+
+check_lib_version() {
+    check_cmd pkg-config "$1" --atleast-version="$2"
+    err=$?
+    return $err
+}
+
+append_config(){
+    echo "$@" >> $CONFIGFILE
+}
+
+expand_var(){
+    v="$1"
+    while true; do
+      eval t="$v"
+      test "$t" = "$v" && break
+      v="$t"
+    done
+    echo "$v"
+}
+
+# set temporary file name
+if test ! -z "$TMPDIR" ; then
+    TMPDIR1="${TMPDIR}"
+elif test ! -z "$TEMPDIR" ; then
+    TMPDIR1="${TEMPDIR}"
+else
+    TMPDIR1="/tmp"
+fi
+
+TMPC="${TMPDIR1}/recpt1-${RANDOM}-$$-${RANDOM}.c"
+TMPO="${TMPDIR1}/recpt1-${RANDOM}-$$-${RANDOM}.o"
+TMPE="${TMPDIR1}/recpt1-${RANDOM}-$$-${RANDOM}"
+TMPS="${TMPDIR1}/recpt1-${RANDOM}-$$-${RANDOM}.S"
+
+CONFIGFILE="config.mak"
+CONFIG_H="config.h"
+
+#################################################
+#   set default parameters
+#################################################
+logging="yes"
+logfile="config.log"
+PREFIX="/usr/local"
+bindir='${PREFIX}/bin'
+sysconfdir='${PREFIX}/etc'
+localedir='${PREFIX}/share/locale'
+#dlna="no"
+dlna="yes"
+nls="yes"
+b25="no"
+cc="gcc"
+make="make"
+strip="strip"
+cpu=`uname -m`
+optimize="yes"
+debug="no"
+dostrip="yes"
+extralibs=""
+installstrip="-s"
+cross_compile="no"
+INSTALL="/usr/bin/install -c"
+VERSION="1.1a"
+system_name=`uname -s 2>&1`
+
+#################################################
+#   set cpu variable and specific cpu flags
+#################################################
+case "$cpu" in
+  i386|i486|i586|i686|i86pc|BePC)
+    cpu="x86"
+  ;;
+  x86_64|amd64)
+    cpu="x86"
+    canon_arch="`$cc -dumpmachine | sed -e 's,\([^-]*\)-.*,\1,'`"
+    if [ x"$canon_arch" = x"x86_64" -o x"$canon_arch" = x"amd64" ]; then
+      if [ -z "`echo $CFLAGS | grep -- -m32`"  ]; then
+        cpu="x86_64"
+      fi
+    fi
+  ;;
+# armv4l is a subset of armv5tel
+  arm|armv4l|armv5tel)
+    cpu="armv4l"
+  ;;
+  alpha)
+    cpu="alpha"
+  ;;
+  "Power Macintosh"|ppc|ppc64|powerpc)
+    cpu="powerpc"
+  ;;
+  mips|mipsel|IP*)
+    cpu="mips"
+  ;;
+  sun4u|sparc64)
+    cpu="sparc64"
+  ;;
+  sparc)
+    cpu="sparc"
+  ;;
+  sh4)
+    cpu="sh4"
+  ;;
+  parisc|parisc64)
+    cpu="parisc"
+  ;;
+  s390|s390x)
+    cpu="s390"
+  ;;
+  m68k)
+    cpu="m68k"
+  ;;
+  ia64)
+    cpu="ia64"
+  ;;
+  bfin)
+    cpu="bfin"
+  ;;
+  *)
+    cpu="unknown"
+  ;;
+esac
+
+# OS test booleans functions
+issystem() {
+  test "`echo $system_name | tr A-Z a-z`" = "`echo $1 | tr A-Z a-z`"
+}
+
+linux()   { issystem "Linux" || issystem "uClinux" ; return "$?" ; }
+sunos()   { issystem "SunOS"   ; return "$?" ; }
+hpux()    { issystem "HP-UX"   ; return "$?" ; }
+irix()    { issystem "IRIX"    ; return "$?" ; }
+aix()     { issystem "AIX"     ; return "$?" ; }
+cygwin()  { issystem "CYGWIN"  ; return "$?" ; }
+freebsd() { issystem "FreeBSD" || issystem "GNU/kFreeBSD"; return "$?" ; }
+netbsd()  { issystem "NetBSD"  ; return "$?" ; }
+bsdos()   { issystem "BSD/OS"  ; return "$?" ; }
+openbsd() { issystem "OpenBSD" ; return "$?" ; }
+bsd()     { freebsd || netbsd || bsdos || openbsd ; return "$?" ; }
+qnx()     { issystem "QNX"     ; return "$?" ; }
+darwin()  { issystem "Darwin"  ; return "$?" ; }
+gnu()     { issystem "GNU"     ; return "$?" ; }
+mingw32() { issystem "MINGW32" ; return "$?" ; }
+morphos() { issystem "MorphOS" ; return "$?" ; }
+amigaos() { issystem "AmigaOS" ; return "$?" ; }
+win32()   { cygwin || mingw32  ; return "$?" ; }
+beos()    { issystem "BEOS"    ; return "$?" ; }
+
+#################################################
+#   check options
+#################################################
+for opt do
+  optval="${opt#*=}"
+  case "$opt" in
+  --log)
+  ;;
+  --log=*) logging="$optval"
+  ;;
+  --prefix=*) PREFIX="$optval"; force_prefix=yes
+  ;;
+  --bindir=*) bindir="$optval";
+  ;;
+  --sysconfdir=*) sysconfdir="$optval";
+  ;;
+  --localedir=*) localedir="$optval";
+  ;;
+  --with-libupnp-dir=*) libupnpdir="$optval";
+  ;;
+  --with-libdlna-dir=*) libdlnadir="$optval";
+  ;;
+  --with-b25-dir=*) libb25dir="$optval";
+  ;;
+  --disable-nls) nls="no"
+  ;;
+  --enable-dlna) dlna="yes"
+  ;;
+  --disable-dlna) dlna="no"
+  ;;
+  --enable-b25) b25="yes"
+  ;;
+  --disable-b25) b25="no"
+  ;;
+  --enable-debug) debug="yes"
+  ;;
+  --disable-debug) debug="no"
+  ;;
+  --disable-strip) dostrip="no"
+  ;;
+  --disable-optimize) optimize="no"
+  ;;
+  --cross-prefix=*) cross_prefix="$optval"
+  ;;
+  --cross-compile) cross_compile="yes"
+  ;;
+  --help) show_help
+  ;;
+  *)
+  echo "Unknown option \"$opt\"."
+  echo "See $0 --help for available options."
+  exit 1
+  ;;
+  esac
+done
+
+if [ -n "$cross_prefix" ]; then
+  cross_compile="yes"
+  cc="${cross_prefix}${cc}"
+  strip="${cross_prefix}${strip}"
+else
+  [ -n "$CC" ] && cc="$CC"
+  [ -n "$STRIP" ] && strip="$STRIP"
+fi
+[ -n "$MAKE" ] && make="$MAKE"
+
+#################################################
+#   create logging file
+#################################################
+if test "$logging" != no; then
+  enabled logging || logfile="$logging"
+  echo "# $0 $@" >$logfile
+  set >>$logfile
+else
+  logfile=/dev/null
+fi
+
+#################################################
+#   compiler sanity check
+#################################################
+echolog "Checking for compiler available..."
+check_exec <<EOF
+int main(){
+    return 0;
+}
+EOF
+if test "$?" != 0; then
+  echo "$cc is unable to create an executable file."
+  if test -z "$cross_prefix" -a "$cross_compile" = no; then
+    echo "If $cc is a cross-compiler, use the --cross-compile option."
+  fi
+  die "C compiler test failed."
+fi
+
+#################################################
+#   check for target specific flags
+#################################################
+# check for SIMD availability
+
+# AltiVec flags: The FSF version of GCC differs from the Apple version
+if test $cpu = "powerpc"; then
+  if test $altivec = "yes"; then
+    if test -n "`$cc -v 2>&1 | grep version | grep Apple`"; then
+      add_cflags "-faltivec"
+    else
+      add_cflags "-maltivec -mabi=altivec"
+    fi
+  fi
+fi
+
+check_header altivec.h && _altivec_h=yes || _altivec_h=no
+
+# check if our compiler supports Motorola AltiVec C API
+if enabled altivec; then
+  if enabled _altivec_h; then
+    inc_altivec_h="#include <altivec.h>"
+  else
+    inc_altivec_h=
+  fi
+  check_cc <<EOF || altivec=no
+$inc_altivec_h
+int main(void) {
+    vector signed int v1, v2, v3;
+    v1 = vec_add(v2,v3);
+    return 0;
+}
+EOF
+fi
+
+# mmi only available on mips
+if [ "$mmi" = "default" ]; then
+  if [ "$cpu" = "mips" ]; then
+    mmi="yes"
+  else
+    mmi="no"
+  fi
+fi
+
+# check if our compiler supports mmi
+enabled mmi && check_cc <<EOF || mmi="no"
+int main(void) {
+    __asm__ ("lq \$2, 0(\$2)");
+    return 0;
+}
+EOF
+
+# test gcc version to see if vector builtins can be used
+# currently only used on i386 for MMX builtins
+check_cc -msse <<EOF && builtin_vector=yes || builtin_vector=no
+#include <xmmintrin.h>
+int main(void) {
+#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 2)
+return 0;
+#else
+#error no vector builtins
+#endif
+}
+EOF
+
+# test for mm3dnow.h
+test "$cpu" = "x86_64" && march=k8 || march=athlon
+check_cc -march=$march <<EOF && mm3dnow=yes || mm3dnow=no
+#include <mm3dnow.h>
+int main(void) {
+__m64 b1;
+b1 = _m_pswapd(b1);
+_m_femms();
+return 0;
+}
+EOF
+
+# ---
+# big/little-endian test
+if test "$cross_compile" = "no"; then
+  check_ld <<EOF || die "endian test failed" && $TMPE && bigendian="yes"
+#include <inttypes.h>
+int main(int argc, char ** argv){
+        volatile uint32_t i=0x01234567;
+        return (*((uint8_t*)(&i))) == 0x67;
+}
+EOF
+else
+# programs cannot be launched if cross compiling, so make a static guess
+  if test "$cpu" = "powerpc" -o "$cpu" = "mips" ; then
+    bigendian="yes"
+  fi
+fi
+
+# add some useful compiler flags if supported
+add_cflags -I..
+add_cflags -I../driver
+check_cflags -W
+check_cflags -Wall
+check_cflags -D_LARGEFILE_SOURCE
+check_cflags -D_FILE_OFFSET_BITS=64
+check_cflags -D_REENTRANT
+linux && add_cflags -D_GNU_SOURCE
+
+#################################################
+#   check for debug symbols
+#################################################
+if enabled debug; then
+  add_cflags -g3
+  add_cflags -DHAVE_DEBUG
+  dostrip=no
+fi
+
+if enabled optimize; then
+  if test -n "`$cc -v 2>&1 | grep xlc`"; then
+    add_cflags  "-O5"
+    add_ldflags "-O5"
+  else
+    add_cflags "-O3"
+  fi
+fi
+
+#################################################
+#   check for locales (optional)
+#################################################
+echolog "Checking for locales ..."
+check_header locale.h && add_cflags -DHAVE_LOCALE_H
+check_lib locale.h setlocale "" && add_cflags -DHAVE_SETLOCALE
+
+#################################################
+#   check for ifaddr (optional)
+#################################################
+echolog "Checking for ifaddrs ..."
+check_lib ifaddrs.h getifaddrs "" && add_cflags -DHAVE_IFADDRS_H
+
+#################################################
+#   check for langinfo (optional)
+#################################################
+echolog "Checking for langinfo ..."
+check_header langinfo.h && add_cflags -DHAVE_LANGINFO_H
+check_lib langinfo.h nl_langinfo "" && add_cflags -DHAVE_LANGINFO_CODESET
+
+#################################################
+#   check for iconv (optional)
+#################################################
+echolog "Checking for iconv ..."
+check_lib iconv.h iconv "" && add_cflags -DHAVE_ICONV
+
+#################################################
+#   check for libupnp and friends (mandatory)
+#################################################
+if [ -n "$libupnpdir" ]; then
+  check_cflags -I$libupnpdir/include
+  check_ldflags -L$libupnpdir/lib
+fi
+
+echolog "Checking for libixml ..."
+check_lib upnp/ixml.h ixmlRelaxParser -lixml || die "Error, can't find libixml !"
+
+echolog "Checking for libthreadutil ..."
+check_lib upnp/ThreadPool.h ThreadPoolAdd "-lthreadutil -lpthread" || die "Error, can't find libthreadutil !"
+add_extralibs -lpthread
+
+libupnp_min_version="1.4.2"
+echolog "Checking for libupnp >= $libupnp_min_version ..."
+check_lib upnp/upnp.h UpnpSetMaxContentLength -lupnp || die "Error, can't find libupnp !"
+check_lib_version libupnp $libupnp_min_version || die "Error, libupnp < $libupnp_min_version !"
+add_cflags `pkg-config libupnp --cflags`
+add_extralibs `pkg-config libupnp --libs`
+
+#################################################
+#   check for libdlna (mandatory if enabled)
+#################################################
+if test "$dlna" = "yes"; then
+  libdlna_min_version="0.2.1"
+  echolog "Checking for libdlna >= $libdlna_min_version ..."
+  if [ -n "$libdlnadir" ]; then
+    check_cflags -I$libdlnadir/include
+    check_ldflags -L$libdlnadir/lib
+  fi
+  check_lib dlna.h dlna_register_all_media_profiles -ldlna || die "Error, can't find libdlna (install it or use --disable-dlna) !"
+#  check_lib_version libdlna $libdlna_min_version || die "Error, libdlna < $libdlna_min_version !"
+  add_cflags -DHAVE_DLNA
+  add_cflags `pkg-config libdlna --cflags`
+  add_extralibs `pkg-config libdlna --libs`
+fi
+
+#################################################
+#   check for libarib25 (mandatory if enabled)
+#################################################
+if test "$b25" = "yes"; then
+  b25_min_version="0.1.8"
+  echolog "Checking for b25 >= $b25_min_version ..."
+  if [ -n "$libb25dir" ]; then
+    check_cflags -I$libb25dir/include/arib25
+    check_ldflags -L$libb25dir/lib
+  fi
+  check_lib arib_std_b25.h create_arib_std_b25 -larib25 -lpcsclite || die "Error, can't find libarib25 (install it or use --disable-b25) !"
+#  check_lib_version libarib25 $libb25_min_version || die "Error, libb25 < $libb25_min_version !"
+  add_cflags -DHAVE_LIBARIB25
+  add_cflags `pkg-config libarib25 pcsclite --cflags`
+  add_extralibs `pkg-config libarib25 pcsclite --libs`
+fi
+
+#################################################
+#   logging result
+#################################################
+echolog ""
+echolog "recpt1: configure is OK"
+echolog "  version            $VERSION"
+echolog "  using libupnp      `pkg-config libupnp --modversion`"
+test $dlna = yes && echolog "  using libdlna      `pkg-config libdlna --modversion`"
+test $b25 = yes && echolog "  using libb25      `pkg-config libb25 --modversion`"
+echolog "configuration:"
+echolog "  install prefix     $PREFIX"
+echolog "  configuration dir  $sysconfdir"
+echolog "  locales dir        $localedir"
+echolog "  NLS support        $nls"
+echolog "  DLNA support       $dlna"
+echolog "  B25 support        $b25"
+echolog "  C compiler         $cc"
+echolog "  STRIP              $strip"
+echolog "  make               $make"
+echolog "  CPU                $cpu ($tune)"
+echolog "  debug symbols      $debug"
+echolog "  strip symbols      $dostrip"
+echolog "  optimize           $optimize"
+echolog ""
+echolog "  CFLAGS             $CFLAGS"
+echolog "  LDFLAGS            $LDFLAGS"
+echolog "  extralibs          $extralibs"
+echolog ""
+
+#################################################
+#   save configs attributes
+#################################################
+echolog "Creating $CONFIGFILE ..."
+
+echo "# Automatically generated by configure - do not modify!" > $CONFIGFILE
+
+append_config "VERSION=$VERSION"
+
+append_config "PREFIX=$PREFIX"
+append_config "prefix=\$(DESTDIR)\$(PREFIX)"
+append_config "bindir=\$(DESTDIR)$bindir"
+append_config "sysconfdir=\$(DESTDIR)$sysconfdir"
+append_config "localedir=\$(DESTDIR)$localedir"
+
+append_config "MAKE=$make"
+append_config "CC=$cc"
+append_config "LN=ln"
+if enabled dostrip; then
+  append_config "STRIP=$strip"
+  append_config "INSTALLSTRIP=$installstrip"
+else
+  append_config "STRIP=echo ignoring strip"
+  append_config "INSTALLSTRIP="
+fi
+append_config "EXTRALIBS=$extralibs"
+
+append_config "OPTFLAGS=$CFLAGS"
+append_config "LDFLAGS=$LDFLAGS"
+append_config "INSTALL=$INSTALL"
+
+append_config "DEBUG=$debug"
+
+
+echolog "Creating $CONFIG_H ..."
+echo "/* Automatically generated by configure - do not modify! */" > $CONFIG_H
+add_clog_str VERSION "$VERSION"
+add_clog_str PACKAGE "recpt1"
+add_clog_str PACKAGE_NAME "recpt1"
+add_clog_str SYSCONFDIR `expand_var "${sysconfdir}"`
+add_clog_str LOCALEDIR `expand_var "${localedir}"`
+test $nls = yes && add_clog CONFIG_NLS 1
+
+clean
+exit 0