Skip to content

Massive Update \o/#35

Merged
carstene1ns merged 30 commits intoEasyRPG:masterfrom
Ghabry:updates
May 11, 2018
Merged

Massive Update \o/#35
carstene1ns merged 30 commits intoEasyRPG:masterfrom
Ghabry:updates

Conversation

@Ghabry
Copy link
Copy Markdown
Member

@Ghabry Ghabry commented Feb 24, 2018

This refactors the build script and moves common stuff in "shared/" and "sources" package variables through a packages script.

Android: Removed MIPS, added arm64
Switch: Added, uses libsamplerate because speex didn't compile :(

Update stats:
Everything (except Windows) updated to latest library version.
Added Harfbuzz everywhere except emscripten (no freetype or harfbuzz)
Added Opus(file) everywhere except on 3DS (fast-math breaks it)
Except ICU which is 59.1 everywhere (Except Emscripten, 60.2) for now.

3ds and Vita: Added expat
Wii: Still at ICU 58.1 because of the complex big endian patches
iOS: SDl 2.0.7 doesn't compile, stay on 2.0.6

Currently recompiling Player of all platforms to ensure it works

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Feb 25, 2018

All Players compile except Android (obviously!) which reports "undefined reference to 'atof'" for all 4 target platforms.

Comment thread shared/common
make install
popd

echo " -> done"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also do out-of-source builds with cmake. So we would need to cleanup the build folder only.
Or even do a build in build-$TARGET_HOST and do not care about cleanup here.
Also, why not passing Generic system directly?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

because the linux build uses "Linux" as platform. But I can use Generic for all.

Comment thread shared/packages Outdated

lib=libpng
ver=1.6.34
LIBPNG_URL="http://prdownloads.sourceforge.net/libpng/$lib-$ver.tar.xz "
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We could also try the official OSUOSL mirror to avoid sf.net outages:
http://ftp-osl.osuosl.org/pub/libpng/src/archive/xz/libpng16/

Also, there are some stray spaces.

Comment thread shared/packages Outdated

lib=expat
ver=2.2.5
EXPAT_URL="http://sourceforge.net/projects/expat/files/expat/2.2.5/$lib-$ver.tar.bz2"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Expat is also available on GitHub: https://github.com/libexpat/libexpat/releases

Comment thread switch/2_build_toolchain.sh Outdated
echo "Preparing toolchain"

export DEVKITPRO=${WORKSPACE}/devkitPro
export DEVKITA64=${DEVKITPRO}/devkitA64
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems devkitpro does not use a specialised (yet, somehow useless) env var for devkita64, because it is static anyway.

Comment thread vita/2_build_toolchain.sh
fi
export CFLAGS="-I$PLATFORM_PREFIX/include -g0 -O2 -DPSP2"
export CPPFLAGS=$CFLAGS
export CXXFLAGS=$CFLAGS
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know that has been in here before, but is really insane.
Only put -I and -D stuff in CPPFLAGS...

Comment thread android/2_build_toolchain.sh Outdated
--enable-int-quality=no --with-cpu=generic --with-default-audio=dummy
rm $PLATFORM_PREFIX/config.cache
install_lib $MPG123_DIR $MPG123_ARGS
rm $PLATFORM_PREFIX/config.cache
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This totally breaks the purpose why we use a build system cache!
I would like to investigate why mmap is not detected/used instead.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good point, I will recompile to check if this was fixed in the meanwhile.

Comment thread android/4_build_liblcf.sh

# Use ccache?
test_ccache

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TL;DR: Too much copypasted content in here.

@carstene1ns
Copy link
Copy Markdown
Member

Did you try adding -lm to the android makefile for atof?

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Feb 26, 2018

-lm doesn't help. No idea what's going on as the NDK version used is the same as before.

@Ghabry Ghabry force-pushed the updates branch 2 times, most recently from f1c143f to 3d955a5 Compare March 4, 2018 22:00
- Use normal Tremor version
- Fix devkitPPC/ARM script paths
- use local mirror of xmp-lite, fix CMake install
- fix pixman compile issues
- fix CMake system name option
- CMake respects CPPFLAGS
- fix wildmidi patch
- update liblcf android script
@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Mar 5, 2018

should be ready now

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Mar 17, 2018

Because it's a security update I will make an exception and update libvorbis

@Ghabry
Copy link
Copy Markdown
Member Author

Ghabry commented Mar 25, 2018

also updated mpg123 because our patch applied without issues. Submitted that patch to upstream months ago but guess the dev forgot by now about it :/

Copy link
Copy Markdown
Member

@carstene1ns carstene1ns left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved the missing stuff myself. 👨‍🎨

@carstene1ns carstene1ns merged commit 46d6d62 into EasyRPG:master May 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants