File 0001-Build-shared-and-static-libraries.patch of Package tcc

diff --git a/Makefile b/Makefile
index 13260d07..2a7175d4 100644
--- a/Makefile
+++ b/Makefile
@@ -16,7 +16,8 @@ ifeq (-$(GCC_MAJOR)-$(findstring $(GCC_MINOR),56789)-,-4--)
  CFLAGS += -D_FORTIFY_SOURCE=0
 endif
 
-LIBTCC = libtcc.a
+LIBTCCA = libtcc.a
+LIBTCCS = libtcc.so.1.0
 LIBTCC1 = libtcc1.a
 LINK_LIBTCC =
 LIBS =
@@ -47,32 +48,12 @@ else
   LIBS+=-lpthread
  endif
  # make libtcc as static or dynamic library?
- ifeq ($(CONFIG_static),no)
   LIBTCC=libtcc$(DLLSUF)
   export LD_LIBRARY_PATH := $(CURDIR)/$(TOP)
   ifneq ($(CONFIG_rpath),no)
-    ifndef CONFIG_OSX
-      LINK_LIBTCC += -Wl,-rpath,"$(libdir)"
-    else
-      # macOS doesn't support env-vars libdir out of the box - which we need for
-      # `make test' when libtcc.dylib is used (configure --disable-static), so
-      # we bake a relative path into the binary. $libdir is used after install.
-      LINK_LIBTCC += -Wl,-rpath,"@executable_path/$(TOP)" -Wl,-rpath,"$(libdir)"
-      # -current/compatibility_version must not contain letters.
-      MACOS_DYLIB_VERSION := $(firstword $(subst rc, ,$(VERSION)))
-      DYLIBVER += -current_version $(MACOS_DYLIB_VERSION)
-      DYLIBVER += -compatibility_version $(MACOS_DYLIB_VERSION)
-    endif
+    LINK_LIBTCC += -Wl,-rpath,"$(libdir)"
   endif
- endif
  NATIVE_TARGET = $(ARCH)
- ifdef CONFIG_OSX
-  NATIVE_TARGET = $(ARCH)-osx
-  ifneq ($(CC_NAME),tcc)
-    LDFLAGS += -flat_namespace -undefined warning
-  endif
-  export MACOSX_DEPLOYMENT_TARGET := 10.6
- endif
  -LTCC = -ltcc
 endif
 
@@ -154,7 +135,7 @@ ifeq ($(INCLUDED),no)
 # running top Makefile
 
 PROGS = tcc$(EXESUF)
-TCCLIBS = $(LIBTCCDEF) $(LIBTCC) $(LIBTCC1)
+TCCLIBS = $(LIBTCCDEF) $(LIBTCCA) $(LIBTCCS) $(LIBTCC1)
 TCCDOCS = tcc.1 tcc-doc.html tcc-doc.info
 
 all: $(PROGS) $(TCCLIBS) $(TCCDOCS)
@@ -287,7 +268,7 @@ $(X)tcc.o : tcctools.c
 $(X)tcc.o : DEFINES += $(DEF_GITHASH)
 
 # Host Tiny C Compiler
-tcc$(EXESUF): tcc.o $(LIBTCC)
+tcc$(EXESUF): tcc.o $(LIBTCCS)
 	$S$(CC) -o $@ $^ $(LIBS) $(LDFLAGS) $(LINK_LIBTCC)
 
 # Cross Tiny C Compilers
@@ -308,23 +289,23 @@ tcc_p$(EXESUF): $($T_FILES)
 	$S$(CC) -o $@ $< $(DEFINES) $(CFLAGS_P) $(LIBS_P) $(LDFLAGS_P)
 
 # static libtcc library
-libtcc.a: $(LIBTCC_OBJ)
+$(LIBTCCA): $(LIBTCC_OBJ)
 	$S$(AR) rcs $@ $^
 
 # dynamic libtcc library
-libtcc.so: $(LIBTCC_OBJ)
+$(LIBTCCS): $(LIBTCC_OBJ)
 	$S$(CC) -shared -Wl,-soname,$@ -o $@ $^ $(LIBS) $(LDFLAGS)
 
-libtcc.so: CFLAGS+=-fPIC
-libtcc.so: LDFLAGS+=-fPIC
+$(LIBTCCS): CFLAGS+=-fPIC
+$(LIBTCCS): LDFLAGS+=-fPIC
 
 # OSX dynamic libtcc library
 libtcc.dylib: $(LIBTCC_OBJ)
-	$S$(CC) -dynamiclib $(DYLIBVER) -install_name @rpath/$@ -o $@ $^ $(LDFLAGS) 
+	$S$(CC) -dynamiclib $(DYLIBVER) -install_name @rpath/$@ -o $@ $^ $(LDFLAGS)
 
 # OSX libtcc.dylib (without rpath/ prefix)
 libtcc.osx: $(LIBTCC_OBJ)
