File: configure.in

package info (click to toggle)
lyx 1.1.4-7
  • links: PTS
  • area: contrib
  • in suites: potato
  • size: 15,708 kB
  • ctags: 7,042
  • sloc: cpp: 63,191; sh: 8,634; ansic: 3,411; perl: 3,323; makefile: 636; tcl: 163; sed: 93; yacc: 38
file content (252 lines) | stat: -rw-r--r-- 7,225 bytes parent folder | download
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
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
dnl Process with autoconf to generate configure script   -*- sh -*-

AC_INIT(src/lyx.C)
AC_PREREQ(2.13) dnl We want to use autoconf 2.13
AM_CONFIG_HEADER(src/config.h)
dnl This is a trick to make autoheader do the right thing
dnl AM_CONFIG_HEADER(src/config.h)
AC_CONFIG_AUX_DIR(config)
LYX_GET_VERSION(${srcdir}/src/version.h)

AC_CANONICAL_SYSTEM
AC_VALIDATE_CACHE_SYSTEM_TYPE

AC_ARG_WITH(lyxname,
  [  --with-lyxname          the name under which lyx will be installed],
  [lyxname=$withval],[lyxname=lyx])

AM_INIT_AUTOMAKE($lyxname, $VERSION)

# The list of languages known to LyX
# This is needed by GNU gettext
ALL_LINGUAS="ca cs da de es fi fr hu it nl no pl pt ro ru sl sv tr wa"

AC_PREFIX_PROGRAM(lyx)

# fix the value of the prefixes.
test "x$prefix" = xNONE && prefix=$ac_default_prefix
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'

### Set the execute permissions of the various scripts correctly
for file in config/install-sh config/mkinstalldirs lib/configure ; do
  chmod 755 ${srcdir}/${file}
done

### Check for programs
AC_PROG_MAKE_SET
AC_PROG_INSTALL
#AC_PROG_RANLIB
AC_CHECK_PROG(KPSEWHICH, kpsewhich, kpsewhich, :)
if test "x$KPSEWHICH" = xkpsewhich ; then
    AC_DEFINE(HAVE_KPSEWHICH, 1,
    [Define this if you have the kpsewhich program working on your system.])
fi

### we will also need a C compiler to compile GNU gettext
AC_PROG_CC

### check for special systems
AC_ISC_POSIX
AC_AIX
LYX_HPUX
LYX_SUNOS4
LYX_SCO

### Check for program extensions (.exe or nothing)
AC_EXEEXT

### Check for a C++ compiler
AC_LANG_CPLUSPLUS
LYX_PROG_CXX
AC_PROG_CXXCPP
AC_DISABLE_SHARED
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL

### Some checks on what the C++ compiler can(not) do
LYX_CXX_MUTABLE
LYX_CXX_PARTIAL
LYX_CXX_EXPLICIT
dnl we do not use stl stack, or at least not on gcc 2.7, which was the 
dnl cause for this test. 
dnl LYX_CXX_STL_STACK
LYX_CXX_STL_STRING
LYX_CXX_NAMESPACES
LYX_CXX_CHEADERS
LYX_STD_COUNT
dnl we disable rtti for now
dnl LYX_CXX_RTTI
AC_CHECK_HEADERS(ostream istream sstream)
LYX_CXX_STL_MODERN_STREAMS

### We need a regex implementation, so we provide our own if none is found.
LYX_REGEX

### Library Files
dnl by testing these we check if it is ok to have
dnl -lc and -lm as args to the compiler
AC_CHECK_LIB(m, sin)
AC_CHECK_LIB(c, fopen)

### Add extra directories to check for libraries.
LYX_WITH_DIR([extra-lib],[extra library directory],extra_lib, NONE)
LYX_LOOP_DIR($lyx_cv_extra_lib,LYX_ADD_LIB_DIR(lyx_ldflags,$dir))
test ! x"$lyx_ldflags" = x && LDFLAGS="$lyx_ldflags $LDFLAGS"

### Add extra directories to check for include files.
LYX_WITH_DIR([extra-inc],[extra include directory],extra_inc, NONE)
LYX_LOOP_DIR($lyx_cv_extra_inc,LYX_ADD_INC_DIR(lyx_cppflags,$dir))
test ! x"$lyx_cppflags" = x && CPPFLAGS="$lyx_cppflags $CPPFLAGS"

### Add both includes and libraries
LYX_WITH_DIR([extra-prefix],[extra lib+include directory],extra_prefix, NONE, ${prefix})
LYX_LOOP_DIR($lyx_cv_extra_prefix,[
LYX_ADD_INC_DIR(CPPFLAGS,$dir/include)
  LYX_ADD_LIB_DIR(LDFLAGS,$dir/lib)])
 
### Check for the -liberty library
test "x$GXX" = xyes && lyx_use_liberty=yes
AC_ARG_WITH(liberty,
  [  --without-liberty       do not try to link against libiberty.a],
  [lyx_use_liberty=$withval])
