5 # Based on the Imendio 'build-gtk.sh' script.
7 # Inkscape (Wireshark) build additions by Michael Wybrow <mjwybrow@users.sf.net>
9 # See the following page for build instructions:
10 # http://developer.imendio.com/projects/gtk-macosx/build-instructions
13 # export PREFIX=/your/install/prefix
14 # ./build-gtk bootstrap
15 # ./build-gtk build wireshark
18 # XXX: Check for xargs with -i
20 # In lib/pkgconfig/freetpe2.pc
22 # - Libs: -L${libdir} -lfreetype -lz
23 # + Libs: -L${libdir} -lfreetype -lz -Wl,-framework,CoreServices,-framework,ApplicationServices
27 # - libs="-lfreetype -lz"
28 # + libs="-lfreetype -lz -Wl,-framework,CoreServices,-framework,ApplicationServices"
30 # In lib/pkgconfig/fontconfig.pc
34 version
=1.3.1-wireshark
37 SCRIPTDIR
=`dirname $0`
39 export PREFIX
=${PREFIX-/opt/gtk}
40 export PATH
=$PREFIX/bin
:/usr
/bin
:$PATH
41 #export PATH=$PREFIX/bin:/bin:/sbin:/usr/bin:/usr/sbin:/usr/X11R6/bin:
42 export LIBTOOLIZE
=$PREFIX/bin
/libtoolize
44 # FIXME: We might need some more intelligent way to get the path here.
45 export PYTHONPATH
=$PREFIX/lib
/python2.3
/site-packages
47 # Needed for glib etc to pick up gettext
48 export LDFLAGS
=-L$PREFIX/lib
49 export CPPFLAGS
=-I$PREFIX/include
51 export XDG_DATA_DIRS
=$PREFIX/share
53 COMMON_OPTIONS
="--prefix=$PREFIX --disable-static --enable-shared \
54 --disable-gtk-doc --disable-scrollkeeper"
58 if [ "x$PANTHER_BUILD" = "xYes" ]; then
59 # XXX: Check the machine is PPC
60 # or rework to have things like pkg-config built natively.
62 # Overwrite some build settings.
63 export SDK
="/Developer/SDKs/MacOSX10.3.9.sdk"
64 export MACOSX_DEPLOYMENT_TARGET
=10.3
65 export CFLAGS
="-isysroot ${SDK} -arch ppc"
66 export CXXFLAGS
="-isysroot ${SDK} -arch ppc"
68 export STABLE_BUILD
=Yes
71 if [ "x$UNIVERSAL_BUILD" = "xYes" ]; then
72 COMMON_OPTIONS
="$COMMON_OPTIONS --disable-dependency-tracking"
74 export SDK
="/Developer/SDKs/MacOSX10.4u.sdk"
75 export MACOSX_DEPLOYMENT_TARGET
=10.4
76 #export MACOSX_DEPLOYMENT_TARGET_i386=10.4
77 #export MACOSX_DEPLOYMENT_TARGET_ppc=10.3
78 export CFLAGS
="-isysroot ${SDK} -arch ppc -arch i386"
79 export CXXFLAGS
="-isysroot ${SDK} -arch ppc -arch i386"
81 CONFIGURE_pkg_config
="--with-pc-path=$PREFIX/lib/pkgconfig:/usr/X11R6/lib/pkgconfig --enable-indirect-deps --disable-dependency-tracking"
83 CONFIGURE_libpng
="--disable-dependency-tracking"
84 PRECONFIGURE_libpng
="eval CPPFLAGS='$CPPFLAGS -DPNG_NO_ASSEMBLER_CODE'"
86 CONFIGURE_tiff
="--disable-dependency-tracking"
88 POSTCONFIGURE_jpeg_6b
="patch_libtool_dylib"
90 CONFIGURE_gc
="--disable-dependency-tracking"
91 POSTCONFIGURE_gc
="patch_libtool_dylib"
92 PRECONFIGURE_gc
="eval CFLAGS='$CFLAGS -DUSE_GENERIC_PUSH_REGS'"
94 POSTCONFIGURE_freetype
="eval cd builds/unix/ && pwd && patch_libtool_dylib && cd ../.."
96 CONFIGURE_fontconfig
="--disable-dependency-tracking --disable-docs"
97 POSTCONFIGURE_fontconfig
="eval cd fc-arch && make all && cd .. && perl -pi~ -e 's|#define FC_ARCHITECTURE \"x86\"|#ifdef __ppc__\n#define FC_ARCHITECTURE \"ppc\"\n#else\n#define FC_ARCHITECTURE \"x86\"\n#endif|g' fc-arch/fcarch.h"
99 PRECONFIGURE_cairo
="export ax_cv_c_float_words_bigendian=no"
100 CONFIGURE_cairo
="--disable-dependency-tracking --enable-shared --disable-quartz --disable-atsui --enable-glitz"
101 POSTCONFIGURE_cairo
="eval patch_libtool_dylib && export ax_cv_c_float_words_bigendian='' && perl -pi~ -e 's|/\* #undef FLOAT_WORDS_BIGENDIAN \*/|#ifdef __ppc__\n#define FLOAT_WORDS_BIGENDIAN 1\n#endif|g;s|/\* #undef WORDS_BIGENDIAN \*/|#ifdef __ppc__\n#define WORDS_BIGENDIAN 1\n#endif|g' config.h && perl -pi~ -e 's|DIST_SUBDIRS = pixman src boilerplate test perf doc|DIST_SUBDIRS = pixman src test perf doc|g;s|am__append_1 = boilerplate test|am__append_1 = test|g' Makefile"
103 CONFIGURE_glitz
="--disable-dependency-tracking"
105 CONFIGURE_lcms
="--disable-dependency-tracking"
107 CONFIGURE_glib
="$COMMON_OPTIONS"
108 POSTCONFIGURE_glib
="eval make glibconfig.h config.h && cp $DIRNAME/{glib,}config.h ."
109 #POSTCONFIGURE_glib="eval make glibconfig.h && perl -pi~ -e 's|#define G_BYTE_ORDER G_LITTLE_ENDIAN|#include <machine/endian.h>\n#define G_BYTE_ORDER __DARWIN_BYTE_ORDER|g' glibconfig.h"
111 CONFIGURE_pango
="$COMMON_OPTIONS"
112 POSTCONFIGURE_pango
="eval perl -pi~ -e 's|SUBDIRS = pango modules examples docs tools tests|SUBDIRS = pango modules docs tools tests|g' Makefile && perl -pi~ -e 's|harfbuzz_dump_LDADD = |harfbuzz_dump_LDADD = -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker ApplicationServices|g' pango/opentype/Makefile"
114 CONFIGURE_gtk
="$COMMON_OPTIONS"
116 CONFIGURE_atk
="$COMMON_OPTIONS"
118 CONFIGURE_libxml2
="$COMMON_OPTIONS"
120 CONFIGURE_libsigc
="$COMMON_OPTIONS"
121 POSTCONFIGURE_libsigc
="patch_libtool_dylib"
123 CONFIGURE_glibmm
="$COMMON_OPTIONS"
125 CONFIGURE_cairomm
="$COMMON_OPTIONS"
127 CONFIGURE_gtkmm
="$COMMON_OPTIONS --disable-examples --disable-demos"
128 POSTCONFIGURE_gtkmm
="patch_libtool_dylib"
130 CONFIGURE_libxslt
="$COMMON_OPTIONS"
132 CONFIGURE_popt
="$COMMON_OPTIONS"
133 POSTCONFIGURE_popt
="patch_libtool_dylib"
134 elif [ "x$STABLE_BUILD" = "xYes" ]; then
135 COMMON_OPTIONS
="$COMMON_OPTIONS --disable-dependency-tracking"
137 CONFIGURE_pkg_config
="--with-pc-path=$PREFIX/lib/pkgconfig:/usr/X11R6/lib/pkgconfig --enable-indirect-deps --disable-dependency-tracking"
139 CONFIGURE_libpng
="--disable-dependency-tracking"
141 CONFIGURE_tiff
="--disable-dependency-tracking"
143 CONFIGURE_gc
="--disable-dependency-tracking"
145 CONFIGURE_fontconfig
="--disable-dependency-tracking --disable-docs"
147 CONFIGURE_cairo
="--disable-dependency-tracking --enable-shared --disable-quartz --disable-atsui --enable-glitz"
149 CONFIGURE_glitz
="--disable-dependency-tracking"
151 CONFIGURE_lcms
="--disable-dependency-tracking"
153 CONFIGURE_glib
="$COMMON_OPTIONS"
155 CONFIGURE_pango
="$COMMON_OPTIONS"
156 POSTCONFIGURE_pango
="eval perl -pi~ -e 's|SUBDIRS = pango modules examples docs tools tests|SUBDIRS = pango modules docs tools tests|g' Makefile && perl -pi~ -e 's|harfbuzz_dump_LDADD = |harfbuzz_dump_LDADD = -Xlinker -framework -Xlinker CoreServices -Xlinker -framework -Xlinker ApplicationServices|g' pango/opentype/Makefile"
158 CONFIGURE_gtk
="$COMMON_OPTIONS"
160 CONFIGURE_atk
="$COMMON_OPTIONS"
162 CONFIGURE_libxml2
="$COMMON_OPTIONS"
164 CONFIGURE_libsigc
="$COMMON_OPTIONS"
166 CONFIGURE_glibmm
="$COMMON_OPTIONS"
168 CONFIGURE_cairomm
="$COMMON_OPTIONS"
170 CONFIGURE_gtkmm
="$COMMON_OPTIONS --disable-examples --disable-demos"
172 CONFIGURE_libxslt
="$COMMON_OPTIONS"
174 CONFIGURE_popt
="$COMMON_OPTIONS"
178 # Support install-check from jhbuild to speed up compilation
179 if [ -x $PREFIX/bin
/install-check
]; then
180 export INSTALL
=$PREFIX/bin
/install-check
184 SOURCE
=${SOURCE-$HOME/Source/gtk}
185 CAIROCVSROOT
=${CAIROCVSROOT-:pserver:anoncvs@cvs.freedesktop.org:/cvs/cairo}
186 WIRESHARKSVNURL
="http://anonsvn.wireshark.org/wireshark/trunk
187 GNOMESVNURL=${GNOMESVNURL-https://svn.gnome.org/svn}
189 if [ x$1 = xrun ]; then
195 if [ $# -eq 0 -o "x
`echo "$*" | grep shell`" = xshell ]; then
196 # Can be used in .bashrc to set a fancy prompt...
197 export INSIDE_GTK_BUILD=1
202 CORE_MODULES="glitz cairo gnome-common glib pango atk gtk
+"
203 EXTRA_MODULES="libxml2 libxslt loudmouth libglade gossip gtk-engines
"
204 PYGTK_MODULES=" pycairo pygobject pygtk
"
205 WIRESHARK_MODULES="$CORE_MODULES libxml2 libxslt gc lcms libsigc
++ doxygen glibmm cairomm gtkmm popt wireshark
"
207 # Could add those (orbit requires popt though)
208 MORE_MODULES="libIDL ORBit2 gconf
"
213 echo "GTK
+ on Mac OS X build
script version
$version.
"
216 echo "`basename $0` [bootstrap|
[shell
]|run
<cmd
>|build
[<modules
>]], modules are
:"
217 echo " Core
: $CORE_MODULES"
218 echo " Extra
: $EXTRA_MODULES"
219 echo " Python
: $PYGTK_MODULES"
220 echo " Wireshark
: $WIRESHARK_MODULES"
222 echo "Setup
: This
script defaults to downloading
source to ~
/Source
/gtk and
"
223 echo "installing
in /opt
/gtk. Make sure your user has
write access to the
"
224 echo "latter directory. You can override those directories by setting the
"
225 echo "SOURCE and PREFIX environment variables. Anoncvs is used by default
"
226 echo "for access to GNOME SVN
, if you wish to override
, set the environment
"
227 echo "variable GNOMESVNURL to your own account.
"
229 echo "While
in the shell that this
script provides
, the environment variable
"
230 echo "INSIDE_GTK_BUILD is
set, which makes it possible to put something like
"
231 echo "the following
in ~
/.bashrc
:"
233 echo " if [ x\
$INSIDE_GTK_BUILD != x
]; then"
234 echo " PS1
=\"[GTK
] \u@\h \W $
\""
237 echo "Start by bootstrapping. This will
install the necessary build tools.
"
238 echo "Then build GTK
+ & co by using the
\"build
\" command. If no modules are
"
239 echo "specified
, only the ones needed
for GTK
+ will be built. The special
"
240 echo "modules
\"core
\" and
\"all
\" can be used to build just the core or all
"
243 echo "If you want to build something manually or run something
, use the
"
244 echo "\"shell
\" command (or no
command) to get a shell with the environment
"
245 echo "properly setup.
"
247 echo "Tip
: if you build and
install \"install-check
\" from jhbuild into your
"
248 echo "PREFIX
, recompiling when hacking on GTK
+ & co will be a lot faster.
"
254 BASENAME=`basename $1`
256 if [ -s $BASENAME ]; then
257 echo "Already downloaded
"
261 curl $1 > $BASENAME || return 1
266 function should_build
268 if [ -f $1/BUILT ]; then
276 function tarball_get_and_build
278 BASENAME=`basename $1`
279 DIRNAME=`echo $BASENAME | sed -e s,.src.,., | sed -e s,.tar.*,,`
280 INSTCMD="make install"
281 PREFIXARG="--prefix=$PREFIX"
282 COMMONOPTS="$COMMON_OPTIONS"
284 SHORTNAME=`echo $DIRNAME | sed -e s,-*[0-9\.]*$,,`
285 if !(echo "$MODULES" | grep -w $SHORTNAME) >/dev/null; then
290 echo "Building
$DIRNAME"
291 echo -ne "\033]0;Building
$DIRNAME\007"
293 # Special case jpeg... :/
294 if [ x`echo $DIRNAME | grep jpeg` != x ]; then
295 INSTCMD="make install-lib
"
298 if [ x`echo $BASENAME | grep bz2` != x ]; then
304 # Doxygen doesn't have a standard configure script.
305 if [ x`echo $BASENAME | grep doxygen` != x ]; then
306 PREFIXARG="--prefix $PREFIX"
307 COMMONOPTS="--shared"
310 # Modify specific configure options
311 UNDERSCORENAME=`echo $SHORTNAME | sed -e s,-,_, | tr -d '+'`
312 CONFIGURE_EXTRA=`eval echo '\$'{CONFIGURE_$UNDERSCORENAME}`
313 if [ "x
$CONFIGURE_EXTRA" != "x
" ]; then
314 COMMONOPTS="$COMMONOPTS $CONFIGURE_EXTRA"
316 PRECONFIGURE=`eval echo '\$'{PRECONFIGURE_$UNDERSCORENAME}`
317 if [ "x
$PRECONFIGURE" == "x
" ]; then
320 POSTCONFIGURE=`eval echo '\$'{POSTCONFIGURE_$UNDERSCORENAME}`
321 if [ "x
$POSTCONFIGURE" == "x
" ]; then
325 cd $SOURCE || return 1
326 download $1 || return 1
327 should_build $DIRNAME || return 0
328 tar ${COMP}xf $BASENAME && \
331 echo ".
/configure
$PREFIXARG $COMMONOPTS $2" && \
332 ./configure $PREFIXARG $COMMONOPTS $2 && \
334 make && $INSTCMD && touch BUILT
338 function cpan_get_and_build
340 BASENAME=`basename $1`
341 DIRNAME=`echo $BASENAME | sed -e s,.tar.*,,`
343 SHORTNAME=`echo $DIRNAME | sed -e s,-*[0-9\.]*$,,`
344 if !(echo "$MODULES" | grep -w $SHORTNAME) >/dev/null; then
349 echo "Building
$DIRNAME"
350 echo -ne "\033]0;Building
$DIRNAME\007"
352 if [ x`echo $BASENAME | grep bz2` != x ]; then
358 cd $SOURCE || return 1
359 download $1 || return 1
360 should_build $DIRNAME || return 0
361 tar ${COMP}xf $BASENAME && \
363 perl Makefile.PL $2 && \
365 (echo "Enter your password to istall
$BASENAME"; make install) && \
369 function git_get_and_build
371 if !(echo "$MODULES" | grep -w $2) >/dev/null; then
377 echo -ne "\033]0;Building
$2\007"
384 cg-clone $1/$2 || return
388 echo ".
/autogen.sh
$COMMON_OPTIONS $3"
389 (./autogen.sh $COMMON_OPTIONS $3 && make && make install)
392 function cvs_get_and_build
394 if !(echo "$MODULES" | grep -w $2) >/dev/null; then
400 echo -ne "\033]0;Building
$2\007"
407 cvs -d $1 co -P $2 || return
411 echo ".
/autogen.sh
$COMMON_OPTIONS $3"
412 (./autogen.sh $COMMON_OPTIONS $3 && make && make install)
415 function svn_get_and_build
417 if !(echo "$MODULES" | grep -w $2) >/dev/null; then
423 echo -ne "\033]0;Building
$2\007"
430 svn co $1/$2/trunk $2 || return
434 echo ".
/autogen.sh
$COMMON_OPTIONS $3"
435 #(./autogen.sh $COMMON_OPTIONS $3 && ./configure --prefix=$PREFIX $COMMON_OPTIONS $3 && make && make install)
436 (./autogen.sh $COMMON_OPTIONS $3 && make && make install)
439 function set_automake
441 old_AUTOMAKE=$AUTOMAKE
444 export AUTOMAKE=automake-$1
445 export ACLOCAL=aclocal-$1
448 function restore_automake
450 if [ x$old_AUTOMAKE != x ]; then
451 export AUTOMAKE=$old_AUTOMAKE
456 if [ x$old_ACLOCAL != x ]; then
457 export ACLOCAL=$old_ACLOCAL
465 echo -ne "\033]0;\007"
469 # Make sure to restore the title when done.
470 trap do_exit EXIT SIGINT SIGTERM
473 # configure doesn't pass CFLAGS through to generated libtool
474 function patch_libtool_dylib()
476 # Only do this for universal builds.
477 if [ "x
$UNIVERSAL_BUILD" != "xYes
" ]; then
481 cp libtool libtool.old
482 perl -pi -e "s@
-dynamiclib@
$CFLAGS \$
&@
" libtool
483 if test "x
$1" = "xwithbundle
"; then
484 perl -pi -e "s@
-bundle@
$CFLAGS \$
&@
" libtool
489 function process_modules()
491 # Bootstrap packages.
493 http
://pkgconfig.freedesktop.org
/releases
/pkg-config-0.21.
tar.gz \
494 http
://ftp.gnu.org
/gnu
/libtool
/libtool-1.5
.22.
tar.gz \
495 http
://ftp.gnu.org
/gnu
/autoconf
/autoconf-2.61.
tar.bz2 \
496 http
://ftp.gnu.org
/pub
/gnu
/automake
/automake-1.7
.9.
tar.bz2 \
497 http
://ftp.gnu.org
/gnu
/automake
/automake-1.9
.6.
tar.bz2 \
498 http
://heanet.dl.sourceforge.net
/sourceforge
/libpng
/libpng-1.2
.15.
tar.bz2 \
499 ftp://ftp.remotesensing.org
/pub
/libtiff
/tiff-3.8
.2.
tar.gz \
500 http
://people.imendio.com
/richard
/gtk-osx
/files
/jpeg-6b.
tar.gz \
501 http
://ftp.gnu.org
/gnu
/gettext
/gettext-0.16.
tar.gz \
502 http
://heanet.dl.sourceforge.net
/sourceforge
/expat
/expat-2.0
.0.
tar.gz \
503 http
://heanet.dl.sourceforge.net
/sourceforge
/freetype
/freetype-2.3
.0.
tar.bz2 \
504 http
://fontconfig.org
/release
/fontconfig-2.4
.2.
tar.gz \
505 http
://people.imendio.com
/richard
/gtk-osx
/files
/docbook-files-1.
tar.gz \
506 http
://www.cs.mu.oz.au
/~mjwybrow
/gtk-osx
/gnome-doc-utils-fake-1.
tar.gz \
509 #http://people.imendio.com/richard/gtk-osx/files/popt-1.7.tar.gz
511 for PACKAGE in $PACKAGES; do
512 tarball_get_and_build $PACKAGE || exit 1
515 PACKAGE=http://ftp.gnome.org/pub/GNOME/sources/gtk-doc/1.6/gtk-doc-1.6.tar.bz2
516 tarball_get_and_build $PACKAGE "--with-xml-catalog=$PREFIX/etc
/xml
/catalog
" || exit 1
518 PACKAGE=ftp://ftp4.freebsd.org/pub/FreeBSD/ports/distfiles/XML-Parser-2.34.tar.gz
519 cpan_get_and_build $PACKAGE "PREFIX
=$PREFIX INSTALLDIRS
=perl EXPATLIBPATH
=$PREFIX/lib EXPATINCPATH
=$PREFIX/include
" || exit 1
522 http
://ftp.gnome.org
/pub
/GNOME
/sources
/intltool
/0.35/intltool-0.35
.0.
tar.bz2 \
523 http
://icon-theme.freedesktop.org
/releases
/hicolor-icon-theme-0.9.
tar.gz \
524 http
://ftp.gnome.org
/pub
/GNOME
/sources
/gnome-icon-theme
/2.14/gnome-icon-theme-2.14
.2.
tar.bz2 \
527 for PACKAGE in $PACKAGES; do
528 tarball_get_and_build $PACKAGE || exit 1
533 if [ "x
$UNIVERSAL_BUILD" == "xYes
" -o "x
$STABLE_BUILD" = "xYes
" ];
535 tarball_get_and_build http://cairographics.org/snapshots/glitz-0.5.6.tar.gz || exit 1
536 tarball_get_and_build http://cairographics.org/releases/cairo-1.4.0.tar.gz || exit 1
537 tarball_get_and_build http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz || exit 1
538 tarball_get_and_build http://www.littlecms.com/lcms-1.16.tar.gz || exit 1
539 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/glib/2.12/glib-2.12.11.tar.bz2 || exit 1
540 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/pango/1.14/pango-1.14.10.tar.bz2 || exit 1
541 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/atk/1.12/atk-1.12.4.tar.bz2 || exit 1
542 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/gtk+/2.10/gtk+-2.10.11.tar.bz2 || exit 1
543 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/libxml2/2.6/libxml2-2.6.27.tar.bz2 || exit 1
544 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/libsigc++/2.0/libsigc++-2.0.17.tar.bz2 || exit 1
545 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/glibmm/2.12/glibmm-2.12.7.tar.bz2 || exit 1
546 tarball_get_and_build http://cairographics.org/releases/cairomm-1.2.4.tar.gz || exit 1
547 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/gtkmm/2.10/gtkmm-2.10.8.tar.bz2 || exit 1
548 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/libxslt/1.1/libxslt-1.1.20.tar.bz2 || exit 1
549 tarball_get_and_build ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz || exit 1
551 svn_get_and_build $WIRESHARKSVNURL wireshark || exit 1
555 git_get_and_build git://git.cairographics.org/git cairo "--enable-pdf --enable-atsui --enable-quartz --disable-xlib" || exit 1
557 tarball_get_and_build http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.7.tar.gz || exit 1
558 tarball_get_and_build ftp://ftp.gnome.org/mirror/gnome.org/sources/libsigc++/2.0/libsigc++-2.0.17.tar.gz || exit 1
559 tarball_get_and_build http://ftp.stack.nl/pub/users/dimitri/doxygen-1.5.1.src.tar.gz || exit 1
560 tarball_get_and_build ftp://ftp.rpm.org/pub/rpm/dist/rpm-4.1.x/popt-1.7.tar.gz || exit 1
563 svn_get_and_build $GNOMESVNURL libxml2 || exit 1
564 svn_get_and_build $GNOMESVNURL libxslt || exit 1
565 svn_get_and_build $GNOMESVNURL gnome-common || exit 1
566 svn_get_and_build $GNOMESVNURL glib || exit 1
567 svn_get_and_build $GNOMESVNURL atk || exit 1
568 svn_get_and_build $GNOMESVNURL pango "--without-x" || exit 1
569 svn_get_and_build $GNOMESVNURL gtk+ "--with-gdktarget=quartz
" || exit 1
570 svn_get_and_build $GNOMESVNURL gtk-engines || exit 1
571 svn_get_and_build $GNOMESVNURL loudmouth "--with-ssl=openssl
" || exit 1
572 svn_get_and_build $GNOMESVNURL libglade || exit 1
573 # gossip needs xml2po from gnome-doc-utils.
574 svn_get_and_build $GNOMESVNURL gossip "--with-backend=cocoa
" || exit 1
575 svn_get_and_build $CAIROCVSROOT pycairo || exit 1
576 svn_get_and_build $GNOMESVNURL pygobject "--disable-docs" || exit 1
577 svn_get_and_build $GNOMESVNURL pygtk "--disable-docs" || exit 1
579 svn_get_and_build $GNOMESVNURL glibmm "--disable-docs --disable-fulldocs" || exit 1
580 cvs_get_and_build $CAIROCVSROOT cairomm || exit 1
581 svn_get_and_build $GNOMESVNURL gtkmm "--disable-docs --disable-examples --disable-demos" || exit 1
583 svn_get_and_build $WIRESHARKSVNURL wireshark || exit 1
586 #svn_get_and_build $GNOMESVNURL gimp || exit 1
588 # libart_lgpl, needs automake 1.4 and doesn't run libtoolize
589 # gtkhtml2 (optional)
590 # libpoppler (optional)
591 # ./autogen.sh --prefix=/opt/gimp --disable-gtk-doc
594 if (echo "$
*" | grep bootstrap) >/dev/null; then
595 if [ "x
`cg-version 2>/dev/null`" == "x
" ]; then
596 echo "You need the cogito to get cairo from git. It
's available e.g. in Darwin ports."
599 if [ "x`which svn 2>/dev/null`" == "x" ]; then
600 echo "You need the svn client to get wireshark"
604 mkdir -p $SOURCE 2>/dev/null || \
605 (echo "Error: Couldn't create
source checkout dir
$SOURCE"; exit 1)
606 mkdir -p $PREFIX/bin 2>/dev/null || \
607 (echo "Error
: Couldn
't create bin dir $PREFIX/bin"; exit 1)
609 echo "Building bootstrap packages."
611 MODULES="pkg-config libtool autoconf automake libpng tiff jpeg-6b gettext \
612 expat fontconfig docbook-files intltool \
615 # XML-Parser hicolor-icon-theme gnome-icon-theme"
616 # gnome-doc-utils-fake gtk-doc \
619 # Setup glibtool* links since some stuff expects them to be named like
621 if [ -z $PREFIX/bin/glibtoolize ]; then
622 ln -s $PREFIX/bin/libtoolize $PREFIX/bin/glibtoolize
623 ln -s $PREFIX/bin/libtool $PREFIX/bin/glibtool
627 echo "Done bootstrapping. Continue with \"build\" or \"shell\"."
631 if [ "x$1" != xbuild ]; then
639 if [ $# -eq 0 ]; then
640 echo "Building core modules."
641 MODULES="$CORE_MODULES"
642 elif [ "x$1" = xcore ]; then
643 echo "Building core modules."
644 MODULES="$CORE_MODULES"
645 elif [ "x$1" = xpython ]; then
646 echo "Building python modules."
647 MODULES="$PYGTK_MODULES"
648 elif [ "x$1" = xall ]; then
649 echo "Building core+extra+python modules."
650 MODULES="$CORE_MODULES $EXTRA_MODULES $PYGTK_MODULES"
651 elif [ "x$1" = xwireshark ]; then
652 echo "Building wireshark modules."
653 MODULES="$WIRESHARK_MODULES"