Description: fix (under)linking issues with ld --as-needed
Author: Logan Rosen <logan@ubuntu.com>
Bug-Ubuntu: https://launchpad.net/bugs/1578222
Forwarded: no
Last-Update: 2016-05-09
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
--- a/LibApplications/makefile.wm5
+++ b/LibApplications/makefile.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L$(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Applications.so.$(SOVER) -lWm5Core -lWm5Mathematics -lWm5Imagics -lWm5Graphics -lWm5Physics -o
+ARFLAGS := $(LDFLAGS) -L$(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Applications.so.$(SOVER) -o
+LIBS := -lWm5Core -lWm5Mathematics -lWm5Imagics -lWm5Graphics -lWm5Physics -lX11
 LIB := $(LIBPATH)/libWm5Applications.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -44,7 +45,7 @@
 OBJ := $(SRC:%.cpp=$(OBJDIR)/%.o)
 
 build : $(OBJ) $(OBJDIR)/Wm5GlxApplication.o
-	$(AR) $(ARFLAGS) $(LIB) $(OBJ) $(OBJDIR)/Wm5GlxApplication.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJ) $(OBJDIR)/Wm5GlxApplication.o $(LIBS)
 	cp -fp $(INC) $(INCDIR) 
 	ln -sf -T libWm5Applications.so.$(RELVER) ../SDK/Library/$(OBJDIR)/libWm5Applications.so
 	ln -sf -T libWm5Applications.so.$(RELVER) ../SDK/Library/$(OBJDIR)/libWm5Applications.so.$(SOVER)
--- a/LibGraphics/makeprj.wm5
+++ b/LibGraphics/makeprj.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Graphics.so.$(SOVER) -lWm5Core -lWm5Mathematics -o
+ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Graphics.so.$(SOVER) -o
+LIBS := -lWm5Core -lWm5Mathematics -lGL
 LIB := $(LIBPATH)/libWm5Graphics.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -50,7 +51,7 @@
 OBJ := $(SRC:%.cpp=$(OBJDIR)/%.o)
 
 build : $(OBJ)
-	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o $(LIBS)
 	cp -fp $(INC) $(INCDIR)
 
 $(OBJDIR)/%.o : %.cpp
--- a/LibImagics/makeprj.wm5
+++ b/LibImagics/makeprj.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Imagics.so.$(SOVER) -lWm5Core -lWm5Mathematics -o
+ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Imagics.so.$(SOVER) -o
+LIBS := -lWm5Core -lWm5Mathematics
 LIB := $(LIBPATH)/libWm5Imagics.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -42,7 +43,7 @@
 OBJ := $(SRC:%.cpp=$(OBJDIR)/%.o)
 
 build : $(OBJ)
-	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o $(LIBS)
 	cp -fp $(INC) $(INCDIR)
 
 $(OBJDIR)/%.o : %.cpp
--- a/LibMathematics/makeprj.wm5
+++ b/LibMathematics/makeprj.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Mathematics.so.$(SOVER) -lWm5Core -o
+ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Mathematics.so.$(SOVER) -o
+LIBS := -lWm5Core
 LIB := $(LIBPATH)/libWm5Mathematics.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -52,7 +53,7 @@
 OBJ := $(SRC:%.cpp=$(OBJDIR)/%.o)
 
 build : $(OBJ)
-	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o $(LIBS)
 	cp -fp $(INC) $(INCDIR)
 
 $(OBJDIR)/%.o : %.cpp
--- a/LibCore/makeprj.wm5
+++ b/LibCore/makeprj.wm5
@@ -14,7 +14,7 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -shared -fPIC -Wl,-soname,libWm5Core.so.$(SOVER) -o
+ARFLAGS := $(LDFLAGS) -shared -fPIC -Wl,-soname,libWm5Core.so.$(SOVER) -pthread -o
 LIB := ../../SDK/Library/$(CFG)/libWm5Core.so.$(RELVER)
 else
 AR := /usr/bin/ar
--- a/LibPhysics/makeprj.wm5
+++ b/LibPhysics/makeprj.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Physics.so.$(SOVER) -lWm5Core -lWm5Mathematics -o
+ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Physics.so.$(SOVER) -o
+LIBS := -lWm5Core -lWm5Mathematics
 LIB := $(LIBPATH)/libWm5Physics.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -42,7 +43,7 @@
 OBJ := $(SRC:%.cpp=$(OBJDIR)/%.o)
 
 build : $(OBJ)
-	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o $(LIBS)
 	cp -fp $(INC) $(INCDIR)
 
 $(OBJDIR)/%.o : %.cpp
--- a/LibGraphics/Renderers/GlxRenderer/makerend.wm5
+++ b/LibGraphics/Renderers/GlxRenderer/makerend.wm5
@@ -16,7 +16,8 @@
 RELVER = $(SOVER).13
 CFLAGS += -fPIC
 AR := $(CC)
-ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Graphics.so.$(SOVER) -lWm5Core -lWm5Mathematics -o
+ARFLAGS := $(LDFLAGS) -L $(LIBPATH) -shared -fPIC -Wl,-soname,libWm5Graphics.so.$(SOVER) -o
+LIBS := -lWm5Core -lWm5Mathematics -lGL
 LIB := $(LIBPATH)/libWm5Graphics.so.$(RELVER)
 else
 AR := /usr/bin/ar
@@ -56,7 +57,7 @@
 OBJ := $(RENOBJ) $(OGLOBJ) $(GLXOBJ)
 
 build : $(OBJ)
-	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o
+	$(AR) $(ARFLAGS) $(LIB) $(OBJDIR)/*.o $(LIBS)
 	cp -fp $(INC) $(INCDIR)
 
 $(OBJDIR)/Wm5Renderer.o : ../Wm5Renderer.cpp
