OpenEmu / Mednafen-Core

OpenEmu Core plugin with Mednafen
29 stars 22 forks source link

Script for building dependencies remove x86 binaries #29

Open fgiancane8 opened 3 years ago

fgiancane8 commented 3 years ago

Hello,

This is a WIP. Please add comments and suggestions as required.

I noticed that old versions of libraries (FLAC, ogg, Vorbis, libsndfile) are bundled together and committed as binary files.

Looking ahead when OpenEmu would run on ARM 64bit those files would be useless. I produced and included a script (found in deps/) capable of building the aforementioned libraries using CMake (note that ogg library does not install properly headers... a pull request was already opened).

The general idea of the script is to generate static libraries locally before running the XCode build. The script was tested on an intel MBP 15".

I am currently not able to build OpenEmu (N64 core is failing) so it may be possible that this PR requires further editing.

fgiancane8 commented 3 years ago

https://github.com/xiph/ogg/pull/73

Please find attached here the PR for ogg library. It is a single-line addition, can be done locally... Until it is merged back.

clobber commented 2 years ago

Thank you, this is a good idea. As of Mednafen 1.27.0 the dependency on libsndfile was removed, so now only libFLAC (including libogg) is necessary. If you want to rework this PR or start a new one for handling those we'd really appreciate it.

By the way, if you find a certain core is not compiling while trying to build OpenEmu + all the cores, simply edit the current scheme in Xcode (Product > Scheme > Edit Scheme) and remove the offending one, or better yet just remove them all and leave Mednafen so you can test faster.

fgiancane8 commented 2 years ago

hi @clobber , Yes I am still interested in contributing. I would like to discuss better the situation before start working over this PR: I think that (especially for the fact that Apple is going to deliver x86/ARM processors) we should remove completely any binary file present in the repository and build everything at each pass. This would be also useful for CI/CD approach. I would suggest to populate the repository with "command line" build scripts as it is commonly found in Linux projects.

I am no expert in Xcode, but I can write CMakes... Do you think could be of interest to organize source code so that it builds with CMake (generating Xcode project files on the fly?)