-	$S$(CC) -shared -install_name libtcc.dylib -o libtcc.dylib $^ $(LDFLAGS) 
+	$S$(CC) -shared -install_name libtcc.dylib -o libtcc.dylib $^ $(LDFLAGS)
 
 # windows dynamic libtcc library
 libtcc.dll : $(LIBTCC_OBJ)
@@ -395,7 +376,13 @@ install-unx:
 	$(call IBw,$(PROGS) *-tcc,"$(bindir)")
 	$(call IFw,$(LIBTCC1) $(EXTRA_O) $(LIBTCC1_U),"$(tccdir)")
 	$(call IF,$(TOPSRC)/include/*.h $(TOPSRC)/tcclib.h,"$(tccdir)/include")
-	$(call $(if $(findstring .so,$(LIBTCC)),IBw,IFw),$(LIBTCC),"$(libdir)")
+	#$(call $(if $(findstring .so,$(LIBTCC)),IBw,IFw),$(LIBTCC),"$(libdir)")
+	$(call IBw,$(LIBTCCS),"$(libdir)")
+	ln -sf "$(ln_libdir)/$(LIBTCCS)" "$(libdir)/libtcc.so.1"
+	ln -sf "$(ln_libdir)/$(LIBTCCS)" "$(libdir)/libtcc.so"
+ifneq ($(CONFIG_static),no)
+	$(call IFw,$(LIBTCCA),"$(libdir)")
+endif
 	$(call IF,$(TOPSRC)/libtcc.h,"$(includedir)")
 	$(call IFw,tcc.1,"$(mandir)/man1")
 	$(call IFw,tcc-doc.info,"$(infodir)")
@@ -409,43 +396,12 @@ endif
 # uninstall
 uninstall-unx:
 	@rm -fv $(addprefix "$(bindir)/",$(PROGS) $(PROGS_CROSS))
-	@rm -fv $(addprefix "$(libdir)/", libtcc*.a libtcc*.so libtcc.dylib,$P)
+	@rm -fv $(addprefix "$(libdir)/", libtcc*.a libtcc*.so* libtcc.dylib,$P)
 	@rm -fv $(addprefix "$(includedir)/", libtcc.h)
 	@rm -fv "$(mandir)/man1/tcc.1" "$(infodir)/tcc-doc.info"
 	@rm -fv "$(docdir)/tcc-doc.html"
 	@rm -frv "$(tccdir)"
 
-# install progs & libs on windows
-install-win:
-	$(call BINCHECK)
-	$(call IBw,$(PROGS) *-tcc.exe libtcc.dll,"$(bindir)")
-	$(call IF,$(TOPSRC)/win32/lib/*.def,"$(tccdir)/lib")
-	$(call IFw,libtcc1.a $(EXTRA_O) $(LIBTCC1_W),"$(tccdir)/lib")
-	$(call IF,$(TOPSRC)/include/*.h $(TOPSRC)/tcclib.h,"$(tccdir)/include")
-	$(call IR,$(TOPSRC)/win32/include,"$(tccdir)/include")
-	$(call IR,$(TOPSRC)/win32/examples,"$(tccdir)/examples")
-	$(call IF,$(TOPSRC)/tests/libtcc_test.c,"$(tccdir)/examples")
-	$(call IFw,$(TOPSRC)/libtcc.h libtcc.def libtcc.a,"$(libdir)")
-	$(call IFw,$(TOPSRC)/win32/tcc-win32.txt tcc-doc.html,"$(docdir)")
-ifneq "$(wildcard $(LIBTCC1_U))" ""
-	$(call IFw,$(LIBTCC1_U),"$(tccdir)/lib")
-	$(call IF,$(TOPSRC)/include/*.h $(TOPSRC)/tcclib.h,"$(tccdir)/lib/include")
-endif
-
-# uninstall on windows
-uninstall-win:
-	@rm -fv $(foreach P,libtcc*.dll $(PROGS) *-tcc.exe,"$(bindir)"/$P)
-	@rm -fr $(foreach P,doc examples include lib libtcc,"$(tccdir)"/$P/*)
-	@rm -frv $(foreach P,doc examples include lib libtcc,"$(tccdir)"/$P)
-
-# the msys-git shell works to configure && make except it does not have install
-ifeq ($(OS),Windows_NT)
-ifeq ($(shell $(call WHICH,install) || echo no),no)
-INSTALL = cp
-INSTALLBIN = cp
-endif
-endif
-
 # --------------------------------------------------------------------------
 # other stuff
 
diff --git a/configure b/configure
index e7735a4e..ef1f9671 100755
--- a/configure
+++ b/configure
@@ -537,6 +537,7 @@ prefix=$prefix
 bindir=\$(DESTDIR)$bindir
 tccdir=\$(DESTDIR)$tccdir
 libdir=\$(DESTDIR)$libdir
+ln_libdir=$libdir
 includedir=\$(DESTDIR)$includedir
 mandir=\$(DESTDIR)$mandir
 infodir=\$(DESTDIR)$infodir
openSUSE Build Service is sponsored by