[Libreoffice-commits] online.git: 2 commits - android/app android/README configure.ac

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Wed Feb 13 11:16:09 UTC 2019


 android/README                             |    2 
 android/app/src/main/cpp/CMakeLists.txt.in |   28 +++---
 configure.ac                               |  133 +++++++++++++++++------------
 3 files changed, 94 insertions(+), 69 deletions(-)

New commits:
commit 6d8d40a2677da7318751eb216d5cb8c1967d3a67
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Wed Feb 13 12:09:36 2019 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Wed Feb 13 12:09:36 2019 +0100

    android: Use configure for the rest of the hardcoded stuff in CMakeLists.txt.
    
    Change-Id: I61ae98c87f439dffe6df4b9c61da7e7c5f968786

diff --git a/android/README b/android/README
index cbb4d2d1e..83b1debde 100644
--- a/android/README
+++ b/android/README
@@ -26,7 +26,7 @@
 
 * Configure the online.git
 
-  ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-silent-rules --with-lo-builddir=/local/libreoffice/master-android --with-lokit-path=/local/libreoffice/master-android/include --with-lo-path=/local/libreoffice/master-android/instdir --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android --with-libpng-includes=/local/libreoffice/master-android/workdir/UnpackedTarball/libpng --with-libpng-libs=/local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary --disable-setcap --enable-androidapp --with-logfile=/tmp/loolwsd.log --enable-debug
+  ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-androidapp --with-lo-builddir=/local/libreoffice/master-android --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android/lib --disable-setcap --enable-silent-rules --enable-debug
 
 * Build it
 
