commit efd245145048d0470351067e54fc4509f1494809
parent dc2983ebfc32a308dcadcdd4deb598766264c42d
Author: Jaromil <jaromil@dyne.org>
Date: Tue, 11 Sep 2012 03:34:58 +0200
fixes to osx build
Diffstat:
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}