Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Script for building dependencies remove x86 binaries #29

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

fgiancane8
Copy link

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.

CMake is used to build static library version of ogg, vorbis, flac, opus, sndfile.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Import `flac`, `libsndfile`, `ogg`, `opus` and `vorbis` libraries

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Do not track logs and sysroot folder

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
Newly built libraries are placed in sysroot folder now.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
@fgiancane8
Copy link
Author

xiph/ogg#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.

Signed-off-by: Francesco Giancane <francescogiancane8@gmail.com>
@clobber
Copy link
Member

clobber commented Sep 20, 2021

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
Copy link
Author

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?)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants