summaryrefslogtreecommitdiff
path: root/android/Bootstrap/Makefile.shared
AgeCommit message (Collapse)Author
2020-06-19android: fix the build output directoryHenry Castro
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>
2020-06-19android: Fix linking of liblo-native-code.so on x86_64Michael Weghorn
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>
2020-05-16android: Fix linking of liblo-native-code.so on aarch64.Jan Holesovsky
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
2019-11-07tdf#123290 fix android tinderbox builds/properly package libc++_shared.soChristian Lohmaier
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
2019-10-25android: Fix problems with unwinding in the Online-based Android app.Jan Holesovsky
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>
2019-08-08android: support NDK 19 and above (20 as of this commit)Christian Lohmaier
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>
2019-03-11android: Generate liblo-native-code.so so that it can be linked against.Jan Holesovsky
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>
2019-02-18android: Add a missing dependency.Jan Holesovsky
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>
2018-12-13Switch Android armeabi-v7a to libc++/libc++abi/libunwind tooStephan Bergmann
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>
2018-12-13Move NSSLIBS to a more sensible place on the linker command lineStephan Bergmann
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>
2018-01-18android: use unified headers and llvm-c++ STL (x86) with NDK 16Christian Lohmaier
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>
2017-09-07android: drop workarounds for ndk-gdb support (can still run manually)Christian Lohmaier
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>
2017-08-23Android: Enable HAVE_FEATURE_NSS and package the NSS libraries with apkGautam Prajapati
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>
2016-01-21improve android build status reportingPeter Foley
Change-Id: I29f404dc5aee27b592eac7585c5142b91060fe5c Reviewed-on: https://gerrit.libreoffice.org/21589 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: jan iversen <jani@documentfoundation.org>
2015-10-14allow using Android Studio with lldb to debug native partChristian Lohmaier
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
2015-10-11migrate android build to gradleChristian Lohmaier
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
2015-10-01android: fix make install and don't use ant -quiet by defaultMiklos Vajna
Unlike 'make -s', 'ant -quiet' will stay silent even if there was an error. Change-Id: Iba921d3cde48875f7a6da4c5ba811cab46dfb89f
2015-09-28Revert "revert back to android-21 target until tinderbox gets updated"Tor Lillqvist
Now it has been updated. This reverts commit 4e47ed7e5aad8bde548b4953baba13cf99b6fd9c.
2015-09-25revert back to android-21 target until tinderbox gets updatedChristian Lohmaier
Change-Id: Ief38ef9cc4f167caef8d991c9543161997682418
2015-09-24android.util.FloatMath is deprecated/was removed in ver 23Christian Lohmaier
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
2015-08-11gbuild/config stop using VERBOSE, use only verbose=tNorbert Thiebaud
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>
2015-05-21Let's simplify the paths and be less 'experimental'Tor Lillqvist
2015-05-03android: Plain .component files are not used from what I know.Jan Holesovsky
Change-Id: I6e70dd44430a7b0e61c7618e3f0da42deadcd43d
2015-03-30android: Bump to android-21Jack Leigh
Change-Id: Ifbe9a316795fc0519119aa9420152118f3926653 Reviewed-on: https://gerrit.libreoffice.org/14946 Reviewed-by: Tomaž Vajngerl <quikee@gmail.com> Tested-by: Tomaž Vajngerl <quikee@gmail.com>
2015-03-24Kill dead <touch/touch.h> APITor Lillqvist
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
2015-03-23android: add debugrun Makefile targetMiklos Vajna
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
2015-03-16android: make & build appcompat-v7 library, up target to v21Tomaž Vajngerl
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
2015-02-14Related: tdf#63690 - remove rtl_logfileThorsten Behrens
This was unused since the earlier cleanup. Change-Id: Ia56641c4242037a0ce501e43939b8dc862499f0e
2015-02-09android: fix missing drawingML preset shapesMiklos Vajna
Change-Id: I7a22b9bcacd26b837c00bb09743ab2e176d60746
2015-01-26android: make sure the soffice.cfg directory is always availableMiklos Vajna
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
2015-01-26android: 'make release-apk' now also accepts the example document.Jan Holesovsky
Change-Id: I4144d0ed42a50be4fa91f377f78a20c28fda36f6
2015-01-26android: Rename 'make sign' to 'make release-apk'.Jan Holesovsky
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
2015-01-26android: Set the package name correctly.Jan Holesovsky
Change-Id: Iab771f65121e477cda871a04098df306399628e7
2015-01-26android: show vendor in LOAboutMiklos Vajna
Change-Id: Iddcf953718083b218d41fcb895d28adb5808a8f4
2015-01-12android: show version / buildid in about dialogMiklos Vajna
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
2014-12-04Do the configuration pruning only in the DISABLE_UI caseTor Lillqvist
Change-Id: If85c6a86434c0aa32d188a0f128f6b6cd613bbb5
2014-12-04The configuration pruning with mobile-config.py seems to work nowTor Lillqvist
Change-Id: I1b1891f0d7d7b8aa407e7da346ff5f8e3cbe8657
2014-12-04Add (commented-out) invocation of mobile-config.pyTor Lillqvist
Change-Id: I379601099bda928b9eeeaeb29030bc009e3cbbf2
2014-12-04android: force create directory assets/gz.unpack/programTomaž Vajngerl
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
2014-12-01Fix Android buildTor Lillqvist
Adapt to URE merge. (Not sure whether the app(s) still work, but at least it now builds.) Change-Id: I6e85fd8eaebea75c22188f4f36269dbbe55d012a
2014-12-01Fold URE: Linux ure/share/misc/* -> program/Stephan Bergmann
...and remove now unused ure-link symlink Change-Id: Ic958432c1dad4fae213982d0af072187f151620b
2014-11-26version ini-file's ProductMajor/Minor are unusedStephan Bergmann
...and had started to have different values in instdir (ProductMajor=450, ProductMinor=0) vs. installation sets (ProductMajor=50, ProductMinor=) Change-Id: I4db2c07b5f7b011218833fc355a3097eb13d0cd4
2014-11-25Remove unused URE_LIB_DIRStephan Bergmann
(which now had a bogus value on Mac OS X anyway) Change-Id: I5bf233506d6c658560dfadddf79a9ed8605c2a20
2014-10-04android: Better default document (when the app starts with no doc to load).Jan Holesovsky
Change-Id: Ie3cc30c29723133d5e320ad3848d13f06d133c78
2014-10-04android: package C* fonts as well for interop.Michael Meeks
Change-Id: I49c6c4bf0b2ddfb403612ccad90a41e8ae525427
2014-10-04android: copy notice & license into assets (for apk)Tomaž Vajngerl
Change-Id: Ic2289d5ca96d06352c853d7803938a12aa204e73
2014-09-30android: disable packaging of un-needed UI files.Michael Meeks
Appears to save ~10Mb of apk size. Change-Id: I7c49da979e2868628bf3cf07937e898d717a5071
2014-06-30android: Correct location and name of sofficerc.Jan Holesovsky
Without that, URE_BOOTSTRAP does not get set up, and we are unable to bootstrap. Change-Id: I7727e2a9dcbb958e006fadf6243e1ca343633f7e
2014-06-30android: Relink liblo-native-code.so when a library changes.Jan Holesovsky
This is so that calls like 'make configmgr android' produce an .apk with updated code changes from configmgr as expected. Change-Id: I5f576b01269cf3f559a8a6389af298a3758e7309
2014-06-30android: copy-stuff rule is copy'n'pasted around, consolidate it.Jan Holesovsky
Change-Id: I0a746904fa363f987e96165d8def326eb87dcf8f