diff options
-rw-r--r-- | Makefile | 6 | ||||
-rwxr-xr-x | configure | 14 |
2 files changed, 19 insertions, 1 deletions
@@ -34,8 +34,12 @@ INSTALL := ./tools/install.sh TYPES := size uid gid pid time dev ino ALL_SRCS := $(wildcard src/lib*/*.c) -ALL_SOBJS := $(ALL_SRCS:%.c=%.o) ALL_DOBJS := $(ALL_SRCS:%.c=%.lo) +ifeq ($(strip $(DEFAULT_PIE)),) +ALL_SOBJS := $(ALL_SRCS:%.c=%.o) +else +ALL_SOBJS := $(ALL_DOBJS) +endif ALL_LIBS := $(SHARED_LIBS) $(STATIC_LIBS) BUILT_INCLUDES := \ src/include/$(package)/sysdeps.h \ @@ -377,6 +377,15 @@ if test -z "$target" ; then fi echo " ... $target" +defaultpie=false +echo "Checking whether we're building PIE..." +if $CC_AUTO $CPPFLAGS_AUTO $CPPFLAGS $CPPFLAGS_POST $CFLAGS_AUTO $CFLAGS $CFLAGS_POST -dM -E - < /dev/null | grep -F __PIE__ ; then + defaultpie=true + echo " ... yes" +else + echo " ... no" +fi + tryflag CFLAGS_AUTO -std=c99 tryflag CFLAGS -fomit-frame-pointer tryflag CFLAGS_AUTO -fno-exceptions @@ -586,6 +595,11 @@ if $shared ; then else echo "SHARED_LIBS :=" fi +if $defaultpie ; then + echo "DEFAULT_PIE := true" +else + echo "DEFAULT_PIE :=" +fi exec 1>&3 3>&- echo " ... done." |