forked from lanoxx/tilda
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconfigure.ac
More file actions
142 lines (121 loc) · 5.11 KB
/
configure.ac
File metadata and controls
142 lines (121 loc) · 5.11 KB
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
# Autoconf file for tilda
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ([2.68])
AC_INIT([Tilda],[1.2-alpha],[https://github.com/lanoxx/tilda/issues],[tilda],[https://github.com/lanoxx/tilda])
AM_INIT_AUTOMAKE
# We are going to use silent builds which have a much
# nicer output. More information can be foudn here:
# https://live.gnome.org/GnomeGoals/NicerBuilds
m4_ifdef([AM_SILENT_RULES],[AM_SILENT_RULES([yes])])
AC_CONFIG_SRCDIR([src/tilda.c])
AC_CONFIG_HEADERS([tilda-config.h:tilda-config.h.in])
# This will initialize the internationalization
# capabilities of glib (glib/gi18n.h) and gettext
AM_GNU_GETTEXT_VERSION([0.18.1])
AM_GNU_GETTEXT([external])
# See http://www.gnu.org/savannah-checkouts/gnu/automake/manual/html_node/maintainer_002dmode.html
# for an explanation of using this macro. The short explanation is:
# AM_MAINTAINER_MODE is bad but
# AM_MAINTAINER_MODE([enable]) is good
AM_MAINTAINER_MODE([enable])
# This registeres the option '--enable-maintainer-flags' to the ./configure script
# If this option is set then it activates both the '--enable-debug' and '--enable-debug-functions'
# options that are defined below. It also activates several flags to the compile such that it
# will show more warnings and errors to indicate problems in the source code.
AC_ARG_ENABLE([maintainer-flags],
[AS_HELP_STRING([--enable-maintainer-flags],[\
Enables extra debugging; use this option if you want to develope for tilda,
but to not use it as an end user if you just want to compile and use tilda. \
This option includes the --enable-debug and --enable-debug-functions \
options. And sets several CFLAGS to enable more gcc warnings and errors.])])
if test "x$enable_maintainer_flags" = "xyes"; then
enable_debug="yes"
enable_debug_functions="yes"
CFLAGS="$CFLAGS \
-Wall \
-Wextra \
-fno-common \
-Wstrict-aliasing=2 \
-Wshadow \
-Wmissing-prototypes \
-Wmissing-declarations \
-Wcast-align \
-Wuninitialized \
-Wno-strict-aliasing \
-Werror=pointer-arith \
-Werror=missing-declarations \
-Werror=redundant-decls \
-Werror=empty-body \
-Werror=format \
-Werror=format-security \
-Werror=format-nonliteral \
-Werror=init-self \
-Werror=vla \
-DDEBUG \
"
fi
# This registers the option '--enable-debug' in the ./configure script
# If this option is set, then the the options -g and -ggdb will be
# passed to the compiler.
AC_ARG_ENABLE([debug],
[AS_HELP_STRING([--enable-debug],[Enables extra debugging output and \
sets debug flags for gdb])])
if test "x$enable_debug" = "xyes"; then
AC_DEFINE([DEBUG], [1], [Enable extra debugging output])
CFLAGS="$CFLAGS -g -ggdb"
fi
#Use C99 compilation mode
CFLAGS="$CFLAGS -std=c99"
# This registers the option '--debug-functions' in the ./configure script
# If this option is set, then the name of each entered function will be
# printed on the shell.
AC_ARG_ENABLE([debug-functions],
[AS_HELP_STRING([--enable-debug-functions],[Enables function call tracing. \
When this option is enabled tilda will print \
the name of each function that is called to the \
console.])])
if test "x$enable_debug_functions" = "xyes"; then
AC_DEFINE([DEBUG_FUNCTIONS], [1], [Enable function call tracing])
fi
# Checks for programs.
AC_PROG_CC
AM_PROG_CC_C_O
# Checks for libraries.
PKG_PROG_PKG_CONFIG
PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= 3.0.0])
PKG_CHECK_MODULES([VTE], [vte-2.90])
PKG_CHECK_MODULES([LIBCONFUSE], [libconfuse])
# Checks for header files.
AC_PATH_X
AC_HEADER_STDC
AC_CHECK_HEADERS([fcntl.h malloc.h stdlib.h string.h strings.h sys/ioctl.h unistd.h confuse.h])
# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_PID_T
AC_TYPE_SIZE_T
# Checks for library functions.
AC_FUNC_MALLOC
AC_FUNC_STRTOD
AC_CHECK_FUNCS([mkdir strcasecmp strchr strncasecmp strstr strtol])
AC_CONFIG_FILES([Makefile
src/Makefile
m4/Makefile
po/Makefile.in])
AC_OUTPUT
dnl ---------------------------------------------------------------------------
dnl - Show summary
dnl ---------------------------------------------------------------------------
echo "
${PACKAGE} $VERSION
`echo ${PACKAGE} $VERSION | sed "s/./=/g"`
prefix: ${prefix}
datarootdir: ${datarootdir}
datadir: ${datadir}
pkgdatadir: `if -z ${pkgdatadir}; then echo ${pkgdatadir}; else echo ${datadir}/${PACKAGE}; fi`
source code location: ${srcdir}
compiler: ${CC}
cflags: ${CFLAGS}
Maintainer mode: ${USE_MAINTAINER_MODE}
Use *_DISABLE_DEPRECATED: ${enable_deprecation_flags}
"