| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
It depends on cleanAssets, ensuring they are always fresh
|
|
|
|
|
|
|
| |
Also resync properly the dependencies versions.
Don't let the makefile handle the cleanups itself. Let gradle do it.
This is one of the first steps to remove the makefile and replace it with a full gradle support
|
| |
|
| |
|
|
|
|
| |
It remains one issue with MT itself and rtti
|
| |
|
| |
|
| |
|
|
|
|
| |
Add workarounds for ndk-r16.
|
|
|
|
|
|
| |
* irrlicht ogles 5122 -> 5145
* openssl 1.0.2j -> 1.0.2k
* curl 7.52 -> 7.54
* sqlite 3.15.2 -> 3.18.0
|
|
|
|
| |
1) Now leveldb is brick (thanks google)
2) By default, use SQLite3, this work perfectly and NOBODY not use LevelDB on Android :)
|
| |
|
|
|
| |
Gradle wrapper permit to use multiple gradle versions across OS versions
|
| |
|
| |
|
|
|
| |
Fixes #4121
|
| |
|
|
|
|
|
|
|
|
|
| |
This adds to the changes that commit
98d16e0d9a945f5f48462c05f26ae4bde2db5731 "Android: Tell make about sub-makes to speed up build"
did, and enables parallel builds for minetest
itself as well.
|
|
|
|
| |
Its more secure, and some pages even redirect to the https version.
|
| |
|
|
|
|
|
|
| |
The old Ant build system has been deprecated for a while and new development is focused on Gradle.
I also removed a hardcoded string that lint caught and moved the patch files to a subdirectory.
I left the JNI files in the root directory.
|
| |
|
|
|
|
|
|
|
| |
* Update OpenSSL (thanks @sapier, i use his patch!), Curl and SQLite3.
* Remove old arm config. Almost all phones that use ARMv5 have 1 core and 256-512 RAM, it's about 2-5 FPS.
* Do -O3 optimization for libs and remove -fexpensive-optimizations for Minetest (-O3 includes this! Read gcc docs).
* OpenSSL fix - thanks @sapier, again.
|
|
|
|
|
|
|
|
|
|
|
| |
Newest leveldb commit breaks build.
With no fix in sight, there is no other way
than to fall back to the last working leveldb
revision, and hardcode it.
Workaround for upstream bug
https://github.com/google/leveldb/issues/340
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, sub-makes called by make were called without make knowing they
were sub-makes. This however led make's jobserver not do its tasks,
and the build process ended up with inefficient parralelisation. This
commit fixes this by applying the two ways the make manual tells
about: putting + to the start of the line (used when ndk-build is
invoked), and exchanging "make" with "$(MAKE)".
Before, make complained with messages like:
make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule.
This complaint can now only been seen for openssl. openssl has issues
if make gets exchanged with $(MAKE): if exchanged, above error message
is multiplied for various subdirs of the openssl source tree.
On a 4 core box, "make -j 4" build time from "make clean_all" cleaned
source tree could be improved from 15:34 minutes to 10:45 minutes.
This means a speedup of 45%.
|
|
|
|
|
|
|
| |
dcb91cf0c0c9a20622feeb4e5e8104ffbc9fa8ec hacked around the biggest issue
this caused, but wasted a lot of CPU time and disk space It also still
included a lot of other unwanted files. This removes all of `doc/` except
the license, and also removes the server list.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Recent irrlicht revisions break the build, hardcode the revision to a working one
until upstream publishes a working version. See issue #3366 for
a discussion about this.
Also update dependencies to current versions.
|
|
|
|
| |
Google code was shut down, project moved to github.
|
| |
|
|
|
|
| |
Before, android versionName was set to "...13", which made the f-droid build fail.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, sound failed due to errors with hardfp abi build
instructions. As the problem couldn't be found, the softfp
compatible abi was chosen instead.
This move will cause a small performance overhead, but due to the
abi being armeabi-v7a, the internal calculations will still be done
using the FPU.
We also fix some issues with ABI information passing. However, the
fixes aren't sufficient to get sound working.
The patch also fixes an issue with the gitignore file.
|
|
|
|
|
|
|
|
|
|
| |
Before, android_version.h got changed at every new commit. Now, we
only change it with new minetest releases. Analogous to how cmake
does it, we add an android_version_githash.h file that communicates
the git hash to C++ code.
Also, unify VERS_MAJOR, VERS_MINOR and VERS_PATCH variable
calculation inside the whole makefile.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Speeding up rebuild:
Before, we've written the android_version.h file at every rebuild.
As it thought the file's content has changed, make has rebuilt files
in the source tree that depended on that header file during rebuild,
causing lots of files being rebuilt without there being a reason.
The reasoning of make can be observed by passing -d and V=1 params
to the ndk-build command. You then got logging entries like:
Prerequisite `jni/src/android_version.h' is newer than target `obj/local/armeabi-v7a-hard/objs-debug/minetest/jni/src/areastore.o'.
Preventing race condition build fail:
Before, there was a race condition, where, if the prep_srcdir target
was executed in parallel with the $(ROOT)/jni/src/android_version.h
one, it could happen that the jni/src directory was nonexistent, and
we were trying to write into a file inside. This resulted in a build
failue:
/bin/sh: 1: cannot create [...]/jni/src/android_version.h: Directory nonexistent
Additionally, we now don't remove the link to src/ needlessly anymore.
Keeping this wouldn't have affected the rebuild, but this way its
more proper.
|
|
|
|
|
| |
Also make only one >-redirection, sparing repetition.
Also, use cut instead of awk, which is shorter and should be a bit faster.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before, our libiconv build was a joke. We first called configure for our own build host system,
then called make, before we executed a Android.mk script we provided as patch. The first "native make"
always failed, and the LIBICONV_LIB file setting in our Makefile didn't match the built one,
resulting in an always-rebuild of iconv.
This commit cleans up this total mess, removes the double-build, and the Android.mk, and properly calls
./configure with the according target platform, and uses a built toolchain.
As we have to deal with the android bug "NDK: Support for prebuild libs with full sonames"
https://code.google.com/p/android/issues/detail?id=55868
as the 2013 patch
https://lists.gnu.org/archive/html/libtool-patches/2013-06/msg00002.html
by Google's David Turner wasn't inside the 2011 libtool, we pass -avoid-version to
libtool.
Thanks to the proper build, wide_to_utf8 works for android now, removing us of the need to disable it.
|
|
|
|
|
| |
Fix commenting happening thanks to missing quotes and dereference variable the right way,
to get rid of a compile error.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Android terminated immediately after start since commit
181f7baa453c58d4070de7196fd74663110946a8
because library wasn't loaded, and libminetest.so required
libgmp.so.10 instead of libgmp.so.
The second issue has been solved by the linker flags.
|
|
|
|
| |
Uses system provided libgmp if found, if not it falls back to mini-gmp.
|
|
|
|
| |
E.g. Sound and freetype always being disabled, redefinition of pre-processor directives
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Combine client and server man pages.
* Update unit test options and available databases in man page.
* Add `--worldname` to man page.
* Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
* Disable server build by default on all operating systems.
* Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
* Enable LevelDB, Redis, and FreeType detection by default.
* Remove the `VERSION_PATCH_ORIG` hack.
* Add option to search for and use system JSONCPP.
* Remove broken LuaJIT version detection.
* Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
* Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
* Clean up style of CMake files.
|
|
|
|
|
|
|
| |
Remove the --system=linux-x86_64 which isn't neccessary on 64 bit,
as, when given no --system parameter, the standalone-toolchain.sh script
figures out the platform on itself. Naturally, the hardcoded setting broke
android building on 32 bit systems.
|