From e994b20fed384f82a849a5254634c7809ec0f83a Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Fri, 18 May 2007 14:14:40 +0200 Subject: [PATCH] work some nifty hacks to work as if we had in tree building. Signed-off-by: Pierre Habouzit --- configure | 29 ++++++++++++++++ doconfig.sh | 1 - configure.ac => legacy/configure.ac | 0 tools/Makefile | 21 ------------ tools/cflags.mk | 53 ----------------------------- 5 files changed, 29 insertions(+), 75 deletions(-) create mode 100755 configure delete mode 100755 doconfig.sh rename configure.ac => legacy/configure.ac (100%) delete mode 100644 tools/Makefile delete mode 100644 tools/cflags.mk diff --git a/configure b/configure new file mode 100755 index 0000000..bc74eab --- /dev/null +++ b/configure @@ -0,0 +1,29 @@ +#! /bin/sh + +cd $(dirname $0) + +do_makefile() { + dir=$(dirname $1) + case $dir in + ./*/*/*) rel="../../..";; + ./*/*) rel="../.." ;; + ./*) rel=".." ;; + .) rel="." ;; + *) echo "cannot guess deepness of '$dir'"; exit 1 + esac + echo "all %: ; @\$(MAKE) -s -C $rel/build/$dir \$*" > $dir/Makefile + echo "-include \$(wildcard *.mk)" >> $dir/Makefile +} + +find . -name CMakeLists.txt | while read file; do do_makefile $file; done + +builddir=.build-$(hostname)-$(gcc -dumpmachine)-$(gcc -dumpversion) +rm -rf $builddir +mkdir -p $builddir +ln -s $builddir build + +if test $# -eq 0; then + cd $builddir && cmake -DWITH_NNTP=1 -DWITH_IDN=1 -DUSE_HCACHE=1 -DWITH_LIBESMTP=1 --with-prefix=/usr .. +else + cd $builddir && cmake "$@" .. +fi diff --git a/doconfig.sh b/doconfig.sh deleted file mode 100755 index f9ea5e6..0000000 --- a/doconfig.sh +++ /dev/null @@ -1 +0,0 @@ -cmake -D WITH_NNTP=1 -D WITH_IDN=1 -D USE_HCACHE=1 -D WITH_LIBESMTP=1 --with-prefix=/usr $(dirname $0) diff --git a/configure.ac b/legacy/configure.ac similarity index 100% rename from configure.ac rename to legacy/configure.ac diff --git a/tools/Makefile b/tools/Makefile deleted file mode 100644 index 680d15f..0000000 --- a/tools/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# automake sucks, badly -all: ../lib-mime/mime-token.h \ - ../lib-mime/mime.li \ - ../lib-lua/lua-token.h \ - ../lib-lua/madmutt.li \ - ../lib-sys/mutt_ssl.li \ - ../alias.li \ - ../crypt.li \ - ../buffy.li \ - ../charset.li - - -../%: ; $(MAKE) -C $(@D) $(@F) - -cpkg2c: cpkg2c.mll - ocamllex $< - $(if $(shell which ocamlopt),ocamlopt -o $@ str.cmxa,ocamlc -o $@ str.cma) $@.ml - @$(RM) cpkg2c.ml cpkg2c.c* cpkg2c.o - -distclean clean: - $(RM) cpkg2c diff --git a/tools/cflags.mk b/tools/cflags.mk deleted file mode 100644 index 3e790dd..0000000 --- a/tools/cflags.mk +++ /dev/null @@ -1,53 +0,0 @@ -ifneq ($(filter 4.%,$(shell gcc -dumpversion)),) - GCC4=1 -endif - -CFLAGS := -ggdb3 - -# Use pipes and not temp files. -CFLAGS += -pipe -# optimize even more -CFLAGS += -O2 -# let the type char be unsigned by default -CFLAGS += -funsigned-char -CFLAGS += -fstrict-aliasing -# turn on all common warnings -CFLAGS += -Wall -# turn on extra warnings -CFLAGS += $(if $(GCC4),-Wextra,-W) -# treat warnings as errors -#CFLAGS += -Werror -CFLAGS += -Wchar-subscripts -# warn about undefined preprocessor identifiers -CFLAGS += -Wundef -# warn about local variable shadowing another local variable -CFLAGS += -Wshadow -# warn about casting of pointers to increased alignment requirements -CFLAGS += -Wcast-align -# make string constants const -CFLAGS += -Wwrite-strings -# warn about implicit conversions with side effects -# fgets, calloc and friends take an int, not size_t... -#CFLAGS += -Wconversion -# warn about comparisons between signed and unsigned values -CFLAGS += -Wsign-compare -# warn about unused declared stuff -CFLAGS += -Wunused -CFLAGS += -Wno-unused-parameter -# warn about variable use before initialization -CFLAGS += -Wuninitialized -# warn about variables which are initialized with themselves -CFLAGS += -Winit-self -# warn about pointer arithmetic on void* and function pointers -CFLAGS += -Wpointer-arith -# warn about multiple declarations -CFLAGS += -Wredundant-decls -# warn if the format string is not a string literal -#CFLAGS += -Wformat-nonliteral -# do not warn about zero-length formats. -CFLAGS += -Wno-format-zero-length -# missing prototypes -CFLAGS += -Wmissing-prototypes -# warn about functions without format attribute that should have one -CFLAGS += -Wmissing-format-attribute - -- 2.20.1