Index: Makefile ================================================================== --- Makefile +++ Makefile @@ -1,21 +1,25 @@ -CC := gcc -CFLAGS := -I. -Wall -W -pthread -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE $(FILED_EXTRA_CFLAGS) -LDFLAGS := -pthread $(FILED_EXTRA_LDFLAGS) -LIBS := -lpthread $(FILED_EXTRA_LIBS) -MIMETYPES := /etc/httpd/mime.types -FILED_ADDITIONAL_DEPS = +FILED_EXTRA_CFLAGS := +FILED_EXTRA_LDLAGS := +FILED_EXTRA_LIBS := +FILED_ADDITIONAL_DEPS := + +CC = gcc +CFLAGS = -I. -Wall -W -pthread -O3 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE $(FILED_EXTRA_CFLAGS) +LDFLAGS = -pthread $(FILED_EXTRA_LDFLAGS) +LIBS = -lpthread $(FILED_EXTRA_LIBS) +MIMETYPES = /etc/httpd/mime.types PREFIX := /usr/local prefix := $(PREFIX) bindir = $(prefix)/bin mandir = $(prefix)/share/man srcdir = . vpath %.c $(srcdir) ifeq ($(FILED_DO_SECCOMP),1) -CFLAGS += -DFILED_DO_SECCOMP=1 +FILED_EXTRA_CFLAGS += -DFILED_DO_SECCOMP=1 FILED_ADDTIONAL_DEPS += filed.seccomp.h endif all: filed Index: build/build-precompiled ================================================================== --- build/build-precompiled +++ build/build-precompiled @@ -19,35 +19,79 @@ idx=-1 for tryCompilerDir in "$(readlink -f ~/root/cross-compilers)" "$(readlink -f ~/devel/build-cc/TMP)"; do setup_cc="${tryCompilerDir}/setup-cc" platforms=( - $("${setup_cc}" | tail -n +2) - ) - - for platform in "${platforms[@]}"; do - idx=$[$idx + 1] - ( - workdir="workdir-buildPrecompiled-${idx}-$(openssl rand 20 -hex)-platform-${platform}" || exit 1 - mkdir "${workdir}" || exit 1 - cd "${workdir}" || exit 1 - - eval $("${setup_cc}" "${platform}") - make_extra=( - -f ../Makefile - srcdir=.. - CC="${CC}" - ) - - case "${platform}" in - *-musl-*|*-musl) - make_extra=("${make_extra[@]}" FILED_EXTRA_LDFLAGS="-static") + $("${setup_cc}" 2>/dev/null | tail -n +2) + ) + + for platformBase in "${platforms[@]}"; do + for platformAdditional in "" ".seccomp" ".fakechroot" ".internaldirhandle"; do + case "${platformAdditional}" in + *.seccomp|*.seccomp.*) + # seccomp only works on i386/x86_64 for now + case "${platformBase}" in + i?86-*|x86_64-*) + ;; + *) + continue + ;; + esac ;; esac - make "${make_extra[@]}" > filed.log 2>&1 filed.log 2>&1