~ubuntu-branches/ubuntu/trusty/libaal/trusty

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
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
# Process this file with autoconf to produce a configure script.
AC_INIT(src/libaal.c)
AC_CANONICAL_HOST
AC_PREREQ(2.50)

AH_TEMPLATE([PACKAGE], [Define this to be the name of the package.])
AH_TEMPLATE([VERSION], [Define to the version of the package.])

AH_TEMPLATE([LIBAAL_MAX_INTERFACE_VERSION], [Define to the max interface version.])
AH_TEMPLATE([LIBAAL_MIN_INTERFACE_VERSION], [Define to the min interface version.])
AH_TEMPLATE([loff_t], [Define to loff_t])
AH_TEMPLATE([ENABLE_DEBUG], [Define for enable debug info.])
AH_TEMPLATE([ENABLE_MEMORY_MANAGER], [Define for enable simple memory manager.])

LIBAAL_MAJOR_VERSION=1
LIBAAL_MINOR_VERSION=0
LIBAAL_MICRO_VERSION=5

LIBAAL_INTERFACE_AGE=0
LIBAAL_BINARY_AGE=0
LIBAAL_VERSION=$LIBAAL_MAJOR_VERSION.$LIBAAL_MINOR_VERSION.$LIBAAL_MICRO_VERSION

LT_RELEASE=$LIBAAL_MAJOR_VERSION.$LIBAAL_MINOR_VERSION

LT_CURRENT=`expr $LIBAAL_MICRO_VERSION - $LIBAAL_INTERFACE_AGE`

LT_REVISION=$LIBAAL_INTERFACE_AGE

LT_AGE=`expr $LIBAAL_BINARY_AGE - $LIBAAL_INTERFACE_AGE`

AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)

PACKAGE=libaal
VERSION=$LIBAAL_VERSION

AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE

AC_DEFINE_UNQUOTED(LIBAAL_MAX_INTERFACE_VERSION, $LIBAAL_BINARY_AGE)
AC_DEFINE_UNQUOTED(LIBAAL_MIN_INTERFACE_VERSION, $LIBAAL_INTERFACE_AGE)

AM_ENABLE_SHARED

AC_ARG_ENABLE(Werror,
    [  --enable-Werror               enable build with gcc -Werror], ,
	enable_Werror=no
)

AC_ARG_ENABLE(debug, 
    [  --enable-debug                enable debug information in binaries], , 
	enable_debug=no
)

AC_ARG_ENABLE(libminimal,
    [  --disable-libminimal          disable building of minimal footprint library], ,
        enable_libminimal=yes
)

AC_ARG_ENABLE(memory_manager,
    [  --disable-memory-manager      disable memory manager in minimal library], ,
	enable_memory_manager=yes
)

# Checks for programs.
AC_PROG_CC

# Checks for libraries.

# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([errno.h fcntl.h stdlib.h string.h sys/ioctl.h unistd.h])

AC_C_BIGENDIAN

# Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_C_INLINE
AC_TYPE_OFF_T
AC_STRUCT_TM

# Checks for library functions.
AC_PROG_GCC_TRADITIONAL
AC_FUNC_MEMCMP
AC_HEADER_STDC
AC_CHECK_FUNCS([memmove memset strchr strerror strpbrk strrchr])

# The options -falign-* are supported by gcc 3.0 or later.
# Probably it is sufficient to only check for -falign-loops.
AC_CACHE_CHECK([whether -falign-loops works], [falign_loop_flag], [
  saved_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-falign-loops=1"
  AC_TRY_COMPILE(, , [falign_loop_flag=yes], [falign_loop_flag=no])
  CPPFLAGS="$saved_CPPFLAGS"
])
 
# Checking for compiler warning options
AC_CACHE_CHECK([whether -Wuninitialized works], [uninitialized], [
  saved_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-Wuninitialized"
  AC_TRY_COMPILE(, , [uninitialized=yes], [uninitialized=no])
  CPPFLAGS="$saved_CPPFLAGS"
])
 
