From: Twaik Yont <9674930+twaik@users.noreply.github.com> Remove APK generation from default targets, as Android packaging requires external staging (prefix and dependencies). Add checks for required staged files (libfreetype, wineserver, ntdll) and fail early with a diagnostic message pointing to the reference packaging script. Factor out Android ABI selection to avoid duplication. Signed-off-by: Twaik Yont <9674930+twaik@users.noreply.github.com> --- configure | 27 +++++++++++++++++++-------- configure.ac | 27 +++++++++++++++++++-------- dlls/wineandroid.drv/Makefile.in | 2 -- 3 files changed, 38 insertions(+), 18 deletions(-) diff --git a/configure b/configure index ac58d7c1874..ea8417f3884 100755 --- a/configure +++ b/configure @@ -13060,14 +13060,16 @@ printf "%s\n" "#define SONAME_LIBGLESV2 \"$ac_cv_lib_soname_GLESv2\"" >>confdefs esac fi + + case $HOST_ARCH in + i386) android_abi='x86' ;; + x86_64) android_abi='x86_64' ;; + arm) android_abi='armeabi-v7a' ;; + aarch64) android_abi='arm64-v8a' ;; + esac if test "x$exec_prefix" = xNONE then - case $HOST_ARCH in - i386) exec_prefix='${prefix}/x86' ;; - x86_64) exec_prefix='${prefix}/x86_64' ;; - arm) exec_prefix='${prefix}/armeabi-v7a' ;; - aarch64) exec_prefix='${prefix}/arm64-v8a' ;; - esac + exec_prefix='${prefix}/'${android_abi} fi ;; @@ -24684,9 +24686,18 @@ dlls/ntdll/unix/version.c: dummy @version=\`(GIT_DIR=${wine_srcdir}.git git describe HEAD 2>/dev/null || echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[] = \"\\1\";/p'\` && (echo \$\$version | cmp -s - \$@) || echo \$\$version >\$@ || (rm -f \$@ && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$@) || echo \$\$build >\$@ || (rm -f \$@ && exit 1) -dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg + +wineandroid_drv_required_files = \ + dlls/wineandroid.drv/lib/${android_abi}/libfreetype.so \ + dlls/wineandroid.drv/assets/${android_abi}/bin/wineserver \ + dlls/wineandroid.drv/assets/${android_abi}/lib/wine/${HOST_ARCH}-unix/ntdll.so +\$(wineandroid_drv_required_files): + @echo \"Misbuild detected: missing \$@. See https://gitlab.winehq.org/winehq/tools/-/blob/master/packaging/android/build... for the reference build script.\" + @false + +dlls/wineandroid.drv/wine-debug.apk: all dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg \$(wineandroid_drv_required_files) cd dlls/wineandroid.drv && gradle -q -Psrcdir=$srcdir assembleDebug - mv dlls/wineandroid.drv/build/outputs/apk/wine-debug.apk \$@" + mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$@" EXTERNAL_SUBDIRS="libs/capstone libs/c++ libs/c++abi libs/faudio libs/fluidsynth libs/gsm libs/icucommon libs/icui18n libs/jpeg libs/jxr libs/lcms2 libs/ldap libs/mpg123 libs/musl libs/png libs/tiff libs/tomcrypt libs/unwind libs/vkd3d libs/xml2 libs/xslt libs/zlib libs/compiler-rt" diff --git a/configure.ac b/configure.ac index 89243b45be0..6a3be50f2b1 100644 --- a/configure.ac +++ b/configure.ac @@ -1056,14 +1056,16 @@ case $host_os in WINE_CHECK_SONAME(GLESv2,glFlush) + + case $HOST_ARCH in + i386) android_abi='x86' ;; + x86_64) android_abi='x86_64' ;; + arm) android_abi='armeabi-v7a' ;; + aarch64) android_abi='arm64-v8a' ;; + esac if test "x$exec_prefix" = xNONE then - case $HOST_ARCH in - i386) exec_prefix='${prefix}/x86' ;; - x86_64) exec_prefix='${prefix}/x86_64' ;; - arm) exec_prefix='${prefix}/armeabi-v7a' ;; - aarch64) exec_prefix='${prefix}/arm64-v8a' ;; - esac + exec_prefix='${prefix}/'${android_abi} fi ;; @@ -3836,9 +3838,18 @@ WINE_APPEND_RULE( @version=\`(GIT_DIR=${wine_srcdir}.git git describe HEAD 2>/dev/null || echo \"wine-\$(PACKAGE_VERSION)\") | sed -n -e '\$\$s/\(.*\)/const char wine_build[[]] = \"\\1\";/p'\` && (echo \$\$version | cmp -s - \$[@]) || echo \$\$version >\$[@] || (rm -f \$[@] && exit 1) programs/winetest/build.rc: dummy @build=\"STRINGTABLE { 1 \\\"\`GIT_DIR=${wine_srcdir}.git git rev-parse HEAD 2>/dev/null\`\\\" }\" && (echo \$\$build | cmp -s - \$[@]) || echo \$\$build >\$[@] || (rm -f \$[@] && exit 1) -dlls/wineandroid.drv/wine-debug.apk: dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg + +wineandroid_drv_required_files = \ + dlls/wineandroid.drv/lib/${android_abi}/libfreetype.so \ + dlls/wineandroid.drv/assets/${android_abi}/bin/wineserver \ + dlls/wineandroid.drv/assets/${android_abi}/lib/wine/${HOST_ARCH}-unix/ntdll.so +\$(wineandroid_drv_required_files): + @echo \"Misbuild detected: missing \$@. See https://gitlab.winehq.org/winehq/tools/-/blob/master/packaging/android/build... for the reference build script.\" + @false + +dlls/wineandroid.drv/wine-debug.apk: all dlls/wineandroid.drv/build.gradle ${wine_srcdir}dlls/wineandroid.drv/AndroidManifest.xml ${wine_srcdir}dlls/wineandroid.drv/WineActivity.java ${wine_srcdir}dlls/wineandroid.drv/wine.svg \$(wineandroid_drv_required_files) cd dlls/wineandroid.drv && gradle -q -Psrcdir=$srcdir assembleDebug - mv dlls/wineandroid.drv/build/outputs/apk/wine-debug.apk \$[@]]) + mv dlls/wineandroid.drv/build/outputs/apk/debug/wine-debug.apk \$[@]]) dnl Misc rules diff --git a/dlls/wineandroid.drv/Makefile.in b/dlls/wineandroid.drv/Makefile.in index 9a8be0ef90a..45152b16123 100644 --- a/dlls/wineandroid.drv/Makefile.in +++ b/dlls/wineandroid.drv/Makefile.in @@ -12,5 +12,3 @@ SOURCES = \ opengl.c \ window.c \ wine.svg - -EXTRA_TARGETS = wine-debug.apk -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10354