Install po files for all available languages. Only for GnuPG-2. The
[gpg4win.git] / configure.ac
index 5bb4e53..6f40453 100644 (file)
@@ -1,5 +1,5 @@
 # configure.ac for GPG4Win
-# Copyright (C) 2005, 2006 g10 Code GmbH
+# Copyright (C) 2005, 2006, 2007 g10 Code GmbH
 # 
 # This file is part of GPG4Win
 # 
@@ -23,43 +23,86 @@ AC_PREREQ(2.59)
 min_automake_version="1.9.3"
 
 # Remember to change the version number immediately *after* a release.
-# Uncomment the my_iscvs macro for non-released code.
-m4_define(my_version, [0.8.0])
-#m4_define(my_iscvs, yes)
+# Set my_issvn to "yes" for non-released code.  Remember to run an
+# "svn up" and "autogen.sh" right before creating a distribution.
+# Right after a release the make target "copy-news" is to be called!
+m4_define([my_version], [1.9.0])
+m4_define([my_issvn], [yes])
 
-AC_INIT([gpg4win], my_version[]m4_ifdef([my_iscvs], [-cvs[]m4_translit(
-                  [$Revision$],[Ra-z $:])]),
-                  [gpg4win-devel@wald.intevation.org])
+m4_define([svn_revision], m4_esyscmd([echo -n $( (svn info 2>/dev/null \
+          ||echo 'Revision: 0')|sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)]))
+AC_INIT([gpg4win], my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision]),
+        [gpg4win-devel@wald.intevation.org])
 
+# Remember to update these version numbers also in the NEWS file.
+MANUALVERSION_EINSTEIGER="2.0.2"
+MANUALDATE_EINSTEIGER="30. Mai 2006"
+MANUALVERSION_DURCHBLICKER="2.0.2"
+MANUALDATE_DURCHBLICKER="30. Mai 2006"
+MANUALVERSION_NOVICES="1.0.0"
+MANUALDATE_NOVICES="Nov. 30, 2006"
+MANUALVERSION_ADVANCED="0.0.0"
+MANUALDATE_ADVANCED="Nov. 30, 2006"
+
+
+MANUALINPROGRESS_DE=m4_if(my_issvn,[yes],["~und evtl. seitdem weiter bearbeitet"])
+MANUALINPROGRESS_EN=m4_if(my_issvn,[yes],["~and may have been further edited"])
+SVN_REVISION=svn_revision
 PACKAGE=$PACKAGE_NAME
 VERSION=$PACKAGE_VERSION
 
+
 AC_CONFIG_SRCDIR(include/config.nsi.in)
 AC_CONFIG_MACRO_DIR(m4)
 
 AM_INIT_AUTOMAKE
 AM_MAINTAINER_MODE
 AC_CANONICAL_HOST
+AM_CONFIG_HEADER(config.h)
+
+# Language support
+AM_PO_SUBDIRS
+
 
 AC_SUBST(PACKAGE)
 AC_SUBST(VERSION)
+AC_SUBST(MANUALVERSION_EINSTEIGER)
+AC_SUBST(MANUALDATE_EINSTEIGER)
+AC_SUBST(MANUALVERSION_DURCHBLICKER)
+AC_SUBST(MANUALDATE_DURCHBLICKER)
+AC_SUBST(MANUALINPROGRESS_DE)
+AC_SUBST(MANUALVERSION_NOVICES)
+AC_SUBST(MANUALDATE_NOVICES)
+AC_SUBST(MANUALVERSION_ADVANCED)
+AC_SUBST(MANUALDATE_ADVANCED)
+AC_SUBST(MANUALINPROGRESS_EN)
 
 
 # Generate extended version information.  Note, that for NSIS use we
 # must not translate the dots to commas in the BUILD_FILEVERSION.
 BUILD_TIMESTAMP=`date --iso-8601=minutes`
+BUILD_ISODATE=`date --iso-8601`
 changequote(,)dnl
 BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'`
-tmp="`echo '$Revision$' | sed 's/[^0-9]//g'`"
 changequote([,])dnl
-test -z "$tmp" && tmp="0"
-BUILD_FILEVERSION="${BUILD_FILEVERSION}$tmp"
+BUILD_FILEVERSION="${BUILD_FILEVERSION}${SVN_REVISION}"
 AC_SUBST(BUILD_TIMESTAMP)
+AC_SUBST(BUILD_ISODATE)
 AC_SUBST(BUILD_FILEVERSION)
 
 
