Comments (9)
Well, I fixed it in Dinothawr. I actually ran it earlier today on my iPad Pro to confirm that it works fine in ARM64.
It would seem to be fixable here as well.
As per here.
from libretro-chailove.
Welp, I got chailove to compile on iOS arm64. It's my most complex iOS-arm64 compile yet, but it fundamentally just follows the same rules as my dinothawr fix (that is to say, to ignore the neon optimizations in the audio stuff - which is fine performance-wise). It's a bit more complex, as you need to also comment out stuff that won't be used (cd drive detection, etc). Instructions below.
First, run libretro-build-ios-arm64.sh chailove
- it will fail, but this is fine. It needs to fetch some stuff and this is an easy way to do that.
Then make the following changes:
Makefile
- Remove the following lines (or comment them out)
rm -f $(TARGET) $(OBJECTS)
git clean -xdf
rm -rf vendor
git reset --hard HEAD
git submodule update -f --init --recursive
git submodule foreach --recursive git clean -xfd
git submodule foreach --recursive git reset --hard HEAD
@git submodule update --init --recursive
@git submodule update --remote
Makefile.libretro
- Make the following changes
CC = cc -arch arm64 -isysroot $(IOSSDK)
to
CC = cc -DDONT_WANT_ARM_OPTIMIZATIONS -arch arm64 -isysroot -DHAVE_POSIX_MEMALIGN $(IOSSDK)
HAVE_NEON = 0
CC += -miphoneos-version-min=8.0
CFLAGS += -miphoneos-version-min=8.0
to
CC += -miphoneos-version-min=8.0 -DHAVE_POSIX_MEMALIGN
CFLAGS += -miphoneos-version-min=8.0 -DHAVE_POSIX_MEMALIGN
Add the following to Makefile.common
ifeq ($(platform), ios-arm64)
LDFLAGS += -framework IOKit -framework Foundation
FLAGS += -D__MACH__ -D__APPLE__ -DPHYSFS_PLATFORM_APPLE
SOURCES_M += $(CORE_DIR)/vendor/didstopia-physfs/src/physfs_platform_apple.m
endif
Change #if defined(__ARM_NEON__)
to #if defined(__ARM_NEON__) && false
in libretro-chailove/vendor/libretro-common/audio/conversion/s16_to_float_neon.c
, libretro-chailove/vendor/libretro-common/audio/conversion/float_to_s16_neon.c
, and libretro-chailove/vendor/libretro-common/audio/resampler/drivers/sinc_resampler_neon.S
src/love/system.cpp
- Comment out the following lines:
int result = std::system(command.c_str());
if (result != 0) {
std::cout << "[ChaiLove] [system] Failed to execute " << command << std::endl;
return false;
}
vendor/libretro-common/audio/resampler/drivers/sinc_resampler.c
- Change the following line:
#if defined(WANT_NEON)
sinc_resampler.process = resampler_sinc_process_neon;
to
#if defined(WANT_NEON) && false
sinc_resampler.process = resampler_sinc_process_neon;
At this point, chailove will compile.
from libretro-chailove.
Thanks for the heads up! That .arm directive issue has plagued me for so long. Wish we could port it to C or somethign.
from libretro-chailove.
I had to update the comment above. The original edits compiled, but did not run. These do.
Evidence :D
from libretro-chailove.
@jet082 On the latest non-beta Xcode, the instructions right here still fail...
I'll try again (along with easyrpg, BTW) when the Xcode 11 beta is installed, just waiting for the download to finish first... 😄
from libretro-chailove.
@jet082 Still no luck on the latest Xcode, failing with the exact same error with current instructions...
from libretro-chailove.
@WeedyWeedSmoker @jet082 Made a PR over at #380 .... Probably missed soemthing.
from libretro-chailove.
@WeedyWeedSmoker @jet082 Made a PR over at #380 .... Probably missed soemthing.
I have made a comment on how to fix your PR @RobLoach
from libretro-chailove.
Fixed by 10d64cc
from libretro-chailove.
Related Issues (20)
- Different Scripting Languages HOT 2
- libretro: Dynamic Game Options
- libretro: Input Descriptors
- Change Rendering System HOT 2
- Box2d. Scene loading
- Remove RETRO_ENVIRONMENT_SET_SUPPORT_NO_GAME
- CMake Build
- Segfault when loading from Retroarch (OSX) HOT 3
- semver
- Add alternative way to build chailove HOT 3
- Build without Git HOT 2
- sup Chinese font? HOT 1
- Curious about possibility of MariO (Super Mario Bros/Portal Crossover) working:) HOT 2
- SDL Dependency Chain HOT 2
- Add Gitlab Buildbot Definition File
- Chailove core doesnt appear anymore listed for download HOT 2
- Switch to pntr and pntr_app
- Netplay HOT 1
- SDL_tty repository from Gitlab does not exist any more
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libretro-chailove.