diff options
| author | Wilmer van der Gaast <wilmer@gaast.net> | 2012-09-15 16:59:17 +0100 | 
|---|---|---|
| committer | Wilmer van der Gaast <wilmer@gaast.net> | 2012-09-15 16:59:17 +0100 | 
| commit | 7281ad13e9dadb1369590617eb06265b084a1726 (patch) | |
| tree | 09a86f08d1d36f0b984cd8a370eb6a93ff3f4fae | |
| parent | 68709f5618175d0ecb9b2b160cbb2ce2d4ddc7bc (diff) | |
Allow building position-independent executables. #981, patch from brainsmoke.
| -rw-r--r-- | Makefile | 4 | ||||
| -rwxr-xr-x | configure | 15 | ||||
| -rw-r--r-- | lib/Makefile | 2 | ||||
| -rw-r--r-- | protocols/Makefile | 2 | ||||
| -rw-r--r-- | protocols/jabber/Makefile | 2 | ||||
| -rw-r--r-- | protocols/msn/Makefile | 2 | ||||
| -rw-r--r-- | protocols/oscar/Makefile | 2 | ||||
| -rw-r--r-- | protocols/purple/Makefile | 2 | ||||
| -rw-r--r-- | protocols/twitter/Makefile | 2 | ||||
| -rw-r--r-- | protocols/yahoo/Makefile | 2 | 
10 files changed, 25 insertions, 10 deletions
| @@ -170,13 +170,13 @@ $(SKYPE_PI): $(_SRCDIR_)protocols/skype/skype.c  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  $(objects): Makefile Makefile.settings config.h  $(OUTFILE): $(objects) $(subdirs)  	@echo '*' Linking $(OUTFILE) -	@$(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LFLAGS) $(EFLAGS) +	@$(CC) $(objects) $(subdirobjs) -o $(OUTFILE) $(LDFLAGS_BITLBEE) $(LFLAGS) $(EFLAGS)  ifndef DEBUG  	@echo '*' Stripping $(OUTFILE)  	@-$(STRIP) $(OUTFILE) @@ -41,6 +41,8 @@ events=glib  ldap=0  ssl=auto +pie=1 +  arch=`uname -s`  cpu=`uname -m` @@ -79,6 +81,7 @@ Option		Description				Default  --debug=0/1	Disable/enable debugging		$debug  --strip=0/1	Disable/enable binary stripping		$strip +--pie=0/1       Build position independent executable   $pie  --gcov=0/1	Disable/enable test coverage reporting	$gcov  --plugins=0/1	Disable/enable plugins support		$plugins  --otr=0/1/auto/plugin @@ -90,6 +93,7 @@ Option		Description				Default  --ssl=...	SSL library to use (gnutls, nss, openssl, bogus, auto)  							$ssl +  --target=...	Cross compilation target 		same as host  EOF  		exit; @@ -199,6 +203,11 @@ else  	[ -z "$CFLAGS" ] && CFLAGS="-O2 -fno-strict-aliasing"  fi +if [ "$pie" = "1" ]; then +	echo 'CFLAGS_BITLBEE=-fPIE' >> Makefile.settings +	echo 'LDFLAGS_BITLBEE=-pie' >> Makefile.settings +fi +  echo CFLAGS=$CFLAGS $CPPFLAGS >> Makefile.settings  echo CFLAGS+=-I${srcdir} -I${srcdir}/lib -I${srcdir}/protocols -I. >> Makefile.settings @@ -747,6 +756,12 @@ else  	echo '  Debugging disabled.'  fi +if [ "$pie" = "1" ]; then +	echo '  Building PIE executable' +else +	echo '  Building non-PIE executable' +fi +  if [ "$strip" = "1" ]; then  	echo '  Binary stripping enabled.'  else diff --git a/lib/Makefile b/lib/Makefile index f56b1fe5..324ab646 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -41,6 +41,6 @@ $(objects): ../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  -include .depend/*.d diff --git a/protocols/Makefile b/protocols/Makefile index e93f3b23..b4565ab6 100644 --- a/protocols/Makefile +++ b/protocols/Makefile @@ -54,6 +54,6 @@ $(objects): ../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  -include .depend/*.d diff --git a/protocols/jabber/Makefile b/protocols/jabber/Makefile index 20bc1259..b5c3b107 100644 --- a/protocols/jabber/Makefile +++ b/protocols/jabber/Makefile @@ -37,7 +37,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  jabber_mod.o: $(objects)  	@echo '*' Linking jabber_mod.o diff --git a/protocols/msn/Makefile b/protocols/msn/Makefile index 49b8d597..417bab78 100644 --- a/protocols/msn/Makefile +++ b/protocols/msn/Makefile @@ -37,7 +37,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  msn_mod.o: $(objects)  	@echo '*' Linking msn_mod.o diff --git a/protocols/oscar/Makefile b/protocols/oscar/Makefile index b26484ec..8088bdb6 100644 --- a/protocols/oscar/Makefile +++ b/protocols/oscar/Makefile @@ -38,7 +38,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  oscar_mod.o: $(objects)  	@echo '*' Linking oscar_mod.o diff --git a/protocols/purple/Makefile b/protocols/purple/Makefile index e02641c1..562b4db1 100644 --- a/protocols/purple/Makefile +++ b/protocols/purple/Makefile @@ -38,7 +38,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  purple_mod.o: $(objects)  	@echo '*' Linking purple_mod.o diff --git a/protocols/twitter/Makefile b/protocols/twitter/Makefile index a1ad2301..ce87090f 100644 --- a/protocols/twitter/Makefile +++ b/protocols/twitter/Makefile @@ -37,7 +37,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  twitter_mod.o: $(objects)  	@echo '*' Linking twitter_mod.o diff --git a/protocols/yahoo/Makefile b/protocols/yahoo/Makefile index d756d1e7..b501e030 100644 --- a/protocols/yahoo/Makefile +++ b/protocols/yahoo/Makefile @@ -38,7 +38,7 @@ $(objects): ../../Makefile.settings Makefile  $(objects): %.o: $(_SRCDIR_)%.c  	@echo '*' Compiling $< -	@$(CC) -c $(CFLAGS) $< -o $@ +	@$(CC) -c $(CFLAGS) $(CFLAGS_BITLBEE) $< -o $@  yahoo_mod.o: $(objects)  	@echo '*' Linking yahoo_mod.o | 
