def fixFFConf(): replacements = [ vcmiutil.ReplacementEntry("SLIBNAME_WITH_VERSION=$(SLIBNAME).$(LIBVERSION)", "SLIBNAME_WITH_VERSION=$(SLIBNAME)"), vcmiutil.ReplacementEntry("SLIBNAME_WITH_MAJOR=$(SLIBNAME).$(LIBMAJOR)", "SLIBNAME_WITH_MAJOR=$(SLIBNAME)"), vcmiutil.ReplacementEntry("SLIB_INSTALL_NAME=$(SLIBNAME_WITH_VERSION) ", "SLIB_INSTALL_NAME=$(SLIBNAME)"), vcmiutil.ReplacementEntry("SLIB_INSTALL_LINKS=$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)", "SLIB_INSTALL_LINKS=") ] vcmiutil.fixFile("./ext/ff/ffmpeg/configure", replacements)
def fixSDLMixer(): replacements = [ vcmiutil.ReplacementEntry( "LOCAL_C_INCLUDES := $(LOCAL_PATH)", "LOCAL_C_INCLUDES := $(LOCAL_PATH) $(PROJECT_PATH_BASE)/ext/SDL2/core/code/include" ), vcmiutil.ReplacementEntry("SUPPORT_MOD_MODPLUG ?= true", "SUPPORT_MOD_MODPLUG ?= false"), vcmiutil.ReplacementEntry("SUPPORT_MOD_MIKMOD ?= true", "SUPPORT_MOD_MIKMOD ?= false") ] vcmiutil.fixFile("./ext/SDL2/SDL2-mixer/code/Android.mk", replacements)
def updateProjectProps(): replacements = [ vcmiutil.ReplacementEntry( "PROJECT_PATH_BASE", "PROJECT_PATH_BASE = " + config["projectRoot"]) ] vcmiutil.fixFile("./project/gradle.properties", replacements, False)
def fixX264Conf(): replacements = [ vcmiutil.ReplacementEntry( "echo \"SONAME=libx264.so.$API\" >> config.mak", "echo \"SONAME=libx264.so\" >> config.mak") ] vcmiutil.fixFile("./ext/ff/x264/configure", replacements)
def fixReaddirRUsage(): replacements = [ vcmiutil.ReplacementEntry("# if !defined(__CYGWIN__)\\", "#if 0\\") ] vcmiutil.fixFile( "./ext/boost/" + vcmiconf.config["boostFolderName"] + "/libs/filesystem/src/operations.cpp", replacements)
def fixBrokenFeatureDetectionInPthreadMutex(): replacements = [ vcmiutil.ReplacementEntry( "#if (defined(_POSIX_TIMEOUTS) && (_POSIX_TIMEOUTS-0)>=200112L) \\", "#if 0 \\") ] replacements2 = [ vcmiutil.ReplacementEntry( "#if (defined _POSIX_TIMEOUTS && (_POSIX_TIMEOUTS-0)>=200112L) \\", "#if 0 \\") ] vcmiutil.fixFile( "./ext/boost/" + vcmiconf.config["boostFolderName"] + "/boost/thread/pthread/mutex.hpp", replacements) vcmiutil.fixFile( "./ext/boost/" + vcmiconf.config["boostFolderName"] + "/boost/thread/pthread/recursive_mutex.hpp", replacements2)
def fixSDLImage(): replacements = [ vcmiutil.ReplacementEntry( "LOCAL_C_INCLUDES := $(LOCAL_PATH)", "LOCAL_C_INCLUDES := $(LOCAL_PATH) $(PROJECT_PATH_BASE)/ext/SDL2/core/code/include" ) ] vcmiutil.fixFile("./ext/SDL2/SDL2-image/code/Android.mk", replacements)
def fixFuzzyliteHardcodedOutputDirs(): replacements = [ vcmiutil.ReplacementEntry( "set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)\n\tset(CMAKE_ARCHIVE_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()" ), vcmiutil.ReplacementEntry( "set(CMAKE_LIBRARY_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)\n\tset(CMAKE_LIBRARY_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()" ), vcmiutil.ReplacementEntry( "set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)", "if (NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)\n\tset(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin) #fixed via vcmi python\nendif()" ) ] vcmiutil.fixFile("./ext/vcmi/AI/FuzzyLite/fuzzylite/CMakeLists.txt", replacements)
def fixBrokenEpollDetectionOnOldApi(): replacements = [ vcmiutil.ReplacementEntry( "#if defined(EPOLL_CLOEXEC)", "#if defined(EPOLL_CLOEXEC) && __ANDROID_API__ >= 21") ] vcmiutil.fixFile( "./ext/boost/" + vcmiconf.config["boostFolderName"] + "/boost/asio/detail/impl/epoll_reactor.ipp", replacements)
def fixSDLMixerExtSMPEG(): replacements = [ vcmiutil.ReplacementEntry( "LOCAL_C_INCLUDES := $(LOCAL_PATH)", "LOCAL_C_INCLUDES := $(LOCAL_PATH) $(PROJECT_PATH_BASE)/ext/SDL2/core/code/include" ) ] vcmiutil.fixFile( "./ext/SDL2/SDL2-mixer/code/external/smpeg2-2.0.0/Android.mk", replacements)