+# To test tye manuals using an actual web server, the preview target
+# may be used in doc/manuals.  The default is my (wk) test environment
+# but may be overriden using another preview variable.  PREVIEWHOST is
+# expected to be the target for an rsync command.
+if test -z "$PREVIEWHOST" ; then
+   PREVIEWHOST="vigenere:/var/www/all/preview.gpg4win.org/htdocs/"
+fi
+AC_SUBST(PREVIEWHOST)
+
+
 # For development of this package it is useful to build without
-# creatign the source install;er (takes a long time).  This option may
+# creating the source installer (takes a long time).  This option may
 # be used to suppress creation of the source installer.
 AC_ARG_ENABLE(source-installer,
     AC_HELP_STRING([--disable-source-installer],
@@ -70,9 +113,23 @@ AC_MSG_RESULT($source_installer)
 AM_CONDITIONAL(BUILD_SOURCE_INSTALLER, test "$build_source_installer" = yes)
 
 
+# You can build a light version of the installer in addition to the
+# regular version.  This one does not contain the manuals.
+AC_ARG_ENABLE(light-installer,
+    AC_HELP_STRING([--disable-light-installer],
+                   [Do not create the light version of the installer]),
+                    build_light_installer=$enableval,
+                    build_light_installer=yes)
+AC_MSG_RESULT($light_installer)
+AM_CONDITIONAL(BUILD_LIGHT_INSTALLER, test "$build_light_installer" = yes)
+
+
 # Required tools.
 AC_PROG_CC
 AC_PROG_CPP
+AC_PROG_RANLIB
+AC_CHECK_TOOL(AR, ar, :)
+AC_CHECK_TOOLS(STRIP, strip)
 AC_CHECK_TOOLS(DLLTOOL, dlltool)
 AC_CHECK_PROGS(MAKE, make)
 AC_CHECK_PROGS(UNZIP, unzip)
@@ -87,11 +144,12 @@ AC_CHECK_PROGS(TEXI2DVI, texi2dvi)
 AC_CHECK_PROGS(DVIPDF, dvipdf)
 AC_CHECK_PROGS(CONVERT, convert)
 AC_CHECK_PROGS(SHA1SUM, sha1sum)
+AC_CHECK_PROGS(MSGFMT, msgfmt)
 AC_PROG_INSTALL
 
 missing_tools=
 for i in DLLTOOL MAKE UNZIP TAR MKDIR CP RM STOW MAKENSIS ZCAT TEXI2DVI \
-         DVIPDF CONVERT SHA1SUM ; do
+         DVIPDF CONVERT SHA1SUM MSGFMT ; do
    eval tmp='$'$i
    if test -z "$tmp"; then 
       missing_tools="$missing_tools `echo $i | tr 'A-Z' 'a-z'`"
@@ -111,34 +169,86 @@ GPG4WIN_BPKG_GNU([gettext], [libiconv])
 
 GPG4WIN_BPKG_GNUWIN32([zlib])
 GPG4WIN_BPKG_GNUWIN32_LIB([crypt])
-GPG4WIN_BPKG_GNUWIN32_LIB([regex])
+GPG4WIN_BPKG_GNUWIN32([regex])
 GPG4WIN_BPKG_GNUWIN32([libpng], [pkgconfig])
+GPG4WIN_BPKG_GNUWIN32([jpeg])
 
 GPG4WIN_BPKG_GTK([pkgconfig])
-# We build our own version of glib, because we need to patch giowin32.c.
+# We build our own version of glib, because we need to apply a few patches.
 # GPG4WIN_BPKG_GTK_DEV([glib], [pkgconfig])
 GPG4WIN_SPKG([glib], [libiconv gettext pkgconfig])
-GPG4WIN_BPKG_GTK_DEV([gtk+], [atk pango glib libiconv gettext pkgconfig])
+GPG4WIN_BPKG_GTK_DEV([gtk+], [atk pango glib libiconv gettext pkgconfig cairo])
 GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig])
 GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig])
+GPG4WIN_BPKG_GTK_DEV([cairo], [glib pkgconfig])
+
 GPG4WIN_BPKG_BINSRC([GPGee], [gnupg])
 
+GPG4WIN_SPKG([bzip2])
 GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
