7417321
From a26bde9414c3a9247b80c71c91225cc2ff0c0c2f Mon Sep 17 00:00:00 2001
7417321
From: =?UTF-8?q?Ralf=20Cors=C3=A9pius?= <corsepiu@fedoraproject.org>
7417321
Date: Sun, 3 Aug 2014 03:43:38 +0200
7417321
Subject: [PATCH 2/3] grass-shlib-soname
7417321
7417321
---
7417321
 include/Make/Grass.make.in       | 138 +++++++++++++++++++--------------------
7417321
 include/Make/Shlib.make          |  11 +++-
7417321
 raster/r.li/r.li.daemon/Makefile |   2 +-
7417321
 3 files changed, 78 insertions(+), 73 deletions(-)
7417321
7417321
diff --git a/include/Make/Grass.make.in b/include/Make/Grass.make.in
7417321
index 4693bfb..d10fe30 100644
7417321
--- a/include/Make/Grass.make.in
7417321
+++ b/include/Make/Grass.make.in
7417321
@@ -93,102 +93,102 @@ endif
a9af5f3
 
a9af5f3
 ##################### library names #####################################
a9af5f3
 
a9af5f3
-ARRAYSTATS_LIBNAME    = grass_arraystats.$(GRASS_VERSION_NUMBER)
a9af5f3
-BITMAP_LIBNAME        = grass_bitmap.$(GRASS_VERSION_NUMBER)
a9af5f3
-BTREE_LIBNAME         = grass_btree.$(GRASS_VERSION_NUMBER)
a9af5f3
-CLUSTER_LIBNAME       = grass_cluster.$(GRASS_VERSION_NUMBER)
a9af5f3
-COORCNV_LIBNAME       = grass_coorcnv.$(GRASS_VERSION_NUMBER)
a9af5f3
-DATETIME_LIBNAME      = grass_datetime.$(GRASS_VERSION_NUMBER)
a9af5f3
-DBDIALOG_LIBNAME      = grass_dbdialog.$(GRASS_VERSION_NUMBER)
a9af5f3
-DISPLAY_LIBNAME       = grass_display.$(GRASS_VERSION_NUMBER)
a9af5f3
-DLG_LIBNAME           = grass_dlg.$(GRASS_VERSION_NUMBER)
a9af5f3
-DSPF_LIBNAME          = grass_dspf.$(GRASS_VERSION_NUMBER)
a9af5f3
-DRIVER_LIBNAME        = grass_driver.$(GRASS_VERSION_NUMBER)
a9af5f3
-PNGDRIVER_LIBNAME     = grass_pngdriver.$(GRASS_VERSION_NUMBER)
a9af5f3
-PSDRIVER_LIBNAME      = grass_psdriver.$(GRASS_VERSION_NUMBER)
a9af5f3
-CAIRODRIVER_LIBNAME   = grass_cairodriver.$(GRASS_VERSION_NUMBER)
a9af5f3
-EDIT_LIBNAME          = grass_edit.$(GRASS_VERSION_NUMBER)
a9af5f3
-G3D_LIBNAME	      = grass_g3d.$(GRASS_VERSION_NUMBER)
a9af5f3
-GIS_LIBNAME	      = grass_gis.$(GRASS_VERSION_NUMBER)
a9af5f3
-GMATH_LIBNAME         = grass_gmath.$(GRASS_VERSION_NUMBER)
a9af5f3
-GPDE_LIBNAME          = grass_gpde.$(GRASS_VERSION_NUMBER)
a9af5f3
-GPROJ_LIBNAME         = grass_gproj.$(GRASS_VERSION_NUMBER)
a9af5f3
-IBTREE_LIBNAME        = grass_ibtree.$(GRASS_VERSION_NUMBER)
a9af5f3
-ICON_LIBNAME          = grass_icon.$(GRASS_VERSION_NUMBER)
a9af5f3
-IMAGERY_LIBNAME       = grass_I.$(GRASS_VERSION_NUMBER)
a9af5f3
-IORTHO_LIBNAME        = grass_Iortho.$(GRASS_VERSION_NUMBER)
a9af5f3
-IOSTREAM_LIBNAME      = grass_iostream.$(GRASS_VERSION_NUMBER)
a9af5f3
-ISMAP_LIBNAME         = grass_ismap.$(GRASS_VERSION_NUMBER)
a9af5f3
-LINKM_LIBNAME         = grass_linkm.$(GRASS_VERSION_NUMBER)
a9af5f3
-LOCK_LIBNAME          = grass_locky.$(GRASS_VERSION_NUMBER)
a9af5f3
-MANAGE_LIBNAME        = grass_manage.$(GRASS_VERSION_NUMBER)
a9af5f3
-RASTER_LIBNAME        = grass_raster.$(GRASS_VERSION_NUMBER)
a9af5f3
-ROWIO_LIBNAME         = grass_rowio.$(GRASS_VERSION_NUMBER)
a9af5f3
-SEGMENT_LIBNAME       = grass_segment.$(GRASS_VERSION_NUMBER)
a9af5f3
-STATS_LIBNAME	      = grass_stats.$(GRASS_VERSION_NUMBER)
a9af5f3
-VASK_LIBNAME	      = grass_vask.$(GRASS_VERSION_NUMBER)
a9af5f3
-XGD_LIBNAME	      = grass_Xgd.$(GRASS_VERSION_NUMBER)
a9af5f3
-XGI_LIBNAME	      = grass_Xgi.$(GRASS_VERSION_NUMBER)
a9af5f3
-XPM_LIBNAME	      = grass_Xpm.$(GRASS_VERSION_NUMBER)
a9af5f3
+ARRAYSTATS_LIBNAME    = grass_arraystats
a9af5f3
+BITMAP_LIBNAME        = grass_bitmap
a9af5f3
+BTREE_LIBNAME         = grass_btree
a9af5f3
+CLUSTER_LIBNAME       = grass_cluster
a9af5f3
+COORCNV_LIBNAME       = grass_coorcnv
a9af5f3
+DATETIME_LIBNAME      = grass_datetime
a9af5f3
+DBDIALOG_LIBNAME      = grass_dbdialog
a9af5f3
+DISPLAY_LIBNAME       = grass_display
a9af5f3
+DLG_LIBNAME           = grass_dlg
a9af5f3
+DSPF_LIBNAME          = grass_dspf
a9af5f3
+DRIVER_LIBNAME        = grass_driver
a9af5f3
+PNGDRIVER_LIBNAME     = grass_pngdriver
a9af5f3
+PSDRIVER_LIBNAME      = grass_psdriver
a9af5f3
+CAIRODRIVER_LIBNAME   = grass_cairodriver
a9af5f3
+EDIT_LIBNAME          = grass_edit
a9af5f3
+G3D_LIBNAME	      = grass_g3d
a9af5f3
+GIS_LIBNAME	      = grass_gis
a9af5f3
+GMATH_LIBNAME         = grass_gmath
a9af5f3
+GPDE_LIBNAME          = grass_gpde
a9af5f3
+GPROJ_LIBNAME         = grass_gproj
a9af5f3
+IBTREE_LIBNAME        = grass_ibtree
a9af5f3
+ICON_LIBNAME          = grass_icon
a9af5f3
+IMAGERY_LIBNAME       = grass_I
a9af5f3
+IORTHO_LIBNAME        = grass_Iortho
a9af5f3
+IOSTREAM_LIBNAME      = grass_iostream
a9af5f3
+ISMAP_LIBNAME         = grass_ismap
a9af5f3
+LINKM_LIBNAME         = grass_linkm
a9af5f3
+LOCK_LIBNAME          = grass_locky
a9af5f3
+MANAGE_LIBNAME        = grass_manage
a9af5f3
+RASTER_LIBNAME        = grass_raster
a9af5f3
+ROWIO_LIBNAME         = grass_rowio
a9af5f3
+SEGMENT_LIBNAME       = grass_segment
a9af5f3
+STATS_LIBNAME	      = grass_stats
a9af5f3
+VASK_LIBNAME	      = grass_vask
a9af5f3
+XGD_LIBNAME	      = grass_Xgd
a9af5f3
+XGI_LIBNAME	      = grass_Xgi
a9af5f3
+XPM_LIBNAME	      = grass_Xpm
a9af5f3
 