if test x$lyx_use_liberty = xyes; then
  # AC_CHECK_LIB(iberty,main,LIBS="-liberty $LIBS")
  AC_CHECK_LIB(iberty,main)
fi

### Check for X libraries
# Check for the pt library (for SCO, needed for X)
AC_CHECK_LIB(pt,ptsname,X_EXTRA_LIBS="-lpt $X_EXTRA_LIBS")
# The real thing.
AC_PATH_XTRA
LIBS="$X_PRE_LIBS $LIBS $X_LIBS -lX11 $X_EXTRA_LIBS"
CPPFLAGS="$CPPFLAGS $X_CFLAGS"

## Check whether X is new enough to handle the input method stuff
AC_CHECK_FUNCS(XOpenIM)

### Check for xforms and xpm (only if X has been found).
if test "$have_x" = yes ; then
# We surely need these two libraries and want to check carefully the
# version numbers... 
LYX_PATH_XPM
LYX_PATH_XFORMS
AC_SUBST(LYX_LIBS)
else
LYX_ERROR(dnl
[Cannot find X window libraries and/or headers. Check your installation. 
   If you use a Linux system, check that you have installed 
   the development tools.])
fi

### Setup GNU gettext
dnl GNUgettext is written in C
AC_LANG_C
# Some tests that may be useful for gettext
AC_C_CONST
AC_C_INLINE
# Do the real setup now
AM_GNU_GETTEXT
# a hack for those who try to change LyX, but do not have gettext installed 
case  "${XGETTEXT}" in 
 *:) XGETTEXT='cp ${srcdir}/lyx.pot ./${PACKAGE}.po ; :'
esac

AC_SUBST(LINGUAS)

AC_LANG_CPLUSPLUS

# some standard header files
AC_HEADER_DIRENT
AC_HEADER_MAJOR
AC_CHECK_HEADERS(sys/time.h sys/types.h sys/select.h)

# some annoying header files
#LYX_PATH_HEADER(stl_string_fwd.h)
LYX_STL_STRING_FWD

# some standard structures
AC_HEADER_STAT
AC_HEADER_TIME
AC_STRUCT_ST_BLKSIZE
AC_STRUCT_ST_BLOCKS
AC_STRUCT_ST_RDEV

# some standard types
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_PID_T
AC_TYPE_SIGNAL
AC_TYPE_SIZE_T
AC_TYPE_UID_T

# some functions we'd like to have
AC_ARG_WITH(broken-headers,
    [  --with-broken-headers   define some functions on SunOS4 and SCO],
    [lyx_broken_headers=$withval])
if test "x$lyx_broken_headers" = "xyes"; then
  lyx_flags="$lyx_flags broken-headers"
  AC_DEFINE(BROKEN_HEADERS, 1,
    [Define on SunOS 4 and SCO, were some functions are missing from the headers])
fi
AC_CHECK_FUNCS(memmove memset strchr putenv setenv mkfifo)

dnl Until this is fixed in autoconf we provide our own version
LYX_FUNC_SELECT_ARGTYPES

dnl check whether we have to work around solaris broken putenv()
LYX_FUNC_PUTENV_ARGTYPE

# SunOS 4.1.3 does not have strerror and atexit
AC_REPLACE_FUNCS(strerror atexit)

### and now some special lyx flags.
AC_ARG_WITH(two-colors,[  --with-two-colors       use two color pixmaps],
  [AC_DEFINE(TWO_COLOR_ICONS,1,
     [You might want to define TWO_COLOR_ICONS if you want to spare
 your colormap.  This will use monochrome icons instead of colored ones.])
   lyx_flags="$lyx_flags two-colors"])
AC_ARG_ENABLE(assertions,
  [  --enable-assertions     add runtime sanity checks in the program],,
  [if test $lyx_devel_version = yes -o $lyx_prerelease = yes ; then
	enable_assertions=yes;
    else
	enable_assertions=no;
    fi;])
if test "x$enable_assertions" = xyes ; then
   lyx_flags="$lyx_flags assertions"
   AC_DEFINE(ENABLE_ASSERTIONS,1,
    [Define if you want assertions to be enabled in the code])
fi

### Finish the work.
AC_CONFIG_SUBDIRS(lib lib/reLyX)
AC_OUTPUT([Makefile \
       development/lyx.spec \
       lib/Makefile \
       intl/Makefile \
       po/Makefile.in \
       src/Makefile \
       src/mathed/Makefile \
       src/insets/Makefile \
       src/support/Makefile \
],  [sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])


cat <<EOF

Configuration:
  Source code location:       ${srcdir}
  C++ Compiler:                   ${CXX}
  C++ Compiler flags:             ${CXXFLAGS}
  C   Compiler:                   ${CC}
  C   Compiler flags:             ${CFLAGS}
  LyX binary dir:             `eval "echo \`eval \"echo ${bindir}\"\`"`
  LyX files dir:              `eval "echo \`eval \"echo ${datadir}/${PACKAGE}\"\`"`
  Special flags:              ${lyx_flags}

EOF

# Display a final warning if there has been a LYX_ERROR
LYX_CHECK_ERRORS