summaryrefslogtreecommitdiff
path: root/configure.in
blob: 31fb7264115e4ec58678cbdfdb0850ee0f67e1f1 (about) (plain)
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
dnl -*-shell-script-*-
dnl  Process this file with autoconf to produce a configure script. 

AC_INIT(flower/choleski.cc)


if test x$srcdir != x.; then
  echo Please look in the INSTALL instructions for
  echo directions for multi-architecture building
    
  AC_LILY_WARN(This package does not support --srcdir!)
fi

# if given here, these vars are initted at the checking point.
if test x$host = xNONE; then
    OUTDIR_NAME=${OUTDIR_NAME-"out"}
else
    OUTDIR_NAME=${OUTDIR_NAME-"out-$host"}
fi

printing_b=no
checking_b=yes
debug_b=yes
optimise_b=no
profile_b=no

AC_LANG_CPLUSPLUS

AC_ARG_ENABLE(printing,
    [  enable-printing         turn on debug printing],
    [printing_b=$enableval])

	
AC_ARG_ENABLE(checking,
    [  enable-checking         set runtime checks (assert calls). Default: on],
    [checking_b=$enableval] )

AC_ARG_ENABLE(debugging,
    [  enable-debugging        set debug info. Default: on],
    [debug_b=$enableval])

AC_ARG_ENABLE(optimise,
    [  enable-optimise         use maximal speed optimisations. Default: off],
    [optimise_b=$enableval])
    
AC_ARG_ENABLE(profiling, 
    [  enable-profiling        compile with gprof support. Default: off],
    [profile_b=$enableval])
    
AC_ARG_ENABLE(mingw-prefix,
    [  enable-mingw-prefix=DIR        set the mingw32 directory (standalone windows32 exes)],
    [MINGWPREFIX=$enableval],
    [MINGWPREFIX=no])
    
AC_ARG_ENABLE(tex-prefix,
    [  enable-tex-prefix=DIR          set the tex-directory to find TeX subdirectories. (default: PREFIX)],
    [TEXPREFIX=$enableval],
    [TEXPREFIX=auto] )
    
AC_ARG_ENABLE(tex-dir,
    [  enable-tex-dir=DIR             set the directory to put LilyPond TeX files in. ],
    [TEXDIR=$enableval],
    [TEXDIR=auto] )

AC_ARG_ENABLE(mf-dir,
     [  enable-mf-dir=DIR             set the directory to put LilyPond MetaFont files in. ],
     [MFDIR=$enableval],
     [MFDIR=auto])

AC_ARG_ENABLE(out-dir,
    [  enable-out-dir                 set the directory for machine generated files. Default out or out-HOST],
    [OUTDIR_NAME=$enableval]
    [])

if test $profile_b = yes; then
    EXTRA_LIBES="-pg"
    DEFINES="$DEFINES -pg"
fi
    
if test $printing_b = no; then
    DEFINES="$DEFINES -DNPRINT=1"
fi
    
if test $debug_b = yes; then	
    DEFINES="$DEFINES -g"
fi
if test $checking_b = no; then
    DEFINES="$DEFINES -DNDEBUG=1"
fi

# however, C++ support in mingw32 v 0.1.4 is still flaky
if test x$MINGWPREFIX != xno; then 
    ICFLAGS="-I$MINGWPREFIX/include"
    ILDFLAGS="-$MINGWPREFIX/lib"
fi

if test $optimise_b = yes; then
    DEFINES="$DEFINES -finline-functions -O2 -DSTRING_UTILS_INLINED"
fi

if test "x$OSTYPE" = "xWindows_NT"; then
    LN=cp # hard link does not work under cygnus-nt (yet?)
    ZIP="zip -r -9" #
else
    LN=ln
    ZIP="zip -r -9"
fi

dnl COMPILEINFO="$HOST $host $TARGET $target"
AUTOHEADER="This file was automatically generated by configure"
CPPFLAGS=${CPPFLAGS:-""}	# we don't want -g -O junk
CXXFLAGS=${CXXFLAGS:-""}	# we don't want -g -O junk

AC_PROG_CXX
AC_PROG_RANLIB
AC_PROG_INSTALL
AC_CHECK_PROGS(TAR, tar, error)
AC_CHECK_PROGS(FIND, find, error)

