feat: re-introduced MacOS support (#71)

* preparatory changes to make dvdisaster compilable under MacOS
* Implemented workaround to macOS Test Unit Ready bug
* fixed manual.pdf not opening on macOS
* Added case for binary being in app bundle
* updated locale files due to change in closure.c
* added back mac app bundle specific files
* reverted make-dist.sh to windows/linux only version and created separate mac script which uses dylibbundler
* altered release.yml accordingly
* chore: fix build under MacOS

---------

Co-authored-by: Stéphane Lesimple <speed47_github@speed47.net>
Co-authored-by: jlnbxn <julianboxan@gmail.com>
Co-authored-by: wojas <github@m.wojas.nl>
This commit is contained in:
Stéphane Lesimple
2023-09-17 19:13:47 +02:00
committed by GitHub
parent f38969c7c8
commit eeb9f0705d
30 changed files with 1689 additions and 1348 deletions

View File

@@ -37,6 +37,20 @@
#include <camlib.h>
#endif
#ifdef SYS_DARWIN
#define REAL_VERSION VERSION
#undef VERSION
#include <CoreFoundation/CoreFoundation.h>
#include <IOKit/IOKitLib.h>
#include <IOKit/IOCFPlugIn.h>
#include <IOKit/scsi/SCSITaskLib.h>
#include <IOKit/storage/IODVDTypes.h>
#include <mach/mach.h>
#include <string.h>
#include <stdlib.h>
#define VERSION REAL_VERSION
#endif
/***
*** Global settings
***/
@@ -113,6 +127,12 @@ typedef struct _DeviceHandle
union ccb *ccb;
#elif defined(SYS_MINGW)
HANDLE fd; /* Windows SPTI file handle for the device */
#elif defined(SYS_DARWIN)
IOCFPlugInInterface **plugInInterface;
MMCDeviceInterface **mmcDeviceInterface;
SCSITaskDeviceInterface **scsiTaskDeviceInterface;
SCSITaskInterface **taskInterface;
IOVirtualRange *range;
#endif
/*