-GPG4WIN_SPKG([gpgme], [libgpg-error gnupg glib])
-GPG4WIN_SPKG([gnupg])
+GPG4WIN_SPKG([libgcrypt], [libgpg-error])
+GPG4WIN_SPKG([libksba], [libgpg-error])
+GPG4WIN_SPKG([libassuan], [w32pth])
+GPG4WIN_SPKG([dirmngr], [libgpg-error libgcrypt libassuan libksba])
+GPG4WIN_SPKG([w32pth])
+GPG4WIN_SPKG([pinentry], [libiconv gtk+])
+GPG4WIN_SPKG([gpgme], [libgpg-error gnupg glib qt])
+GPG4WIN_SPKG([gnupg], [libiconv bzip2])
+GPG4WIN_SPKG([gnupg2], [libiconv libgcrypt libksba libassuan libgpg-error dnl
+                        w32pth zlib bzip2 pinentry])
 GPG4WIN_SPKG([pthreads-w32])
-GPG4WIN_SPKG([gpgol], [gpgme])
+GPG4WIN_SPKG([gpgol], [gpgme libassuan])
+GPG4WIN_SPKG([gpgex], [libassuan])
 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
 GPG4WIN_SPKG([winpt], [gpgme gnupg])
-GPG4WIN_SPKG([sylpheed-claws], [libiconv gettext zlib gtk+ libpng glib dnl
+GPG4WIN_SPKG([sylpheed-claws], [libiconv gettext zlib gtk+ libpng jpeg glib dnl
                                 gpgme pthreads-w32 crypt regex])
-# The Eudora license (the one for thye EMS API) is still not acceptable.
+GPG4WIN_SPKG([libetpan], [pthreads-w32])
+GPG4WIN_SPKG([claws-mail], [libiconv gettext zlib gtk+ libpng jpeg glib dnl
+                            gpgme pthreads-w32 crypt regex libetpan])
+# The Eudora license (the one for the EMS API) is still not acceptable.
 #GPG4WIN_SPKG([eudoragpg])
-GPG4WIN_SPKG([man_novice_de])
-GPG4WIN_SPKG([man_advanced_de])
+GPG4WIN_IPKG([man_novice_de])
+GPG4WIN_IPKG([man_advanced_de])
+GPG4WIN_IPKG([man_novice_en])
+#GPG4WIN_IPKG([man_advanced_en])
+
+# Qt related stuff.
+GPG4WIN_BPKG_GNUWIN32([kdesupport])
+GPG4WIN_BPKG_GNUWIN32([qt], [kdesupport])
+GPG4WIN_BPKG_BINSRC([oxygen-icons])
+GPG4WIN_BPKG_GNUWIN32([kdelibs], [qt oxygen-icons])
+GPG4WIN_BPKG_BINSRC([kleopatra], [gpgme gnupg gnupg2 kdelibs])
 
 GPG4WIN_FINALIZE
 
+# Qt is compiled with -mthreads, and thus requires the mingwm10.dll.
+mingwm_dll=no
+AC_ARG_WITH([mingwm-dll],
+           AC_HELP_STRING([--with-mingwm-dll=FILE], [use the mingwm DLL]),
+           [mingwm_dll=$withval])
+if test "$mingwm_dll" = "no"; then
+  file="/usr/share/doc/mingw32-runtime/mingwm10.dll.gz"
+  if test -r "$file"; then
+    mingwm_dll="$file"
+  fi
+fi
+if test "$mingwm_dll" = "no"; then
+  missing_tools="mingwm10.dll $missing_tools"
+fi
+# To make things simple, we just install a copy of the file in the
+# source directory.  No need to make this ugly hack any uglier by
+# messing around with the build system.
+case "$mingwm_dll" in
+    *.gz)
+      $ZCAT $mingwm_dll > src/mingwm10.dll
+      ;;
+    *)
+      cp $mingwm_dll src/mingwm10.dll
+      ;;
+esac
+
+
 # Throw an error if required tools are missing
 if test -n "$missing_tools"; then
     for i in $missing_tools; do 
@@ -154,10 +264,11 @@ fi
 
 # Finalize.
 
-AC_CONFIG_FILES(Makefile packages/Makefile include/Makefile src/Makefile)
+AC_CONFIG_FILES(Makefile)
+AC_CONFIG_FILES(packages/Makefile include/Makefile src/Makefile po/Makefile.in)
 AC_CONFIG_FILES(include/config.nsi src/gpg4win.mk)
 AC_CONFIG_FILES(doc/Makefile)
 AC_CONFIG_FILES(doc/logo/Makefile)
-AC_CONFIG_FILES(doc/manual-de/Makefile doc/manual-de/version.tex)
+AC_CONFIG_FILES(doc/manual/Makefile doc/manual/version.tex)
 AC_CONFIG_FILES(doc/website/Makefile)
 AC_OUTPUT