Browse Source

* Added fpcddb.pp to Makefile. Small fix in unix CD detection

git-svn-id: trunk@13009 -
michael 16 years ago
parent
commit
0d30dfad3a
3 changed files with 78 additions and 73 deletions
  1. 59 59
      packages/cdrom/Makefile
  2. 1 1
      packages/cdrom/Makefile.fpc
  3. 18 13
      packages/cdrom/src/lincd.pp

+ 59 - 59
packages/cdrom/Makefile

@@ -1,5 +1,5 @@
 #
-# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/12/12]
+# Don't edit, this file is generated by FPCMake Version 2.0.0 [2008/11/14]
 #
 default: all
 MAKEFILETARGETS=i386-linux i386-go32v2 i386-win32 i386-os2 i386-freebsd i386-beos i386-haiku i386-netbsd i386-solaris i386-qnx i386-netware i386-openbsd i386-wdosx i386-darwin i386-emx i386-watcom i386-netwlibc i386-wince i386-embedded i386-symbian m68k-linux m68k-freebsd m68k-netbsd m68k-amiga m68k-atari m68k-openbsd m68k-palmos m68k-embedded powerpc-linux powerpc-netbsd powerpc-amiga powerpc-macos powerpc-darwin powerpc-morphos powerpc-embedded sparc-linux sparc-netbsd sparc-solaris sparc-embedded x86_64-linux x86_64-freebsd x86_64-darwin x86_64-win64 x86_64-embedded arm-linux arm-palmos arm-darwin arm-wince arm-gba arm-nds arm-embedded arm-symbian powerpc64-linux powerpc64-darwin powerpc64-embedded avr-embedded armeb-linux armeb-embedded
@@ -265,178 +265,178 @@ PACKAGESDIR:=$(wildcard $(FPCDIR) $(FPCDIR)/packages $(FPCDIR)/packages/base $(F
 override PACKAGE_NAME=cdrom
 override PACKAGE_VERSION=2.2.2
 ifeq ($(FULL_TARGET),i386-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-go32v2)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-win32)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-os2)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-freebsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-beos)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-haiku)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-netbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-solaris)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-qnx)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-netware)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-openbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-wdosx)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-darwin)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-emx)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-watcom)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-netwlibc)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-wince)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-symbian)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-freebsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-netbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-amiga)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-atari)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-openbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-palmos)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),m68k-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-netbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-amiga)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-macos)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-darwin)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-morphos)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),sparc-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),sparc-netbsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),sparc-solaris)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),sparc-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),x86_64-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),x86_64-freebsd)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),x86_64-darwin)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),x86_64-win64)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),x86_64-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-palmos)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-darwin)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-wince)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-gba)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-nds)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),arm-symbian)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc64-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc64-darwin)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),powerpc64-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),avr-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),armeb-linux)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),armeb-embedded)
-override TARGET_UNITS+=cdrom discid
+override TARGET_UNITS+=cdrom discid fpcddb
 endif
 ifeq ($(FULL_TARGET),i386-linux)
 override TARGET_IMPLICITUNITS+=major lincd

+ 1 - 1
packages/cdrom/Makefile.fpc

@@ -7,7 +7,7 @@ name=cdrom
 version=2.2.2
 
 [target]
-units=cdrom discid
+units=cdrom discid fpcddb
 implicitunits_win32=scsidefs wnaspi32 cdromioctl wincd
 implicitunits_linux=major lincd
 exampledirs=examples

+ 18 - 13
packages/cdrom/src/lincd.pp

@@ -1163,23 +1163,28 @@ begin
   If fpStat(Device,info)<>0 then
     exit;
   DeviceMajor:=info.st_rdev shr 8;
+  Writeln('Device major : ',DeviceMajor);
   If DeviceMajor in [IDE0_MAJOR,IDE1_MAJOR,IDE2_MAJOR,IDE3_MAJOR] then
-      Result:=TestCDRomIOCTL(Device)
-  else
+    Result:=TestCDRomIOCTL(Device)
+  else 
     begin
-    Result:=DeviceMajor in CDMajor;
-    If Not Result then
+    Result:= DeviceMajor=SCSI_CDROM_MAJOR;
+    If not Result then
       begin
-      // test SCSI
-      end
-    else
-      begin
-      F:=fpOpen(Device,OPEN_RDONLY or OPEN_NONBLOCK);
-      Result:=(F>=0);
-      If Result then
-        fpClose(F);
+      Result:=DeviceMajor in CDMajor;
+      If Not Result then
+        begin
+        // test SCSI
+        end
+      else
+        begin
+        F:=fpOpen(Device,OPEN_RDONLY or OPEN_NONBLOCK);
+        Result:=(F>=0);
+        If Result then
+          fpClose(F);
+        end;
       end;
-    end;
+    end;  
 end;
 
 Function TestCDRomIOCTL(Device : String) : Boolean;