7
7
# ====================
8
8
m4_define([libmspub_version_major],[0])
9
9
m4_define([libmspub_version_minor],[0])
10
m4_define([libmspub_version_micro],[3])
10
m4_define([libmspub_version_micro],[4])
11
11
m4_define([libmspub_version],[libmspub_version_major.libmspub_version_minor.libmspub_version_micro])
16
16
AC_INIT([libmspub],[libmspub_version])
17
17
AC_CONFIG_MACRO_DIR([m4])
18
AM_CONFIG_HEADER([config.h])
18
AC_CONFIG_HEADER([config.h])
19
19
AM_INIT_AUTOMAKE([1.11 foreign dist-xz dist-bzip2])
20
20
AM_SILENT_RULES([yes])
23
23
# ===========================
24
24
# Find required base packages
25
25
# ===========================
26
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
55
55
AC_SUBST(ZLIB_CFLAGS)
56
56
AC_SUBST(ZLIB_LIBS)
59
58
# ===========================
60
59
# Find required boost headers
61
60
# ===========================
64
62
boost/ptr_container/ptr_map.hpp,
71
AS_IF([test "${ICU_CFLAGS+set}" = set],[
72
ICU_CFLAGS_overriden=yes],[
73
ICU_CFLAGS_overriden=no])
74
PKG_CHECK_MODULES([ICU],[icu-i18n],[
75
AS_IF([test "${ICU_CFLAGS_overriden}" = no], [
76
ICU_CFLAGS="${ICU_CFLAGS} `${PKG_CONFIG} icu-i18n --variable=CXXFLAGS`"])
78
AC_PATH_PROG([ICU_CONFIG],[icu-config])
79
AC_MSG_CHECKING([ICU installation])
80
AS_IF([${ICU_CONFIG} --cflags >/dev/null 2>&1],[
81
ICU_CFLAGS=`${ICU_CONFIG} --cppflags-searchpath --cxxflags`
82
ICU_LIBS=`${ICU_CONFIG} --ldflags`
83
AC_MSG_RESULT([found])],[
84
AC_MSG_ERROR([libicu config program icu-config not found])])]
70
90
# =================================
71
91
# Libtool/Version Makefile settings
72
92
# =================================
126
146
CFLAGS="$CFLAGS -Werror"
127
147
CXXFLAGS="$CXXFLAGS -Werror"
149
AC_ARG_ENABLE([weffc],
150
[AS_HELP_STRING([--disable-weffc], [ Disable -Weffc++ warnings, usefull when using an old version of gcc or of boost])],
151
[enable_weffc="$enableval"],
154
AC_ARG_ENABLE([wparanoic],
155
[AS_HELP_STRING([--enable-wparanoic], [Enable a lot of warnings...])],
156
[enable_wparanoic="$enableval"],
157
[enable_wparanoic=no]
129
159
# Courtesy of Glib: Ensure MSVC-compatible struct packing convention
130
160
# is used when compiling for Win32 with gcc.
131
161
AS_IF([test "x$native_win32" = "xyes"], [
153
183
AS_IF([test x"$GCC" = xyes], [
154
184
# Be tough with warnings and produce less careless code
155
185
CFLAGS="$CFLAGS -Wall -Wextra -pedantic"
156
CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wshadow -pedantic -Weffc++"
186
CXXFLAGS="$CXXFLAGS -Wall -Wextra -pedantic -Wshadow -Wunused-variable"
187
AS_IF([test x"$enable_weffc" != "xno"], [
188
CXXFLAGS="$CXXFLAGS -Weffc++"
190
AS_IF([test x"$enable_wparanoic" != "xno"], [
191
CXXFLAGS="$CXXFLAGS -Wcast-align -Wcast-qual -Wchar-subscripts"
192
CXXFLAGS="$CXXFLAGS -Wcomment -Wconversion -Wdisabled-optimization"
193
CXXFLAGS="$CXXFLAGS -Wfloat-equal -Wformat -Wformat=2"
194
CXXFLAGS="$CXXFLAGS -Wformat-nonliteral -Wformat-security"
195
CXXFLAGS="$CXXFLAGS -Wformat-y2k -Wimport -Winit-self -Winvalid-pch"
196
CXXFLAGS="$CXXFLAGS -Wmissing-braces -Wmissing-field-initializers"
197
CXXFLAGS="$CXXFLAGS -Wmissing-format-attribute -Wmissing-include-dirs"
198
CXXFLAGS="$CXXFLAGS -Wmissing-noreturn -Wpacked -Wparentheses"
199
CXXFLAGS="$CXXFLAGS -Wpointer-arith -Wredundant-decls -Wreturn-type"
200
CXXFLAGS="$CXXFLAGS -Wsequence-point -Wsign-compare -Wstrict-aliasing"
201
CXXFLAGS="$CXXFLAGS -Wstrict-aliasing=2 -Wswitch -Wswitch-default"
202
CXXFLAGS="$CXXFLAGS -Wswitch-enum -Wtrigraphs -Wunknown-pragmas -Wunused"
203
CXXFLAGS="$CXXFLAGS -Wunused-function -Wunused-label -Wunused-parameter"
204
CXXFLAGS="$CXXFLAGS -Wunused-value -Wvariadic-macros"
205
CXXFLAGS="$CXXFLAGS -Wvolatile-register-var -Wwrite-strings"
159
209
AC_SUBST(DEBUG_CXXFLAGS)