Converted these images to PNG, saving a handful of bytes per image
[adiumx.git] / Utilities / dep-build-scripts / universalize.sh
blob3e58eb653ccac1c5cf5d51e9fac30bcf59887d38
1 #create universal libraries for AdiumDeps.
2 # "top-level" deps
3 LIBINTL=libintl.8
4 LIBGLIB=libglib-2.0.0
5 LIBGOBJECT=libgobject-2.0.0
6 LIBGTHREAD=libgthread-2.0.0
7 LIBGMODULE=libgmodule-2.0.0
9 # "purple" deps
10 MEANWHILE=libmeanwhile.1
11 GADU=libgadu.3.7.0
12 SASL=libsasl2.2
14 PURPLE_VERSION=0.3.1
16 LIBPURPLE=libpurple.$PURPLE_VERSION
17 PURPLE_FOLDER=libpurple-$PURPLE_VERSION
19 SCRIPT_DIR=$PWD
21 mkdir build || true
22 cd build
24 TARGET_DIR_PPC="$PWD/root-ppc"
25 TARGET_DIR_I386="$PWD/root-i386"
26 TARGET_DIR_BASE="$PWD/root"
28 mkdir universal || true
29 UNIVERSAL_DIR="$PWD/universal"
31 # Copy the headers to the universal dir so that we can put them in the frameworks once they are built. We stick the required headers for each framework into it's own folder
32 # named after the project to keep the frameworkize script library independent.
34 mkdir $UNIVERSAL_DIR/include || true
35 cd $UNIVERSAL_DIR/include
37 mkdir libintl-8 || true
38 cp $TARGET_DIR_I386/include/libintl.h $UNIVERSAL_DIR/include/libintl-8/
40 mkdir libglib-2.0.0 || true
41 cp -R $TARGET_DIR_I386/include/glib-2.0 $UNIVERSAL_DIR/include/libglib-2.0.0/
42 cp $TARGET_DIR_I386/lib/glib-2.0/include/glibconfig.h \
43 $UNIVERSAL_DIR/include/libglib-2.0.0/glib-2.0/glibconfig-i386.h
44 cp $TARGET_DIR_PPC/lib/glib-2.0/include/glibconfig.h \
45 $UNIVERSAL_DIR/include/libglib-2.0.0/glib-2.0/glibconfig-ppc.h
46 cp $SCRIPT_DIR/glibconfig.h $UNIVERSAL_DIR/include/libglib-2.0.0/glib-2.0
48 mkdir libgmodule-2.0.0 || true
49 cp $TARGET_DIR_I386/include/glib-2.0/gmodule.h $UNIVERSAL_DIR/include/libgmodule-2.0.0/
51 mkdir libgobject-2.0.0 || true
52 cp $TARGET_DIR_I386/include/glib-2.0/glib-object.h $UNIVERSAL_DIR/include/libgobject-2.0.0/
53 cp -R $TARGET_DIR_I386/include/glib-2.0/gobject/ $UNIVERSAL_DIR/include/libgobject-2.0.0/
55 mkdir libgthread-2.0.0 || true
56 # no headers to copy, make an empty file so that rtool isn't sad
57 touch libgthread-2.0.0/no_headers_here.txt
59 rm -rf $UNIVERSAL_DIR/include/$PURPLE_FOLDER
60 cp -R $TARGET_DIR_I386/include/libpurple $UNIVERSAL_DIR/include/$PURPLE_FOLDER
61 # Another hack: we need libgadu.h
62 cp $TARGET_DIR_I386/include/libgadu.h $UNIVERSAL_DIR/include/$PURPLE_FOLDER/libgadu-i386.h
63 cp $TARGET_DIR_PPC/include/libgadu.h $UNIVERSAL_DIR/include/$PURPLE_FOLDER/libgadu-ppc.h
64 cp $SCRIPT_DIR/libgadu.h $UNIVERSAL_DIR/include/$PURPLE_FOLDER/
65 cd ..
67 cd $UNIVERSAL_DIR
69 for lib in $LIBINTL $LIBGLIB $LIBGOBJECT $LIBGTHREAD $LIBGMODULE $MEANWHILE \
70 $GADU $LIBPURPLE; do
71 echo "Making $lib universal..."
72 python $SCRIPT_DIR/framework_maker/universalize.py \
73 i386:$TARGET_DIR_I386/lib/$lib.dylib \
74 ppc:$TARGET_DIR_PPC/lib/$lib.dylib \
75 $UNIVERSAL_DIR/$lib.dylib \
76 $TARGET_DIR_PPC/lib:$UNIVERSAL_DIR \
77 $TARGET_DIR_I386/lib:$UNIVERSAL_DIR
78 done
80 cd ..
82 export PATH="$PATH:$SCRIPT_DIR/rtool_trunk"
83 echo "Making a framework for $PURPLE_FOLDER and all dependencies..."
84 python $SCRIPT_DIR/framework_maker/frameworkize.py $UNIVERSAL_DIR/$LIBPURPLE.dylib $PWD/Frameworks
86 echo "Adding the Adium framework header."
87 cp $SCRIPT_DIR/libpurple-full.h \
88 $PWD/Frameworks/libpurple.framework/Headers/libpurple.h
90 cp $SCRIPT_DIR/Libpurple-Info.plist $PWD/Frameworks/libpurple.framework/Resources/Info.plist