Index: src/dvd_reader.c =================================================================== --- src/dvd_reader.c (revision 1153) +++ src/dvd_reader.c (working copy) @@ -508,11 +508,11 @@ } fclose( mntfile ); } -#elif defined(_MSC_VER) +#elif defined(_MSC_VER) || defined(__OS2__) auth_drive = DVDOpenImageFile( path, have_css ); #endif -#ifndef _MSC_VER +#if !defined(_MSC_VER) && !defined(__OS2__) if( !dev_name ) { fprintf( stderr, "libdvdread: Couldn't find device name.\n" ); } else if( !auth_drive ) { Index: src/bswap.h =================================================================== --- src/bswap.h (revision 1153) +++ src/bswap.h (working copy) @@ -73,7 +73,7 @@ * functionality! */ -#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__) || defined(__BEOS__) +#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined(__CYGWIN__) || defined(__BEOS__) || defined(__OS2__) #define B2N_16(x) \ x = ((((x) & 0xff00) >> 8) | \ (((x) & 0x00ff) << 8)) Index: src/dvd_input.c =================================================================== --- src/dvd_input.c (revision 1153) +++ src/dvd_input.c (working copy) @@ -288,13 +288,15 @@ #define CSS_LIB "libdvdcss.2.dylib" #elif defined(WIN32) #define CSS_LIB "libdvdcss.dll" +#elif defined(__OS2__) + #define CSS_LIB "dvdcss.dll" #else #define CSS_LIB "libdvdcss.so.2" #endif dvdcss_library = dlopen(CSS_LIB, RTLD_LAZY); if(dvdcss_library != NULL) { -#if defined(__OpenBSD__) && !defined(__ELF__) +#if defined(__OpenBSD__) && !defined(__ELF__) || defined(__OS2__) #define U_S "_" #else #define U_S Index: configure.ac =================================================================== --- configure.ac (revision 1153) +++ configure.ac (working copy) @@ -145,6 +145,9 @@ *cygwin*) LDFLAGS="-no-undefined $LDFLAGS" ;; + *os2*) + LDFLAGS="-no-undefined -Zbin-files $LDFLAGS" + ;; *) AC_CHECK_LIB(c, dlopen, DYNAMIC_LD_LIBS="",