From fb30a834a797c7e1a924f46d6746f3c230298e1d Mon Sep 17 00:00:00 2001 From: Adam Hamsik Date: Mon, 15 Oct 2012 11:03:59 +0200 Subject: [PATCH] Add OS specific LD, C flags this enables use to use -pthread and -lpthread for different platforms. --- Makefile | 12 ++++++------ configure | 15 +++++++++++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 763112d..486bc43 100644 --- a/Makefile +++ b/Makefile @@ -17,9 +17,9 @@ SRCS = $(sort $(wildcard src/*.c)) OBJS = $(SRCS:.c=.o) LOBJS = src/core.o src/common.o src/libproxychains.o -CCFLAGS = -Wall -O2 -g -std=c99 -D_GNU_SOURCE -pipe -DTHREAD_SAFE -Werror -LDFLAGS = -shared -fPIC -lpthread -INC = +CCFLAGS = -Wall -O2 -g -std=c99 -D_GNU_SOURCE -pipe -DTHREAD_SAFE -Werror +LDFLAGS = -shared -fPIC +INC = PIC = -fPIC AR = $(CROSS_COMPILE)ar RANLIB = $(CROSS_COMPILE)ranlib @@ -37,9 +37,9 @@ ALL_LIBS = $(SHARED_LIBS) PXCHAINS = proxychains4 ALL_TOOLS = $(PXCHAINS) -CCFLAGS+=$(USER_CFLAGS) $(MAC_CFLAGS) -LDFLAGS+=$(USER_LDFLAGS) $(MAC_LDFLAGS) -CXXFLAGS+=$(CCFLAGS) $(USER_CFLAGS) $(MAC_CFLAGS) +CCFLAGS+=$(USER_CFLAGS) $(OS_CFLAGS) +LDFLAGS+=$(USER_LDFLAGS) $(OS_LDFLAGS) +CXXFLAGS+=$(CCFLAGS) $(USER_CFLAGS) $(OS_CFLAGS) CFLAGS_MAIN=-DLIB_DIR=\"$(libdir)\" -DINSTALL_PREFIX=\"$(prefix)\" -DDLL_NAME=\"$(LDSO_PATHNAME)\" -DSYSCONFDIR=\"$(confdir)\" all: $(ALL_LIBS) $(ALL_TOOLS) diff --git a/configure b/configure index 48bec41..ec532d8 100755 --- a/configure +++ b/configure @@ -86,25 +86,32 @@ fi echo CC?=$CC>config.mak [ -z "$CPPFLAGS" ] || echo CPPFLAGS?=$CPPFLAGS>>config.mak [ -z "$CFLAGS" ] || echo USER_CFLAGS?=$CFLAGS>>config.mak +[ -z "$LDFLAGS" ] || echo USER_LDFLAGS?=$LDFLAGS>>config.mak + echo prefix=$prefix>>config.mak echo exec_prefix=$exec_prefix>>config.mak echo bindir=$bindir>>config.mak echo libdir=$libdir>>config.mak echo includedir=$includedir>>config.mak echo sysconfdir=$sysconfdir>>config.mak + if ismac ; then echo LDSO_SUFFIX=dylib>>config.mak - echo MAC_CFLAGS+=-DIS_MAC=1 -arch x86_64 -arch i386 >>config.mak - echo MAC_LDFLAGS+=-arch x86_64 -arch i386 >>config.mak - echo LD_SET_SONAME=-ldl -Wl,-install_name,>>config.mak + echo OS_CFLAGS+=-DIS_MAC=1 -arch x86_64 -arch i386 >>config.mak + echo OS_LDFLAGS+=-arch x86_64 -arch i386 -lpthread -ldl>>config.mak + echo LD_SET_SONAME=-Wl,-install_name,>>config.mak echo INSTALL_FLAGS=-m>>config.mak fi if islinux ; then - echo LD_SET_SONAME=-ldl -Wl,-install_name, >>config.mak + #echo OS_CFLAGS= + echo OS_LDFLAGS=-pthread -ldl >>config.mak + echo LD_SET_SONAME=-Wl,--no-as-needed >>config.mak fi if isbsd ; then + #echo OS_LDFLAGS= + #echo OS_CFLAGS echo INSTALL_FLAGS=-m>>config.mak echo LD_SET_SONAME=-Wl,-rpath,$libdir -install_name,>>config.mak fi