skalibs

Mirror/fork of https://skarnet.org/software/skalibs/
git clone https://ccx.te2000.cz/git/skalibs
Log | Files | Refs | README | LICENSE

commit c0bdcba56e12723440598903fae42b2a60b1b573
parent 419f58c305c1fabe1955d743d450808038a208cb
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Sun, 29 Oct 2017 15:19:58 +0000

 Add pie test, don't double build on pie

Diffstat:
MMakefile | 6+++++-
Mconfigure | 14++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile @@ -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 \ diff --git a/configure b/configure @@ -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."