diff --git a/src/CalcManager/CCalcManager.h b/src/CalcManager/CCalcManager.h index ab35e888..c5b7468a 100644 --- a/src/CalcManager/CCalcManager.h +++ b/src/CalcManager/CCalcManager.h @@ -40,7 +40,7 @@ struct CalculatorManager_CreateParams { GetCEngineStringFunc GetCEngineString; }; -#if defined(__EMSCRIPTEN__) +#if defined(__EMSCRIPTEN__) || defined(__APPLE__) #define DLL_EXPORT #else #define DLL_EXPORT __declspec(dllexport) diff --git a/src/CalcManager/CalculatorManager.cpp b/src/CalcManager/CalculatorManager.cpp index b60e5ecf..c30cad2a 100644 --- a/src/CalcManager/CalculatorManager.cpp +++ b/src/CalcManager/CalculatorManager.cpp @@ -14,7 +14,7 @@ static constexpr size_t SERIALIZED_NUMBER_MINSIZE = 3; // Converts Memory Command enum value to unsigned char, // while ignoring Warning C4309: 'conversion' : truncation of constant value -#if defined(__EMSCRIPTEN__) +#if defined(__EMSCRIPTEN__) || defined(__APPLE__) #define MEMORY_COMMAND_TO_UNSIGNED_CHAR(c) static_cast(c) #else #define MEMORY_COMMAND_TO_UNSIGNED_CHAR(c) __pragma(warning(push)) __pragma(warning(disable : 4309)) static_cast(c) __pragma(warning(pop)) diff --git a/src/CalcManager/CalculatorVector.h b/src/CalcManager/CalculatorVector.h index 8595b0b5..ed9f213c 100644 --- a/src/CalcManager/CalculatorVector.h +++ b/src/CalcManager/CalculatorVector.h @@ -10,7 +10,7 @@ #include "Ratpack/CalcErr.h" #include // for std::out_of_range -#if !defined(__EMSCRIPTEN__) +#if !defined(__EMSCRIPTEN__) && !defined(__APPLE__) #include #include // for SAL #endif diff --git a/src/CalcManager/build_ios.sh b/src/CalcManager/build_ios.sh new file mode 100755 index 00000000..6dc4cf04 --- /dev/null +++ b/src/CalcManager/build_ios.sh @@ -0,0 +1,35 @@ +xcrun -sdk iphoneos clang \ + -x c++ \ + -arch arm64 \ + -std=c++1z \ + -stdlib=libc++ \ + -c \ + CEngine/*.cpp RatPack/*.cpp *.cpp -I. + +mkdir bin +mkdir bin/arm64 + +libtool \ + -static \ + *.o \ + -o bin/arm64/libCalcManager.a + +rm *.o + +clang \ + -x c++ \ + -arch x86_64 \ + -std=c++1z \ + -stdlib=libc++ \ + -c \ + CEngine/*.cpp RatPack/*.cpp *.cpp -I. + +mkdir bin/x86_64 + +libtool \ + -static \ + *.o \ + -o bin/x86_64/libCalcManager.a + +rm *.o + diff --git a/src/CalcManager/compat.h b/src/CalcManager/compat.h index becc507c..7ffeec1a 100644 --- a/src/CalcManager/compat.h +++ b/src/CalcManager/compat.h @@ -1,6 +1,6 @@ #pragma once -#if defined(__EMSCRIPTEN__) +#if defined(__EMSCRIPTEN__) || defined(__APPLE__) #define HRESULT long #define _In_opt_ diff --git a/src/CalcManager/pch.h b/src/CalcManager/pch.h index f255b1f1..cab9e5f7 100644 --- a/src/CalcManager/pch.h +++ b/src/CalcManager/pch.h @@ -18,7 +18,7 @@ #include #include -#if !defined(__EMSCRIPTEN__) +#if !defined(__EMSCRIPTEN__) && !defined(__APPLE__) #include #include #include