Commit Graph

46 Commits

Author SHA1 Message Date
rocky
82c7c09a97 Fixes for Mingw+MSYS and DLL support from Carlo Bramini
* configure.ac: Added AC_LIBTOOL_WIN32_DLL for enabling the creation of shared libraries.
* configure.ac: Added -I$(top_srcdir)/include to LIBCDIO_CFLAGS, it allows to build outside the source tree.
* configure.ac: Added LT_NO_UNDEFINED for adding '-no-undefined' switch to libtool when building win32 shared libraries.
* configure.ac: Check for Windows.h presence if under Mingw (included for using Sleep() function).
* configure.ac: Check for more missing functions: setenv(), unsetenv(), sleep(), gmtime_r(), localtime_r().

* example/cdchange.c: If sleep() function does not exist, it tries to emulate it with a similar code (require inclusion of Windows.h)

* src/cddb.c:
* lib/cdda_interface/scsi_interface.c: Compilation fails because u_int32_t is undefined. It has been changed to uint32_t to be compliant to all other parts of the libraries.
* lib/cdda_interface/Makefile.am:
* lib/iso9660/Makefile.am:
* lib/cdio++/Makefile.am:
* lib/paranoia/Makefile.am:
* lib/udf/Makefile.am:
* lib/driver/Makefile.am: added LT_NO_UNDEFINED to libtool flags.
* lib/iso9660/iso9660.c: Added replacements for setenv(), unsetenv(), gmtime_r\
(), localtime_r().
2008-06-25 08:01:53 +00:00
rocky
62d7731703 Patch from Peter Hartley to allow Cross-compiling to mingw32:
- MinGW doesn't have struct timespec, so udf_time.c doesn't compile
   (changes lib/udf/udf_time.c, configure.ac, config.h.in)

 - The configure test for bitfield ordering uses AC_TRY_RUN and thus
   doesn't work when cross-compiling; use sneakiness to try and
   determine it at compile time, falling back to the existing runtime
   check if the sneakiness doesn't work
   (changes configure.ac; tested on x86_64-linux-gnu and i586-mingw32
   which are bf_lsbf=1, plus sparc64-linux-gnu which is bf_lsbf=0)

 - The configure test for "extern long timezone" needlessly uses
   AC_TRY_RUN when in fact AC_LINK_IFELSE is all we need to know, and
   that latter works when cross-compiling
   (changes configure.ac)

 - MinGW sys/stat.h doesn't have the *GRP or *OTH macros, nor S_IFLNK
   or S_IFSOCK, nor S_ISUID etc
   (changes lib/udf/udf.c and lib/iso9660/xa.c)

 - MinGW doesn't have <sys/wait.h>, so even the header-inclusion bit
   of the Linux driver doesn't compile unless it's moved inside the
   "ifdef HAVE_LINUX_CDROM"
   (changes lib/driver/gnu_linux.c)

 - Because the man pages cd-info.1 etc depend on the binaries themselves
   (for help2man reasons), the configure options --without-cd-info etc
   don't actually stop them being compiled. Fixed by only depending on
   man pages for programs that are actually built, which also stops
   the installation of man pages of programs which aren't themselves
   installed
   (changes src/Makefile.am)
2008-04-24 07:28:00 +00:00
karl
2d05460780 gplv3+ 2008-04-18 16:02:09 +00:00
karl
3b90a7dda4 update Makefiles to GPLv3+ 2008-03-20 19:02:37 +00:00
rocky
40c531fed9 Remove := in Makefiles for portability.
autoconf 1.10 complains about adding AM_PROC_CC_C_O - pander to it.
2007-10-15 04:53:59 +00:00
rocky
e06f4960ce C lint. 2006-06-03 00:05:57 +00:00
rocky
7b14288feb gcc 2.9 fix remove ;; - thanks to sms 2006-04-28 16:38:23 +00:00
rocky
e7e73c05d8 UDF file reading works for strategy 4. What a pain in the ass. 2006-04-17 03:32:38 +00:00
rocky
8a9128cf61 Remove some bugs in udf_file.c Others remain. 2006-04-16 02:34:08 +00:00
rocky
22608b594e stream: add getpos routine
udf: save last read position.
2006-04-15 03:05:14 +00:00
rocky
f66b71db63 udf_fs.c: was freeing freed memory when searching for a file that
doesn't exist.