a9af5f3
 # Vector
a9af5f3
-DIG_LIBNAME           = grass_dig.$(GRASS_VERSION_NUMBER)
a9af5f3
-DIG2_LIBNAME          = grass_dig2.$(GRASS_VERSION_NUMBER)
a9af5f3
-VECTR_LIBNAME         = grass_vect.$(GRASS_VERSION_NUMBER)
a9af5f3
-TRANS_LIBNAME         = grass_trans.$(GRASS_VERSION_NUMBER)
a9af5f3
+DIG_LIBNAME           = grass_dig
a9af5f3
+DIG2_LIBNAME          = grass_dig2
a9af5f3
+VECTR_LIBNAME         = grass_vect
a9af5f3
+TRANS_LIBNAME         = grass_trans
7417321
 
7417321
-SHAPE_LIBNAME         = grass_shape.$(GRASS_VERSION_NUMBER)
7417321
-GRAPH_LIBNAME         = grass_dgl.$(GRASS_VERSION_NUMBER)
7417321
-RTREE_LIBNAME         = grass_rtree.$(GRASS_VERSION_NUMBER)
a9af5f3
+SHAPE_LIBNAME         = grass_shape
a9af5f3
+GRAPH_LIBNAME         = grass_dgl
a9af5f3
+RTREE_LIBNAME         = grass_rtree
a9af5f3
 
