Am-Utils Cross Reference
am-utils/buildall

source navigation ]
diff markup ]
identifier search ]
freetext search ]
file search ]
 
Version: 6.0.1 ] [ 6.0.2 ] [ 6.0.3 ] [ 6.0.4 ] [ 6.0.5 ] [ 6.0.6 ] [ 6.0.7 ] [ 6.0.8 ] [ 6.0.9 ] [ 6.0.10 ] [ 6.1 ] [ 6.1.1 ]

  1 #!/bin/sh
  2 # Build all of the am-utils package in a directory A.<cpu-company-system>
  3 # Used by am-utils users.
  4 # Erez Zadok <ezk@cs.columbia.edu>
  5 #
  6 # run "buildall -h" to get usage
  7 #
  8 #set -x
  9 
 10 ##############################################################################
 11 # first test if we are in the right directory to run this script
 12 # change to the right directory
 13 test -f ../config.guess && cd ..
 14 test -f ../../config.guess && cd ../..
 15 pwd=`pwd`
 16 host_alias=`(cd /tmp; $pwd/config.guess.long)`
 17 if test -z "$host_alias" ; then
 18         echo "$0: must run from the source or the A. directory."
 19         echo "$0: cannot find $pwd/config.guess"
 20         exit 1
 21 else
 22         :
 23 fi
 24 
 25 ##############################################################################
 26 # pattern of lines to remove from config.cache (for developers only)
 27 # Example: if you change TRY_COMPILE_NFS, redo these:
 28 #pat='fhandle|nfs_fh|nfs_args|struct_nfs|opt'
 29 #pat='style_|mount_trap|mtype|transport|dref'
 30 #pat='mntent|mnttab'
 31 #pat='nfs_args|fh_len|irix|proto|vers'
 32 #pat='3|proto|tcp|ver|nfs_prot|mtype'
 33 #pat='trap|style|mtype|transport|os_libs|restartable|unmount_args|yp_order'
 34 #pat='yp_all|nsl|nis'
 35 
 36 ##############################################################################
 37 # initialize variables (build command, config command, variables)
 38 bld_cmd=""
 39 bld_flags=""
 40 cnf_cmd=""
 41 cnf_flags="-C"                  # use config.cache cache file
 42 inst_cmd=""
 43 inst_flags=""
 44 mkcnf_cmd=""
 45 vars=""
 46 expvars=""
 47 default=yes
 48 
 49 ##############################################################################
 50 # check if CFLAGS or AM_CFLAGS was passed
 51 test -z "$CFLAGS" || vars="$vars CFLAGS=\"${CFLAGS}\""
 52 test -z "$CFLAGS" || expvars="$expvars CFLAGS"
 53 test -z "$AM_CFLAGS" || vars="$vars AM_CFLAGS=\"${AM_CFLAGS}\""
 54 
 55 ##############################################################################
 56 # functions
 57 
 58 add_gcc_flags1 () {
 59     case "${CC}" in
 60         cc | */cc )
 61                 # do nothing
 62                 ;;
 63             * )
 64                 vars="$vars AM_CFLAGS=\"-Werror\""
 65                 AM_CFLAGS="-Werror"
 66                 expvars="$expvars AM_CFLAGS"
 67                 ;;
 68     esac
 69 }
 70 
 71 add_gcc_flags2 () {
 72     case "${CC}" in
 73         cc | */cc )
 74                 # do nothing
 75                 ;;
 76             * )
 77                 vars="$vars AM_CFLAGS=\"-Wall -Werror\""
 78                 AM_CFLAGS="-Wall -Werror"
 79                 expvars="$expvars AM_CFLAGS"
 80                 ;;
 81     esac
 82 }
 83 
 84 add_shared_flags () {
 85     cnf_cmd="$cnf_cmd --enable-shared --disable-static"
 86 }
 87 
 88 add_prefix_flags () {
 89     cnf_cmd="$cnf_cmd --prefix=/usr/local/AMD"
 90 }
 91 
 92 ##############################################################################
 93 # iterate over all options, and set the command to run with any variables
 94 while [ $# != 0 ]; do
 95 case "$1" in
 96     -b )
 97         # look for GNU make if possible
 98         gmake --version -f /dev/null > /dev/null 2>&1
 99         if [ $? = 0 ]
