Age | Commit message (Collapse) | Author |
|
When compiling in a different build output directory,
the "liblo-native-code.so" file is created in the source directory and
it fails compiling the "online" project
Change-Id: I4782a69796fb298e9c1a6c4370720b18587735e9
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95602
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
This is similar to commit c6dadf5035c8e1c31dbd3fccec167bd4a906bf54
("commit android: Fix linking of liblo-native-code.so on aarch64.").
Build previously failed with
Linking obj/local/x86_64/liblo-native-code.so
.../x86_64-linux-android/bin/ld.gold: error: cannot find -landroid_support
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../Bootstrap/Makefile.shared:62: obj/local/x86_64/liblo-native-code.so] Error 1
make[1]: *** [.../android/CustomTarget_lo_android.mk:18: .../workdir/CustomTarget/android/source/done] Error 2
make: *** [Makefile:282: build] Error 2
I quickly checked that the app actually runs on an x86_64 AVD
and is able to open and display documents after successfully
building with this commit in place.
Change-Id: I92b3759af6a86a6717c287d035b6a1add3a9af7a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/85204
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/95601
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Henry Castro <hcastro@collabora.com>
|
|
Forces gold as the linker; but according to the switches that were used,
I suppose gold was used previously anyway, so hopefully not really a
problem.
Change-Id: I7bc54abf0d3b4b3d86d53e4ea6f01146cf196216
Reviewed-on: https://gerrit.libreoffice.org/81905
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
(cherry picked from commit fa145a035fbab652ec8f3ee870e44e43dd1d770a)
Reviewed-on: https://gerrit.libreoffice.org/81915
|
|
While it might not be the original problem, at least that is the current
problem the tinderbox provided builds have and should make it work again
Change-Id: Ifaedb3304622286cfe7a6cb49e862a359b53f892
|
|
This partially reverts a7f6338875931d8afff55cb39ead8f6600af04cb. The
problem is that with that approach, the problems with unwinding as
described in 312eeeee42cb4a1e356943e17305555e41afc4ef were plaguing the
Online-based Android app, leading to mysterious crashes with stack
traces like:
#00 pc 0005f2b6 /apex/com.android.runtime/lib/bionic/libc.so (abort+166) (BuildId: 68c87e04526a60689ecb5deb329804a0)
#01 pc 05caaae7 /data/app/libreoffice.debug-fBEOIUwPHY3_k3eQid159Q==/lib/arm/liblo-native-code.so (BuildId: 1c3d0e6336ddfc3578e1c186944160252a750b8b)
...
#06 pc 07452e43 /data/app/libreoffice.debug-fBEOIUwPHY3_k3eQid159Q==/lib/arm/liblo-native-code.so (BuildId: 1c3d0e6336ddfc3578e1c186944160252a750b8b)
#07 pc 0005a37c /apex/com.android.runtime/lib/bionic/libc.so (__restore_rt) (BuildId: 68c87e04526a60689ecb5deb329804a0)
#08 pc 0005f2b2 /apex/com.android.runtime/lib/bionic/libc.so (abort+162) (BuildId: 68c87e04526a60689ecb5deb329804a0)
#09 pc 07565d3b /data/app/libreoffice.debug-fBEOIUwPHY3_k3eQid159Q==/lib/arm/liblo-native-code.so (BuildId: 1c3d0e6336ddfc3578e1c186944160252a750b8b)
...
#11 pc 07565641 /data/app/libreoffice.debug-fBEOIUwPHY3_k3eQid159Q==/lib/arm/liblo-native-code.so (BuildId: 1c3d0e6336ddfc3578e1c186944160252a750b8b)
#12 pc 0001e394 /apex/com.android.runtime/lib/bionic/libm.so (__gnu_Unwind_RaiseException+108) (BuildId: 0ee3a75927e0da4fa0fe29469ccf8b39)
#13 pc 0001eee8 /apex/com.android.runtime/lib/bionic/libm.so (_Unwind_RaiseException+20) (BuildId: 0ee3a75927e0da4fa0fe29469ccf8b39)
Change-Id: Ie4e7b20380c9104770229a8d30036ad76093283d
Reviewed-on: https://gerrit.libreoffice.org/81485
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
support for targeting API 14 and 15 was removed in NDK 18, so set
minimum version to 16
mips support was removed in NDK 17
Clang now takes care about correct linking with libc++ shared or
static, so don't manually specify them anymore.
Same with __ANDROID_API_LEVEL__ define and the sysroot / isystem
handling, that is all covered by a single -target <triple><version>
simplifying things quite a bit.
also align ownloud sdk values with main build.gradle
Change-Id: Ib3ae4484e52214677e826270b731ecf7c5c15445
Reviewed-on: https://gerrit.libreoffice.org/77104
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jenkins
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
And used for LibreOfficeKit directly, without a JNI wrapper.
Change-Id: If4231f53b579417b6c9c90b39541193bf2e8f27c
Reviewed-on: https://gerrit.libreoffice.org/67874
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
Tested-by: Jan Holesovsky <kendy@collabora.com>
|
|
Useful when you switch sdk to a different location.
Change-Id: I95301cc9adf50a0bbd918cc7562b8871093625b8
Reviewed-on: https://gerrit.libreoffice.org/67873
Tested-by: Jenkins
Reviewed-by: Jan Holesovsky <kendy@collabora.com>
|
|
It had been left out in 4082a18406c18af7b4fcef7bd501c3679c3be56b "android: use
unified headers and llvm-c++ STL (x86) with NDK 16" because "arm unfortunately
crashes with llvm-c++, so keep with gnustl for now/fix that later".
Making armeabi-v7a work with libc++ etc. required a number of changes, listed
below, in this commit and in preceding ones. At least 32-bit x86 already worked
with libc++ etc. prior to these changes in view mode, though it crashed in the
experimental editing mode (enabled with strippedUIEditing in
android/soruce/Makefile) as soon as one types in something, But it is not
entirely clear to me why 32-bit x86 view mode didn't also fail similar to how I
saw armeabi-v7a fail. (On 32-bit x86, these changes appear to neither improve
nor worsen the current state, view mode still appears to work fine while editing
still crashes upon typing anything. With these changes, editing mode on
armeabi-v7a appears to work fine. But I tested armeabi-v7a only with a real
device and 32-bit x86 only with an emulator, in case that might make a
difference.)
* Preceding <https://gerrit.libreoffice.org/#/c/64964/> "Move NSSLIBS to a more
sensible place on the linker command line" plus this change's addition of
-lunwind to the liblo-native-code.so linker command line make sure that
liblo-native-code.so uses _Unwind_* functions from libunwind.a, instead of
erroneously picking up the ones from libgcc.a that happen to be included in
NSSLIB's nspr4 (-lgcc is automatically added to the end of the linker command
line by the invoking compiler, that's how libgcc.a's _Unwind_* end up in
NSSLIB's nspr4; it is neither clear to me why NSSLIB's nspr4, being a pure C
library, uses _Unwind_* functions, nor why exception handling in
liblo-native-code.so fails when using _Unwind_* functions from libgcc.a
instead of from libunwind on armeabi-v7a, nor why that would work on 32-bit
x86, but that's what I observed: ModuleManager::identify
(framework/source/services/modulemanager.cxx) throws a
css::lang::IllegalArgumentException, which calls __cxa_throw ->
_Unwind_RaiseException, which ultimately lead to odd misbehavior and
std::abort during stack unwinding when using _Unwind_RaiseException from
libgcc.a instead of from libunwind). (There is no libunwind.* in
android-ndk-r16b for 32-bit x86 at least, so is presumably using _Unwind_*
functions from libgcc.a. It doesn't appear to make a difference if it
indirectly uses those _Unwind_* functions from NSSLIB's nspr4, or directly
from libgcc.a included in liblo-native-code.so if the
$(if $(filter armeabi-v7a,$(ANDROID_APP_ABI)),-lunwind)
had a ",-lgcc" else branch.)
* Preceding <https://gerrit.libreoffice.org/#/c/64965/> "Export RTTI symbols
from liblo-native-code.so, for binary UNO bridge" makes sure that excpetions
thrown from the binary UNO bridge can be caught by compiled catch clauses.
Not sure why the corresponding state of
bridges/source/cpp_uno/gcc3_linux_intel shouldn't have run into the same
issue.
* Preceding <https://gerrit.libreoffice.org/#/c/64966/> "Adapt gcc3_linux_arm
__cxa_exception to NDK 18 libc++abi" makes sure that our version of
__cxa_exception matches the version from libc++abi. This is clearly not
relevant for 32-bit x86. (The comment there android-ndk-r18b, but the
additional member is already present in
android-ndk-r16b/sources/cxx-stl/llvm-libc++abi/src/cxa_exception.hpp, too.)
The remainder of this change just drops old armeabi-v7a--specific workarounds
that are no longer needed/no longer work.
Change-Id: Ief4c2d562c5032abe6c3b94ca3b3394be6fcd4d3
Reviewed-on: https://gerrit.libreoffice.org/64973
Tested-by: Stephan Bergmann <sbergman@redhat.com>
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
511ae02c6457e69cb6daab871acd9c3e7d64e2e3 "Android: Enable HAVE_FEATURE_NSS and
package the NSS libraries with apk" had added them to WHOLELIBS probably just
because that already had the $(addprefix -l,...), even though --whole-archive
doesn't make any sense for shared libraries. Better place them later on the
linker command line (after all our own archives and compiler support libraries),
so that switching armeabi-v7a to libc++/libc++abi/libunwind (coming soon) will
be able to override erroneously picking _Unwind_* symbols from NSSLIBS's nspr4
instead of libunwind.
Change-Id: Ie0c0b7a55da3eabe1bb427232d698b2a4af63e78
Reviewed-on: https://gerrit.libreoffice.org/64964
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
|
|
gnustl (and others) are to be removed in future versions of the ndk
also bump gradle and build-tools to current versions along with it
arm unfortunately crashes with llvm-c++, so keep with gnustl for now/fix
that later
Change-Id: Ic794c3293b599b77ec48096bf3283a99c09cbb79
Reviewed-on: https://gerrit.libreoffice.org/45163
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
packing gdbserver into apk conflicts with extractNativeLibs="false", as
the gradle pugin compresses it (which could be disabled using
aaptOptions), but furthermore it doesn't page-align it, breaking
installation.
So instead let the user manually push the gdbserver tool to device and
remove the hardcoded values that were only there to please the ndk-gdb
scripts.
Using lldb from within Android Studio is more comfortable anyway :-)
Change-Id: I31c3af4847a479c56b3fcd6b5bed114e004bf0d2
Reviewed-on: https://gerrit.libreoffice.org/41950
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
|
|
This commit enables HAVE_FEATURE_NSS for Android and fixes the svl/ vcl/
and xmlsecurity/ module to use NSS.
xmlsecurity/ wasn't built for Android previously, this commit enables
building xmlsecurity/ for Android and disables the support of gpgme
in the same module(Only for Android).
It also enables the linking of NSS shared libraries with
liblo-native-code.so and adds a rule to package them along with the apk.
Change-Id: I7d0341688ac979ae92e9145c37dd107670417fe1
Reviewed-on: https://gerrit.libreoffice.org/41308
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
|
|
Change-Id: I29f404dc5aee27b592eac7585c5142b91060fe5c
Reviewed-on: https://gerrit.libreoffice.org/21589
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: jan iversen <jani@documentfoundation.org>
|
|
and of course also for the Java part
Using build-id linker flag allows lldb to map the installed .so to the
non-stripped version on the buildhost.
Also ndk-gdb supports specifying a different package name on the
commandline, so no need for the error in configure anymore.
Change-Id: If6887a27cc8ab15ee6ab612502cacf0a22ade737
|
|
move preparation tasks (creating assets/processing files) from the
makefile into the gradle script
This allows much easier integration into android-studio (just open
android/source with android studio after running make to compile the
native library)
Change-Id: I9a9d6832797c24a7e195a1c7954cd6d20f5a8496
|
|
Unlike 'make -s', 'ant -quiet' will stay silent even if there was an
error.
Change-Id: Iba921d3cde48875f7a6da4c5ba811cab46dfb89f
|
|
Now it has been updated.
This reverts commit 4e47ed7e5aad8bde548b4953baba13cf99b6fd9c.
|
|
Change-Id: Ief38ef9cc4f167caef8d991c9543161997682418
|
|
replace with corresponding Math functions and bump android sdk target to
23 to be able to use current appcompat-v7
pre-JIT FloatMath was faster, but since then was wrapper to Math anyway
http://developer.android.com/reference/android/util/FloatMath.html
Change-Id: I19e316fb7d32e616162a70fca8c565fa320a8c1a
|
|
configure.ac was setting VERBOSE=YES/NO when really
we use verbose=t or verbose=
Change-Id: I47aee8d177cb2d788a62ecdbbb9cc3695c2bb299
Reviewed-on: https://gerrit.libreoffice.org/17634
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Norbert Thiebaud <nthiebaud@gmail.com>
|
|
|
|
Change-Id: I6e70dd44430a7b0e61c7618e3f0da42deadcd43d
|
|
Change-Id: Ifbe9a316795fc0519119aa9420152118f3926653
Reviewed-on: https://gerrit.libreoffice.org/14946
Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
Tested-by: Tomaž Vajngerl <quikee@gmail.com>
|
|
Has all been obsoleted by LibreOfficeKit.
Only some MOBILE_* constant #defines are now left in touch.h, but probably
those are used only by dead code.
Change-Id: I646945c4408b4e6cd5510da535cfc12088dd391c
|
|
Also, if we are at it:
- clean up 'run' as well: since the doc browser is the default activity,
no need to pass the test doc path anymore
- make 'install' not depend on build: a full build would need a toplevel
'make' anyway
Change-Id: Ia55d52f767ab3e0be02a753a95b2aac02f8491cc
|
|
Previously we included the android support library v4 for some
GUI elements like GridView. This commit in addition adds the v7
appcompat library which is needed for the new Lollipop style
Toolbar and many other new GUI elements.
The appcompat v7 library is not distributed as only a jar file
but needs to be build (as it includes additional resources) and
included as a library project. So to do this the content is copied
from SDK and build with the build system. The files also include
the v4 so it doesn't need to be copied from SDK anymore.
The target had to be raised to v21 (Lollipop), however the minimum
SDK version remains unchanged.
Change-Id: I4f1a6ce69e7f6c3f9df784a6835f376a01d4dfdb
|
|
This was unused since the earlier cleanup.
Change-Id: Ia56641c4242037a0ce501e43939b8dc862499f0e
|
|
Change-Id: I7a22b9bcacd26b837c00bb09743ab2e176d60746
|
|
Otherwise FSStorageFactory::createInstanceWithArguments() would throw,
resulting in a css::configuration::CorruptedConfigurationException
later, that makes LO throw up its hands in Desktop::Main() and say that
the instset is simply corrupted, there is no point in continuing
further.
Change-Id: I3a401ee77f4fbf1a42a09c5fedd7681b4f32e952
|
|
Change-Id: I4144d0ed42a50be4fa91f377f78a20c28fda36f6
|
|
This now also allows to specify the version number; now you want to use:
cd android/
make versionCode=<previous_version_num+1> key=<key_name> release-apk
Change-Id: I078e8dbbe671969fc3b228ac987cdb9a4a53b281
|
|
Change-Id: Iab771f65121e477cda871a04098df306399628e7
|
|
Change-Id: Iddcf953718083b218d41fcb895d28adb5808a8f4
|
|
Note that getPackageName() also throws NameNotFoundException, so in the
unlikely situations in case:
- package info (class containing the package version) is not found or
- the package version is not in an "a/b" form
We still just don't show anything.
Also, mark the new TextView as android:textIsSelectable, so it's
possible to copy&paste the version for bugreport purposes.
Change-Id: I63b53cca4126da17bfbda0293d7c98e8524ef41a
|
|
Change-Id: If85c6a86434c0aa32d188a0f128f6b6cd613bbb5
|
|
Change-Id: I1b1891f0d7d7b8aa407e7da346ff5f8e3cbe8657
|
|
Change-Id: I379601099bda928b9eeeaeb29030bc009e3cbbf2
|
|
It can happen that this directory doesn't exist and the copy
script fails (especially on a clean install). The script has been
modified to force create this directory before trying to copy
stuff into it.
Change-Id: Iedf3caef07e6896405750aea9e8f211b1e80dc3a
|
|
Adapt to URE merge. (Not sure whether the app(s) still work, but at least it
now builds.)
Change-Id: I6e85fd8eaebea75c22188f4f36269dbbe55d012a
|
|
...and remove now unused ure-link symlink
Change-Id: Ic958432c1dad4fae213982d0af072187f151620b
|
|
...and had started to have different values in instdir (ProductMajor=450, ProductMinor=0)
vs. installation sets (ProductMajor=50, ProductMinor=)
Change-Id: I4db2c07b5f7b011218833fc355a3097eb13d0cd4
|
|
(which now had a bogus value on Mac OS X anyway)
Change-Id: I5bf233506d6c658560dfadddf79a9ed8605c2a20
|
|
Change-Id: Ie3cc30c29723133d5e320ad3848d13f06d133c78
|
|
Change-Id: I49c6c4bf0b2ddfb403612ccad90a41e8ae525427
|
|
Change-Id: Ic2289d5ca96d06352c853d7803938a12aa204e73
|
|
Appears to save ~10Mb of apk size.
Change-Id: I7c49da979e2868628bf3cf07937e898d717a5071
|
|
Without that, URE_BOOTSTRAP does not get set up, and we are unable to
bootstrap.
Change-Id: I7727e2a9dcbb958e006fadf6243e1ca343633f7e
|
|
This is so that calls like 'make configmgr android' produce an .apk with
updated code changes from configmgr as expected.
Change-Id: I5f576b01269cf3f559a8a6389af298a3758e7309
|
|
Change-Id: I0a746904fa363f987e96165d8def326eb87dcf8f
|