a9af5f3
-VEDIT_LIBNAME         = grass_vedit.$(GRASS_VERSION_NUMBER)
a9af5f3
-NETA_LIBNAME          = grass_neta.$(GRASS_VERSION_NUMBER)
a9af5f3
+VEDIT_LIBNAME         = grass_vedit
a9af5f3
+NETA_LIBNAME          = grass_neta
a9af5f3
 
a9af5f3
 # Interpolation
a9af5f3
-INTERPDATA_LIBNAME    = grass_interpdata.$(GRASS_VERSION_NUMBER)
a9af5f3
-INTERPFL_LIBNAME      = grass_interpfl.$(GRASS_VERSION_NUMBER)
a9af5f3
-QTREE_LIBNAME         = grass_qtree.$(GRASS_VERSION_NUMBER)
a9af5f3
+INTERPDATA_LIBNAME    = grass_interpdata
a9af5f3
+INTERPFL_LIBNAME      = grass_interpfl
a9af5f3
+QTREE_LIBNAME         = grass_qtree
a9af5f3
 
a9af5f3
 # NVIZ related
a9af5f3
-OGSF_LIBNAME          = grass_ogsf.$(GRASS_VERSION_NUMBER)
a9af5f3
-NVIZ_LIBNAME          = grass_nviz.$(GRASS_VERSION_NUMBER)
a9af5f3
+OGSF_LIBNAME          = grass_ogsf
a9af5f3
+NVIZ_LIBNAME          = grass_nviz
a9af5f3
 
a9af5f3
 # triangulation libraries
a9af5f3
-SOS_LIBNAME           = grass_sos.$(GRASS_VERSION_NUMBER)
a9af5f3
-LIA_LIBNAME           = grass_lia.$(GRASS_VERSION_NUMBER)
a9af5f3
-OPTRI_LIBNAME         = grass_optri.$(GRASS_VERSION_NUMBER)
a9af5f3
-BASIC_LIBNAME         = grass_basic.$(GRASS_VERSION_NUMBER)
a9af5f3
+SOS_LIBNAME           = grass_sos
a9af5f3
+LIA_LIBNAME           = grass_lia
a9af5f3
+OPTRI_LIBNAME         = grass_optri
a9af5f3
+BASIC_LIBNAME         = grass_basic
a9af5f3
 
a9af5f3
-XDISPLAY_LIBNAME      = grass_Xdisplay.$(GRASS_VERSION_NUMBER)
a9af5f3
+XDISPLAY_LIBNAME      = grass_Xdisplay
a9af5f3
 
a9af5f3
 # DBMI
a9af5f3
-DBMI_LIBNAME          = grass_dbmi.$(GRASS_VERSION_NUMBER)
a9af5f3
-DBMIBASE_LIBNAME      = grass_dbmibase.$(GRASS_VERSION_NUMBER)
a9af5f3
-DBMICLIENT_LIBNAME    = grass_dbmiclient.$(GRASS_VERSION_NUMBER)
a9af5f3
-DBMIDRIVER_LIBNAME    = grass_dbmidriver.$(GRASS_VERSION_NUMBER)
a9af5f3
-SQLP_LIBNAME          = grass_sqlp.$(GRASS_VERSION_NUMBER)
a9af5f3
-DBSTUBS_LIBNAME       = grass_dbstubs.$(GRASS_VERSION_NUMBER)
a9af5f3
+DBMI_LIBNAME          = grass_dbmi
a9af5f3
+DBMIBASE_LIBNAME      = grass_dbmibase
a9af5f3
+DBMICLIENT_LIBNAME    = grass_dbmiclient
a9af5f3
+DBMIDRIVER_LIBNAME    = grass_dbmidriver
a9af5f3
+SQLP_LIBNAME          = grass_sqlp
a9af5f3
+DBSTUBS_LIBNAME       = grass_dbstubs
a9af5f3
 
a9af5f3
 # database forms
a9af5f3
-FORM_LIBNAME          = grass_form.$(GRASS_VERSION_NUMBER)
a9af5f3
+FORM_LIBNAME          = grass_form
a9af5f3
 
a9af5f3
 # Symbols (icons, patterns)
a9af5f3
-SYMB_LIBNAME          = grass_symb.$(GRASS_VERSION_NUMBER)
a9af5f3
+SYMB_LIBNAME          = grass_symb
a9af5f3
 
a9af5f3
 # Normality
a9af5f3
-CDHC_LIBNAME          = grass_cdhc.$(GRASS_VERSION_NUMBER)
a9af5f3
+CDHC_LIBNAME          = grass_cdhc
a9af5f3
 
a9af5f3
 # Lidar
a9af5f3
-LIDAR_LIBNAME         = grass_lidar.$(GRASS_VERSION_NUMBER)
a9af5f3
+LIDAR_LIBNAME         = grass_lidar
a9af5f3
 
a9af5f3
 # Raster/SIMWE
a9af5f3
-SIM_LIBNAME           = grass_sim.$(GRASS_VERSION_NUMBER)
a9af5f3
+SIM_LIBNAME           = grass_sim
a9af5f3
 
a9af5f3
 # Sites (legacy)
a9af5f3
-SITES_LIBNAME         = grass_sites.$(GRASS_VERSION_NUMBER)
a9af5f3
+SITES_LIBNAME         = grass_sites
a9af5f3
 
a9af5f3
 # LRS
a9af5f3
-LRS_LIBNAME           = grass_lrs.$(GRASS_VERSION_NUMBER)
a9af5f3
+LRS_LIBNAME           = grass_lrs
a9af5f3
 
a9af5f3
 ##################### library switches ##################################
a9af5f3
 
7417321
diff --git a/include/Make/Shlib.make b/include/Make/Shlib.make
7417321
index 73076e7..2f63404 100644
7417321
--- a/include/Make/Shlib.make
7417321
+++ b/include/Make/Shlib.make
a9af5f3
@@ -1,6 +1,8 @@
Balint Cristian 3f92e14
 # common dependencies and rules for building shared libraries