100         then
101             bld_cmd="${MAKE:-gmake}"
102         else
103             bld_cmd="${MAKE:-make}"
104         fi
105         default=no
106         shift
107     ;;
108 
109     -i )
110         # look for GNU make if possible
111         gmake --version -f /dev/null > /dev/null 2>&1
112         if [ $? = 0 ]
113         then
114             inst_cmd="${MAKE:-gmake} install"
115         else
116             inst_cmd="${MAKE:-make} install"
117         fi
118         default=no
119         shift
120     ;;
121 
122     -c )
123         cnf_cmd="../configure --enable-debug=yes"
124 #       add_gcc_flags1
125         default=no
126         shift
127     ;;
128 
129     -cs )
130         cnf_cmd="../configure --enable-debug=yes"
131         add_shared_flags
132 #       add_gcc_flags1
133         default=no
134         shift
135     ;;
136 
137     -C )
138         cnf_cmd="../configure --enable-debug=yes"
139         add_gcc_flags2
140         default=no
141         shift
142     ;;
143 
144     -Cs )
145         cnf_cmd="../configure --enable-debug=yes"
146         add_shared_flags
147         add_gcc_flags2
148         default=no
149         shift
150     ;;
151 
152     -d )
153         cnf_cmd="../configure --enable-debug=yes"
154         add_prefix_flags
155 #       add_gcc_flags1
156         default=no
157         shift
158     ;;
159 
160     -ds )
161         cnf_cmd="../configure --enable-debug=yes"
162         add_prefix_flags
163         add_shared_flags
164 #       add_gcc_flags1
165         default=no
166         shift
167     ;;
168 
169     -D )
170         cnf_cmd="../configure --enable-debug=yes"
171         add_prefix_flags
172         add_gcc_flags2
173         default=no
174         shift
175     ;;
176 
177     -Ds )
178         cnf_cmd="../configure -enable-debug=yes"
179 #       cnf_cmd="../configure -enable-debug=mem"
180 #       cnf_cmd="../configure --prefix=/usr/local/AMD --enable-debug=yes --enable-shared --disable-static \
181 #           --enable-cppflags=\"-I${HOME}/ldap/include -I${HOME}/hesiod/include\" \
182 #           --enable-ldflags=\"-L${HOME}/ldap/lib -L${HOME}/hesiod/lib\""
183 #       cnf_cmd="$cnf_cmd \
184 #           --enable-cppflags=-I${HOME}/ldap/include \
185 #           --enable-ldflags=-L${HOME}/ldap/lib"
186 #       cnf_cmd="../configure -enable-debug=yes --enable-cppflags=-I/usr/local/include --enable-ldflags=-L/usr/local/lib"
187         add_prefix_flags
188         add_shared_flags
189         add_gcc_flags2
190         default=no
191         shift
192     ;;
193 
194     -K )
195 #       mkcnf_cmd="../m4/mkconf"
196         mkcnf_cmd="../bootstrap"
197         if test -f bootstrap ; then
198             :
199         else
200             echo "am-utils maintainer option only!"
201             exit 1
202         fi
203         default=no
204         shift
205     ;;
206 
207     -q )
208         cnf_cmd="./config.status"
209         default=no
210         shift
211     ;;
212 
213     -- )
214         shift
215         cmdline_cnf_flags="$*"
216         break   # from while loop
217     ;;
218 
219     -h | * )
220 cat <<EOF
221 Usage: buildall [-b] [-[cCdD][s]] [-K] [-q] [-h] [-- configopts]
222      -b: build only
223      -c:  configure (debugging)
224      -cs: configure (debugging, shared libs)
225      -C:  configure (strict compile, debugging)
226      -Cs: configure (strict compile, debugging, shared libs)
227      -d:  configure in /usr/local/AMD (debugging)
228      -ds: configure in /usr/local/AMD (debugging, shared libs)
229      -D:  configure in /usr/local/AMD (strict compile, debugging)
230      -Ds: configure in /usr/local/AMD (strict compile, debugging, shared libs)
231      -K: run mkconf to update *.in files (developers only)
232      -i: build and install
233      -q: quick configure only (run config.status)
234      -h: print usage
235      configopts: options to pass to configure (must be last and after a --)
236 You may pass variables: CFLAGS for build, MAKE for your make program
237 and AM_CFLAGS for additional build flags.
238 EOF
239     exit 1
240     ;;
241 
242 esac
243 done
244 
245 # if AM_CFLAGS was set before, then add it to the configure option
246 if test -n "${AM_CFLAGS}"; then
247     extra_cnf_flags="--enable-am-cflags=${AM_CFLAGS}"
248 else
249     :
250 fi
251 
252 # check if no options were given, and set to defaults
253 if test "$default" = "yes"; then
254     # look for GNU make if possible
255     gmake --version -f /dev/null > /dev/null 2>&1
256     if [ $? = 0 ]
257     then
258         bld_cmd="${MAKE:-gmake}"
259     else
260         bld_cmd="${MAKE:-make}"
261     fi
262     cnf_cmd="../configure"
263 else
264     :
265 fi
266 
267 ##############################################################################
268 # make build directory if needed
269 if test -d ./A.${host_alias} ; then
270     :
271 else
272     mkdir ./A.${host_alias}
273 fi
274 echo "Configuring/building am-utils in directory ./A.${host_alias} ..." 
275 echo cd ./A.${host_alias}
276 cd ./A.${host_alias} || exit 1
277 
278 ##############################################################################
279 # this is for developers only (remove config.cache entries)
280 if test -n "$pat"; then
281     if test -f config.cache; then
282         egrep $pat config.cache | while read i; do echo '       '$i;done
283         egrep -v $pat config.cache > tmp.$$ && \
284                 mv config.cache config.cache.old && mv tmp.$$ config.cache
285     else
286         :
287     fi
288 else
289     :
290 fi
291 
292 ##############################################################################
293 # Some system's /bin/sh has limits/bugs which prevent it from being used
294 # with configure
295 case "${host_alias}" in
296     *hpux9* | *aix5.1* )
297         if test -n "$cnf_cmd"; then
298             if test -f /bin/bash; then
299                 cnf_cmd="/bin/bash $cnf_cmd"
300             elif test -f /bin/ksh; then
301                 cnf_cmd="/bin/ksh $cnf_cmd"
302             fi
303         else
304             :
305         fi
306         echo "WARNING: do not use /bin/make under this system."
307         echo "Instead, use GNU make or 'ksh ./configure' directly."
308         ;;
309     mips-sgi-irix5.2)
310         echo "WARNING: do not use /bin/make under this system."
311         echo "Instead, use GNU make or ./configure directly."
312         ;;
313 esac
314 
315 ##############################################################################
316 # see if need to run mkconf
317 if test -n "$mkcnf_cmd"; then
318     echo $mkcnf_cmd
319     $mkcnf_cmd || exit 1
320 else
321     :
322 fi
323 
324 ##############################################################################
325 # see if need to [re]configure
326 if test -n "$cnf_cmd"; then
327     if test -n "$vars"; then
328         echo $vars
329         eval $vars
330         echo export $expvars
331         export $expvars
332     else
333         :
334     fi
335     if test -z "${cnf_flags}${extra_cnf_flags}"; then
336         echo $cnf_cmd $cmdline_cnf_flags
337         $cnf_cmd $cmdline_cnf_flags || exit 1
338     else
339         echo $cnf_cmd "$cnf_flags" "$extra_cnf_flags" $cmdline_cnf_flags
340         $cnf_cmd "$cnf_flags" "$extra_cnf_flags" $cmdline_cnf_flags || exit 1
341     fi
342 else
343     :
344 fi
345 
346 ##############################################################################
347 # if need to [re]build
348 if test -n "$bld_cmd"; then
349     echo $bld_cmd $bld_flags
350     $bld_cmd $bld_flags || exit 1
351 else
352     :
353 fi
354 
355 ##############################################################################
356 # if need to install
357 if test -n "$inst_cmd"; then
358     echo $inst_cmd $inst_flags
359     $inst_cmd $inst_flags || exit 1
360 else
361     :
362 fi
363 
364 ##############################################################################

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
This page is hosted at the Filesystems and Storage Lab at Stony Brook.