Files
Don Porter 4997ca93b9 CI Improvements (#141)
Run CI in a Docker image

* Wait a second for lighttp and apache to fully initialize the socket

* Try to add a timeout for lmbench, which is prone to hanging (vfork)

* Set a timeout on gcc; one of the PRs is causing gcc hello to hang.  Also, to avoid interference, run apache test on 8001 by default.

* Update lmbench to ignore bin dir

* Do the faster tests first; fail earlier

* Get the IP addr properly for web server tests

* Some notes on flaky LTP tests to debug later.  Move a few that tend to heisenbugs off of the required list for now

* Try to detect vma list corruption during the debug dump, lest it be infinite.

* Temporarily disable the lmbench vfork test (Issue #142).

* Catch some failures faster.

* Catch failures in apachebench

* Take apache out of the Linux host/Debug build CI for now, as it hangs consistently.  Filed issue #144 to track.
2018-08-13 13:29:43 -04:00

57 lines
1.5 KiB
Makefile

SYS ?= $(shell gcc -dumpmachine)
export SYS
export DEBUG
GLIBC_SRC = glibc-2.19
SHIM_DIR = shim
BUILD_DIR = glibc-build
GLIBC_TARGET = $(addprefix $(BUILD_DIR)/,libc.so.6 ld-linux-x86-64.so.2 libpthread.so.0 libm.so.6 libdl.so.2 libutil.so.1 crt1.o crti.o crtn.o liblibos.so.1 libnss_dns.so.2 libresolv.so.2)
all: $(GLIBC_TARGET)
$(MAKE) -C $(SHIM_DIR) all
ifeq ($(SYS),x86_64-linux-gnu)
.INTERMEDIATE: $(BUILD_DIR)/Build.success
$(BUILD_DIR)/Build.success: $(BUILD_DIR)/Makefile
@echo "Building glibc, may take a while to finish. Warning messages may show up. If this process terminates with failures, see \"$(BUILD_DIR)/build.log\" for more information."
cd $(BUILD_DIR) && ($(MAKE) 2>&1 >> build.log)
# 2>&1 | tee -a build.log)
$(GLIBC_TARGET): $(BUILD_DIR)/Build.success
$(BUILD_DIR)/Makefile: $(addprefix $(GLIBC_SRC)/,configure elf/Versions nptl/Versions dlfcn/Versions)
ifeq ($(DEBUG),1)
./buildglibc.py --quiet --debug
else
./buildglibc.py --quiet
endif
ifeq ($(shell git ls-files $(GLIBC_SRC)/configure),)
$(GLIBC_SRC)/configure: $(GLIBC_SRC).patch
[ -f $(GLIBC_SRC).tar.gz ] || \
wget http://ftp.gnu.org/gnu/glibc/$(GLIBC_SRC).tar.gz
tar -xzf $(GLIBC_SRC).tar.gz
cd $(GLIBC_SRC) && patch -p1 < ../$(GLIBC_SRC).patch
endif
.PHONY: pack
pack: $(GLIBC_TARGET)
@../Scripts/pack_binaries.sh glibc $^
$(MAKE) -C $(SHIM_DIR) pack
clean:
$(MAKE) -C $(SHIM_DIR) clean
rm -rf $(BUILD_DIR)
else
$(GLIBC_TARGET): .packed/glibc.tar.gz
tar -xmozf $< $@
clean:
rm -rf $(BUILD_DIR)
endif