jaromail

a commandline tool to easily and privately handle your e-mail
git clone git://parazyd.org/jaromail.git
Log | Files | Refs | Submodules | README

commit efd245145048d0470351067e54fc4509f1494809
parent dc2983ebfc32a308dcadcdd4deb598766264c42d
Author: Jaromil <jaromil@dyne.org>
Date:   Tue, 11 Sep 2012 03:34:58 +0200

fixes to osx build

Diffstat:
Mbuild/build-osx.sh | 140++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------
Mbuild/cc-static.zsh | 6+++---
2 files changed, 91 insertions(+), 55 deletions(-)

diff --git a/build/build-osx.sh b/build/build-osx.sh @@ -16,14 +16,24 @@ builddir=`pwd` -cc="${builddir}/clang-static-osx.sh" +cc="${builddir}/cc-static.zsh" + #cflags="-arch x86_64 -arch i386 -O2" +cflags="-I/opt/local/include -I/usr/include" +ldflags="-L/opt/local/lib -L/usr/lib" + + +target=all +{ test -z $1 } || { target="$1" } +# no other distro supported atm pushd .. mkdir -p build/osx/dylib +root=`pwd` + copydeps() { # copy a binary and all dependencies until 3rd level print "`basename $1`" @@ -81,66 +91,92 @@ if ! [ -r /opt/local/bin/port ]; then return 1 fi - +{ test "$target" = "abquery" } || { + test "$target" = "all" } && { # build apple addressbook query -print "Address book query" -pushd src/ABQuery -xcodebuild > /dev/null -popd -cp src/ABQuery/build/Release/lbdb-ABQuery build/osx/ABQuery - + print "Address book query" + pushd src/ABQuery + xcodebuild > /dev/null + popd + cp src/ABQuery/build/Release/lbdb-ABQuery build/osx/ABQuery +} + +{ test "$target" = "fetchaddr" } || { + test "$target" = "all" } && { # build our own address parser -pushd src -print "Address parser" -$cc -c fetchaddr.c helpers.c rfc2047.c rfc822.c; \ -$cc -o fetchaddr fetchaddr.o helpers.o rfc2047.o rfc822.o; -popd - + pushd src + print "Address parser" + $cc -c fetchaddr.c helpers.c rfc2047.c rfc822.c; \ + $cc -o fetchaddr fetchaddr.o helpers.o rfc2047.o rfc822.o; + popd +} +{ test "$target" = "mairix" } || { + test "$target" = "all" } && { # build mairix -pushd src/mairix -print "Search engine and date parser" -CC="$cc" LD=/usr/bin/ld CPP=/usr/bin/cpp \ - ./configure --disable-gzip-mbox --disable-bzip-mbox \ - > /dev/null ; make 2>&1 > /dev/null -popd + pushd src/mairix + print "Search engine and date parser" + CC="$cc" LD=/usr/bin/ld CPP=/usr/bin/cpp \ + ./configure --disable-gzip-mbox --disable-bzip-mbox \ + > /dev/null ; make 2>&1 > /dev/null + popd +} +{ test "$target" = "fetchdate" } || { + test "$target" = "all" } && { # build our own fetchdate -pushd src -$cc -I mairix -c fetchdate.c -$cc -DHAS_STDINT_H -DHAS_INTTYPES_H \ - -o fetchdate fetchdate.o \ - mairix/datescan.o mairix/db.o mairix/dotlock.o \ - mairix/expandstr.o mairix/glob.o mairix/md5.o \ - mairix/nvpscan.o mairix/rfc822.o mairix/stats.o \ - mairix/writer.o mairix/dates.o mairix/dirscan.o \ - mairix/dumper.o mairix/fromcheck.o mairix/hash.o mairix/mbox.o \ - mairix/nvp.o mairix/reader.o mairix/search.o mairix/tok.o -popd + pushd src + $cc -I mairix -c fetchdate.c + $cc -DHAS_STDINT_H -DHAS_INTTYPES_H \ + -o fetchdate fetchdate.o \ + mairix/datescan.o mairix/db.o mairix/dotlock.o \ + mairix/expandstr.o mairix/glob.o mairix/md5.o \ + mairix/nvpscan.o mairix/rfc822.o mairix/stats.o \ + mairix/writer.o mairix/dates.o mairix/dirscan.o \ + mairix/dumper.o mairix/fromcheck.o mairix/hash.o mairix/mbox.o \ + mairix/nvp.o mairix/reader.o mairix/search.o mairix/tok.o + popd +} + +{ test "$target" = "dotlock" } || { + test "$target" = "all" } && { # build our own dotlock -pushd src -$cc -c dotlock.c -$cc -o dotlock dotlock.o -popd + pushd src + $cc -c dotlock.c + $cc -o dotlock dotlock.o + popd +} -# build our own msmtp -# port deps: libidn gnutls -pushd src/msmtp -print "SMTP Simple mail transport protocol agent" -CC="$cc" LD=/usr/bin/ld CPP=/usr/bin/cpp \ - ./configure --without-macosx-keyring --without-gnome-keyring \ - > /dev/null ; make 2>&1 > /dev/null -popd +# { test "$target" = "msmtp" } || { +# test "$target" = "all" } && { +# # build our own msmtp +# # port deps: libidn gnutls +# pushd src/msmtp +# print "SMTP Simple mail transport protocol agent" +# CC="$cc" LD=/usr/bin/ld CPP=/usr/bin/cpp \ +# ./configure --without-macosx-keyring --without-gnome-keyring \ +# > /dev/null ; make 2>&1 > /dev/null +# popd +# } # build our own mutt -# port deps: db48 tokyocabinet -pushd src/mutt-src -print "MUA Mail user agent" -CC="$cc" LD=/usr/bin/ld CPP=/usr/bin/cpp CFLAGS="$CFLAGS -I/opt/local/include -L/opt/local/lib" \ - ./configure --with-ssl --enable-imap --enable-hcache --with-regex --with-tokyocabinet -popd +{ test "$target" = "mutt" } || { + test "$target" = "all" } && { + echo "Compiling Mutt (MUA)" + pushd src/mutt-1.5.21 + + CC=clang CFLAGS="$cflags" LDFLAGS="$ldflags" ./configure \ + --with-ssl --with-gnutls --enable-imap --disable-debug \ + --with-slang --disable-gpgme \ + --enable-hcache --with-regex --with-tokyocabinet \ + --with-mixmaster=${root}/src/mixmaster --enable-pgp + make + { test $? = 0 } && { mv mutt mutt-jaro } + popd +} + # CFLAGS="${=cflags}" \ @@ -149,10 +185,10 @@ popd cp src/fetchdate build/osx/ cp src/fetchaddr build/osx/ cp src/mairix/mairix build/osx/ -cp src/msmtp/src/msmtp build/osx/ +# cp src/msmtp/src/msmtp build/osx/ cp src/dotlock build/osx/ -copydeps /opt/local/bin/mutt -copydeps build/osx/msmtp +copydeps ${root}/src/mutt-1.5.21/mutt-jaro +copydeps /opt/local/bin/msmtp copydeps /opt/local/bin/pinentry copydeps /opt/local/bin/lynx diff --git a/build/cc-static.zsh b/build/cc-static.zsh @@ -60,7 +60,7 @@ arguments=($@) linkdep() { # # descend lib dependencies dep="`basename ${1}`" - { test "$dep" = "" } && { echo "Error: linkdep called with void argument"; return 1 } + { test "$dep" = "" } && { print "Error: linkdep called with void argument"; return 1 } dep=${dep/lib/} # strip lib- prefix @@ -109,7 +109,7 @@ linkdep() { return 1 - else echo "$dep not found in ${l}"; return 10 + else print "$dep not found in ${l}"; return 10 fi done @@ -160,7 +160,7 @@ echo $arguments | grep -i ' -l' > /dev/null typeset -U arguments # execute -echo "$cc ${=cflags} ${=arguments}" +print "$cc ${=cflags} ${=arguments}" $cc ${=cflags} ${=arguments}