summaryrefslogtreecommitdiff
path: root/acprep
blob: 0928cba5c0b5730c04ef3d8160e84ce1fb016c65 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#!/bin/sh

PYTHON_HOME="/Library/Frameworks/Python.framework/Versions/2.5"

# acprep, version 3.0
#
# This script configures my ledger source tree on my Mac OS/X machine.
# This is not necessary, however, since I keep all the files necessary
# for building checked in to the source tree.  Users can just type
# './configure && make'.  This script simply sets up the compiler and
# linker flags for all the various build permutations I use for
# testing and profiling.

LIBTOOLIZE=$(which glibtoolize 2>&1)

if [ -x "$LIBTOOLIZE" ]; then
    "$LIBTOOLIZE" --automake -f -c
else
    libtoolize --automake -f -c
fi

aclocal
autoheader
automake -a -c -f
autoconf


INCDIRS="-I/usr/local/include"
INCDIRS="$INCDIRS -I/usr/local/include/boost"
INCDIRS="$INCDIRS -I/sw/include"
INCDIRS="$INCDIRS -I/usr/include/httpd/xml"

LIBDIRS="-L/usr/local/lib"
LIBDIRS="$LIBDIRS -L/sw/lib"

SYSTEM=`uname -s`

if [ $SYSTEM = Linux ]; then
    CXXFLAGS="-pthread"
elif [ $SYSTEM = Solaris ]; then
    CXXFLAGS="-pthreads"
elif [ $SYSTEM = Darwin ]; then
    #CXXFLAGS="-arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
    CXXFLAGS="$CXXFLAGS -Wno-long-double"
    #LIBDIRS="$LIBDIRS -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk"
else
    CXXFLAGS=""
fi

# Building the command-line tool as a shared library is a luxury,
# since there are no clients except a GUI tool which might use it (and
# that is built again anyway by Xcode).
SWITCHES="--disable-shared --enable-pch"
CPPFLAGS="$INCDIRS"
LDFLAGS="$LIBDIRS"


while [ -n "$1" ]; do
  case "$1" in
    --debug)
	SWITCHES="$SWITCHES --enable-debug --enable-boost-sd"
	#if [ -f /usr/local/lib/libstlportstlg.a ]; then
	#    SWITCHES="$SWITCHES --enable-stlportg"
	#    CPPFLAGS="-D_STLP_DEBUG $CPPFLAGS"
	#    CPPFLAGS="-I/usr/local/include/stlport $CPPFLAGS"
	#    LIBS="$LIBS -lstlportstlg"
	#fi
	CPPFLAGS="$CPPFLAGS -D_GLIBCXX_DEBUG=1"
	CXXFLAGS="$CXXFLAGS -g" ;;

    --prof | --perf)
        CXXFLAGS="$CXXFLAGS -g -pg" ;;

    --python)
	if [ -d "$PYTHON_HOME" ]; then
	    SWITCHES="$SWITCHES --enable-python"
	    CPPFLAGS="$CPPFLAGS -I$PYTHON_HOME/include/python2.5"
	    LDFLAGS="$LDFLAGS -L$PYTHON_HOME/lib/python2.5/config"
	fi ;;

    --opt)
	CXXFLAGS="$CXXFLAGS -fomit-frame-pointer -O3 -fPIC" ;;
    --flat-opt)
	CXXFLAGS="$CXXFLAGS -fomit-frame-pointer -O3" ;;
    --safe-opt)
	CXXFLAGS="$CXXFLAGS -fomit-frame-pointer -O3 -fPIC -DDEBUG_LEVEL=1" ;;

    *)
	break ;;
  esac
  shift 1
done


HERE="$PWD"

if [ -d "$HOME/Products" ]; then
    version=""
    if [ -x pending/version ]; then
	version="-$(pending/version)"
    fi
    projdir="$HOME/Products/$(basename $HERE)$version"
    if [ ! -d "$projdir" ]; then
	mkdir -p "$projdir"
    fi
    cd "$projdir" || (echo "Cannot change to $projdir"; exit 1)
fi

"$HERE/configure" --srcdir="$HERE" \
    CPPFLAGS="$CPPFLAGS" CXXFLAGS="$CXXFLAGS $local_cxxflags" \
    LDFLAGS="$LDFLAGS" LIBS="$LIBS" $SWITCHES "$@"