summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac153
1 files changed, 153 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..4c51345
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,153 @@
+dnl Configuration for the toplevel directory of GNU libunistring
+dnl Copyright (C) 2009 Free Software Foundation, Inc.
+dnl
+dnl This program is free software: you can redistribute it and/or modify
+dnl it under the terms of the GNU General Public License as published by
+dnl the Free Software Foundation; either version 3 of the License, or
+dnl (at your option) any later version.
+dnl
+dnl This program is distributed in the hope that it will be useful,
+dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
+dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+dnl GNU General Public License for more details.
+dnl
+dnl You should have received a copy of the GNU General Public License
+dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+dnl Process this file with autoconf to produce a configure script.
+
+AC_PREREQ([2.63])
+AC_INIT
+AC_CONFIG_SRCDIR([lib/unistring/version.in.h])
+AC_CONFIG_AUX_DIR([build-aux])
+. $srcdir/version.sh
+gl_INIT_PACKAGE([libunistring], [$VERSION_NUMBER])
+AM_INIT_AUTOMAKE([silent-rules])
+AM_CONFIG_HEADER([config.h])
+
+dnl Override automake's tar command used for creating distributions.
+am__tar='${AMTAR} chof - --owner=root --group=root "$$tardir"'
+
+dnl Checks for basic programs.
+
+AC_PROG_CC
+AC_PROG_CPP
+AC_PROG_INSTALL
+AC_PROG_MKDIR_P
+
+dnl Check for host type.
+
+AC_CANONICAL_HOST
+
+dnl Checks that augment the CPPFLAGS.
+
+gl_EARLY
+
+dnl Checks for compiler output filename suffixes.
+
+AC_OBJEXT
+AC_EXEEXT
+
+dnl Check for build configuration.
+
+gl_WOE32_DLL
+
+LT_INIT([win32-dll])
+
+dnl Prepares the libtool configuration for handling of Windows resources, and
+dnl sets the RC variable to a program that compiles Windows resource files.
+LT_LANG([Windows Resource])
+
+dnl On mingw and Cygwin, we can activate special Makefile rules which add
+dnl version information to the shared libraries and executables.
+case "$host_os" in
+ mingw* | cygwin*) is_woe32=yes ;;
+ *) is_woe32=no ;;
+esac
+AM_CONDITIONAL([WOE32], [test $is_woe32 = yes])
+
+dnl Checks for types, header files, functions and declarations.
+
+gl_INIT
+
+dnl Compilation on mingw and Cygwin needs special Makefile rules, because
+dnl 1. when we install a shared library, we must arrange to export
+dnl auxiliary pointer variables for every exported variable,
+dnl 2. when we install a shared library and a static library simultaneously,
+dnl the include file specifies __declspec(dllimport) and therefore we
+dnl must arrange to define the auxiliary pointer variables for the
+dnl exported variables _also_ in the static library.
+if test "$enable_shared" = yes; then
+ case "$host_os" in
+ mingw* | cygwin*) is_woe32dll=yes ;;
+ *) is_woe32dll=no ;;
+ esac
+else
+ is_woe32dll=no
+fi
+AM_CONDITIONAL([WOE32DLL], [test $is_woe32dll = yes])
+if test $is_woe32dll = yes; then
+ DLL_VARIABLE='__declspec (dllimport)'
+else
+ DLL_VARIABLE=
+fi
+AC_SUBST([DLL_VARIABLE])
+dnl Some parts of the tests have to be skipped when the tests are linked with
+dnl the shared library. This is because in this situation, the address of a
+dnl global variable in the shared library cannot be used as initializer of a
+dnl global or static variable.
+dnl gcc would say: "error: initializer element is not constant".
+if test $is_woe32dll = yes; then
+ AC_DEFINE([WOE32DLL], [1],
+ [Define when --enable-shared is used on mingw or Cygwin.])
+fi
+
+dnl Namespacing is the default: it builds a namespace clean library.
+dnl Allow the user to disable namespacing. This speeds up "make" considerably.
+AC_ARG_ENABLE([namespacing],
+ [ --disable-namespacing build a library that exports undesired symbols],
+ [:], [enable_namespacing=yes])
+if test "$enable_namespacing" != no; then
+ NAMESPACING=yes
+else
+ NAMESPACING=
+fi
+AC_SUBST([NAMESPACING])
+
+dnl Check for prerequisites of exported.sh.
+gt_GLOBAL_SYMBOL_PIPE
+
+dnl Substitutable version number.
+AC_PROG_AWK
+changequote(,)
+sed_extract_major='/^[0-9]/{s/^\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+sed_extract_minor='/^[0-9][0-9]*[.][0-9]/{s/^[0-9]*[.]\([0-9]*\).*/\1/p;q;}
+i\
+0
+q
+'
+changequote([,])
+version_major=`echo "${VERSION}" | sed -n -e "$sed_extract_major"`
+version_minor=`echo "${VERSION}" | sed -n -e "$sed_extract_minor"`
+HEXVERSION=0x`$AWK 'BEGIN { printf("%02d%02d"',"$version_major","$version_minor"') }'`
+AC_SUBST([HEXVERSION])
+
+dnl Check for tools needed for formatting the documentation.
+ac_aux_dir_abs=`cd $ac_aux_dir && pwd`
+AC_PATH_PROG([TEXI2DVI], [texi2dvi], [$ac_aux_dir_abs/missing texi2dvi])
+AC_PATH_PROG([DVIPS], [dvips], [$ac_aux_dir_abs/missing dvips])
+AC_PATH_PROG([PERL], [perl], [$ac_aux_dir_abs/missing perl])
+
+AC_CONFIG_FILES([Makefile])
+AC_CONFIG_FILES([doc/Makefile])
+AC_CONFIG_FILES([gnulib-local/Makefile])
+AC_CONFIG_FILES([lib/Makefile])
+AC_CONFIG_FILES([lib/exported.sh])
+AC_CONFIG_FILES([lib/unistring/version.h:lib/unistring/version.in.h])
+AC_CONFIG_FILES([lib/unistring/woe32dll.h:lib/unistring/woe32dll.in.h])
+AC_CONFIG_FILES([tests/Makefile])
+AC_OUTPUT