1# Mini configure script
2# 1-10-2004
3
4echo
5
6MT_V="0.8.7"
7MT_DATE="2007-5-7"
8
9MT_VERSION="rgbPaint $MT_V"
10MT_LANG=NO
11MT_MAN=NO
12MT_LANG_DEST=/usr/share/locale
13MT_PO_DEST=$MT_LANG_DEST
14MT_MAN_DEST=/usr/local/man/man1
15LIN_BIN_INSTALL=/usr/local/bin
16WIN_BIN_INSTALL="/c/Program Files/mtPaint/bin"
17BIN_INSTALL=
18MAKE_DIRS=src
19
20AS_NEEDED=
21
22GTK_FILE=_conf.txt
23
24CFLAG=
25MARCH=
26OPTS=YES
27DEBUG=NO
28HELP=1
29
30if [ "$OSTYPE" = "msys" ]
31then
32	OS="MinGW/MSYS"
33else
34	OS="GNU/Linux"
35fi
36
37
38for A in "$@"
39do
40	case "$A" in
41		"flush" )	echo Clearing out directory to original state
42				echo
43				make clean
44				echo
45				rm _conf.txt
46				rm -rf slack
47				rm -f *.tgz
48				exit;;
49		"slow" )	OPTS=NO;;
50		"asneeded" )	AS_NEEDED=-Wl,--as-needed;;
51		"debug" )	DEBUG=YES;;
52		"win" )		OS="MinGW/MSYS"
53				GTK=2;;
54		"intl" )	MT_LANG=YES;;
55		"merge" )	xgettext src/*.c src/*.h --keyword=_ -o po/rgbpaint.pot
56				cd po
57				NEW_DIR=trans_
58				mkdir $NEW_DIR`date +%d-%m-%Y-%H-%M-%S`
59				ls *.po | while read file
60				do
61					echo New file = $file-a
62					mv $file $file-a
63					msgmerge -N $file-a rgbpaint.pot > $file
64					mv $file-* $NEW_DIR*
65				done
66				mv $NEW_DIR* ../../old_trans
67				exit;;
68		"newpo" )	xgettext src/*.c src/*.h --keyword=_ -o po/rgbpaint.pot
69				exit;;
70		"man" )		MT_MAN=YES;;
71		"pod" )		MT_POD=YES;;
72		"--help" )	HELP=0;;
73		"--bindir="* )	LIN_BIN_INSTALL="`echo "$A" | sed -e "s/--bindir=//"`"
74				WIN_BIN_INSTALL=$LIN_BIN_INSTALL;;
75		"--locale="* )	MT_LANG_DEST="`echo "$A" | sed -e "s/--locale=//"`"
76				MT_PO_DEST=$MT_LANG_DEST;;
77		"--mandir="* )	MT_MAN_DEST="`echo "$A" | sed -e "s/--mandir=//"`";;
78		"cflags" )	CFLAG=${CFLAGS};;
79		"--cpu="* )	MARCH='-march='"`echo "$A" | sed -e "s/--cpu=//"`";;
80		"386" )		MARCH='-march=i386';;
81		"486" )		MARCH='-march=i486';;
82		"586" )		MARCH='-march=i586';;
83		"686" )		MARCH='-march=i686';;
84		"--prefix="* )	MT_PREFIX="`echo "$A" | sed -e "s/--prefix=//"`"
85				WIN_BIN_INSTALL="$MT_PREFIX/bin"
86				LIN_BIN_INSTALL="$MT_PREFIX/bin"
87				MT_LANG_DEST="$MT_PREFIX/share/locale"
88				MT_PO_DEST=$MT_LANG_DEST
89				MT_MAN_DEST="$MT_PREFIX/man/man1";;
90		"--po="* )	MT_PO_DEST="`echo "$A" | sed -e "s/--po=//"`";;
91		"build" )	./configure flush
92				rm -rf ../paint.activity
93				mkdir ../paint.activity
94				cp -ar activity/* ../paint.activity/
95				./configure --locale=`pwd`/../paint.activity/bin/locale --bindir=`pwd`/../paint.activity/bin --po=./bin/locale intl asneeded
96				make
97				make install
98				./configure flush
99				cd ..
100				tar cjvf rgbpaint-$MT_V.tar.bz2 rgbpaint-$MT_V/
101				tar cjvf paint.activity-$MT_V.tar.bz2 paint.activity/
102#				rm -rf paint.activity
103				exit;;
104	esac
105done
106
107
108if [ "$HELP" = 0 ]
109then
110	echo "Usage: ./configure [OPTION] ... "
111	echo
112	echo "Options:"
113	echo
114	echo "win ............. Configure for Windows MinGW / MSYS"
115	echo
116	echo "cflags .......... Use CFLAGS environment variable"
117	echo "--cpu= .......... Target a specific CPU, e.g. athlon-xp, x86-64"
118	echo "686 ............. Target 686 machines"
119	echo "586 ............. Target 586 machines"
120	echo "486 ............. Target 486 machines"
121	echo "386 ............. Target 386 machines"
122	echo "slow ............ Don't use compiler optimizations"
123	echo
124	echo "flush ........... Flush directories to initial state"
125	echo "debug ........... Include debugging info in binary"
126	echo "--bindir=DIR .... DIR = location of bin file to install, /usr/local/bin by default"
127	echo
128	echo "intl ............ Use internationalized po files"
129	echo "newpo ........... Create ./po/rgbpaint.pot"
130	echo "merge ........... Update all po files with new strings - developers only"
131	echo "--locale=DIR .... DIR = location of locale files to install, /usr/share/locale by default"
132	echo
133	echo "man ............. Install the man page"
134	echo "pod ............. Compile new man page - see ./doc/README for details"
135	echo "--mandir=DIR .... DIR = location of man page to install, /usr/local/man/man1 by default"
136	echo
137	echo "--prefix=DIR .... DIR = prefix location of all installs, e.g. /usr or /usr/local"
138	echo
139	echo "Default settings: GNU/Linux system, O2 optimizations, English only version"
140else
141
142#	echo CC = gcc -Wall > $GTK_FILE
143	echo "MT_VERSION=$MT_VERSION" >> $GTK_FILE
144	echo "MT_DATE=$MT_DATE" >> $GTK_FILE
145
146	if [ "$OS" = "GNU/Linux" ]
147	then
148		BIN_INSTALL=$LIN_BIN_INSTALL
149		GTK_INCLUDE=`pkg-config gtk+-2.0 --cflags`
150		GTK_LIB=`pkg-config gtk+-2.0 --libs`
151	else
152		BIN_INSTALL=$WIN_BIN_INSTALL
153		MT_LANG_DEST=locale
154		MT_PO_DEST=locale
155		GTK_INCLUDE="-I/include/gtk-2.0 -I/lib/gtk-2.0/include -I/include/atk-1.0 -I/include/pango-1.0 -I/usr/include/freetype2 -I/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/include -mms-bitfields"
156		GTK_LIB="-L/lib -lgtk-win32-2.0 -lgdk-win32-2.0 -lpango-1.0 -lglib-2.0 -lgobject-2.0 -lgdk_pixbuf-2.0 -lm -mwindows"
157	fi
158
159	L_EX=$AS_NEEDED
160	I_EX=
161
162	if [ "$DEBUG" = NO ]
163	then
164		GTK_LIB="$GTK_LIB"
165	fi
166
167
168	if [ "$MT_LANG" = YES ]
169	then
170		I_EX="$I_EX -DU_NLS -DMT_LANG_DEST=\"\\\"$MT_PO_DEST\"\\\""
171		MAKE_DIRS="$MAKE_DIRS po"
172		if [ "$OS" = "MinGW/MSYS" ]
173		then
174			L_EX="$L_EX -lintl"
175			echo "MT_LANG_DEST=\"$BIN_INSTALL/$MT_LANG_DEST\"" >> $GTK_FILE
176		else
177			echo "MT_LANG_DEST=\"$MT_LANG_DEST\"" >> $GTK_FILE
178		fi
179	fi
180	if [ "$MT_MAN" = YES ]
181	then
182		MAKE_DIRS="$MAKE_DIRS doc"
183		echo "MT_MAN_DEST=\"$MT_MAN_DEST\"" >> $GTK_FILE
184	fi
185
186	I_EX="$I_EX -DVERSION=\"\\\"$MT_VERSION\"\\\""
187	GTK_INCLUDE="$GTK_INCLUDE $I_EX"
188	echo "LDFLAG = $L_EX $GTK_LIB" >> $GTK_FILE
189
190	if [ "$CFLAG" ]
191	then
192		echo "CFLAG = $CFLAG $GTK_INCLUDE" >> $GTK_FILE
193	else
194		if [ "$OPTS" = "YES" ]
195		then
196			echo "CFLAG = -O2 $MARCH $GTK_INCLUDE" >> $GTK_FILE
197		else
198			echo "CFLAG = $MARCH $GTK_INCLUDE" >> $GTK_FILE
199		fi
200	fi
201
202	echo "subdirs = $MAKE_DIRS" >> $GTK_FILE
203	echo "BIN_INSTALL=\"$BIN_INSTALL\"" >> $GTK_FILE
204
205
206	if [ "$MT_POD" = "YES" ]
207	then
208		cd doc
209		make pod
210		cd ..
211	fi
212
213	if [ "$OSTYPE" = "msys" ]
214	then
215		rm ____3742.tmp
216	fi
217
218	echo
219	echo
220	echo --------------------------
221	echo $MT_VERSION configuration
222	echo --------------------------
223	echo
224	echo "System              $OS"
225	echo
226if [ "$CFLAG" ]
227then
228	echo "CFLAGS              $CFLAG"
229else
230if [ "$MARCH" ]
231then
232	echo "MARCH target        $MARCH"
233	echo
234fi
235	echo "Optimizations       $OPTS"
236fi
237	echo
238	echo "Debug info          $DEBUG"
239	echo
240	echo "Binary install      $BIN_INSTALL"
241	echo
242	echo "Internationalized   $MT_LANG"
243	echo
244if [ "$MT_LANG" = YES ]
245then
246	echo "Locale install      $MT_LANG_DEST"
247	echo
248	echo "Locale program      $MT_PO_DEST"
249	echo
250fi
251	echo "Install man page    $MT_MAN"
252	echo
253if [ "$MT_MAN" = YES ]
254then
255	echo "Man page install    $MT_MAN_DEST"
256	echo
257fi
258
259
260fi
261
262echo
263