#include <hallo.h>
* Petr Salinger [Mon, Sep 04 2006, 06:45:51PM]:
> >>It have to add some detection logic for libcam into cmake.
> >>In autoconf based build system, the test would be
> >>  AC_CHECK_HEADERS([camlib.h])
> >
> >But scsi-bsd.c includes <cam/cam.h> and not camlib.h, maybe I should
> >check for that?
> >
> 
> It includes both, but "HAVE_CAMLIB_H" is used to select support via -lcam.
> Also <camlib.h> comes from libcam-dev, which contains /usr/lib/libcam.so

Please try the attached patch, applied to 1.0pre3, and tell us the
results.

Eduard.
-- 
Das Gedächtnis ist ein sonderbares Sieb. Es behält alles Gute von uns
und alles Üble von den anderen.
                -- Wieslaw Brudzinzki
Index: debian/changelog
===================================================================
--- debian/changelog    (Revision 214)
+++ debian/changelog    (Arbeitskopie)
@@ -1,3 +1,9 @@
+cdrkit (5:1.0~pre3-2) unstable; urgency=low
+
+  * added detection for libcam (closes: #385975)
+
+ -- Eduard Bloch <[EMAIL PROTECTED]>  Mon,  4 Sep 2006 23:39:20 +0200
+
 cdrkit (5:1.0~pre3-1) unstable; urgency=low
 
   [ Eduard Bloch ]
Index: cdrecord/CMakeLists.txt
===================================================================
--- cdrecord/CMakeLists.txt     (Revision 214)
+++ cdrecord/CMakeLists.txt     (Arbeitskopie)
@@ -1,5 +1,6 @@
 PROJECT (CDRECORD)
 INCLUDE_DIRECTORIES(../include . ${CMAKE_BINARY_DIR})
+INCLUDE(../include/AddScgBits.cmake)
 
 AUX_SOURCE_DIRECTORY(. CDRECORD_SRCS)
 
@@ -10,8 +11,8 @@
 
 LINK_DIRECTORIES(../libschily ../libscg ../libdeflt)
 ADD_EXECUTABLE (wodim ${CDRECORD_SRCS})
-TARGET_LINK_LIBRARIES(wodim scg schily deflt ${CAPLINK})
-SET_TARGET_PROPERTIES(wodim PROPERTIES  SKIP_BUILD_RPATH TRUE)
+TARGET_LINK_LIBRARIES(wodim ${SCG_LIBS} schily deflt ${CAPLINK})
+SET_TARGET_PROPERTIES(wodim PROPERTIES SKIP_BUILD_RPATH TRUE)
 
 INSTALL(TARGETS wodim DESTINATION bin)
 INSTALL(FILES 
Index: Changelog
===================================================================
--- Changelog   (Revision 214)
+++ Changelog   (Arbeitskopie)
@@ -1,3 +1,9 @@
+cdrkit (1.0pre4) UNRELEASED; urgency=low
+
+  * Added checks for libcam to make (k)FreeBSD compilation work (untested)
+
+ -- Eduard Bloch <[EMAIL PROTECTED]>  Mon,  4 Sep 2006 23:36:58 +0200
+
 cdrkit (1.0pre3) unstable; urgency=low
 
   [ Eduard Bloch ]
Index: cdda2wav/CMakeLists.txt
===================================================================
--- cdda2wav/CMakeLists.txt     (Revision 214)
+++ cdda2wav/CMakeLists.txt     (Arbeitskopie)
@@ -1,5 +1,6 @@
 PROJECT (CDDA2WAV)
 INCLUDE_DIRECTORIES(../include ../cdrecord . ${CMAKE_BINARY_DIR})
+include(../include/AddScgBits.cmake)
 
 FIND_FILE (HAVE_SYS_SOUNDCARD_H sys/soundcard.h)
 IF(HAVE_SYS_SOUNDCARD_H)
@@ -12,7 +13,7 @@
 
 LINK_DIRECTORIES(../libschily ../libscg ../libdeflt ../libparanoia)
 ADD_EXECUTABLE (cdda2wav aifc.c aiff.c base64.c cd_misc.c cdda2wav.c 
defaults.c getnum.c interface.c ioctl.c md5c.c modes.c raw.c resample.c 
ringbuff.c scsi_cdr.c scsi_cmds.c scsi_scan.c semshm.c setuid.c sha_func.c 
sndconfig.c sun.c toc.c wav.c)
-TARGET_LINK_LIBRARIES(cdda2wav scg schily deflt paranoia)
+TARGET_LINK_LIBRARIES(cdda2wav ${SCG_LIBS} schily deflt paranoia)
 SET_TARGET_PROPERTIES(cdda2wav PROPERTIES  SKIP_BUILD_RPATH TRUE)
 
 
Index: libscg/CMakeLists.txt
===================================================================
--- libscg/CMakeLists.txt       (Revision 214)
+++ libscg/CMakeLists.txt       (Arbeitskopie)
@@ -1,9 +1,9 @@
 PROJECT (LIBSCG)
 INCLUDE_DIRECTORIES(../include .  ${CMAKE_BINARY_DIR}  ../cdrecord)
+include(../include/AddScgBits.cmake)
 
 #SET(LIBSCG_SRCS rdummy.c scgsettarget.c scgtimes.c scsi-linux-ata.c 
scsi-linux-pg.c scsi-linux-sg.c scsierrs.c scsihack.c scsihelp.c scsiopen.c 
scsitransp.c)
 SET(LIBSCG_SRCS rdummy.c scgsettarget.c scgtimes.c scsierrs.c scsihack.c 
scsihelp.c scsiopen.c scsitransp.c)
-SET_SOURCE_FILES_PROPERTIES(${LIBSCG_SRCS} PROPERTIES )
 LINK_DIRECTORIES(../libschily)
 ADD_LIBRARY (scg STATIC ${LIBSCG_SRCS})
-TARGET_LINK_LIBRARIES(scg schily)
+TARGET_LINK_LIBRARIES(scg schily ${SCG_SELF_LIBS})
Index: scgcheck/CMakeLists.txt
===================================================================
--- scgcheck/CMakeLists.txt     (Revision 214)
+++ scgcheck/CMakeLists.txt     (Arbeitskopie)
@@ -1,6 +1,8 @@
 PROJECT (SCGCHECK)
 INCLUDE_DIRECTORIES(../include ../cdrecord . )
+INCLUDE(../include/AddScgBits.cmake)
 
+
 LINK_DIRECTORIES(../libschily ../libscg ../libdeflt)
 ADD_EXECUTABLE (scgcheck cd_misc.c dmaresid.c modes.c scgcheck.c scsi_cdr.c 
scsi_scan.c sense.c)
-TARGET_LINK_LIBRARIES(scgcheck scg schily)
+TARGET_LINK_LIBRARIES(scgcheck ${SCG_LIBS} schily)
Index: readcd/CMakeLists.txt
===================================================================
--- readcd/CMakeLists.txt       (Revision 214)
+++ readcd/CMakeLists.txt       (Arbeitskopie)
@@ -1,11 +1,12 @@
 PROJECT (READECD)
 INCLUDE_DIRECTORIES(../include ../cdrecord . ${CMAKE_BINARY_DIR})
+INCLUDE(../include/AddScgBits.cmake)
 
 AUX_SOURCE_DIRECTORY(. READCD_SRCS)
 
 LINK_DIRECTORIES(../libschily ../libscg ../libdeflt)
 ADD_EXECUTABLE (readcd ${READCD_SRCS})
-TARGET_LINK_LIBRARIES(readcd scg schily deflt)
+TARGET_LINK_LIBRARIES(readcd ${SCG_LIBS} schily deflt)
 SET_TARGET_PROPERTIES(readcd PROPERTIES  SKIP_BUILD_RPATH TRUE)
 
 INSTALL(TARGETS readcd DESTINATION bin)
Index: rscsi/CMakeLists.txt
===================================================================
--- rscsi/CMakeLists.txt        (Revision 214)
+++ rscsi/CMakeLists.txt        (Arbeitskopie)
@@ -1,11 +1,11 @@
 PROJECT (RSCSI)
 INCLUDE_DIRECTORIES(../include ../cdrecord . ${CMAKE_BINARY_DIR} )
-#ADD_DEFINITIONS(-DUSE_LARGEFILES -DABORT_DEEP_ISO_ONLY -DAPPLE_HYB -DUDF 
-DDVD_VIDEO -DSORTING -DHAVE_CONFIG_H -DUSE_LIBSCHILY -DUSE_SCG)
+INCLUDE(../include/AddScgBits.cmake)
 
 LINK_DIRECTORIES(../libschily ../libscg ../libdeflt)
 ADD_EXECUTABLE (rscsi rscsi.c)
 #SET_SOURCE_FILES_PROPERTIES(rscsi.c )
-TARGET_LINK_LIBRARIES(rscsi scg schily deflt)
+TARGET_LINK_LIBRARIES(rscsi ${SCG_LIBS} schily deflt)
 #SET_TARGET_PROPERTIES(rscsi PROPERTIES  SKIP_BUILD_RPATH TRUE)
 INSTALL(TARGETS rscsi DESTINATION sbin)
 
Index: include/AddScgBits.cmake
===================================================================
--- include/AddScgBits.cmake    (Revision 0)
+++ include/AddScgBits.cmake    (Revision 0)
@@ -0,0 +1,13 @@
+
+LIST(APPEND SCG_LIBS "scg")
+
+INCLUDE(CheckSymbolExists)
+SET(CMAKE_REQUIRED_LIBRARIES cam)
+CHECK_SYMBOL_EXISTS(cam_open_device "camlib.h" HAVE_CAMLIB_H)
+if(HAVE_CAMLIB_H)
+   ADD_DEFINITIONS(-DHAVE_CAMLIB_H)
+   LIST(APPEND SCG_LIBS "cam")
+   LIST(APPEND SCG_SELF_LIBS "cam")
+endif(HAVE_CAMLIB_H)
+SET(CMAKE_REQUIRED_LIBRARIES )
+
Index: mkisofs/CMakeLists.txt
===================================================================
--- mkisofs/CMakeLists.txt      (Revision 214)
+++ mkisofs/CMakeLists.txt      (Arbeitskopie)
@@ -1,4 +1,7 @@
 PROJECT (MKISOFS)
+
+INCLUDE(../include/AddScgBits.cmake)
+
 INCLUDE_DIRECTORIES(../include ../libhfs_iso . ../cdrecord ${CMAKE_BINARY_DIR})
 
 FIND_FILE (USE_MAGIC magic.h)
@@ -26,10 +29,10 @@
 LINK_DIRECTORIES(../libhfs_iso ../libschily ../libscg ../libunls ../libdeflt)
 
 ADD_EXECUTABLE (mkisofs mkisofs.c ${MKISOFS_MOST_SRCS})
-TARGET_LINK_LIBRARIES(mkisofs schily hfs_iso deflt magic scg unls z 
${EXTRA_LIBICONV})
+TARGET_LINK_LIBRARIES(mkisofs schily hfs_iso deflt magic unls z 
${EXTRA_LIBICONV} ${SCG_LIBS})
 
 # common lib set and mkisofs source parts for the rest
-LINK_LIBRARIES(schily deflt scg unls ${EXTRA_LIBICONV})
+LINK_LIBRARIES(${SCG_LIBS} schily deflt unls ${EXTRA_LIBICONV} )
 SET(MI_COMMON diag/scsi.c diag/scsi_cdr.c diag/cd_misc.c diag/modes.c 
diag/defaults.c diag/getnum.c)
 ADD_EXECUTABLE(devdump diag/dump.c  ${MI_COMMON})
 ADD_EXECUTABLE(isodebug        diag/isodebug.c   ${MI_COMMON})

Reply via email to