summaryrefslogtreecommitdiff
path: root/acprep
blob: 30172ca2593958ebd19333a9c79618f92d0cda7e (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
112
#!/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.

cmd=$(which glibtoolize 2>&1)
if [ -x "$cmd" ]; then
    export LIBTOOLIZE="$cmd"
fi
autoreconf --install


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=""
CPPFLAGS="$INCDIRS"
LDFLAGS="$LIBDIRS"
LOCAL=false


while [ -n "$1" ]; do
  case "$1" in
    --devel)
	SWITCHES="$SWITCHES --disable-shared --enable-pch"
	;;

    --debug)
	SWITCHES="$SWITCHES --enable-debug"
	CXXFLAGS="$CXXFLAGS -g" ;;

    --boost)
	shift 1
	SWITCHES="$SWITCHES --with-boost-suffix=$1"
	CPPFLAGS="$CPPFLAGS -D_GLIBCXX_DEBUG=1" ;;

    --gcov)
	CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage" ;;

    --gprof)
        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 ;;

    --pic)
	CXXFLAGS="$CXXFLAGS -fPIC" ;;

    --opt)
	CXXFLAGS="$CXXFLAGS -fomit-frame-pointer -O3" ;;

    --local)
	LOCAL=true ;;

    *)
	break ;;
  esac
  shift 1
done


HERE="$PWD"

if [ "$LOCAL" = "false" -a -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 "$@"