udf2.c: print error when looking for a non-existent file.
2006-04-11 06:46:29 +00:00
rocky
d0d5ea424f Make udf_read_block more like 2 read. Implementation is closer
to the description (although it needs more work.)
udf_fs.h: break out udf_check_tag()
*.h: /*! -> /** - is more like Javadoc.
2006-04-11 05:47:57 +00:00
rocky
e039fcee0e Handle error condition better. 2006-04-11 01:05:44 +00:00
rocky
6eeb46aea7 UDF fixes. 2006-04-11 00:26:54 +00:00
rocky
49bc5ccb3f Security: replace all uses of strcat and strcpy with strncat and strncpy 2006-03-18 00:53:20 +00:00
rocky
9c72d5971f udf_time.c: make sure offset is initialzed (Darwin doesn'thave TIMEZONE var).
.cvsignore: add .gdb_history
2006-02-13 01:59:28 +00:00
rocky
413f887b1d Commit some of the temporary UDF stuff. It will either be completed or
disabled later.
2006-01-26 04:41:50 +00:00
rocky
4c77464d81 config.h now seems to get included. 2006-01-23 20:31:11 +00:00
rocky
edfc03ac78 *** empty log message *** 2005-11-10 11:23:42 +00:00
rocky
643ab46b25 Need #include<sys/stat.h> 2005-11-06 00:42:17 +00:00
rocky
765b1529ea A couple of corrections on udf_get_file_length(). 2005-11-02 03:49:15 +00:00
rocky
78883887df Add routine to get file length.
Fix bug in retrieving dirent for root.
Reduce overhead in udf_get_link_count()
2005-11-02 03:42:49 +00:00
rocky
e9851bf3a3 udf_find_file -> udf_fopen and made closer to fopen(). It also
simplifies things a little bit. Start testing.
2005-11-01 13:07:01 +00:00
rocky
00a3010210 Remove extraneous parameter on udf_opendir(). 2005-11-01 03:21:04 +00:00
rocky
7de9d148bf Rename some functions to be more like POSIX file reading, i.e. add
udf_opendir() and udf_readdir(). udf_file_entry_t -> udf_dirent_t.
2005-11-01 03:14:49 +00:00
rocky
8524d367b3 udf_times_to_stamp -> udf_timespec_to_stamp 2005-10-30 14:10:44 +00:00
rocky
9ec9c5a991 Break of file routines into udf_file.{c,h}
udf1: Add link count
2005-10-30 07:35:36 +00:00
rocky
6c7ca93321 Replace some numbers with enum "constants". 2005-10-30 06:06:09 +00:00
rocky
17de10953a Fill out file modes better and clean up interface more by trying to
funnel into POSIX file mode_t. FIXME: something needs to be done to
merge ISO9660 interfaces and UDF and probably the right thing is to
make it look like POSIX. Would be nice if there were a library
e.g. from GNU fileutils I could use to help.
2005-10-30 05:43:01 +00:00
rocky
7b44e5b47e Fill out posix attributes a little. Add directory listing to output. 2005-10-29 14:52:47 +00:00
rocky
031b7199e9 Add more access functions. 2005-10-29 14:43:50 +00:00
rocky
5583cbccd7 More documentation of ecma 167. Some fields changed names. More
#defines removed/replaced by enum type and variables.
2005-10-27 11:18:56 +00:00
rocky
311bed3fba Attempt to deal with OS's (like BSDI) that don't have an extern long timezone. 2005-10-27 03:26:39 +00:00
rocky
2ee302e4f8 Changes to make work on Cygwin. However probably need a more general
test for timezone being extern long.
2005-10-27 03:03:42 +00:00
rocky
8881e6b50d File entry update fixed on udf_get_next().
More access functions added to return a UDF file entry
and to interpret a permission string.
2005-10-27 01:23:48 +00:00
rocky
645cbacbc2 Add some UDF time routines and time-conversion routines.
Note: udf_get_next() needs to advance file entry info
2005-10-26 02:05:53 +00:00
rocky
d10ea87088 Add routine to get volumeset id 2005-10-25 13:19:05 +00:00
rocky
fcd818f4ba Add silly volume identifier. More #defines removed in favor of enums. 2005-10-25 03:13:13 +00:00
rocky
fd0bbfbab1 Remove memory leak and invalid write references thanks to valgrind.
Now lists all files correctly - at least in the absense of directories
under /.
2005-10-25 01:19:48 +00:00
rocky
b0306c811e UDF file is now opaque. Access routines then added.
Note: there are valgrind and free() errors that need going over.
2005-10-24 10:14:57 +00:00
rocky
63402ba0c9 List more of the external routines (udf_get_next, udf_get_sub) 2005-10-24 08:51:17 +00:00
rocky
50045f874b Ignore the usual. 2005-10-24 03:23:25 +00:00
rocky
8d956e8db1 Makefile.am for libudf 2005-10-24 03:14:38 +00:00
rocky
e9be12e7e5 First inkling of code for UDF support. 2005-10-24 03:12:30 +00:00
rocky
6b8618d6c7 Start list of external symbols for Nicholas. 2005-10-21 12:34:45 +00:00
rocky
a6472512f6 Start some UDF routines. Very preliminary. 2005-10-21 12:31:02 +00:00