ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/Unix/aclocal.m4
(Generate patch)

Comparing BasiliskII/src/Unix/aclocal.m4 (file contents):
Revision 1.1 by cebix, 1999-10-03T14:16:25Z vs.
Revision 1.2 by cebix, 1999-10-23T17:57:44Z

# Line 168 | Line 168 | main ()
168    AC_SUBST(GTK_LIBS)
169    rm -f conf.gtktest
170   ])
171 +
172 +
173 + # Configure paths for ESD
174 + # Manish Singh    98-9-30
175 + # stolen back from Frank Belew
176 + # stolen from Manish Singh
177 + # Shamelessly stolen from Owen Taylor
178 +
179 + dnl AM_PATH_ESD([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
180 + dnl Test for ESD, and define ESD_CFLAGS and ESD_LIBS
181 + dnl
182 + AC_DEFUN(AM_PATH_ESD,
183 + [dnl
184 + dnl Get the cflags and libraries from the esd-config script
185 + dnl
186 + AC_ARG_WITH(esd-prefix,[  --with-esd-prefix=PFX   Prefix where ESD is installed (optional)],
187 +            esd_prefix="$withval", esd_prefix="")
188 + AC_ARG_WITH(esd-exec-prefix,[  --with-esd-exec-prefix=PFX Exec prefix where ESD is installed (optional)],
189 +            esd_exec_prefix="$withval", esd_exec_prefix="")
190 + AC_ARG_ENABLE(esdtest, [  --disable-esdtest       Do not try to compile and run a test ESD program],
191 +                    , enable_esdtest=yes)
192 +
193 +  if test x$esd_exec_prefix != x ; then
194 +     esd_args="$esd_args --exec-prefix=$esd_exec_prefix"
195 +     if test x${ESD_CONFIG+set} != xset ; then
196 +        ESD_CONFIG=$esd_exec_prefix/bin/esd-config
197 +     fi
198 +  fi
199 +  if test x$esd_prefix != x ; then
200 +     esd_args="$esd_args --prefix=$esd_prefix"
201 +     if test x${ESD_CONFIG+set} != xset ; then
202 +        ESD_CONFIG=$esd_prefix/bin/esd-config
203 +     fi
204 +  fi
205 +
206 +  AC_PATH_PROG(ESD_CONFIG, esd-config, no)
207 +  min_esd_version=ifelse([$1], ,0.2.7,$1)
208 +  AC_MSG_CHECKING(for ESD - version >= $min_esd_version)
209 +  no_esd=""
210 +  if test "$ESD_CONFIG" = "no" ; then
211 +    no_esd=yes
212 +  else
213 +    ESD_CFLAGS=`$ESD_CONFIG $esdconf_args --cflags`
214 +    ESD_LIBS=`$ESD_CONFIG $esdconf_args --libs`
215 +
216 +    esd_major_version=`$ESD_CONFIG $esd_args --version | \
217 +           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
218 +    esd_minor_version=`$ESD_CONFIG $esd_args --version | \
219 +           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
220 +    esd_micro_version=`$ESD_CONFIG $esd_config_args --version | \
221 +           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
222 +    if test "x$enable_esdtest" = "xyes" ; then
223 +      ac_save_CFLAGS="$CFLAGS"
224 +      ac_save_LIBS="$LIBS"
225 +      CFLAGS="$CFLAGS $ESD_CFLAGS"
226 +      LIBS="$LIBS $ESD_LIBS"
227 + dnl
228 + dnl Now check if the installed ESD is sufficiently new. (Also sanity
229 + dnl checks the results of esd-config to some extent
230 + dnl
231 +      rm -f conf.esdtest
232 +      AC_TRY_RUN([
233 + #include <stdio.h>
234 + #include <stdlib.h>
235 + #include <string.h>
236 + #include <esd.h>
237 +
238 + char*
239 + my_strdup (char *str)
240 + {
241 +  char *new_str;
242 +  
243 +  if (str)
244 +    {
245 +      new_str = malloc ((strlen (str) + 1) * sizeof(char));
246 +      strcpy (new_str, str);
247 +    }
248 +  else
249 +    new_str = NULL;
250 +  
251 +  return new_str;
252 + }
253 +
254 + int main ()
255 + {
256 +  int major, minor, micro;
257 +  char *tmp_version;
258 +
259 +  system ("touch conf.esdtest");
260 +
261 +  /* HP/UX 9 (%@#!) writes to sscanf strings */
262 +  tmp_version = my_strdup("$min_esd_version");
263 +  if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
264 +     printf("%s, bad version string\n", "$min_esd_version");
265 +     exit(1);
266 +   }
267 +
268 +   if (($esd_major_version > major) ||
269 +      (($esd_major_version == major) && ($esd_minor_version > minor)) ||
270 +      (($esd_major_version == major) && ($esd_minor_version == minor) && ($esd_micro_version >= micro)))
271 +    {
272 +      return 0;
273 +    }
274 +  else
275 +    {
276 +      printf("\n*** 'esd-config --version' returned %d.%d.%d, but the minimum version\n", $esd_major_version, $esd_minor_version, $esd_micro_version);
277 +      printf("*** of ESD required is %d.%d.%d. If esd-config is correct, then it is\n", major, minor, micro);
278 +      printf("*** best to upgrade to the required version.\n");
279 +      printf("*** If esd-config was wrong, set the environment variable ESD_CONFIG\n");
280 +      printf("*** to point to the correct copy of esd-config, and remove the file\n");
281 +      printf("*** config.cache before re-running configure\n");
282 +      return 1;
283 +    }
284 + }
285 +
286 + ],, no_esd=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
287 +       CFLAGS="$ac_save_CFLAGS"
288 +       LIBS="$ac_save_LIBS"
289 +     fi
290 +  fi
291 +  if test "x$no_esd" = x ; then
292 +     AC_MSG_RESULT(yes)
293 +     ifelse([$2], , :, [$2])    
294 +  else
295 +     AC_MSG_RESULT(no)
296 +     if test "$ESD_CONFIG" = "no" ; then
297 +       echo "*** The esd-config script installed by ESD could not be found"
298 +       echo "*** If ESD was installed in PREFIX, make sure PREFIX/bin is in"
299 +       echo "*** your path, or set the ESD_CONFIG environment variable to the"
300 +       echo "*** full path to esd-config."
301 +     else
302 +       if test -f conf.esdtest ; then
303 +        :
304 +       else
305 +          echo "*** Could not run ESD test program, checking why..."
306 +          CFLAGS="$CFLAGS $ESD_CFLAGS"
307 +          LIBS="$LIBS $ESD_LIBS"
308 +          AC_TRY_LINK([
309 + #include <stdio.h>
310 + #include <esd.h>
311 + ],      [ return 0; ],
312 +        [ echo "*** The test program compiled, but did not run. This usually means"
313 +          echo "*** that the run-time linker is not finding ESD or finding the wrong"
314 +          echo "*** version of ESD. If it is not finding ESD, you'll need to set your"
315 +          echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
316 +          echo "*** to the installed location  Also, make sure you have run ldconfig if that"
317 +          echo "*** is required on your system"
318 +          echo "***"
319 +          echo "*** If you have an old version installed, it is best to remove it, although"
320 +          echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
321 +        [ echo "*** The test program failed to compile or link. See the file config.log for the"
322 +          echo "*** exact error that occured. This usually means ESD was incorrectly installed"
323 +          echo "*** or that you have moved ESD since it was installed. In the latter case, you"
324 +          echo "*** may want to edit the esd-config script: $ESD_CONFIG" ])
325 +          CFLAGS="$ac_save_CFLAGS"
326 +          LIBS="$ac_save_LIBS"
327 +       fi
328 +     fi
329 +     ESD_CFLAGS=""
330 +     ESD_LIBS=""
331 +     ifelse([$3], , :, [$3])
332 +  fi
333 +  AC_SUBST(ESD_CFLAGS)
334 +  AC_SUBST(ESD_LIBS)
335 +  rm -f conf.esdtest
336 + ])

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines