summaryrefslogtreecommitdiffstats
path: root/libircclient-1.6-shared.patch
blob: 15d1e393ffac43e72c76166d73e0477b696608cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
diff -up libircclient-1.6/src/Makefile.in.orig libircclient-1.6/src/Makefile.in
--- libircclient-1.6/src/Makefile.in.orig	2012-05-01 16:29:17.976661058 -0300
+++ libircclient-1.6/src/Makefile.in	2012-05-01 16:30:00.726662877 -0300
@@ -5,13 +5,14 @@ AR=@AR@ cr
 RANLIB=@RANLIB@
 INCLUDES=-I../include
 DESTDIR=
+MAJOR=0
 
 OBJS = libircclient.o
 
 all:	@TARGET@
 
 static:	libircclient.a
-shared: libircclient.so
+shared: libircclient.so.$(MAJOR)
 shared_mingw: libircclient.dll
 
 install: @TARGET@
@@ -22,11 +23,21 @@ install: @TARGET@
 	cp ../include/libirc_events.h  $(DESTDIR)@includedir@/libirc_events.h 
 	cp ../include/libirc_options.h  $(DESTDIR)@includedir@/libirc_options.h 
 	cp ../include/libirc_rfcnumeric.h  $(DESTDIR)@includedir@/libirc_rfcnumeric.h 
-	if [ -f libircclient.so ]; then cp libircclient.so $(DESTDIR)@libdir@; else :; fi
-	if [ -f libircclient.a ]; then cp libircclient.a $(DESTDIR)@libdir@; else :; fi
-
-libircclient.so: libircclient.o
-	$(CC) -shared -s -o libircclient.so libircclient.o @LIBS@
+	if [ -f libircclient.so.$(MAJOR) ]; then \
+		cp libircclient.so.$(MAJOR) $(DESTDIR)@libdir@; \
+		ln -s libircclient.so.$(MAJOR) $(DESTDIR)@libdir@/libircclient.so; \
+	else \
+		:; \
+	fi
+	if [ -f libircclient.a ]; then \
+		cp libircclient.a $(DESTDIR)@libdir@; \
+	else \
+		:; \
+	fi
+
+libircclient.so.$(MAJOR): libircclient.o
+	$(CC) -shared -o libircclient.so.$(MAJOR) -Wl,-soname=libircclient.so.$(MAJOR) libircclient.o @LIBS@
+	ln -s libircclient.so.$(MAJOR) libircclient.so
 
 libircclient.dll: libircclient.o
 	$(CC) -shared -s -o libircclient.dll -Wl,-out-implib,libircclient.lib libircclient.o libircclient.def -lkernel32 -lwsock32 @LIBS@
@@ -36,7 +47,7 @@ libircclient.a: libircclient.o
 	$(RANLIB) libircclient.a
 
 clean:
-	rm -f libircclient.a libircclient.o
+	rm -f libircclient.so* libircclient.a libircclient.o
 
 distclean: clean
 	-rm -f Makefile