3 # this horrid little script updates a mono revision
4 # Author: Andy Satori <dru@satori-assoc.com>
10 PREFIX=/Library/Frameworks/Mono.framework/Versions/$VERSION
12 export C_INCLUDE_PATH=$C_INCLUDE_PATH:$PREFIX/include
13 export LDFLAGS=-L$PREFIX/lib
14 export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/X11R6/lib:$PREFIX/lib
16 if test ! -d "$INITIALDIR/Dependancies"; then
17 mkdir $INITIALDIR/Dependancies
20 # make the directories as need for the Framework (which isn't really
21 # a framework, but it looks like one and makes a nice placeholder until
22 # someone smarter than I am can come in and make it better)
24 if test ! -d "/Library/Frameworks/Mono.framework"; then
25 mkdir /Library/Frameworks/Mono.framework
26 mkdir /Library/Frameworks/Mono.framework/Versions
29 if test ! -d "/Library/Frameworks/Mono.framework/Versions/$VERSION"; then
30 mkdir /Library/Frameworks/Mono.framework/Versions/$VERSION
33 # set up the environment for the build
34 export PATH=$PREFIX/bin:/usr/X11R6/bin:$PATH
35 export ACLOCAL_FLAGS="-I $PREFIX/share/aclocal/"
36 export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/X11R6/lib/pkgconfig
39 cd $INITIALDIR/Dependancies
43 echo +++ processing pkg-config
45 if test ! -f "$PREFIX/bin/pkg-config"; then
46 if test ! -d "pkgconfig-0.15.0"; then
47 curl http://www.freedesktop.org/software/pkgconfig/releases/pkgconfig-0.15.0.tar.gz -O
48 tar xzf pkgconfig-0.15.0.tar.gz
49 rm pkgconfig-0.15.0.tar.gz
54 ./configure --prefix=$PREFIX
64 echo +++ processing gettext
66 if test ! -f "$PREFIX/bin/gettext"; then
68 if test ! -d "gettext-0.14.1"; then
69 curl http://ftp.gnu.org/pub/gnu/gettext/gettext-0.14.1.tar.gz -O
70 tar xzf gettext-0.14.1.tar.gz
71 rm gettext-0.14.1.tar.gz
76 ./configure --prefix=$PREFIX
86 echo +++ processing glib2
88 if test ! -f "$PREFIX/lib/libgobject-2.0.la"; then
89 if test ! -d "glib-2.4.0"; then
90 curl ftp://ftp.gtk.org/pub/gtk/v2.4/glib-2.4.0.tar.gz -O
91 tar xzf glib-2.4.0.tar.gz
97 ./configure --prefix=$PREFIX
107 echo +++ processing boehm gc
109 if test ! -f "$PREFIX/lib/libgc.dylib"; then
110 if test ! -d "gc6.3alpha6"; then
111 curl http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.3alpha6.tar.gz -O
112 tar xzf gc6.3alpha6.tar.gz
113 rm gc6.3alpha6.tar.gz
118 ./configure --prefix=$PREFIX --enable-thread=pthreads
126 # icu ( http://oss.software.ibm.com/icu/index.html )
128 echo +++ processing ICU
130 if test ! -f "$PREFIX/lib/libicuuc.dylib.28.0"; then
131 if test ! -d "icu"; then
132 curl ftp://www-126.ibm.com/pub/icu/2.8/icu-2.8.tgz -O --disable-epsv
139 ./runConfigureICU MacOSX --with-data-packaging=library --prefix=$PREFIX --libdir=$PREFIX/lib/
147 install_name_tool -id $PREFIX/lib/libicudata.dylib.28 libicudata.dylib.28.0
150 install_name_tool -id $PREFIX/lib/libicui18n.dylib.28 libicui18n.dylib.28.0
151 install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicui18n.dylib.28.0
152 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicui18n.dylib.28.0
155 install_name_tool -id $PREFIX/lib/libicuio.dylib.28 libicuio.dylib.28.0
156 install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicuio.dylib.28.0
157 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicuio.dylib.28.0
158 install_name_tool -change libicui18n.dylib.28 $PREFIX/lib/libicui18n.dylib.28 libicuio.dylib.28.0
161 install_name_tool -id $PREFIX/lib/libicule.dylib.28 libicule.dylib.28.0
162 install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicule.dylib.28.0
163 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicule.dylib.28.0
166 install_name_tool -id $PREFIX/lib/libiculx.dylib.28 libiculx.dylib.28.0
167 install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libiculx.dylib.28.0
168 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libiculx.dylib.28.0
169 install_name_tool -change libicule.dylib.28 $PREFIX/lib/libicule.dylib.28 libiculx.dylib.28.0
172 install_name_tool -id $PREFIX/lib/libicutoolutil.dylib.28 libicutoolutil.dylib.28.0
173 install_name_tool -change libicuuc.dylib.28 $PREFIX/lib/libicuuc.dylib.28 libicutoolutil.dylib.28.0
174 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicutoolutil.dylib.28.0
177 install_name_tool -id $PREFIX/lib/libicuuc.dylib.28 libicuuc.dylib.28.0
178 install_name_tool -change libicudata.dylib.28 $PREFIX/lib/libicudata.dylib.28 libicuuc.dylib.28.0
185 echo +++ processing mono run-time libraries
187 if test ! -f "$PREFIX/bin/mono"; then
188 if test ! -d "$INITIALDIR/Bootstrap"; then
189 mkdir $INITIALDIR/Bootstrap
191 cd $INITIALDIR/Bootstrap
193 if test ! -d "mono-$VERSION"; then
194 curl http://www.go-mono.com/archive/beta1/mono-$VERSION.tar.gz -O
195 tar xzf mono-$VERSION.tar.gz
196 rm mono-$VERSION.tar.gz
201 ./configure --prefix=$PREFIX --with-gc=boehm
209 # setup the Current symlink
211 cd /Library/Frameworks/Mono.framework/Versions
213 if test -e "/Library/Frameworks/Mono.framework/Versions/Current"; then
216 ln -s $VERSION Current
218 # update the installer source files