Skip to content
Snippets Groups Projects
Select Git revision
  • hpke
  • master default protected
  • ppc-chacha-4core
  • delete-internal-name-mangling
  • master-updates
  • ppc-gcm
  • ppc-chacha-2core
  • refactor-ecc-mod
  • ppc-chacha-core
  • use-mpn_cnd-functions
  • optimize-ecc-invert
  • default-m4-quote-char
  • power-asm-wip
  • test-fat
  • chacha-3core-neon
  • x86_64-salsa20-2core
  • salsa20-2core-neon
  • bcrypt
  • arm-salsa20-chacha-vsra
  • test-shlib-dir
  • nettle_3.6_release_20200429
  • nettle_3.6rc3
  • nettle_3.6rc2
  • nettle_3.6rc1
  • nettle_3.5.1_release_20190627
  • nettle_3.5_release_20190626
  • nettle_3.5rc1
  • nettle_3.4.1_release_20181204
  • nettle_3.4.1rc1
  • nettle_3.4_release_20171119
  • nettle_3.4rc2
  • nettle_3.4rc1
  • nettle_3.3_release_20161001
  • nettle_3.2_release_20160128
  • nettle_3.1.1_release_20150424
  • nettle_3.1_release_20150407
  • nettle_3.1rc3
  • nettle_3.1rc2
  • nettle_3.1rc1
  • nettle_3.0_release_20140607
40 results

configure.ac

