From 1acfd097047d75065d8eefc37f9fea2cc09577f6 Mon Sep 17 00:00:00 2001 From: Iliyas Jorio Date: Sat, 6 Apr 2024 13:32:26 +0200 Subject: [PATCH] OSXPPC compatibility maintenance --- .gitignore | 2 ++ src/CompilerSupport/CoexistWithCarbon.h | 36 +++++++++++++++++++ .../filesystem_implementation.hpp | 3 +- src/Utilities/StringUtils.cpp | 4 +-- 4 files changed, 42 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index e2e7327..a50f8c1 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,3 @@ /out +.DS_Store + diff --git a/src/CompilerSupport/CoexistWithCarbon.h b/src/CompilerSupport/CoexistWithCarbon.h index 3179af1..227c4ea 100644 --- a/src/CompilerSupport/CoexistWithCarbon.h +++ b/src/CompilerSupport/CoexistWithCarbon.h @@ -2,17 +2,25 @@ // PowerPC systems that have a genuine Carbon implementation #define AddResource Pomme_AddResource +#define BackColor Pomme_BackColor #define BlockMove Pomme_BlockMove #define BlockMoveData Pomme_BlockMoveData #define ChangedResource Pomme_ChangedResource +#define ClearPortDamage Pomme_ClearPortDamage #define CloseResFile Pomme_CloseResFile +#define CopyBits Pomme_CopyBits #define Count1Resources Pomme_Count1Resources #define Count1Types Pomme_Count1Types #define CurResFile Pomme_CurResFile +#define DamagePortRegion Pomme_DamagePortRegion #define DetachResource Pomme_DetachResource #define DirCreate Pomme_DirCreate +#define DisposeGWorld Pomme_DisposeGWorld #define DisposeHandle Pomme_DisposeHandle #define DisposePtr Pomme_DisposePtr +#define DrawChar Pomme_DrawChar +#define DrawPicture Pomme_DrawPicture +#define EraseRect Pomme_EraseRect #define ExitToShell Pomme_ExitToShell #define FSClose Pomme_FSClose #define FSMakeFSSpec Pomme_FSMakeFSSpec @@ -25,27 +33,52 @@ #define FSpOpenResFile Pomme_FSpOpenResFile #define FindFolder Pomme_FindFolder #define FlushEvents Pomme_FlushEvents +#define ForeColor Pomme_ForeColor +#define FrameArc Pomme_FrameArc +#define FrameRect Pomme_FrameRect #define Get1IndResource Pomme_Get1IndResource #define Get1IndType Pomme_Get1IndType +#define GetDamagePortRegion Pomme_GetDamagePortRegion #define GetDateTime Pomme_GetDateTime #define GetDefaultOutputVolume Pomme_GetDefaultOutputVolume #define GetEOF Pomme_GetEOF #define GetFPos Pomme_GetFPos +#define GetForeColor Pomme_GetForeColor +#define GetGWorld Pomme_GetGWorld +#define GetGWorldPixMap Pomme_GetGWorldPixMap #define GetHandleSize Pomme_GetHandleSize +#define GetPicture Pomme_GetPicture +#define GetPixBaseAddr Pomme_GetPixBaseAddr +#define GetPort Pomme_GetPort +#define GetPortBitMapForCopyBits Pomme_GetPortBitMapForCopyBits +#define GetPortBounds Pomme_GetPortBounds #define GetPtrSize Pomme_GetPtrSize #define GetResInfo Pomme_GetResInfo #define GetResource Pomme_GetResource #define GetResourceSizeOnDisk Pomme_GetResourceSizeOnDisk +#define GetScreenPort Pomme_GetScreenPort #define GetSoundHeaderOffset Pomme_GetSoundHeaderOffset +#define GetWindowPort Pomme_GetWindowPort #define HideCursor Pomme_HideCursor #define InitCursor Pomme_InitCursor +#define IsPortDamaged Pomme_IsPortDamaged +#define LineTo Pomme_LineTo #define Microseconds Pomme_Microseconds +#define MoveTo Pomme_MoveTo +#define NewGWorld Pomme_NewGWorld #define NewHandle Pomme_NewHandle #define NewHandleClear Pomme_NewHandleClear #define NewPtr Pomme_NewPtr #define NewPtrClear Pomme_NewPtrClear #define NumToString Pomme_NumToString +#define OffsetRect Pomme_OffsetRect +#define PaintRect Pomme_PaintRect +#define PenNormal Pomme_PenNormal +#define PenSize Pomme_PenSize #define PtrToHand Pomme_PtrToHand +#define QDError Pomme_QDError +#define RGBBackColor Pomme_RGBBackColor +#define RGBForeColor Pomme_RGBForeColor #define ReleaseResource Pomme_ReleaseResource #define RemoveResource Pomme_RemoveResource #define ResError Pomme_ResError @@ -53,7 +86,10 @@ #define SetDefaultOutputVolume Pomme_SetDefaultOutputVolume #define SetEOF Pomme_SetEOF #define SetFPos Pomme_SetFPos +#define SetGWorld Pomme_SetGWorld #define SetHandleSize Pomme_SetHandleSize +#define SetPort Pomme_SetPort +#define SetRect Pomme_SetRect #define ShowCursor Pomme_ShowCursor #define SndChannelStatus Pomme_SndChannelStatus #define SndDisposeChannel Pomme_SndDisposeChannel diff --git a/src/CompilerSupport/filesystem_implementation.hpp b/src/CompilerSupport/filesystem_implementation.hpp index 53f4ad4..8b01ca3 100644 --- a/src/CompilerSupport/filesystem_implementation.hpp +++ b/src/CompilerSupport/filesystem_implementation.hpp @@ -181,7 +181,7 @@ #include #endif #endif -#ifdef GHC_OS_MACOS +#if defined(GHC_OS_MACOS) && !OSXPPC #include #endif @@ -4651,6 +4651,7 @@ GHC_INLINE void last_write_time(const path& p, file_time_type new_time, std::err ec = detail::make_system_error(); } #elif defined(GHC_OS_MACOS) && \ + OSXPPC || \ (__MAC_OS_X_VERSION_MIN_REQUIRED < __MAC_10_13) || (__IPHONE_OS_VERSION_MIN_REQUIRED < __IPHONE_11_0) || \ (__TV_OS_VERSION_MIN_REQUIRED < __TVOS_11_0) || (__WATCH_OS_VERSION_MIN_REQUIRED < __WATCHOS_4_0) struct ::stat fs; diff --git a/src/Utilities/StringUtils.cpp b/src/Utilities/StringUtils.cpp index c3bc467..b15b59c 100644 --- a/src/Utilities/StringUtils.cpp +++ b/src/Utilities/StringUtils.cpp @@ -3,9 +3,9 @@ #include #include -std::u8string UppercaseCopy(const u8string& in) +u8string UppercaseCopy(const u8string& in) { - std::u8string out; + u8string out; std::transform( in.begin(), in.end(),