-
Notifications
You must be signed in to change notification settings - Fork 27
/
configure.in
149 lines (131 loc) · 4.55 KB
/
configure.in
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
##########################################################################
# bibtex2html - A BibTeX to HTML translator #
# Copyright (C) 1997-2014 Jean-Christophe Filliâtre and Claude Marché #
# #
# This software is free software; you can redistribute it and/or #
# modify it under the terms of the GNU General Public #
# License version 2, as published by the Free Software Foundation. #
# #
# This software is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. #
# #
# See the GNU General Public License version 2 for more details #
# (enclosed in the file GPL). #
##########################################################################
# bibtex2html autoconf input
# check for one particular file of the sources
AC_INIT(bibtex.mli)
# options
AC_ARG_ENABLE(doc,
[ --enable-doc build the PDF documentation],,
enable_doc=yes)
# Check for Ocaml compilers
# we first look for ocamlc in the path; if not present, we abort
AC_CHECK_PROG(OCAMLC,ocamlc,ocamlc,no)
if test "$OCAMLC" = no ; then
AC_MSG_ERROR(Cannot find ocamlc.)
fi
# we extract Ocaml version number and library path
OCAMLVERSION=`$OCAMLC -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
echo "ocaml version is $OCAMLVERSION"
# IMPORTANT! do not use OCAMLLIB, because it is already set under Windows
CAMLLIB=`ocamlc -where`
echo "ocaml library path is $CAMLLIB"
case $OCAMLVERSION in
0.*|1.*|2.*|3.*|4.00*|4.01*|4.02*)
AC_MSG_ERROR(You need OCaml 4.03 or later);;
esac
# then we look for ocamlopt; if not present, we issue a warning
# if the version is not the same, we also discard it
# we set OCAMLBEST to "opt" or "byte", whether ocamlopt is available or not
AC_CHECK_PROG(OCAMLOPT,ocamlopt,ocamlopt,no)
OCAMLBEST=byte
if test "$OCAMLOPT" = no ; then
AC_MSG_WARN(Cannot find ocamlopt; bytecode compilation only.)
else
AC_MSG_CHECKING(ocamlopt version)
TMPVERSION=`$OCAMLOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt discarded.)
OCAMLOPT=no
else
AC_MSG_RESULT(ok)
OCAMLBEST=opt
fi
fi
# checking for ocamlc.opt
AC_CHECK_PROG(OCAMLCDOTOPT,ocamlc.opt,ocamlc.opt,no)
if test "$OCAMLCDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVERSION=`$OCAMLCDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVERSION" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlc.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLC=$OCAMLCDOTOPT
fi
fi
# checking for ocamlopt.opt
if test "$OCAMLOPT" != no ; then
AC_CHECK_PROG(OCAMLOPTDOTOPT,ocamlopt.opt,ocamlopt.opt,no)
if test "$OCAMLOPTDOTOPT" != no ; then
AC_MSG_CHECKING(ocamlc.opt version)
TMPVER=`$OCAMLOPTDOTOPT -v | sed -n -e 's|.*version *\(.*\)$|\1|p' `
if test "$TMPVER" != "$OCAMLVERSION" ; then
AC_MSG_RESULT(differs from ocamlc; ocamlopt.opt discarded.)
else
AC_MSG_RESULT(ok)
OCAMLOPT=$OCAMLOPTDOTOPT
fi
fi
fi
AC_CHECK_PROG(OCAMLLEX,ocamllex,ocamllex,no)
if test "$OCAMLLEX" = no ; then
AC_MSG_ERROR(Cannot find ocamllex.)
else
AC_CHECK_PROG(OCAMLLEXDOTOPT,ocamllex.opt,ocamllex.opt,no)
if test "$OCAMLLEXDOTOPT" != no ; then
OCAMLLEX=$OCAMLLEXDOTOPT
fi
fi
# ocamldep should also be present in the path
AC_CHECK_PROG(OCAMLDEP,ocamldep,ocamldep,no)
if test "$OCAMLC" = no ; then
AC_MSG_ERROR(Cannot find ocamldep.)
fi
# where is perl
AC_PATH_PROG(PERL,perl,/usr/bin/perl)
# platform
AC_MSG_CHECKING(platform)
if echo "Sys.os_type;;" | ocaml | grep -q Win32; then
AC_MSG_RESULT(win32)
OCAMLWIN32=yes
EXE=.exe
else
AC_MSG_RESULT(not win32)
OCAMLWIN32=no
EXE=
fi
if test "$enable_doc" = yes ; then
AC_CHECK_PROG(PDFLATEX,pdflatex,pdflatex,no)
if test "$PDFLATEX" = no ; then
AC_MSG_WARN(Cannot find pdflatex; documentation disabled.)
enable_doc=no
fi
fi
# substitutions to perform
AC_SUBST(OCAMLC)
AC_SUBST(OCAMLOPT)
AC_SUBST(OCAMLDEP)
AC_SUBST(OCAMLLEX)
AC_SUBST(OCAMLBEST)
AC_SUBST(OCAMLVERSION)
AC_SUBST(CAMLLIB)
AC_SUBST(PERL)
AC_SUBST(EXE)
AC_SUBST(enable_doc)
# Finally create all the generated files
AC_OUTPUT(Makefile aux2bib)
chmod a+x aux2bib
chmod a-w Makefile