File jbigkit-2.1-shlib.patch of Package jbigkit

diff -ruN jbigkit-2.1/libjbig/Makefile jbigkit-2.1-shlib/libjbig/Makefile
--- jbigkit-2.1/libjbig/Makefile	2014-03-27 14:47:15.000000000 -0400
+++ jbigkit-2.1-shlib/libjbig/Makefile	2014-04-14 19:54:00.000000000 -0400
@@ -1,28 +1,33 @@
 # Unix makefile for the JBIG-KIT library
 
 # Select an ANSI/ISO C compiler here, GNU gcc is recommended
-CC = gcc
+CC ?= gcc
 
 # Options for the compiler: A high optimization level is suggested
-CFLAGS = -g -O -W -Wall -ansi -pedantic # --coverage
+CFLAGS ?= -g -O -W -Wall -ansi -pedantic # --coverage
+PICFLAGS := -fPIC -DPIC
 
-all: libjbig.a libjbig85.a tstcodec tstcodec85
+all: libjbig.so.$(SOVERSION) libjbig85.so.$(SOVERSION) tstcodec tstcodec85
 
-tstcodec: tstcodec.o jbig.o jbig_ar.o
-	$(CC) $(CFLAGS) -o tstcodec tstcodec.o jbig.o jbig_ar.o
+tstcodec: tstcodec.o libjbig.so
+	$(CC) $(CFLAGS) -o tstcodec $< -L. -ljbig
 
-tstcodec85: tstcodec85.o jbig85.o jbig_ar.o
-	$(CC) $(CFLAGS) -o tstcodec85 tstcodec85.o jbig85.o jbig_ar.o
+tstcodec85: tstcodec85.o libjbig85.so
+	$(CC) $(CFLAGS) -o tstcodec85 $^ -L. -ljbig
 
-libjbig.a: jbig.o jbig_ar.o
-	rm -f libjbig.a
-	ar rc libjbig.a jbig.o jbig_ar.o
-	-ranlib libjbig.a
+%.so: %.so.$(VERSION)
+	ln -sf $< $@
 
-libjbig85.a: jbig85.o jbig_ar.o
-	rm -f libjbig85.a
-	ar rc libjbig85.a jbig85.o jbig_ar.o
-	-ranlib libjbig85.a
+%.so.$(SOVERSION): %.so.$(VERSION)
+	ln -sf $< $@
+
+libjbig.so.$(VERSION): jbig.o jbig_ar.o
+	$(CC) $(CFLAGS) -shared -Wl,-soname,libjbig.so.$(SOVERSION) -o $@ $^
+
+libjbig85.so.$(VERSION): jbig85.o jbig_ar.o
+	$(CC) $(CFLAGS) -shared -Wl,-soname,libjbig85.so.$(SOVERSION) -o $@ $^
+
+jbig.o jbig85.o jbig_ar.o: CFLAGS += $(PICFLAGS)
 
 jbig.o: jbig.c jbig.h jbig_ar.h
 jbig85.o: jbig85.c jbig85.h jbig_ar.h
@@ -43,13 +48,13 @@
 	clang --analyze *.c
 
 test: tstcodec tstcodec85
-	./tstcodec
-	./tstcodec85
+	LD_LIBRARY_PATH=`pwd` ./tstcodec
+	LD_LIBRARY_PATH=`pwd` ./tstcodec85
 
 t82test.pbm: tstcodec
-	./tstcodec $@
+	LD_LIBRARY_PATH=`pwd` ./tstcodec $@
 
 clean:
 	rm -f *.o *.gcda *.gcno *.gcov *.plist *~ core gmon.out dbg_d\=??.pbm
 	rm -f t82test.pbm
-	rm -f tstcodec tstcodec85
+	rm -f tstcodec tstcodec85 libjbig*.so libjbig*.so.$(SOVERSION) libjbig*.so.$(VERSION)
diff -ruN jbigkit-2.1/Makefile jbigkit-2.1-shlib/Makefile
--- jbigkit-2.1/Makefile	2014-03-27 14:47:15.000000000 -0400
+++ jbigkit-2.1-shlib/Makefile	2014-04-14 20:59:40.000000000 -0400
@@ -1,37 +1,39 @@
 # Unix makefile for JBIG-KIT
 
 # Select an ANSI/ISO C compiler here, GNU gcc is recommended
-CC = gcc
+CC ?= gcc
 
 # Options for the compiler: A high optimization level is suggested
