Commit Graph

72 Commits

Author SHA1 Message Date
paramat 76c9abe4c8 Mapgen: Add flat mapgen in hidden form 2015-11-11 09:37:54 +00:00
est31 49bda7f98d Android: statically load iconv library
Fixes #3291

Thanks to @arpruss for reporting the bug, and suggesting the fix.

Also, remove trailing whitespaces.
2015-10-24 20:47:02 +02:00
paramat d152b55971 Android/Mapgen: Add fractal mapgen file to android makefiles 2015-10-06 22:32:13 +01:00
est31 183d0d5633 Update leveldb git url
Google code was shut down, project moved to github.
2015-09-08 21:45:16 +02:00
ShadowNinja 67d38a303b Add setting for mods to copy to Android app 2015-08-24 14:37:14 -04:00
ShadowNinja 32e4f4b32d Fix Android build of threading sources 2015-08-24 11:20:53 -04:00
ShadowNinja e4bff8be94 Clean up threading
* Rename everything.
    * Strip J prefix.
    * Change UpperCamelCase functions to lowerCamelCase.
  * Remove global (!) semaphore count mutex on OSX.
  * Remove semaphore count getter (unused, unsafe, depended on internal
    API functions on Windows, and used a hack on OSX).
  * Add `Atomic<type>`.
  * Make `Thread` handle thread names.
  * Add support for C++11 multi-threading.
  * Combine pthread and win32 sources.
  * Remove `ThreadStarted` (unused, unneeded).
  * Move some includes from the headers to the sources.
  * Move all of `Event` into its header (allows inlining with no new includes).
  * Make `Event` use `Semaphore` (except on Windows).
  * Move some porting functions into `Thread`.
  * Integrate logging with `Thread`.
  * Add threading test.
2015-08-23 22:04:06 -04:00
est31 6a1047d8c1 Fix wrong android versionName
Before, android versionName was set to "...13", which made the f-droid build fail.
2015-08-21 22:47:04 +02:00
est31 d44fceac7e Bump version to 0.4.13 2015-08-20 04:02:00 +02:00
est31 47225346be Android: fix sound issue, and gitignore
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.
2015-08-02 19:23:17 +02:00
est31 c39a85a88d Android: Add githash header to spare rebuilds after new commits
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.
2015-08-01 20:42:07 +02:00
est31 e29b61ecd4 Android: speed up rebuild, and prevent race condition fail
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.
2015-07-31 10:12:20 +02:00
est31 7217fd32eb Fix 0.4.11 githash for android
Also make only one >-redirection, sparing repetition.
Also, use cut instead of awk, which is shorter and should be a bit faster.
2015-07-31 04:51:57 +02:00
est31 eb3aac20c8 Android: fix horrible libiconv build
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.
2015-07-29 15:59:06 +02:00
est31 f97c2702a2 Android: Fix minor makefile bugs
Fix commenting happening thanks to missing quotes and dereference variable the right way,
to get rid of a compile error.
2015-07-29 15:53:23 +02:00
est31 c30a2d6854 Add AreaStore data structure 2015-07-27 06:42:56 +02:00
RealBadAngel ffd16e3fec Add minimap feature 2015-06-27 03:42:01 +02:00
est31 a31d08be55 Android: use loop inside makefile to spare repetition 2015-06-20 07:48:17 +02:00
est31 572990dcd3 Add utf-8 conversion utilities and re-add intlGUIEditBox 2015-06-13 19:49:55 +02:00
est31 c849d32a10 Reposition irrlicht timestamp in makefile 2015-06-11 23:56:54 +02:00
kwolekr 6c5a6967ec Split ObjDef/ObjDefManager out to objdef.cpp 2015-05-18 22:30:25 -04:00
ShadowNinja 3a8c788880 Add mod security
Due to compatibility concerns, this is temporarily disabled.
2015-05-16 18:32:31 -04:00
est31 33a633a631 Fix libgmp for Android
Android terminated immediately after start since commit
181f7baa45
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.
2015-05-15 05:08:59 +02:00
est31 82e35edff5 Make early protocol auth mechanism generic, and add SRP
Adds everything needed for SRP (and everything works too),
but still deactivated, as protocol v25 init packets aren't final yet.
Can be activated by changing the LATEST_PROTOCOL_VERSION header to 25
inside networkprotocol.h.
2015-05-11 18:40:27 +02:00
est31 181f7baa45 Add LibGMP
Uses system provided libgmp if found, if not it falls back to mini-gmp.
2015-05-11 17:48:33 +02:00
kwolekr 2dba29ebf2 Tests: Add schematic unittests
Improve schematic file-saving interface
Add ability to create temporary test files
2015-05-08 00:55:42 -04:00
kwolekr b45df9d6a7 Tests: Add NodeResolver unittests
Minor misc. NodeResolver cleanups
Prefix faux content type constants for testing with t_ to avoid
confusion or name collisions
2015-05-05 12:00:36 -04:00
kwolekr 8f38f8255c Tests: Add ObjDef unittests 2015-05-03 22:19:35 -04:00
kwolekr 37ca3212ee Fix MSVC compatibility
Make sure to include random unittests in android builds, too
Use SWAP() macro
Ensure that negative ranges are tested as well in random unittests
2015-04-29 13:20:01 -04:00
kwolekr 7220ca906d Tests: Modularize unit testing
Split unit tests into separate files under src/unittest/
Give better unittest diagnostics
Clean up some code
2015-04-26 15:08:54 -04:00
Craig Robbins 9527984dbc Move globals from main.cpp to more sane locations
Move debug streams to log.cpp|h