AC_CACHE_CHECK([whether -Wno-unused-parameter works], [no_unused_parameter], [
  saved_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-Wno-unused-parameter"
  AC_TRY_COMPILE(, , [no_unused_parameter=yes], [no_unused_parameter=no])
  CPPFLAGS="$saved_CPPFLAGS"
])
 
AC_CACHE_CHECK([whether -Wredundant-decls works], [redundant_decls], [
  saved_CPPFLAGS="$CPPFLAGS"
  CPPFLAGS="-Wredundant-decls"
  AC_TRY_COMPILE(, , [redundant_decls=yes], [redundant_decls=no])
  CPPFLAGS="$saved_CPPFLAGS"
])
 
# Force no alignment to save space.
if test "x$falign_loop_flag" = xyes; then
  ALIGN_FLAGS="-falign-jumps=1 -falign-loops=1 -falign-functions=1 -falign-labels=1 -fomit-frame-pointer -fno-inline -fstrength-reduce"
else
  ALIGN_FLAGS="-malign-jumps=1 -malign-loops=1 -malign-functions=1"
fi

CFLAGS=""
MINIMAL_CFLAGS=""
GENERIC_CFLAGS=""

# make libc threadsafe (not required for us for awhile, but useful other users of
# libaal)

GENERIC_CFLAGS="$GENERIC_CFLAGS -D_REENTRANT"

AC_SYS_LARGEFILE
if test x${ac_cv_sys_file_offset_bits} = xno; then
	AC_MSG_WARN(Can't detect right _FILE_OFFSET_BITS. Will be forced to 64bit.)
	ac_cv_sys_file_offset_bits=64
fi

GENERIC_CFLAGS="$GENERIC_CFLAGS -D_FILE_OFFSET_BITS=${ac_cv_sys_file_offset_bits}"

AC_CHECK_SIZEOF(off_t, 64, [
	#include <stdio.h>
	#include <sys/types.h>
	#include <unistd.h>
])

AM_PROG_LIBTOOL

if test x$enable_libminimal = xyes; then
    if test x$enable_memory_manager = xyes; then
	MEMORY_MANAGER_CFLAGS="-DENABLE_MEMORY_MANAGER"
    fi

    MINIMAL_CFLAGS="$MINIMAL_CFLAGS -DENABLE_MINIMAL $MEMORY_MANAGER_CFLAGS $ALIGN_FLAGS"
fi

CFLAGS="$CFLAGS -W -Wall"

if test x$enable_debug = xyes; then
    GENERIC_CFLAGS="$GENERIC_CFLAGS -O0 -g"
    MINIMAL_CFLAGS="$MINIMAL_CFLAGS -O0 -g"
else
    GENERIC_CFLAGS="$GENERIC_CFLAGS -O3"
    MINIMAL_CFLAGS="$MINIMAL_CFLAGS -Os"

    if test "x$uninitialized" = xyes; then
       CFLAGS="$CFLAGS -Wuninitialized"
    fi
fi

if test "x$no_unused_parameter" = xyes; then
    CFLAGS="$CFLAGS -Wno-unused-parameter"
else
    CFLAGS="$CFLAGS -Wno-unused"
fi

if test "x$redundant_decls" = xyes; then
    CFLAGS="$CFLAGS -Wredundant-decls"
fi

if test x$enable_Werror = xyes; then
    CFLAGS="$CFLAGS -Werror"
fi

AM_CONDITIONAL(ENABLE_MINIMAL, test x$enable_libminimal = xyes)
AM_CONDITIONAL(ENABLE_DEBUG, test x$enable_debug = xyes)

if test x$enable_debug = xyes; then
    AC_DEFINE(ENABLE_DEBUG)
fi

AC_SUBST(MINIMAL_CFLAGS)
AC_SUBST(GENERIC_CFLAGS)

AC_OUTPUT([
    Makefile
    include/Makefile
    include/aal/Makefile
    src/Makefile
    libaal.spec
])

echo
echo Type \'make\' to compile libaal and \'make install\' to install it.