Просмотр исходного кода

Changed cd detection stuff again. More robust.

Ryan C. Gordon 23 лет назад
Родитель
Сommit
6c58dcd8ab
1 измененных файлов с 25 добавлено и 18 удалено
  1. 25 18
      configure.in

+ 25 - 18
configure.in

@@ -194,28 +194,30 @@ if test x$have_llseek = xyes; then
   AC_DEFINE([PHYSFS_HAVE_LLSEEK], 1, [define if we have llseek])
 fi
 
-enable_cdrom=no
-dnl determine if we should use the stubbed CD-ROM detection code.
-dnl AC_ARG_ENABLE(cdrom,
-dnl [  --enable-cdrom             try standard CD-ROM support [default=yes]],
-dnl               , enable_cdrom=yes)
-
 
-dnl BSD systems use sys/ucred.h for getting mounted volumes.
-dnl Linux and others use mntent.h.
-AC_CHECK_HEADER(sys/ucred.h, have_ucred_hdr=yes)
-if test x$have_ucred_hdr = xyes; then
-  AC_DEFINE([PHYSFS_HAVE_SYS_UCRED_H], 1, [define if we have sys/ucred.h])
-  enable_cdrom=yes
-fi
+dnl determine if we should use the stubbed CD-ROM detection code.
+AC_ARG_ENABLE(cdrom,
+[  --enable-cdrom             include CD-ROM support [default=yes]],
+              , enable_cdrom=yes)
+if test x$enable_cdrom = xyes; then
+  dnl reset this and let header detection reenable...
+  enable_cdrom=no
+
+  dnl BSD systems use sys/ucred.h for getting mounted volumes.
+  dnl Linux and others use mntent.h.
+  AC_CHECK_HEADER(sys/ucred.h, have_ucred_hdr=yes)
+  if test x$have_ucred_hdr = xyes; then
+    AC_DEFINE([PHYSFS_HAVE_SYS_UCRED_H], 1, [define if we have sys/ucred.h])
+    enable_cdrom=yes
+  fi
 
-AC_CHECK_HEADER(mntent.h, have_mntent_hdr=yes)
-if test x$have_mntent_hdr = xyes; then
-  AC_DEFINE([PHYSFS_HAVE_MNTENT_H], 1, [define if we have mntent.h])
-  enable_cdrom=yes
+  AC_CHECK_HEADER(mntent.h, have_mntent_hdr=yes)
+  if test x$have_mntent_hdr = xyes; then
+    AC_DEFINE([PHYSFS_HAVE_MNTENT_H], 1, [define if we have mntent.h])
+    enable_cdrom=yes
+  fi
 fi
 
-
 dnl AC_CHECK_HEADER(be/kernel/OS.h, this_is_beos=yes)
 AC_MSG_CHECKING([if this is BeOS])
 if test x$build_os = xbeos; then
@@ -288,6 +290,11 @@ fi
 dnl Some platform might disable this, so check this down here...
 if test x$enable_cdrom != xyes; then
   AC_DEFINE([PHYSFS_NO_CDROM_SUPPORT], 1, [define if we have no CD support])
+  AC_MSG_WARN([***])
+  AC_MSG_WARN([*** There is no CD-ROM support in this build!])
+  AC_MSG_WARN([*** PhysicsFS will just pretend there are no discs!])
+  AC_MSG_WARN([*** Is this what you really wanted?])
+  AC_MSG_WARN([***])
 fi