work some nifty hacks to work as if we had in tree building.
authorPierre Habouzit <madcoder@debian.org>
Fri, 18 May 2007 12:14:40 +0000 (14:14 +0200)
committerPierre Habouzit <madcoder@debian.org>
Fri, 18 May 2007 12:14:40 +0000 (14:14 +0200)
Signed-off-by: Pierre Habouzit <madcoder@debian.org>
configure [new file with mode: 0755]
doconfig.sh [deleted file]
legacy/configure.ac [moved from configure.ac with 100% similarity]
tools/Makefile [deleted file]
tools/cflags.mk [deleted file]

diff --git a/configure b/configure
new file mode 100755 (executable)
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 (executable)
index f9ea5e6..0000000
+++ /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)
similarity index 100%
rename from configure.ac
rename to legacy/configure.ac
diff --git a/tools/Makefile b/tools/Makefile
deleted file mode 100644 (file)
index 680d15f..0000000
+++ /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 (file)
index 3e790dd..0000000
+++ /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
-