Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Support shared libraries on Android (using make)
authorPeter Eisentraut <peter@eisentraut.org>
Tue, 23 Jan 2024 19:37:49 +0000 (20:37 +0100)
committerPeter Eisentraut <peter@eisentraut.org>
Tue, 23 Jan 2024 19:37:49 +0000 (20:37 +0100)
While the rest of the make build system maps Android to Linux, Android
uses unversioned shared libraries (like "libpq.so").  This patch makes
it so.  (Meson already supported it.)

Reported-by: Matthias Kuhn <matthias@opengis.ch>
Discussion: https://www.postgresql.org/message-id/flat/CAC7zN94TdsHhY88XkroJzSMx7E%3DBQpV9LKKjNSEnTM04ihoWCA%40mail.gmail.com

src/Makefile.shlib

index f94d59d1c5970a14013fd10b9e4cfc0e78c310ae..8ca51ca03f75db44e96d74e077b17bce8cfbab81 100644 (file)
@@ -183,6 +183,11 @@ endif
 ifeq ($(PORTNAME), linux)
   LINK.shared      = $(COMPILER) -shared
   ifdef soname
+    ifneq (,$(findstring linux-android,$(host_os)))
+      # Android uses unversioned shared libraries
+      shlib        = $(shlib_bare)
+      soname       = $(shlib_bare)
+    endif
     LINK.shared        += -Wl,-soname,$(soname)
   endif
   BUILD.exports        = ( echo '{ global:'; $(AWK) '/^[^\#]/ {printf "%s;\n",$$1}' $<; echo ' local: *; };' ) >$@