Balint Cristian 3f92e14
 
a9af5f3
-SHLIB = $(ARCH_LIBDIR)/$(SHLIB_PREFIX)$(SHLIB_NAME)$(SHLIB_SUFFIX)
a9af5f3
+SHLIB = $(ARCH_LIBDIR)/$(SHLIB_PREFIX)$(SHLIB_NAME)$(SHLIB_SUFFIX).$(GRASS_VERSION_NUMBER)
Balint Cristian 3f92e14
+GRASS_MAJOR=6
Viji V Nair 97bd88c
+GRASS_MINOR=4
Balint Cristian 3f92e14
 
Viji V Nair 97bd88c
 # Object that calls _setfmode(_O_BINARY) which must be linked to each DLL on Windows
Viji V Nair 97bd88c
 ifdef MINGW
a9af5f3
@@ -15,9 +17,12 @@ CFLAGS += $(SHLIB_CFLAGS) $(NLS_CFLAGS)
Balint Cristian 3f92e14
 LDFLAGS += $(SHLIB_LDFLAGS)
Balint Cristian 3f92e14
 
Balint Cristian 3f92e14
 $(SHLIB): $(SHLIB_OBJS)
a9af5f3
-	$(SHLIB_LD) -o $@ $(LDFLAGS) $^ $(EXTRA_LIBS) $(DLLMAIN_OBJ)
a9af5f3
 ifndef MINGW
Balint Cristian 8c45547
-	(cd $(ARCH_LIBDIR); ln -f -s $(notdir $@) $(patsubst %.$(GRASS_VERSION_NUMBER)$(SHLIB_SUFFIX),%$(SHLIB_SUFFIX),$@))
a9af5f3
+	$(SHLIB_LD) -o $@ -Wl,-soname,lib$(SHLIB_NAME)$(SHLIB_SUFFIX).$(GRASS_MAJOR).$(GRASS_MINOR) $(LDFLAGS) $^ $(EXTRA_LIBS) $(DLLMAIN_OBJ) && \
Balint Cristian 3f92e14
+		ln -f -s $(notdir $@) $(patsubst %$(SHLIB_SUFFIX).$(GRASS_VERSION_NUMBER),%$(SHLIB_SUFFIX),$@); \
Balint Cristian 8c45547
+		ln -f -s $(notdir $@) $(patsubst %$(SHLIB_SUFFIX).$(GRASS_VERSION_NUMBER),%$(SHLIB_SUFFIX).$(GRASS_MAJOR).$(GRASS_MINOR),$@);
a9af5f3
+else
a9af5f3
+	$(SHLIB_LD) -o $@ -Wl,-soname,lib$(SHLIB_NAME)$(SHLIB_SUFFIX).$(GRASS_MAJOR).$(GRASS_MINOR) $(LDFLAGS) $^ $(EXTRA_LIBS) $(DLLMAIN_OBJ)
a9af5f3
 endif
Balint Cristian 3f92e14
 
Balint Cristian 3f92e14
 shlib: $(SHLIB)
7417321
diff --git a/raster/r.li/r.li.daemon/Makefile b/raster/r.li/r.li.daemon/Makefile
7417321
index 6b2bd75..ba4b831 100644
7417321
--- a/raster/r.li/r.li.daemon/Makefile
7417321
+++ b/raster/r.li/r.li.daemon/Makefile
a9af5f3
@@ -2,7 +2,7 @@ MODULE_TOPDIR = ../../..
a9af5f3
 
a9af5f3
 EXTRA_LIBS=$(GISLIB) $(MATHLIB)
a9af5f3
 
a9af5f3
-LIB_NAME = grass_rli.$(GRASS_VERSION_NUMBER)
a9af5f3
+LIB_NAME = grass_rli
a9af5f3
 
7417321
 LIB_OBJS = daemon.o list.o worker.o GenericCell.o avl.o avlID.o
Balint Cristian 3f92e14
 
7417321
-- 
7417321
1.9.3
7417321