Fix plugins with MSVC, thanks to Gulam Faruque.
[syx.git] / scripts / release.sh
blob29f89c98375f6d55de34a5f4de1f435796fbb65e
1 #!/bin/bash
3 usage()
5 echo -e "\nUsage: scripts/release.h {all|clean|binary|dist|todo}"
6 exit 1
9 error()
11 echo "ERROR: $1"
12 usage
15 prepare()
17 VERSION=$(grep syx_version configure.ac|head -n 1|awk '{ print $2 }')
18 VERSION=${VERSION:1:${#VERSION}-3}
19 test -z $VERSION && error "Couldn't determine Syx version"
21 MACHINE=$(uname -m)
22 test -z $VERSION && error "Couldn't determine host machine"
24 RELEASE=syx-${VERSION}
25 ARCHIVEDIR=../${RELEASE}
27 mkdir -p ${ARCHIVEDIR}
30 make_binary()
32 BINARY=syx-${VERSION}-bin-${MACHINE}
33 DESTDIR=$(pwd)/${BINARY}
34 ARCHIVE=${BINARY}.tar.gz
35 test -e ${ARCHIVEDIR}/${ARCHIVE} && echo Binary up-to-date && return 0
37 make distclean
38 ./autogen.sh --prefix=/usr
39 make
40 make install DESTDIR=$DESTDIR
42 tar -czf $ARCHIVE $BINARY
43 rm -rf $DESTDIR
44 mv $ARCHIVE $ARCHIVEDIR
47 make_dist()
49 ARCHIVE=${RELEASE}.tar.gz
50 test -e ${ARCHIVEDIR}/${ARCHIVE} && echo Dist up-to-date && return 0
52 make distclean
53 ./autogen.sh --enable-wingui
54 make dist
56 mv $ARCHIVE $ARCHIVEDIR
59 show_todo()
61 echo "TODO:
62 1) Make Windows installer
63 2) Make Windows zip
64 3) Make Windows CE binaries
65 4) Deprecate downloads
66 5) Upload archives
67 6) Update installation instructions
68 7) Update release notes
69 8) Test downloads
70 9) Update freshmeat
71 10) Update home wiki
72 11) Blog post
73 12) Post do mailing list"
76 make_all()
78 echo "Making all"
79 make_binary
80 make_dist
83 prepare
85 test -z $@ && make_all
87 for op in $@; do
88 case $op in
89 clean)
90 read -p "Are you sure to rm -rf ${ARCHIVEDIR}? (N/y)"
91 test "$REPLY" = "y" && rm -rf $ARCHIVEDIR && echo "Removed"
93 binary)
94 make_binary
96 dist)
97 make_dist
99 todo)
100 show_todo
103 usage
105 esac
106 done