Blame
  • Forked from Nettle / nettle
    3539 commits behind the upstream repository.
    configure.ac 4.98 KiB
    dnl -*- mode: shell-script; sh-indentation: 2; -*-
    
    dnl Process this file with autoconf to produce a configure script.
    
    AC_INIT([nettle], [1.10])
    AC_CONFIG_SRCDIR([arcfour.c])
    AC_PREREQ(2.50)
    AM_INIT_AUTOMAKE
    AM_CONFIG_HEADER([config.h])
    
    SHLIBMAJOR=2
    SHLIBMINOR=1
    
    AC_CANONICAL_HOST
    
    # Command line options
    AC_ARG_WITH(include-path,
      AC_HELP_STRING([--with-include-path], [A colon-separated list of directories to search for include files]),,
      [with_include_path=''])
    
    if test x$with_include_path != x ; then
      CPPFLAGS="$CPPFLAGS -I`echo $with_include_path | sed 's/:/ -I/g'`"
    fi
    
    AC_ARG_WITH(lib-path,
      AC_HELP_STRING([--with-lib-path], [A colon-separated list of directories to search for libraries]),,
      [with_lib_path=''])
    
    if test x$with_lib_path != x ; then
      LDFLAGS="$LDFLAGS -L`echo $with_lib_path | sed 's/:/ -L/g'`"
    fi
    
    AC_ARG_ENABLE(public-key,
      AC_HELP_STRING([--disable-public-key], [Disable public key algorithms]),,
      [enable_public_key=yes])
    
    AC_ARG_ENABLE(assembler,
      AC_HELP_STRING([--disable-assembler],[Disable assembler code]),,
      [enable_assembler=yes])
    
    AC_ARG_ENABLE(shared,
      AC_HELP_STRING([--enable-shared], [Build a shared library]),,
      [enable_shared=no])
    
    LSH_RPATH_INIT([`echo $with_lib_path | sed 's/:/ /g'` \
        `echo $exec_prefix | sed "s@^NONE@$prefix/lib@g" | sed "s@^NONE@$ac_default_prefix/lib@g"` \
        /usr/local/lib /sw/local/lib /sw/lib \
        /usr/gnu/lib /opt/gnu/lib /sw/gnu/lib /usr/freeware/lib /usr/pkg/lib])
    
    # Checks for programs.
    AC_PROG_CC
    AC_PROG_MAKE_SET
    AC_PROG_RANLIB
    AM_PROG_CC_STDC
    
    if test "x$am_cv_prog_cc_stdc" = xno ; then
      AC_ERROR([the C compiler doesn't handle ANSI-C])
    fi
    
    # Select assembler code
    asm_path=
    case "$host" in
      [i?86*-*-* | k[5-8]*-*-* | pentium*-*-* | athlon-*-*])
        asm_path=x86
        ;;
      *sparc*-*-*)
        asm_path=sparc
        ;;
    esac
    
    # echo "enable_assembler: $enable_assembler, asm_path: $asm_path"
    
    if test "x$enable_assembler" = xyes ; then
      if test -n "$asm_path"; then
        AC_MSG_NOTICE([Looking for assembler files in $asm_path/.])
        found=no
        for tmp_f in aes.asm aes-encrypt.asm aes-decrypt.asm \
    		 arcfour-crypt.asm sha1-compress.asm machine.m4; do
    #       echo "Looking for $srcdir/$asm_path/$tmp_f"
          if test -f "$srcdir/$asm_path/$tmp_f"; then
    #        echo found
            found=yes
            AC_CONFIG_LINKS($tmp_f:$asm_path/$tmp_f)
          fi
        done
        if test "$found" = no; then
          enable_assembler=no
          AC_MSG_WARN([No assembler files found.])
        fi
      fi
    fi
    
    SHLIBCFLAGS="-fpic"
    SHLIBFORLINK=libnettle.so
    SHLIBSONAME='$(SHLIBFORLINK).$(SHLIBMAJOR)'
    SHLIBFILE='$(SHLIBSONAME).$(SHLIBMINOR)'
    SHLIBLINK='$(CC) $(LDFLAGS) -shared -Wl,-soname=$(SHLIBSONAME)'
    
    echo "enable_shared: $enable_shared"
         
    if test "x$enable_shared" = xyes ; then
      SHLIBTARGET='$(SHLIBFORLINK)'
      SHLIBINSTALL=install-shared
    else
      SHLIBTARGET=''
      SHLIBINSTALL=''
    fi
    
    AC_SUBST(SHLIBCFLAGS)
    AC_SUBST(SHLIBMAJOR)
    AC_SUBST(SHLIBMINOR)
    AC_SUBST(SHLIBFORLINK)
    AC_SUBST(SHLIBSONAME)
    AC_SUBST(SHLIBFILE)
    AC_SUBST(SHLIBLINK)
    AC_SUBST(SHLIBTARGET)
    AC_SUBST(SHLIBINSTALL)
    	
    AC_PATH_PROG(M4, m4, m4)
    
    # Checks for typedefs, structures, and compiler characteristics.
    AC_C_CONST
    AC_C_INLINE
    AC_TYPE_UID_T
    AC_TYPE_SIZE_T
    AC_HEADER_TIME
    
    LSH_FUNC_ALLOCA
    
    # Needed by the supplied memcmp.c
    AC_C_BIGENDIAN
    AC_REPLACE_FUNCS(memxor)
    
    LSH_GCC_ATTRIBUTES
    
    # According to Simon Josefsson, looking for uint32_t and friends in
    # sys/types.h is needed on some systems, in particular cygwin.
    AX_CREATE_STDINT_H([nettle-types.h], [sys/types.h])
    
    # Checks for libraries
    AC_CHECK_LIB(gmp, __gmpz_getlimbn,,
        [AC_MSG_WARN(
    [GNU MP not found, or not 3.1 or up, see http://www.swox.com/gmp.
    Support for public key algorithms will be unavailable.])]
        enable_public_key=no)
    
    if test "x$enable_public_key" = xyes ; then
      AC_DEFINE(WITH_PUBLIC_KEY)
      RSA_EXAMPLES="rsa-keygen rsa-sign rsa-verify rsa-encrypt rsa-decrypt"
    else
      RSA_EXAMPLES=""
    fi
    
    AH_TEMPLATE([WITH_PUBLIC_KEY], [Define to enable public key features])
    AC_SUBST(RSA_EXAMPLES)
    
    # Add -R flags needed to run programs linked with gmp
    LSH_RPATH_FIX
    
    AH_TEMPLATE([HAVE_LIBCRYPTO],
    	    [Define if you have openssl's libcrypto (used for benchmarking)])
    
    OPENSSL_LIBFLAGS=''
    
    # Check for openssl's libcrypto (used only for benchmarking)
    AC_CHECK_LIB(crypto, BF_ecb_encrypt,
      [AC_DEFINE(HAVE_LIBCRYPTO)
       OPENSSL_LIBFLAGS='-lcrypto'
    ])
    
    AC_SUBST(OPENSSL_LIBFLAGS)
    
    # Set these flags *last*, or else the test programs won't compile
    if test x$GCC = xyes ; then
      # Using -ggdb3 makes (some versions of) Redhat's gcc-2.96 dump core
      if "$CC" --version | grep '^2\.96$' 1>/dev/null 2>&1; then
        true
      else
        CFLAGS="$CFLAGS -ggdb3"
      fi
      CFLAGS="$CFLAGS -Wall -W \
      -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes \
      -Wpointer-arith -Wbad-function-cast -Wnested-externs"
    
    # Don't enable -Wcast-align as it results in tons of warnings in the
    # DES code. And when using stdio.
    # Don't enable -Waggregate-return, as that causes warnings for glibc
    # inttypes.h.
    fi
    
    AC_OUTPUT(Makefile tools/Makefile testsuite/Makefile examples/Makefile config.m4)