-CFLAGS = -O2 -W -Wno-unused-result
+CFLAGS ?= -O2 -W -Wno-unused-result
 # CFLAGS = -O -g -W -Wall -Wno-unused-result -ansi -pedantic # -DDEBUG
 
 export CC CFLAGS
 
 VERSION=2.1
+SOVERSION = $(basename $(VERSION))
+export VERSION SOVERSION
 
 all: lib pbm
 	@echo "Enter 'make test' in order to start some automatic tests."
 
 lib:
-	cd libjbig && $(MAKE) -e
+	make -C libjbig
 
 pbm: lib
-	cd pbmtools && $(MAKE) -e
+	make -C pbmtools
 
 test: lib pbm
-	cd libjbig  && $(MAKE) test
-	cd pbmtools && $(MAKE) test
+	LD_LIBRARY_PATH=`pwd`/libjbig make -C libjbig test
+	LD_LIBRARY_PATH=`pwd`/libjbig make -C pbmtools test
 
 analyze:
-	cd libjbig  && $(MAKE) analyze
-	cd pbmtools && $(MAKE) analyze
+	make -C libjbig analyze
+	make -C pbmtools analyze
 
 clean:
 	rm -f *~ core
-	cd libjbig  && $(MAKE) clean
-	cd pbmtools && $(MAKE) clean
+	make -C libjbig clean
+	make -C pbmtools clean
 
 distribution:
 	rm -rf jbigkit-$(VERSION)
diff -ruN jbigkit-2.1/pbmtools/Makefile jbigkit-2.1-shlib/pbmtools/Makefile
--- jbigkit-2.1/pbmtools/Makefile	2014-03-27 14:47:15.000000000 -0400
+++ jbigkit-2.1-shlib/pbmtools/Makefile	2014-04-14 21:04:14.000000000 -0400
@@ -1,29 +1,29 @@
 # Unix makefile for the JBIG-KIT PBM tools
 
 # Select an ANSI/ISO C compiler here, e.g. GNU gcc is recommended
-CC = gcc
+CC ?= gcc
 
 # Options for the compiler
-CFLAGS = -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage
+CFLAGS ?= -g -O -W -Wall -Wno-unused-result -ansi -pedantic # --coverage
 CPPFLAGS = -I../libjbig 
 
 .SUFFIXES: .1 .5 .txt $(SUFFIXES)
 .PHONY: txt test test82 test85 clean
 
-all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 txt
+all: pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85 # txt
 
 txt: pbmtojbg.txt jbgtopbm.txt pbm.txt pgm.txt
 
-pbmtojbg: pbmtojbg.o ../libjbig/libjbig.a
+pbmtojbg: pbmtojbg.o ../libjbig/libjbig.so
 	$(CC) $(CFLAGS) -o pbmtojbg pbmtojbg.o -L../libjbig -ljbig
 
-jbgtopbm: jbgtopbm.o ../libjbig/libjbig.a
+jbgtopbm: jbgtopbm.o ../libjbig/libjbig.so
 	$(CC) $(CFLAGS) -o jbgtopbm jbgtopbm.o -L../libjbig -ljbig
 
-pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.a
+pbmtojbg85: pbmtojbg85.o ../libjbig/libjbig85.so
 	$(CC) $(CFLAGS) -o pbmtojbg85 pbmtojbg85.o -L../libjbig -ljbig85
 
-jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.a
+jbgtopbm85: jbgtopbm85.o ../libjbig/libjbig85.so
 	$(CC) $(CFLAGS) -o jbgtopbm85 jbgtopbm85.o -L../libjbig -ljbig85
 
 jbgtopbm.o: jbgtopbm.c ../libjbig/jbig.h
@@ -31,13 +31,13 @@
 jbgtopbm85.o: jbgtopbm85.c ../libjbig/jbig85.h
 pbmtojbg85.o: pbmtojbg85.c ../libjbig/jbig85.h
 
-../libjbig/libjbig.a: ../libjbig/jbig.c ../libjbig/jbig.h \
+../libjbig/libjbig.so: ../libjbig/jbig.c ../libjbig/jbig.h \
 	../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
-	make -C ../libjbig libjbig.a
+	make -C ../libjbig libjbig.so
 
-../libjbig/libjbig85.a: ../libjbig/jbig85.c ../libjbig/jbig85.h \
+../libjbig/libjbig85.so: ../libjbig/jbig85.c ../libjbig/jbig85.h \
 	../libjbig/jbig_ar.c ../libjbig/jbig_ar.h
-	make -C ../libjbig libjbig85.a
+	make -C ../libjbig libjbig85.so
 
 analyze:
 	clang $(CPPFLAGS) --analyze *.c
openSUSE Build Service is sponsored by