Re: [PATCH] Fix linking / LDFLAGS order of some contrib modules in 1.8

2017-12-02 Thread Willy Tarreau
Hi Christian,

On Thu, Nov 30, 2017 at 10:18:55AM +0100, Christian Ruppert wrote:
> Hi Willy,
> 
> please see the attached patch that fixes linking / LDFLAGS order of some
> contrib modules which is related to e.g. linking with -Wl,--as-needed.

It definitely is valid, I've merged it after adding a minimal commit
message explaining the problem.

Thanks,
Willy



[PATCH] Fix linking / LDFLAGS order of some contrib modules in 1.8

2017-11-30 Thread Christian Ruppert

Hi Willy,

please see the attached patch that fixes linking / LDFLAGS order of some 
contrib modules which is related to e.g. linking with -Wl,--as-needed.


--
Regards,
Christian RuppertFrom c702537864f7e062d18f4ccce3e29d14d4ccf05f Mon Sep 17 00:00:00 2001
From: Christian Ruppert 
Date: Thu, 30 Nov 2017 10:11:36 +0100
Subject: [PATCH] Fix LDFLAGS vs. LIBS re linking order

Signed-off-by: Christian Ruppert 
---
 contrib/mod_defender/Makefile | 5 ++---
 contrib/modsecurity/Makefile  | 5 ++---
 contrib/spoa_example/Makefile | 5 ++---
 3 files changed, 6 insertions(+), 9 deletions(-)

diff --git a/contrib/mod_defender/Makefile b/contrib/mod_defender/Makefile
index ac17774d..efc7d7f6 100644
--- a/contrib/mod_defender/Makefile
+++ b/contrib/mod_defender/Makefile
@@ -28,9 +28,8 @@ EVENT_INC := /usr/include
 endif
 
 CFLAGS  += -g -Wall -pthread
-LDFLAGS += -lpthread  $(EVENT_LIB) -levent_pthreads -lapr-1 -laprutil-1 -lstdc++ -lm
 INCS += -I../../include -I../../ebtree -I$(MOD_DEFENDER_SRC) -I$(APACHE2_INC) -I$(APR_INC) -I$(EVENT_INC)
-LIBS =
+LIBS += -lpthread  $(EVENT_LIB) -levent_pthreads -lapr-1 -laprutil-1 -lstdc++ -lm
 
 CXXFLAGS = -g -std=gnu++11
 CXXINCS += -I$(MOD_DEFENDER_SRC) -I$(MOD_DEFENDER_SRC)/deps -I$(APACHE2_INC) -I$(APR_INC)
@@ -43,7 +42,7 @@ CXXSRCS = $(wildcard $(MOD_DEFENDER_SRC)/*.cpp)
 CXXOBJS = $(patsubst %.cpp, %.o, $(CXXSRCS))
 
 defender: $(OBJS) $(CXXOBJS)
-	$(LD) -o $@ $^ $(LDFLAGS) $(LIBS)
+	$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
 
 install: defender
 	install defender $(DESTDIR)$(BINDIR)
diff --git a/contrib/modsecurity/Makefile b/contrib/modsecurity/Makefile
index bb918c30..aa0d6e38 100644
--- a/contrib/modsecurity/Makefile
+++ b/contrib/modsecurity/Makefile
@@ -34,14 +34,13 @@ EVENT_INC := /usr/include
 endif
 
 CFLAGS  += -g -Wall -pthread
-LDFLAGS += -lpthread  $(EVENT_LIB) -levent_pthreads -lcurl -lapr-1 -laprutil-1 -lxml2 -lpcre -lyajl
 INCS += -I../../include -I../../ebtree -I$(MODSEC_INC) -I$(APACHE2_INC) -I$(APR_INC) -I$(LIBXML_INC) -I$(EVENT_INC)
-LIBS =
+LIBS += -lpthread  $(EVENT_LIB) -levent_pthreads -lcurl -lapr-1 -laprutil-1 -lxml2 -lpcre -lyajl
 
 OBJS = spoa.o modsec_wrapper.o
 
 modsecurity: $(OBJS)
-	$(LD) $(LDFLAGS) $(LIBS) -o $@ $^ $(MODSEC_LIB)/standalone.a
+	$(LD) $(LDFLAGS) -o $@ $^ $(MODSEC_LIB)/standalone.a $(LIBS)
 
 install: modsecurity
 	install modsecurity $(DESTDIR)$(BINDIR)
diff --git a/contrib/spoa_example/Makefile b/contrib/spoa_example/Makefile
index d04a01e1..c44c2b87 100644
--- a/contrib/spoa_example/Makefile
+++ b/contrib/spoa_example/Makefile
@@ -6,15 +6,14 @@ CC = gcc
 LD = $(CC)
 
 CFLAGS  = -g -O2 -Wall -Werror -pthread
-LDFLAGS = -lpthread -levent -levent_pthreads
 INCS += -I../../ebtree -I./include
-LIBS =
+LIBS = -lpthread -levent -levent_pthreads
 
 OBJS = spoa.o
 
 
 spoa: $(OBJS)
-	$(LD) $(LDFLAGS) $(LIBS) -o $@ $^
+	$(LD) $(LDFLAGS) -o $@ $^ $(LIBS)
 
 install: spoa
 	install spoa $(DESTDIR)$(BINDIR)
-- 
2.13.6