]> git.donarmstrong.com Git - lilypond.git/blob - configure.in
release: 0.0.57
[lilypond.git] / configure.in
1 dnl -*-shell-script-*-
2 dnl  Process this file with autoconf to produce a configure script. 
3
4 dnl should cache result.
5 dnl should  look in $prefix first.
6 printing_b=no
7 checking_b=yes
8 debug_b=yes
9 optimise_b=no
10 profile_b=no
11 #shared_b=no
12
13 AC_DEFUN(AC_TEX_PREFIX, [
14     
15
16     AC_MSG_CHECKING(TeX/MF root dir directory)    
17
18     find_root_prefix="$prefix"
19     
20
21     test "x$find_root_prefix" = xNONE && find_root_prefix="$ac_default_prefix"
22     find_texpostfix="";
23     for postfix in "/lib/tex/" "/lib/texmf" "/lib" "/tex" "/texmf"; do
24         find_texprefix="$find_root_prefix$postfix"
25         if test -d $find_texprefix; then
26             find_texpostfix=$postfix
27             break;
28         fi
29     done
30     
31     if test "x$find_texpostfix" = x; then
32         find_texpostfix='/lib/texmf/tex'
33         AC_MSG_WARN(Cannot determine the TeX-directory. Please use --enable-tex-prefix)
34     fi
35
36     find_texprefix="$find_root_prefix/$find_texpostfix"
37
38     # only assign if variablename not empty
39     if test x != "x$1"; then
40         $1='${prefix}'/"$find_texpostfix"
41     fi
42     AC_MSG_RESULT($find_texprefix)
43
44 ])
45  
46
47 # find a directory inside a prefix, 
48 # $1 the prefix (expanded version)
49 # $2 variable to assign
50 # $3 the directory name 
51 # $4 description
52 AC_DEFUN(AC_FIND_DIR_IN_PREFIX, [
53     
54     AC_MSG_CHECKING($4 directory)    
55     find_dirdir=`(cd $1; 
56       $FIND ./ -type d -a -name $3 -print |sort|head -1|sed 's#^\./##')`
57     
58
59     if test "x$find_dirdir" = x; then
60        find_dirdir="/$3";
61        AC_MSG_WARN(Cannot determine $4 subdirectory. Please set from command-line)
62         true
63     fi
64     $2=$find_dirdir
65     AC_MSG_RESULT($1/$find_dirdir)
66 ])
67
68 AC_DEFUN(AC_TEX_SUBDIR, [
69 dnl    AC_REQUIRE([AC_TEX_PREFIX])
70     AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, tex,TeX input)
71     $1="$TEXPREFIX/$$1"
72 ])
73
74 AC_DEFUN(AC_MF_SUBDIR, [
75 dnl     AC_REQUIRE([AC_TEX_PREFIX])
76     AC_FIND_DIR_IN_PREFIX($find_texprefix, $1, source, MF input)
77     $1="$TEXPREFIX/$$1"
78 ])
79    
80 AC_INIT(flower/choleski.cc)
81
82
83 AC_LANG_CPLUSPLUS
84
85 AC_ARG_ENABLE(printing,
86     [  enable-printing        turn on debug printing],
87     [printing_b=$enableval])
88
89         
90 AC_ARG_ENABLE(checking,
91     [  disable-checking       set runtime checks (assert calls)],
92     [checking_b=$enableval] )
93
94 AC_ARG_ENABLE(debugging,
95     [  disable-debugging         set debug info ],
96     [debug_b=$enableval])
97
98 AC_ARG_ENABLE(optimise,
99     [  enable-optimise       use maximal speed optimisations],
100     [optimise_b=$enableval])
101     
102    
103 AC_ARG_ENABLE(profiling, 
104     [  enable-profiling      compile with gprof support],
105     [profile_b=$enableval])
106     
107 AC_ARG_ENABLE(tex-prefix,
108     [  tex-prefix=DIR  set the tex-directory to find TeX subdirectories. (default: PREFIX)],
109     [TEXPREFIX=$enableval],
110     [TEXPREFIX=auto] )
111     
112 AC_ARG_ENABLE(tex-dir,
113     [  tex-dir=DIR  set the directory to put LilyPond  TeX files in. ],
114     [TEXDIR=$enableval],
115     [TEXDIR=auto] )
116 AC_ARG_ENABLE(mf-dir,
117     [  mf-dir=DIR  set the directory to put LilyPond MetaFont files in.],
118     [MFDIR=$enableval],
119     [MFDIR=auto] )
120
121 if test $profile_b = yes; then
122     EXTRA_LIBES="-pg"
123     DEFINES="$DEFINES -pg"
124 fi
125     
126 if test $printing_b = no; then
127     DEFINES="$DEFINES -DNPRINT=1"
128 fi
129     
130 if test $debug_b = yes; then    
131     DEFINES="$DEFINES -g"
132 fi
133 if test $checking_b = no; then
134     DEFINES="$DEFINES -DNDEBUG=1"
135 fi
136
137 if test $optimise_b = yes; then
138     DEFINES="$DEFINES -O2 -DSTRING_UTILS_INLINED"
139 fi
140
141 dnl COMPILEINFO="$HOST $host $TARGET $target"
142 AUTOHEADER="This file was automatically generated by configure"
143 CXXFLAGS=${CXXFLAGS:-""}        # we don't want -g -O junk
144 AC_PROG_CXX
145 AC_PROG_RANLIB
146 AC_PROG_INSTALL
147 AC_CHECK_PROGS(FIND, find, error)
148
149 dnl should check out -print
150 if test FIND = error; then
151    AC_MSG_WARN(Couldn't find \`find'.  Please use --enable-tex-dir)
152 fi
153     
154 AC_SUBST(CXX)
155 AC_SUBST(DEFINES)
156 AC_SUBST(COMPILEINFO)
157 AC_SUBST(AUTOHEADER)
158 AC_SUBST(BISON)
159 AC_SUBST(FLEX)
160 AC_SUBST(TEXPREFIX)
161 AC_SUBST(TEXDIR)
162 AC_SUBST(MFDIR)
163 AC_SUBST(EXTRA_LIBES)
164
165 AC_CHECK_PROGS(BISON, bison, error)
166 AC_CHECK_PROGS(FLEX, flex, error)
167 AC_CHECK_PROGS(MAKE, make, error)
168 AC_CHECK_PROGS(PODMAN, pod2man, error)
169
170     
171 if test "x$TEXPREFIX" = xauto ; then
172     AC_TEX_PREFIX(TEXPREFIX)
173 else
174  find_texprefix=$TEXPREFIX
175 fi
176     
177 if test "x$TEXDIR" = xauto ; then
178     AC_TEX_SUBDIR(TEXDIR)
179 fi
180
181 if test "x$MFDIR" = xauto; then
182     AC_MF_SUBDIR(MFDIR)
183 fi
184     
185 if test $MAKE = "error" 
186 then
187         AC_MSG_ERROR(Please install GNU make)
188 else
189         $MAKE -v| grep GNU > /dev/null
190         if test "$?" = 1
191         then
192             AC_MSG_WARN(Please install *GNU* make) 
193     fi 
194 fi 
195     
196 if test $BISON = "error" 
197 then
198         AC_MSG_WARN(can't find bison. Please install Bison (1.24 or better))
199 fi
200
201 if test $PODMAN = "error" 
202 then
203         AC_MSG_WARN(can't find pod. You should install Perl (version 5 or better))
204 fi
205
206 if test $FLEX = "error" 
207 then
208         AC_MSG_WARN(can't find flex. Please install Flex (2.5 or better))
209 fi
210
211 if $CXX --version | grep '2\.7' > /dev/null
212 then
213         true
214 else
215         AC_MSG_WARN(can't find g++ 2.7)
216 fi
217
218 AC_CHECK_HEADER(FlexLexer.h, true,
219         AC_MSG_WARN(can't find flex header. Please install Flex headers correctly))
220 AC_CONFIG_SUBDIRS(flower)
221 AC_OUTPUT(make/out/Configure_variables.make:make/Configure_variables.make.in
222     Makefile:make/Toplevel.make.in
223     )
224
225
226
227 dnl URG!!!!!!
228 eval "DIR_DATADIR=$datadir"
229 DIR_DATADIR="$DIR_DATADIR/lilypond"
230 AC_MSG_CHECKING
231
232 cat << EOF > lib/out/config.hh
233
234 /* automatically generated by configure */
235 /* include this file only once! */
236
237 #define  DIR_DATADIR "$DIR_DATADIR"
238
239 EOF
240
241 CXX="$ac_cv_prog_CXX" bin/make_version >> lib/out/config.hh
242
243 touch make/out/Site.make
244
245 # ugr
246 (cd mi2mu; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
247 dnl    echo 0 > out/.build
248 )
249 # rgu
250 sed 's/TOPLEVEL_//g' <  .version >  lily/.version
251 (cd lily; CXX="$ac_cv_prog_CXX" ../bin/make_version > out/version.hh
252 )
253
254 cat << END
255 Finished configuring. For making everything, do:
256
257         make all
258
259 If you only want help on the make targets, do a
260
261         make help
262
263 assuming that \`make' is GNU make, of course.
264
265 If you want to make site-wide extensions to the makefiles, please use
266
267     make/out/Site.make
268     
269 END
270