-
Notifications
You must be signed in to change notification settings - Fork 370
/
configure.ac
162 lines (124 loc) · 3.55 KB
/
configure.ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
dnl Process this file with autoconf to produce a configure script.
AC_INIT([libconfig],[1.7.4],[[email protected]],[libconfig],
[https://hyperrealm.github.io/libconfig/])
AC_CONFIG_AUX_DIR([aux-build])
AC_CONFIG_MACRO_DIR([m4])
AC_CANONICAL_TARGET
AM_INIT_AUTOMAKE
AC_CONFIG_HEADERS(ac_config.h)
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AC_MSG_NOTICE([libconfig - made with pride in Colorado])
sleep 3
AC_DEFINE_UNQUOTED(TARGET, "${target}", [Configured target name.])
# Enable GNU extensions.
AC_USE_SYSTEM_EXTENSIONS
LT_INIT(win32-dll)
dnl Checks for programs.
AC_PROG_CC
AM_PROG_CC_C_O
AC_PROG_CXX
AM_PROG_LEX(noyywrap)
if test Z"$LEX" != Zflex; then
cat <<EOF
*******************************************************************
You do not seem to have flex. While flex is not required to build
libconfig, you may need it to regenerate the lexer if you change
the scanner.l file.
*******************************************************************
EOF
fi
AC_PROG_YACC(noyywrap)
if test Z"$YACC" != "Zbison -y"; then
cat <<EOF
*******************************************************************
You do not seem to have bison. While bison is not required to build
libconfig, you may need it to regenerate the parser if you change
the grammar.y file.
*******************************************************************
EOF
fi
AC_MSG_CHECKING([for compiler switch to enable full C/C++ warnings]);
dnl Checks for libraries
dnl Enable warnings, if we can determine an appropriate switch...
case "${CC}" in
gcc)
warn_c_sw="-Wall -Wshadow -Wextra -Wdeclaration-after-statement -Wno-unused-parameter"
warn_cxx_sw="-Wall -Wshadow -Wextra -Wno-unused-parameter";;
*)
warn_cxx_sw=""
warn_c_sw="";;
esac
if test -n "${warn_c_sw}";
then
CFLAGS="${CFLAGS} ${warn_c_sw}";
CXXFLAGS="${CXXFLAGS} ${warn_cxx_sw}";
AC_MSG_RESULT([${warn_c_sw}, ${warn_cxx_sw}])
else
AC_MSG_RESULT([(cannot determine)])
fi;
dnl Checks for header files.
AC_CHECK_INCLUDES_DEFAULT
AC_CHECK_HEADERS(unistd.h stdint.h xlocale.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
dnl Checks for functions
AC_CHECK_FUNCS([newlocale uselocale freelocale])
dnl Package options
docxx=yes
AC_ARG_ENABLE(cxx,
AS_HELP_STRING([--disable-cxx], [Disable building of the C++ library]),
[if test "$enableval" = "no"; then docxx="no"; fi],
[
docxx=yes
]
)
AM_CONDITIONAL(BUILDCXX, test x$docxx = xyes)
dodoc=yes
AC_ARG_ENABLE(doc,
AS_HELP_STRING([--disable-doc], [Disable building of the documentation]),
[if test "$enableval" = "no"; then dodoc="no"; fi],
[
dodoc=yes
]
)
AM_CONDITIONAL(BUILDDOC, test x$dodoc = xyes)
doexamples=yes
AC_ARG_ENABLE(examples,
AS_HELP_STRING([--disable-examples], [Disable building of the example programs]),
[if test "$enableval" = "no"; then doexamples="no"; fi],
[
doexamples=yes
]
)
AM_CONDITIONAL(BUILDEXAMPLES, test x$doexamples = xyes)
dotests=yes
AC_ARG_ENABLE(tests,
AS_HELP_STRING([--disable-tests], [Disable building of the tests]),
[if test "$enableval" = "no"; then dotests="no"; fi],
[
dotests=yes
]
)
AM_CONDITIONAL(BUILDTESTS, test x$dotests = xyes)
dnl Check for MinGW. Workaround for libtool's DLL_EXPORT stupidity.
case "$target" in
*-*-cygwin* | *-*-mingw*)
gnuwin=yes;;
esac
AM_CONDITIONAL(GNU_WIN, test x$gnuwin = xyes)
dnl Checks for library functions.
AC_CONFIG_FILES([Makefile
lib/Makefile
lib/libconfig.pc
lib/libconfig++.pc
lib/libconfigConfig.cmake
lib/libconfig++Config.cmake
doc/Makefile
examples/Makefile
examples/c/Makefile
examples/c++/Makefile
tinytest/Makefile
tests/Makefile
libconfig.spec
])
AC_OUTPUT