[sheepdog] [PATCH] This patch solves build problem at least on Gentoo[1] and solves ignoring some enviroment variables like CC. Patch solves - hardcoding compiler to gcc instead use CC enviroment variable - ignoring CFLAGS - build error caused by passing incorrect macro name to compiler - unconditionally striping library, now isa-l library isn't striped - executable stack - turn on more verbose building, now invocation of compiler isn't hidden
Marcin Mirosław
marcin at mejor.pl
Thu Dec 4 16:07:19 CET 2014
[1] - http://lists.wpkg.org/pipermail/sheepdog-users/2014-November/002807.html
Signed-off-by: Marcin Mirosław <marcin at mejor.pl>
---
lib/isa-l/make.inc | 22 ++++++++++------------
1 file changed, 10 insertions(+), 12 deletions(-)
diff --git a/lib/isa-l/make.inc b/lib/isa-l/make.inc
index 8a35220..e2a099f 100644
--- a/lib/isa-l/make.inc
+++ b/lib/isa-l/make.inc
@@ -38,7 +38,7 @@
# trace - get simulator trace
# clean - remove object files
-CC = gcc
+CC ?= gcc
AS = yasm
SIM = sde $(SIMFLAGS) --
@@ -78,10 +78,9 @@ endif
INCLUDE = $(patsubst %,-I%,$(subst :, ,$(VPATH)))
-CFLAGS = $(CFLAGS_$(arch)) $(CFLAGS_$(CC)) $(DEBUG) -O2 $(DEFINES) $(INCLUDE)
-ASFLAGS = $(ASFLAGS_$(arch)) $(ASFLAGS_$(CC)) $(DEBUG_$(AS)) $(DEFINES) $(INCLUDE)
+CFLAGS += $(DEFINES) $(INCLUDE)
+ASFLAGS += $(ASFLAGS_$(arch)) $(DEFINES) $(INCLUDE)
ARFLAGS = $(ARFLAGS_$(arch))
-DEFINES += $(addprefix -D , $D)
O = bin
lobj += $(patsubst %.c,%.o,$(patsubst %.asm,%.o,$(lsrc$(arch))))
@@ -137,15 +136,15 @@ msg = $(if $(DEBUG),DEBUG) $(patsubst 32,32-bit,$(arch)) $D
$(O)/%.o: %.asm
@echo " ---> Building $< $(msg)"
- @$(AS) $(ASFLAGS) -o $@ $<
+ $(AS) $(ASFLAGS) -o $@ $<
$(O)/%.o %.o: %.c
@echo " ---> Building $< $(msg)"
- @$(COMPILE.c) $(OUTPUT_OPTION) $<
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
$(all_tests):
@echo " ---> Building Test $@ $(msg)"
- @$(LINK.o) $(CFLAGS) $^ $(LDLIBS) -o $@
+ $(LINK.o) $(CFLAGS) $^ $(LDLIBS) -o $@
# Target to build lib files
@@ -162,8 +161,7 @@ endif
#lib $(lib_name): $(lib_name)(${objs})
$(lib_name): $(objs)
@echo " ---> Creating Lib $@"
- @$(AR) $(ARFLAGS) $^
- @$(STRIP_$(CC))
+ $(AR) $(ARFLAGS) $^
# Target for shared lib
@@ -174,7 +172,7 @@ shared_objs += $(addprefix $(O)/shared_ver_,$(patsubst %.c,%.o,$(filter %.c,$(l
$(O)/shared_ver_%.o: %.c
@echo " ---> Building shared $< $(msg)"
- @$(COMPILE.c) $(OUTPUT_OPTION) $<
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
ifneq ($(lib_debug),1)
$(so_lib_name): DEBUG_$(AS)=
@@ -186,7 +184,7 @@ $(shared_objs): CFLAGS += -fPIC
$(shared_objs) $(aobjs): | $(O)
$(so_lib_name): $(shared_objs) $(aobjs)
@echo " ---> Creating Shared Lib $@"
- @$(CC) $(CFLAGS) --shared $(LDFLAGS) -o $@ $^
+ $(CC) $(CFLAGS) --shared $(LDFLAGS) -Wl,-z,noexecstack -o $@ $^
# Collect performance data
@@ -201,7 +199,7 @@ perf_report:
clean:
@echo Cleaning up
- @$(RM) -r $(O) *.o *.a $(all_tests) $(lib_name) $(so_lib_name)
+ $(RM) -r $(O) *.o *.a $(all_tests) $(lib_name) $(so_lib_name)
--
2.0.4
More information about the sheepdog
mailing list