* fixed the compilation on OSX when using our source-code-package and no svn checkout
[vlc.git] / extras / MacOSX / macosx-dmg
1 #!/bin/sh
2 #
3 # Posted to the projectbuilder-users list by Mike Ferris
4 # Modified for vlc by Jon Lech Johansen
5 #
6
7 set -e
8
9 # Requires at least three args
10 if [ $# -lt 2 ] ; then
11     echo "usage: $0 imgName dirName ..." 1>&2
12     exit 1
13 fi
14
15 # Grab size and name
16 imgName=$1
17 shift
18 dirName=$1
19 shift
20
21 imgSize=`du -sk ${dirName} | cut -f1`
22 imgSize=$((${imgSize} / 1024 + 2))
23
24 if [ $((${imgSize} < 5)) != 0 ] ; then
25     imgSize=5;
26 fi
27
28 # Create the image and format it
29 rm -f "${imgName}.dmg"
30 echo; echo "Creating ${imgSize} MB disk image named ${imgName}"
31 hdiutil create "${imgName}.dmg" -megabytes "${imgSize}" -layout NONE -quiet
32 dev=`hdid -nomount "${imgName}.dmg" | grep '/dev/disk[0-9]*' | cut -d " " -f 1`
33 /sbin/newfs_hfs -w -v "${imgName}" -b 4096 "${dev}" > /dev/null
34
35 # Mount the image and copy stuff
36 mkdir ./mountpoint
37 mount -t hfs ${dev} ./mountpoint
38
39 HOSTMACHINE=`gcc -dumpmachine`
40 case $HOSTMACHINE in
41     ppc-darwin)
42 # Mac OS X < 10.4
43         CP="/Developer/Tools/CpMac -r"
44         CPR="-r"
45         ;;
46     *)
47         CP="cp -R"
48         CPR="-R"
49         ;;
50 esac
51
52 echo "Copying contents to ${imgName}:"
53 for i in ${dirName}/* ; do
54     echo "  ${i}"
55     ${CP} "${i}" ./mountpoint
56 done
57
58 umount ./mountpoint
59 rmdir ./mountpoint
60 hdiutil eject "${dev}" -quiet
61
62 # Compress the image
63 echo "Compressing ${imgName} disk image"
64 mv "${imgName}.dmg" "${imgName}.orig.dmg"
65 hdiutil convert "${imgName}.orig.dmg" -format UDZO -o "${imgName}" -quiet
66 rm "${imgName}.orig.dmg"
67
68 # Done
69 echo; echo "Disk image creation completed:"
70 ls -la "${imgName}.dmg"; echo