minigbm: Set library soname to libgbm.so.1 during link
The soname needs to match mesa exactly. The actual library is installed
as libminigbm.so.1.0.0 - this filename does not matter, and it is
probably better to be specific.
BUG=chromium:446653
TEST=chrome built against mesa boots with minigbm &
chrome built against minigbm boots with minigbm
Change-Id: Id031cc1eb63ab27df57ef9e0313994723e24987c
Reviewed-on: https://chromium-review.googlesource.com/244782
Reviewed-by: Haixia Shi <hshi@chromium.org>
Tested-by: Michael Spang <spang@chromium.org>
Commit-Queue: Michael Spang <spang@chromium.org>
diff --git a/Makefile b/Makefile
index d33d278..95324db 100644
--- a/Makefile
+++ b/Makefile
@@ -26,14 +26,21 @@
LIBDIR ?= /usr/lib/
-CC_LIBRARY(libgbm.so): $(C_OBJECTS)
+GBM_VERSION_MAJOR := 1
+MINIGBM_VERSION := $(GBM_VERSION_MAJOR).0.0
+MINIGBM_FILENAME := libminigbm.so.$(MINIGBM_VERSION)
-all: CC_LIBRARY(libgbm.so)
+CC_LIBRARY($(MINIGBM_FILENAME)): LDFLAGS += -Wl,-soname,libgbm.so.$(GBM_VERSION_MAJOR)
+CC_LIBRARY($(MINIGBM_FILENAME)): $(C_OBJECTS)
-clean: CLEAN(libgbm.so)
+all: CC_LIBRARY($(MINIGBM_FILENAME))
+
+clean: CLEAN($(MINIGBM_FILENAME))
install: all
mkdir -p $(DESTDIR)/$(LIBDIR)
- install -D -m 755 $(OUT)/libgbm.so $(DESTDIR)/$(LIBDIR)
+ install -D -m 755 $(OUT)/$(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)
+ ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so
+ ln -sf $(MINIGBM_FILENAME) $(DESTDIR)/$(LIBDIR)/libgbm.so.$(GBM_VERSION_MAJOR)
install -D -m 0644 $(SRC)/gbm.pc $(DESTDIR)$(LIBDIR)/pkgconfig/gbm.pc
install -D -m 0644 $(SRC)/gbm.h $(DESTDIR)/usr/include/gbm.h