Alien-TinyCC

 view release on metacpan or  search on metacpan

src/configure  view on Meta::CPAN

  --with-selinux           use mmap for exec mem [needs writable /tmp]
  --sysincludepaths=...    specify system include paths, colon separated
  --libpaths=...           specify system library paths, colon separated
  --crtprefix=...          specify locations of crt?.o, colon separated
  --elfinterp=...          specify elf interpreter
EOF
#echo "NOTE: The object files are build at the place where configure is launched"
exit 1
fi

cc="${cross_prefix}${cc}"
ar="${cross_prefix}${ar}"
strip="${cross_prefix}${strip}"

CONFTEST=./conftest$EXESUF

if test -z "$cross_prefix" ; then
  if ! $cc -o $CONFTEST $source_path/conftest.c 2>/dev/null ; then
    echo "configure: error: '$cc' failed to compile conftest.c."
  else
    bigendian="$($CONFTEST bigendian)"
    gcc_major="$($CONFTEST version)"
    gcc_minor="$($CONFTEST minor)"
    if test "$mingw32" = "no" ; then
      triplet="$($CONFTEST triplet)"
      if test -f "/usr/lib/$triplet/crti.o" ; then
        tcc_lddir="lib"
        multiarch_triplet="$triplet"
      elif test -f "/usr/lib64/crti.o" ; then
        tcc_lddir="lib64"
      fi

      if test "$cpu" = "armv4l" ; then
        if test "${triplet%eabihf}" != "$triplet" ; then
           confvars="$confvars arm_eabihf"
        elif test "${triplet%eabi}" != "$triplet" ; then
           confvars="$confvars arm_eabi"
        fi
        if grep -s -q "^Features.* \(vfp\|iwmmxt\) " /proc/cpuinfo ; then
           confvars="$confvars arm_vfp"
        fi
      fi

#      multiarch_triplet=${libc_dir#*/}
#      multiarch_triplet=${multiarch_triplet%/}
#      tcc_lddir="${libc_dir%%/*}"
#      if test -n "$multiarch_triplet" ; then
#        tcc_lddir="$tcc_lddir/$multiarch_triplet"
#      fi

      if test -f "/lib/ld-uClibc.so.0" ; then
        confvars="$confvars uClibc"
      fi
# gr: maybe for after the release:
#       tcc_elfinterp="$(ldd $CONFTEST | grep 'ld.*.so' | sed 's,\s*\(\S\+\).*,\1,')"
       # echo "elfinterp           $tcc_elfinterp"

    fi
  fi
else
  # if cross compiling, cannot launch a program, so make a static guess
  case $cpu in
    powerpc|mips|s390)  bigendian=yes;;
  esac
fi

cat <<EOF
Binary  directory   $bindir
TinyCC directory    $tccdir
Library directory   $libdir
Include directory   $includedir
Manual directory    $mandir
Info directory      $infodir
Doc directory       $docdir
Target root prefix  $sysroot
Source path      $source_path
C compiler       $cc
Target OS        $targetos
CPU              $cpu
Big Endian       $bigendian
gprof enabled    $gprof
cross compilers  $build_cross
use libgcc       $use_libgcc
EOF

echo "Creating config.mak and config.h"

cat >config.mak <<EOF
# Automatically generated by configure - do not modify
prefix=$prefix
bindir=\$(DESTDIR)$bindir
tccdir=\$(DESTDIR)$tccdir
libdir=\$(DESTDIR)$libdir
ln_libdir=$libdir
includedir=\$(DESTDIR)$includedir
mandir=\$(DESTDIR)$mandir
infodir=\$(DESTDIR)$infodir
docdir=\$(DESTDIR)$docdir
CC=$cc
GCC_MAJOR=$gcc_major
GCC_MINOR=$gcc_minor
HOST_CC=$host_cc
AR=$ar
STRIP=$strip -s -R .comment -R .note
CFLAGS=$CFLAGS
LDFLAGS=$LDFLAGS
LIBSUF=$LIBSUF
EXESUF=$EXESUF
EOF

print_inc() {
  if test -n "$2"; then
    echo "#ifndef $1" >> $TMPH
    echo "# define $1 \"$2\"" >> $TMPH
    echo "#endif" >> $TMPH
  fi
}
print_mak() {
  if test -n "$2"; then
    echo "NATIVE_DEFINES+=-D$1=\"\\\"$2\\\"\"" >> config.mak
  fi



( run in 0.683 second using v1.01-cache-2.11-cpan-e1769b4cff6 )