dnl should check out -print
AC_CHECK_SEARCH_RESULT($FIND, \`find\'. Please use --enable-tex-dir)

    
AC_SUBST(OUTDIR_NAME)
AC_SUBST(CXXFLAGS)
AC_SUBST(CPPFLAGS)
AC_SUBST(CXX)
AC_SUBST(ICFLAGS)
AC_SUBST(ILDFLAGS)
AC_SUBST(DEFINES)
AC_SUBST(COMPILEINFO)
AC_SUBST(AUTOHEADER)
AC_SUBST(BISON)
AC_SUBST(FLEX)
AC_SUBST(LN)
AC_SUBST(PERL)
AC_SUBST(PYTHON)
AC_SUBST(ZIP)
AC_SUBST(TEXPREFIX)
AC_SUBST(TEXDIR)
AC_SUBST(MFDIR)
AC_SUBST(DIR_DATADIR)
AC_SUBST(EXTRA_LIBES)

AC_CHECK_PROGS(BISON, bison, error)
AC_CHECK_PROGS(FLEX, flex, error)
AC_CHECK_PROGS(MAKE, make, error)
AC_PATH_PROG(PERL, perl, error)
AC_PATH_PROG(PYTHON, python, error)
AC_CHECK_PROGS(PODMAN, pod2man, error)


if test "x$TEXPREFIX" = xauto ; then
    AC_TEX_PREFIX(TEXPREFIX)
else
 find_texprefix=$TEXPREFIX
fi

if test "x$MFDIR" = xauto; then
    AC_MF_SUBDIR(MFDIR)
fi
    
if test "x$TEXDIR" = xauto ; then
    AC_TEX_SUBDIR(TEXDIR)
fi


AC_JUNK_ARGS( [if test "x$MFDIR" = xauto; then
     AC_MF_SUBDIR(MFDIR)
 fi]
)

AC_CHECK_SEARCH_RESULT($MAKE, GNU make,  You should install GNU make)
AC_CHECK_SEARCH_RESULT($BISON, bison,  Please install Bison, 1.25 or better)
AC_CHECK_SEARCH_RESULT($PERL, perl, You should install Perl, version 5 or better)
AC_CHECK_SEARCH_RESULT($PYTHON, python, You should install Python)
AC_CHECK_SEARCH_RESULT($PODMAN, pod,  You should install Perl, version 5 or better)
AC_CHECK_SEARCH_RESULT( $FLEX,  flex, Please install Flex, 2.5 or better)


if test $MAKE != "error" ; then
    $MAKE -v| grep GNU > /dev/null
    if test "$?" = 1
    then
	    AC_LILY_WARN(Please install *GNU* make) 
    fi 
fi 
    
if test $BISON != "error"; then
    bison_version=`$BISON --version| sed 's/^.*version 1.//g' `
    if test $bison_version -lt 25; then
	AC_LILY_WARN(Your bison is too old (1.$bison_version). Please install 1.25)
    fi	
fi

if $CXX --version | grep '2\.7' > /dev/null
then
	true
else
	AC_LILY_WARN(can't find g++ 2.7)
fi

AC_CHECK_HEADER(FlexLexer.h, true,
	AC_LILY_WARN(can't find flex header. Please install Flex headers correctly))

for a in `find . -type d -and -not -name 'out*' -print`; do
    if test ! -d  $a/$OUTDIR_NAME; then
	mkdir $a/$OUTDIR_NAME
    fi
done

AC_CONFIG_SUBDIRS(flower)

    
AC_OUTPUT(make/$OUTDIR_NAME/Configure_variables.make:make/Configure_variables.make.in
    Makefile:make/Toplevel.make.in)

touch make/$OUTDIR_NAME/Site.make

cat << END
For making everything, do:

    make		# GNU make

or if you used --outdir=blabla

    make OUTDIR_NAME=blabla
    
If you want to make site-wide extensions to the makefiles, please use

    make/$OUTDIR_NAME/Site.make
    
END

if test x$warn_b = "xyes" ; then
cat <<EOF
    
    **************************************************
    Warning: configure encountered warnings or errors.
    Please try to resolve these, and rerun configure 
    before sending a bugreport.
    If you cannot resolve some warnings, the make 
    process may still be succesful, but be warned.
    **************************************************
    
EOF
fi