Move GUI-related globals to clientlauncher

Move g_settings and g_settings_path to settings.cpp|h

Move g_menuclouds to clouds.cpp|h

Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
Aaron Suen 6d61375cc7 Clean scaling pre-filter for formspec/HUD. 2015-04-01 00:01:05 -04:00
Craig Robbins 5ee0d8ac81 Fix Android build-related bugs
E.g. Sound and freetype always being disabled, redefinition of pre-processor directives
2015-03-29 22:27:01 +10:00
ShadowNinja 93fcab952b Clean up and tweak build system
* 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.
2015-03-27 15:00:48 -04:00
est31 15d9cd3a6f Fix Android build on 32 bit
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.
2015-03-23 14:11:39 +10:00
Loic Blot 94b3950958 Remove Android makefile ugly make -j hack 2015-03-17 15:48:48 +01:00
Loic Blot ceac41ed6e Bump android version code 2015-03-16 20:37:31 +01:00
Loic Blot b560294050 Rename packethandler/{client,server}.cpp to {client,server}packethandler.cpp
* Requested by @Zeno-
* Approved by @nerzhul
2015-03-16 10:19:19 +01:00
Loic Blot 2bc0165652 Android Makefile update backported from stable-0.4 with minor changes 2015-03-15 11:21:34 +01:00
Loic Blot 155116852a Android: Backport changes from stable-0.4 2015-03-14 19:59:14 +01:00
Loic Blot aa085bf222 Android: fix package name in JAVA sources 2015-03-14 18:52:31 +01:00
Loic Blot 783e15f389 Fix package name in AndroidManifest.xml 2015-03-14 18:41:36 +01:00
Loic Blot 1488542968 AndroidManifest.xml version bump 2015-03-14 18:28:02 +01:00
Maksim Gamarnik c788b17322 Update Android Makefile
ARMv7 default build
Update curl
Update OpenSSL
2015-03-08 15:48:40 +10:00
Loic Blot 0d1eedcccc Replace std::list to std::vector into tile.cpp (m_texture_trash) and move tile.hpp to src/client/ 2015-03-05 11:59:40 +01:00
Loic Blot a0affa496d Fix android build 2015-02-21 17:37:48 +01:00
Perttu Ahola e6ad2ace10 Bump version to 0.4.12 2015-02-18 23:50:01 +01:00
Loic Blot 49f84b76bc Update missing files for Android.mk 2015-02-18 09:53:43 +01:00
Loic Blot b019221c30 Android build fix 2015-02-18 09:23:24 +01:00
Loic Blot 146f77fdb7 main.cpp rework * Move ClientLauncher class to a dedicated file * ClientLauncher now owns print_video_modes and speed_tests functions (they are only called by him) * Move GameParams to shared/gameparams.h because it's shared between server and client and launcher need to know it * Move InputHandlers class to client/inputhandler.h * Cleanup includes 2015-02-12 15:00:03 +01:00