Imported Upstream version 4.9
[platform/upstream/libtasn1.git] / configure.ac
index 68a70be..7a14e04 100644 (file)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation
+# Copyright (C) 2002-2014 Free Software Foundation, Inc.
 #
 # This file is part of LIBTASN1.
 #
@@ -16,79 +16,97 @@ dnl Process this file with autoconf to produce a configure script.
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
-AC_PREREQ(2.61)
-AC_INIT([libtasn1], [2.0], [bug-gnutls@gnu.org])
+AC_PREREQ([2.61])
+AC_INIT([GNU Libtasn1],[4.9],[help-libtasn1@gnu.org])
 AC_CONFIG_AUX_DIR([build-aux])
 AC_CONFIG_MACRO_DIR([m4])
 AC_CONFIG_HEADERS(config.h)
-AM_INIT_AUTOMAKE([1.10 -Wall -Werror -Wno-override])
+AM_INIT_AUTOMAKE([1.10 -Wall -Wno-override])
+AM_SILENT_RULES([yes])
 
 # Library code modified:                              REVISION++
 # Interfaces changed/added/removed:   CURRENT++       REVISION=0
 # Interfaces added:                             AGE++
 # Interfaces removed:                           AGE=0
-AC_SUBST(LT_CURRENT, 5)
-AC_SUBST(LT_REVISION, 0)
-AC_SUBST(LT_AGE, 0)
+AC_SUBST(LT_CURRENT, 11)
+AC_SUBST(LT_REVISION, 2)
+AC_SUBST(LT_AGE, 5)
 
 AC_PROG_CC
 gl_EARLY
 lgl_EARLY
 AC_PROG_YACC
-AC_PROG_LN_S
+
+AC_ARG_ENABLE(doc,
+  AS_HELP_STRING([--disable-doc], [don't generate any documentation]),
+    enable_doc=$enableval, enable_doc=yes)
+AM_CONDITIONAL(ENABLE_DOC, test "$enable_doc" != "no")
 
 dnl Checks for programs.
-AC_PROG_INSTALL
-AM_MISSING_PROG(PERL, perl, $missing_dir)
 AM_MISSING_PROG(HELP2MAN, help2man, $missing_dir)
-
 AC_LIBTOOL_WIN32_DLL
+AM_PROG_AR
 AM_PROG_LIBTOOL
+GTK_DOC_CHECK(1.2)
 
 AC_CHECK_SIZEOF(unsigned long int, 4)
 AC_CHECK_SIZEOF(unsigned int, 4)
 
-sj_VALGRIND
 sj_UPDATE_HEADER_VERSION([$srcdir/lib/libtasn1.h])
 
-# Check for gtk-doc.
-GTK_DOC_CHECK(1.2)
-
 # For gnulib compatibility modules.
 gl_INIT
 lgl_INIT
 
-# Disable useless warnings.
-W=
-W="$W -Wsystem-headers"         # Don't let system headers trigger warnings
-W="$W -Wc++-compat"             # We don't care strongly about C++ compilers
-W="$W -Wtraditional"            # Warns on #elif which we use often
-W="$W -Wtraditional-conversion" # Too many warnings for now
-W="$W -Wconversion"             # Too many warnings for now
-W="$W -Wsign-conversion"        # Too many warnings for now
-W="$W -Wold-style-definition"   # 
-W="$W -Wpadded"                 # Our structs are not padded
-W="$W -Wundef"                  # 
-W="$W -Wunreachable-code"       # Too many false positives
-W="$W -Wunused-macros"          # Breaks on bison generated ASN1.c
-W="$W -Wunsafe-loop-optimizations"
-W="$W -Wstrict-overflow"
-gl_MANYWARN_ALL_GCC([WARNINGS])
-gl_MANYWARN_COMPLEMENT(WARNINGS, [$WARNINGS], [$W])
-for w in $WARNINGS; do
-  gl_WARN_ADD([$w])
-done
-gl_WARN_ADD([-Wno-missing-field-initializers])
-gl_WARN_ADD([-Wno-sign-compare])
-gl_WARN_ADD([-Wno-pointer-sign])
-gl_WARN_ADD([-Wno-unused-parameter])
-gl_WARN_ADD([-fdiagnostics-show-option])
+AC_ARG_ENABLE([gcc-warnings],
+  [AS_HELP_STRING([--disable-gcc-warnings],
+                 [disable GCC warnings (for developers)])],
+  [case $enableval in
+     yes|no) ;;
+     *)      AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
+   esac
+   gl_gcc_warnings=$enableval],
+  [gl_gcc_warnings=yes]
+)
+
+if test "$gl_gcc_warnings" = yes; then
+  gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
+
+  nw="$nw -Wsystem-headers"         # Don't let system headers trigger warnings
+  nw="$nw -Wc++-compat"             # We don't care strongly about C++ compilers
+  nw="$nw -Wtraditional"            # Warns on #elif which we use often
+  nw="$nw -Wtraditional-conversion" # Too many warnings for now
+  nw="$nw -Wconversion"             # Too many warnings for now
+  nw="$nw -Wsign-conversion"        # Too many warnings for now
+  nw="$nw -Wold-style-definition"   #
+  nw="$nw -Wpadded"                 # Our structs are not padded
+  nw="$nw -Wundef"                  #
+  nw="$nw -Wunreachable-code"       # Too many false positives
+  nw="$nw -Wunused-macros"          # Breaks on bison generated ASN1.c
+  nw="$nw -Wswitch-default"         # Breaks on bison generated ASN1.c
+  nw="$nw -Wunsafe-loop-optimizations"
+  nw="$nw -Wstrict-overflow"
+  nw="$nw -Wsuggest-attribute=pure" # Is it worth using pure attributes?
+
+  gl_MANYWARN_ALL_GCC([ws])
+  gl_MANYWARN_COMPLEMENT(ws, [$ws], [$nw])
+  for w in $ws; do
+    gl_WARN_ADD([$w])
+  done
+
+  gl_WARN_ADD([-Wno-type-limits])
+  gl_WARN_ADD([-Wno-missing-field-initializers])
+  gl_WARN_ADD([-Wno-unused-parameter])
+  gl_WARN_ADD([-Wno-stack-protector])            # Some functions cannot be protected
+  gl_WARN_ADD([-fdiagnostics-show-option])
+fi
 
 AC_CONFIG_FILES([
   Makefile
   doc/Makefile
   doc/cyclo/Makefile
   doc/reference/Makefile
+  doc/reference/version.xml
   examples/Makefile
   gl/Makefile
   lib/Makefile
@@ -105,8 +123,8 @@ AC_MSG_NOTICE([summary of build options:
   Host type:        ${host}
   Install prefix:   ${prefix}
   Compiler:         ${CC}
-  Warning flags:    ${WARN_CFLAGS}
+  Warning flags:    errors: ${WERROR_CFLAGS} warnings: ${WARN_CFLAGS}
   Library types:    Shared=${enable_shared}, Static=${enable_static}
   Valgrind:         ${VALGRIND}
-  Linker script:    $have_ld_version_script
+  Version script:   $have_ld_version_script
 ])