4
4
echo " configure: $1 "
5
5
}
6
6
7
+ step_msg () {
8
+ msg
9
+ msg " $1 "
10
+ msg
11
+ }
12
+
7
13
err () {
8
14
echo " configure: error: $1 "
9
15
exit 1
@@ -67,6 +73,44 @@ probe_need() {
67
73
fi
68
74
}
69
75
76
+ opt () {
77
+ local OP=$1
78
+ local DEFAULT=$2
79
+ shift
80
+ shift
81
+ local DOC=" $* "
82
+ local FLAG=" "
83
+
84
+ if [ $DEFAULT -eq 0 ]
85
+ then
86
+ FLAG=" enable"
87
+ else
88
+ FLAG=" disable"
89
+ DOC=" don't $DOC "
90
+ fi
91
+
92
+ if [ $HELP -eq 0 ]
93
+ then
94
+ for arg in $CFG_CONFIGURE_ARGS
95
+ do
96
+ if [ " $arg " = " --${FLAG} -${OP} " ]
97
+ then
98
+ OP=$( echo $OP | tr ' a-z' ' A-Z' )
99
+ FLAG=$( echo $FLAG | tr ' a-z' ' A-Z' )
100
+ local V=" CFG_${FLAG} _${OP} "
101
+ eval $V =1
102
+ putvar $V
103
+ fi
104
+ done
105
+ else
106
+ if [ ! -z " $META " ]
107
+ then
108
+ OP=" $OP =<$META >"
109
+ fi
110
+ printf " --%-30s %s\n" " $FLAG -$OP " " $DOC "
111
+ fi
112
+ }
113
+
70
114
msg " looking for configure programs"
71
115
need_cmd mkdir
72
116
need_cmd printf
@@ -84,16 +128,40 @@ msg "inspecting environment"
84
128
CFG_OSTYPE=$( uname -s)
85
129
CFG_CPUTYPE=$( uname -m)
86
130
87
- CFG_SELF=$( echo $0 | tr ' \' ' /' )
131
+ CFG_SELF=$( echo $0 | tr ' \\ ' ' /' )
88
132
CFG_SRC_DIR=${CFG_SELF% ${CFG_SELF##*/ } }
89
- CFG_BUILD_DIR=$( echo $PWD | tr ' \' ' /' )
133
+ CFG_BUILD_DIR=$( echo $PWD | tr ' \\ ' ' /' )
90
134
CFG_CONFIGURE_ARGS=" $@ "
91
135
136
+ OPTIONS=" "
137
+ HELP=0
138
+ if [ " $1 " = " --help" ]
139
+ then
140
+ HELP=1
141
+ shift
142
+ echo " "
143
+ echo " Usage: $CFG_SELF [options]"
144
+ echo " "
145
+ echo " Options:"
146
+ echo " "
147
+ else
148
+ msg " recreating config.mk"
149
+ echo ' ' > config.mk
150
+
151
+ step_msg " processing $CFG_SELF args"
152
+ fi
92
153
93
- msg " recreating config.mk"
94
- echo ' ' > config.mk
154
+ opt valgrind 1 " run tests with valgrind"
155
+ opt docs 1 " build documentation"
156
+
157
+
158
+ if [ $HELP -eq 1 ]
159
+ then
160
+ echo " "
161
+ exit 0
162
+ fi
95
163
96
- msg " making directories"
164
+ step_msg " making directories"
97
165
for i in \
98
166
doc \
99
167
boot/fe boot/me boot/be boot/driver boot/util \
106
174
make_dir $i
107
175
done
108
176
177
+ step_msg " writing out basic parameters"
109
178
putvar CFG_SRC_DIR
110
179
putvar CFG_BUILD_DIR
111
180
putvar CFG_OSTYPE
112
181
putvar CFG_CPUTYPE
113
182
putvar CFG_CONFIGURE_ARGS
114
183
115
- msg " looking for build programs"
184
+ step_msg " looking for build programs"
116
185
probe_need CFG_GCC gcc
117
186
probe_need CFG_GIT git
118
187
probe_need CFG_OCAMLC ocamlc
160
229
161
230
case $CFG_LLVM_VERSION in
162
231
(3.0svn | 3.0)
163
- msg " found ok version of LLVM: $CFG_LLVM_VERSION "
232
+ step_msg " found ok version of LLVM: $CFG_LLVM_VERSION "
164
233
;;
165
234
(* )
166
235
err " bad LLVM version: $CFG_LLVM_VERSION , need >=3.0svn"
@@ -181,4 +250,4 @@ rm -f config.mk.bak
181
250
182
251
copy ${CFG_SRC_DIR} Makefile.in ./Makefile
183
252
184
- echo " configure: complete"
253
+ step_msg " complete"
0 commit comments