aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Makefile4
-rwxr-xr-xconfigure15
-rw-r--r--lib/Makefile2
-rw-r--r--protocols/Makefile2
-rw-r--r--protocols/jabber/Makefile2
-rw-r--r--protocols/msn/Makefile2
-rw-r--r--protocols/oscar/Makefile2
-rw-r--r--protocols/purple/Makefile2
-rw-r--r--protocols/twitter/Makefile2
-rw-r--r--protocols/yahoo/Makefile2
10 files changed, 25 insertions, 10 deletions
diff --git a/Makefile b/Makefile
index a32f4431..97113ea9 100644
--- a/Makefile
+++ b/Makefile
@@ -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)
diff --git a/configure b/configure
index a1bcda49..c1d64dd1 100755
--- a/configure
+++ b/configure
@@ -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