Preparing for a new release
[gpg4win.git] / configure.ac
1 # configure.ac for GPG4Win
2 # Copyright (C) 2005, 2006 g10 Code GmbH
3
4 # This file is part of GPG4Win
5
6 # GPG4Win is free software; you can redistribute it and/or modify it
7 # under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
10
11 # GPG4Win is distributed in the hope that it will be useful, but
12 # WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 # General Public License for more details.
15
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
19  
20 # (Process this file with autoconf to produce a configure script.)
21
22 AC_PREREQ(2.59)
23 min_automake_version="1.9.3"
24
25 # Remember to change the version number immediately *after* a release.
26 # Set my_issvn to "yes" for non-released code.  Remember to run an
27 # "svn up" and "autogen.sh" right before creating a distribution.
28 m4_define([my_version], [1.0.2])
29 m4_define([my_issvn], [no])
30
31 m4_define([svn_revision], m4_esyscmd([echo -n $((svn info 2>/dev/null \
32           ||echo 'Revision: 0')|sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)]))
33 AC_INIT([gpg4win], my_version[]m4_if(my_issvn,[yes],[-svn[]svn_revision]),
34         [gpg4win-devel@wald.intevation.org])
35
36 # Remember to update these version numbers also in the NEWS file.
37 MANUALVERSION_EINSTEIGER="2.0.2"
38 MANUALDATE_EINSTEIGER="29 Mai 2006"
39 MANUALVERSION_DURCHBLICKER="2.0.2"
40 MANUALDATE_DURCHBLICKER="29. Mai 2006"
41
42
43 MANUALINPROGRESS_DE=m4_if(my_issvn,[yes],["~und evtl. seitdem weiter bearbeitet"])
44 SVN_REVISION=svn_revision
45 PACKAGE=$PACKAGE_NAME
46 VERSION=$PACKAGE_VERSION
47
48
49 AC_CONFIG_SRCDIR(include/config.nsi.in)
50 AC_CONFIG_MACRO_DIR(m4)
51
52 AM_INIT_AUTOMAKE
53 AM_MAINTAINER_MODE
54 AC_CANONICAL_HOST
55
56 AC_SUBST(PACKAGE)
57 AC_SUBST(VERSION)
58 AC_SUBST(MANUALVERSION_EINSTEIGER)
59 AC_SUBST(MANUALDATE_EINSTEIGER)
60 AC_SUBST(MANUALVERSION_DURCHBLICKER)
61 AC_SUBST(MANUALDATE_DURCHBLICKER)
62 AC_SUBST(MANUALINPROGRESS_DE)
63
64
65 # Generate extended version information.  Note, that for NSIS use we
66 # must not translate the dots to commas in the BUILD_FILEVERSION.
67 BUILD_TIMESTAMP=`date --iso-8601=minutes`
68 BUILD_ISODATE=`date --iso-8601`
69 changequote(,)dnl
70 BUILD_FILEVERSION=`echo "$VERSION" | sed 's/\([0-9.]*\).*/\1./'`
71 changequote([,])dnl
72 BUILD_FILEVERSION="${BUILD_FILEVERSION}${SVN_REVISION}"
73 AC_SUBST(BUILD_TIMESTAMP)
74 AC_SUBST(BUILD_ISODATE)
75 AC_SUBST(BUILD_FILEVERSION)
76
77
78 # For development of this package it is useful to build without
79 # creatign the source installer (takes a long time).  This option may
80 # be used to suppress creation of the source installer.
81 AC_ARG_ENABLE(source-installer,
82     AC_HELP_STRING([--disable-source-installer],
83                    [Do not create the Source installer]),
84                     build_source_installer=$enableval,
85                     build_source_installer=yes)
86 AC_MSG_RESULT($source_installer)
87 AM_CONDITIONAL(BUILD_SOURCE_INSTALLER, test "$build_source_installer" = yes)
88
89
90 # You can build a light version of the installer in addition to the
91 # regular version.  This one does not contain the manuals.
92 AC_ARG_ENABLE(light-installer,
93     AC_HELP_STRING([--disable-light-installer],
94                    [Do not create the light version of the installer]),
95                     build_light_installer=$enableval,
96                     build_light_installer=yes)
97 AC_MSG_RESULT($light_installer)
98 AM_CONDITIONAL(BUILD_LIGHT_INSTALLER, test "$build_light_installer" = yes)
99
100
101 # Required tools.
102 AC_PROG_CC
103 AC_PROG_CPP
104 AC_CHECK_TOOLS(DLLTOOL, dlltool)
105 AC_CHECK_PROGS(MAKE, make)
106 AC_CHECK_PROGS(UNZIP, unzip)
107 AC_CHECK_PROGS(TAR, tar)
108 AC_CHECK_PROGS(MKDIR, mkdir)
109 AC_CHECK_PROGS(CP, cp)
110 AC_CHECK_PROGS(RM, rm)
111 AC_CHECK_PROGS(STOW, stow)
112 AC_CHECK_PROGS(MAKENSIS, makensis)
113 AC_CHECK_PROGS(ZCAT, zcat)
114 AC_CHECK_PROGS(TEXI2DVI, texi2dvi)
115 AC_CHECK_PROGS(DVIPDF, dvipdf)
116 AC_CHECK_PROGS(CONVERT, convert)
117 AC_CHECK_PROGS(SHA1SUM, sha1sum)
118 AC_PROG_INSTALL
119
120 missing_tools=
121 for i in DLLTOOL MAKE UNZIP TAR MKDIR CP RM STOW MAKENSIS ZCAT TEXI2DVI \
122          DVIPDF CONVERT SHA1SUM ; do
123    eval tmp='$'$i
124    if test -z "$tmp"; then 
125       missing_tools="$missing_tools `echo $i | tr 'A-Z' 'a-z'`"
126    fi
127 done
128
129
130 # Optional tools.
131
132 AC_CHECK_PROGS(WGET, wget)
133
134
135 # Packages.
136
137 GPG4WIN_BPKG_GNU([libiconv])
138 GPG4WIN_BPKG_GNU([gettext], [libiconv])
139
140 GPG4WIN_BPKG_GNUWIN32([zlib])
141 GPG4WIN_BPKG_GNUWIN32_LIB([crypt])
142 GPG4WIN_BPKG_GNUWIN32_LIB([regex])
143 GPG4WIN_BPKG_GNUWIN32([libpng], [pkgconfig])
144
145 GPG4WIN_BPKG_GTK([pkgconfig])
146 # We build our own version of glib, because we need to patch giowin32.c.
147 # GPG4WIN_BPKG_GTK_DEV([glib], [pkgconfig])
148 GPG4WIN_SPKG([glib], [libiconv gettext pkgconfig])
149 GPG4WIN_BPKG_GTK_DEV([gtk+], [atk pango glib libiconv gettext pkgconfig])
150 GPG4WIN_BPKG_GTK_DEV([atk], [glib pkgconfig])
151 GPG4WIN_BPKG_GTK_DEV([pango], [glib pkgconfig])
152 GPG4WIN_BPKG_BINSRC([GPGee], [gnupg])
153
154 GPG4WIN_SPKG([libgpg-error], [libiconv gettext])
155 GPG4WIN_SPKG([gpgme], [libgpg-error gnupg glib])
156 GPG4WIN_SPKG([gnupg])
157 GPG4WIN_SPKG([pthreads-w32])
158 GPG4WIN_SPKG([gpgol], [gpgme])
159 GPG4WIN_SPKG([gpa], [libiconv gettext zlib gtk+ libpng glib gpgme])
160 GPG4WIN_SPKG([winpt], [gpgme gnupg])
161 GPG4WIN_SPKG([sylpheed-claws], [libiconv gettext zlib gtk+ libpng glib dnl
162                                 gpgme pthreads-w32 crypt regex])
163 # The Eudora license (the one for thye EMS API) is still not acceptable.
164 #GPG4WIN_SPKG([eudoragpg])
165 GPG4WIN_IPKG([man_novice_de])
166 GPG4WIN_IPKG([man_advanced_de])
167
168 GPG4WIN_FINALIZE
169
170 # Throw an error if required tools are missing
171 if test -n "$missing_tools"; then
172     for i in $missing_tools; do 
173       AC_MSG_NOTICE([$i is missing])
174     done
175     AC_MSG_ERROR([[
176 ***
177 *** Required tools not found. Please consult the above messages
178 *** and install them before running configure again.
179 ***]])
180 fi
181
182
183 # Finalize.
184
185 AC_CONFIG_FILES(Makefile packages/Makefile include/Makefile src/Makefile)
186 AC_CONFIG_FILES(include/config.nsi src/gpg4win.mk)
187 AC_CONFIG_FILES(doc/Makefile)
188 AC_CONFIG_FILES(doc/logo/Makefile)
189 AC_CONFIG_FILES(doc/manual-de/Makefile doc/manual-de/version.tex)
190 AC_CONFIG_FILES(doc/website/Makefile)
191 AC_OUTPUT