diff --git a/android/app/src/main/cpp/CMakeLists.txt.in b/android/app/src/main/cpp/CMakeLists.txt.in
index 838b8ec35..c6b293da9 100644
--- a/android/app/src/main/cpp/CMakeLists.txt.in
+++ b/android/app/src/main/cpp/CMakeLists.txt.in
@@ -24,21 +24,21 @@ add_library(androidapp SHARED
 target_compile_definitions(androidapp PRIVATE LOOLWSD_CONFIGDIR="/etc/loolwsd") # TODO somewhere in assets maybe?
 
 target_include_directories(androidapp PRIVATE
-                           .                                         # path to androidapp.h
-                           ../../../../..                            # path to config.h
-                           ../../../../../common                     # the needed loolwsd includes
+                           .                     # path to androidapp.h
+                           ../../../../..        # path to config.h
+                           ../../../../../common # the needed loolwsd includes
                            ../../../../../kit
                            ../../../../../net
                            ../../../../../wsd
-                           @POCOINCLUDE@                             # POCO
-                           /local/libreoffice/master-android/workdir/UnpackedTarball/libpng # libpng
-                           /local/libreoffice/master-android/include # LibreOfficeKit
+                           @POCOINCLUDE@         # POCO
+                           @LIBPNG_INCLUDES@     # libpng
+                           @LOKIT_PATH@          # LibreOfficeKit
                            )
 
 target_link_libraries(androidapp
                       android
                       log
-                      /local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary/liblibpng.a
+                      @LIBPNG_LIBS@/liblibpng.a
                       @POCOLIB@/libPocoEncodings.a
                       @POCOLIB@/libPocoNet.a
                       @POCOLIB@/libPocoRedis.a
diff --git a/configure.ac b/configure.ac
index ad1878fe5..b1ce4a7fb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -281,6 +281,24 @@ AC_SUBST(LOBUILDDIR)
 AC_SUBST(POCOINCLUDE)
 AC_SUBST(POCOLIB)
 
+LIBPNG_INCLUDES="$with_libpng_includes"
+LIBPNG_LIBS="$with_libpng_libs"
+LOKIT_PATH=`readlink -f $with_lokit_path`
+if test "$enable_androidapp" = "yes"; then
+   if test -z "$LIBPNG_INCLUDES" ; then
+      LIBPNG_INCLUDES="$LOBUILDDIR/workdir/UnpackedTarball/libpng"
+   fi
+   if test -z "$LIBPNG_LIBS" ; then
+      LIBPNG_LIBS="$LOBUILDDIR/workdir/LinkTarget/StaticLibrary"
+   fi
+   if test -z "$LOKIT_PATH" ; then
+      LOKIT_PATH=`readlink -f $LOBUILDDIR/include`
+   fi
+fi
+AC_SUBST(LIBPNG_INCLUDES)
+AC_SUBST(LIBPNG_LIBS)
+AC_SUBST(LOKIT_PATH)
+
 ENABLE_IOSAPP=
 MOBILE_APP_NAME="Mobile"
 
@@ -371,10 +389,9 @@ else
     AC_MSG_ERROR(no)
 fi
 
-with_lokit_path=`readlink -f $with_lokit_path`
-AS_IF([test -n "$with_lokit_path"],
-      [CPPFLAGS="$CPPFLAGS -I${with_lokit_path}"])
-lokit_msg="$with_lokit_path"
+AS_IF([test -n "$LOKIT_PATH"],
+      [CPPFLAGS="$CPPFLAGS -I${LOKIT_PATH}"])
+lokit_msg="$LOKIT_PATH"
 
 LO_PATH="/usr/lib64/libreoffice"
 JAIL_PATH=not-set
@@ -420,11 +437,11 @@ AS_IF([test -n "$with_poco_includes"],
 AS_IF([test -n "$with_poco_libs"],
       [LDFLAGS="$LDFLAGS -L${with_poco_libs}"])
 
-AS_IF([test -n "$with_libpng_includes"],
-      [CPPFLAGS="$CPPFLAGS -isystem ${with_libpng_includes}"])
+AS_IF([test -n "$LIBPNG_INCLUDES"],
+      [CPPFLAGS="$CPPFLAGS -isystem ${LIBPNG_INCLUDES}"])
 
-AS_IF([test -n "$with_libpng_libs"],
-      [LDFLAGS="$LDFLAGS -L${with_libpng_libs}"])
+AS_IF([test -n "$LIBPNG_LIBS"],
+      [LDFLAGS="$LDFLAGS -L${LIBPNG_LIBS}"])
 
 AS_IF([test -n "$with_cppunit_includes"],
       [CPPFLAGS="$CPPFLAGS -isystem ${with_cppunit_includes}"])
commit 3af9580489b9e305c58e64fc59fe5e97782de875
Author:     Jan Holesovsky <kendy at collabora.com>
AuthorDate: Wed Feb 13 11:32:49 2019 +0100
Commit:     Jan Holesovsky <kendy at collabora.com>
CommitDate: Wed Feb 13 11:32:49 2019 +0100

    android: Generate the CMakeLists.txt from configure.
    
    Change-Id: I9012e78adda55640c6fe74829fcb7f7a2fb25ce6

diff --git a/android/README b/android/README
index 1183e77dc..cbb4d2d1e 100644
--- a/android/README
+++ b/android/README
@@ -26,7 +26,7 @@
 
 * Configure the online.git
 
-  ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-silent-rules --with-lokit-path=/local/libreoffice/master-android/include --with-lo-path=/local/libreoffice/master-android/instdir --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android --with-libpng-includes=/local/libreoffice/master-android/workdir/UnpackedTarball/libpng --with-libpng-libs=/local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary --disable-setcap --enable-androidapp --with-logfile=/tmp/loolwsd.log --enable-debug
+  ./autogen.sh && ./configure CC=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang CXX=~/Android/Sdk/ndk-bundle/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang++ --host=arm-linux-androideabi --enable-silent-rules --with-lo-builddir=/local/libreoffice/master-android --with-lokit-path=/local/libreoffice/master-android/include --with-lo-path=/local/libreoffice/master-android/instdir --with-poco-includes=/opt/poco-android/include --with-poco-libs=/opt/poco-android --with-libpng-includes=/local/libreoffice/master-android/workdir/UnpackedTarball/libpng --with-libpng-libs=/local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary --disable-setcap --enable-androidapp --with-logfile=/tmp/loolwsd.log --enable-debug
 
 * Build it
 
diff --git a/android/app/src/main/cpp/CMakeLists.txt b/android/app/src/main/cpp/CMakeLists.txt.in
similarity index 80%
rename from android/app/src/main/cpp/CMakeLists.txt
rename to android/app/src/main/cpp/CMakeLists.txt.in
index 652575c8d..838b8ec35 100644
--- a/android/app/src/main/cpp/CMakeLists.txt
+++ b/android/app/src/main/cpp/CMakeLists.txt.in
@@ -30,7 +30,7 @@ target_include_directories(androidapp PRIVATE
                            ../../../../../kit
                            ../../../../../net
                            ../../../../../wsd
-                           /opt/poco-android/include                 # POCO
+                           @POCOINCLUDE@                             # POCO
                            /local/libreoffice/master-android/workdir/UnpackedTarball/libpng # libpng
                            /local/libreoffice/master-android/include # LibreOfficeKit
                            )
@@ -39,11 +39,11 @@ target_link_libraries(androidapp
                       android
                       log
                       /local/libreoffice/master-android/workdir/LinkTarget/StaticLibrary/liblibpng.a
-                      /opt/poco-android/lib/libPocoEncodings.a
-                      /opt/poco-android/lib/libPocoNet.a
-                      /opt/poco-android/lib/libPocoRedis.a
-                      /opt/poco-android/lib/libPocoUtil.a
-                      /opt/poco-android/lib/libPocoXML.a
-                      /opt/poco-android/lib/libPocoJSON.a
-                      /opt/poco-android/lib/libPocoFoundation.a
+                      @POCOLIB@/libPocoEncodings.a
+                      @POCOLIB@/libPocoNet.a
+                      @POCOLIB@/libPocoRedis.a
+                      @POCOLIB@/libPocoUtil.a
+                      @POCOLIB@/libPocoXML.a
+                      @POCOLIB@/libPocoJSON.a
+                      @POCOLIB@/libPocoFoundation.a
                       )
diff --git a/configure.ac b/configure.ac
index ad187b6fe..ad1878fe5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -108,9 +108,9 @@ AC_ARG_WITH([lo-path],
 
 AC_ARG_WITH([lo-builddir],
             AS_HELP_STRING([--with-lo-builddir=<path>],
-                           [Mandatory, and relevant, in a tree where building the iOS app.
+                           [Mandatory, and relevant, in a tree where building the iOS or Android app.
                             Path to a the build directory of the LibreOffice core source tree you want to use.
-                            In addition you MUST manually edit the ios/Mobile.xcodeproj/project.pbxproj
+                            In case of macOS, you MUST manually edit the ios/Mobile.xcodeproj/project.pbxproj
                             file and change the references to "../ios-device" to refer to the corresponding
                             LibreOffice core source directory (which typically would be the same as the build
                             directory you specify with this option).]))
@@ -230,6 +230,57 @@ if test -z "$anonym_msg";  then
   anonym_msg="no anonymization of usernames or filenames"
 fi
 
+# macOS: When configuring for building the app itself, on macOS, we need these.
+# But not when just configuring for building the JS on Linux, for copying over
+# to the Mac.
+# Android: We need these to setup the CMakeLists.txt properly.
+LOBUILDDIR=
+POCOINCLUDE=
+POCOLIB=
+if test \( "$enable_iosapp" = "yes" -a `uname -s` = "Darwin" \) -o \( "$enable_androidapp" = "yes" \); then
+   AC_MSG_CHECKING([for LibreOffice build tree to build against])
+   if test -z "$with_lo_builddir"; then
+      AC_MSG_ERROR([You MUST use the --with-lo-builddir option when configuring the mobile app build tree.])
+   fi
+
+   LOBUILDDIR="$with_lo_builddir"
+   # Sanity check, just a random object file in the LibreOffice build tree
+   if test \( "$enable_iosapp" = "yes" -a -f "$LOBUILDDIR/workdir/CxxObject/vcl/ios/iosinst.o" \) -o \( "$enable_androidapp" = "yes" -a -f "$LOBUILDDIR/workdir/LinkTarget/StaticLibrary/liblibpng.a" \); then
+       AC_MSG_RESULT([$LOBUILDDIR])
+   else
+       AC_MSG_ERROR([This is not a LibreOffice core build directory: $LOBUILDDIR])
+   fi
+
+   AC_MSG_CHECKING([for Poco include directory to build against])
+   if test -z "$with_poco_includes"; then
+      AC_MSG_ERROR([You MUST use the --with-poco-includes option when configuring the mobile app build tree.])
+   fi
+
+   POCOINCLUDE="$with_poco_includes"
+   # Sanity check
+   if test -f "$POCOINCLUDE/Poco/Poco.h"; then
+       AC_MSG_RESULT([$POCOINCLUDE])
+   else
+       AC_MSG_ERROR([This is not a Poco include directory: $POCOINCLUDE])
+   fi
+
+   AC_MSG_CHECKING([for Poco lib directory to build against])
+   if test -z "$with_poco_libs"; then
+      AC_MSG_ERROR([You MUST use the --with-poco-libs option when configuring the mobile app build tree.])
+   fi
+
+   POCOLIB="$with_poco_libs"
+   # Sanity check
+   if test -f "$POCOLIB/libPocoFoundation.a"; then
+       AC_MSG_RESULT([$POCOLIB])
+   else
+       AC_MSG_ERROR([This is not a Poco lib directory: $POCOLIB])
+   fi
+fi
+AC_SUBST(LOBUILDDIR)
+AC_SUBST(POCOINCLUDE)
+AC_SUBST(POCOLIB)
+
 ENABLE_IOSAPP=
 MOBILE_APP_NAME="Mobile"
 
@@ -238,50 +289,6 @@ if test "$enable_iosapp" = "yes"; then
    if test -n "$with_iosapp_name"; then
       MOBILE_APP_NAME="$with_iosapp_name"
    fi
-
-   # When configuring for building the app itself, on macOS, we need
-   # these. But not when just configuring for building the JS on
-   # Linux, for copying over to the Mac.
-   if test `uname -s` = "Darwin"; then
-      AC_MSG_CHECKING([for LibreOffice build tree to build against])
-      if test -z "$with_lo_builddir"; then
-         AC_MSG_ERROR([You MUST use the --with-lo-builddir option when configuring the iOS app build tree.])
-      fi
-
-      LOBUILDDIR="$with_lo_builddir"
-      # Sanity check, just a random object file in the LibreOffice build tree
-      if test -f "$LOBUILDDIR/workdir/CxxObject/vcl/ios/iosinst.o"; then
-          AC_MSG_RESULT([$LOBUILDDIR])
-      else
-          AC_MSG_ERROR([This is not a LibreOffice core build directory: $LOBUILDDIR])
-      fi
-
-      AC_MSG_CHECKING([for Poco include directory to build against])
-      if test -z "$with_poco_includes"; then
-         AC_MSG_ERROR([You MUST use the --with-poco-includes option when configuring the iOS app build tree.])
-      fi
-
-      POCOINCLUDE="$with_poco_includes"
-      # Sanity check
-      if test -f "$POCOINCLUDE/Poco/Poco.h"; then
-          AC_MSG_RESULT([$POCOINCLUDE])
-      else
-          AC_MSG_ERROR([This is not a Poco include directory: $POCOINCLUDE])
-      fi
-
-      AC_MSG_CHECKING([for Poco lib directory to build against])
-      if test -z "$with_poco_libs"; then
-         AC_MSG_ERROR([You MUST use the --with-poco-libs option when configuring the iOS app build tree.])
-      fi
-
-      POCOLIB="$with_poco_libs"
-      # Sanity check
-      if test -f "$POCOLIB/libPocoFoundation.a"; then
-          AC_MSG_RESULT([$POCOLIB])
-      else
-          AC_MSG_ERROR([This is not a Poco lib directory: $POCOLIB])
-      fi
-   fi
 fi
 AC_SUBST(ENABLE_IOSAPP)
 AM_CONDITIONAL([ENABLE_IOSAPP], [test "$ENABLE_IOSAPP" = "true"])
@@ -653,6 +660,7 @@ AS_IF([test "$ENABLE_IOSAPP" = "true"],
 AC_SUBST(IOSAPP_FONTS)
 
 AC_CONFIG_FILES([Makefile
+                 android/app/src/main/cpp/CMakeLists.txt
                  gtk/Makefile
                  ios/config.h
                  ios/Mobile/Info.plist


More information about the Libreoffice-commits mailing list