#!/bin/sh # Mini configure script # 1-10-2004 echo MT_V="3.11" MT_DATE="2007-04-02" MT_VERSION="mtPaint $MT_V" MT_LANG=NO MT_MAN=NO MT_LANG_DEST=/usr/share/locale MT_PO_DEST=$MT_LANG_DEST MT_MAN_DEST=/usr/local/man/man1 LIN_BIN_INSTALL=/usr/local/bin WIN_BIN_INSTALL="/c/Program Files/mtPaint/bin" BIN_INSTALL= MAKE_DIRS=src ICON_SET=icons1 STATIC_PNG= STATIC_JPEG= STATIC_TIFF= STATIC_GIF= AS_NEEDED= IMAGE_LIBDIR= GTK_FILE=_conf.txt CFLAG= MARCH= OPTS=YES DEBUG=NO HELP=1 L_EX= STATIC_LAST= # Called with lib ID & static mode LIB_NAME () { if [ "$IMAGE_LIBDIR" ] then L_EX="$L_EX ${IMAGE_LIBDIR}/lib$1" if [ "$2" ] then L_EX="${L_EX}.a" else L_EX="${L_EX}.so" fi else if [ "$2" ] then if [ -z "$STATIC_LAST" ] then L_EX="$L_EX -Wl,-dn" fi else if [ "$STATIC_LAST" ] then L_EX="$L_EX -Wl,-dy" fi fi L_EX="$L_EX -l$1" fi STATIC_LAST=$2 } if [ "$OSTYPE" = "msys" ] then OS="MinGW/MSYS" GTK=2 IS_LIB() { redir -e /dev/null ld -$1 -o ____3742.tmp -L/lib > /dev/null 2>&1 } else OS="GNU/Linux" if pkg-config gtk+-2.0 --cflags > /dev/null then GTK=2 else GTK=1 fi IS_LIB() { ld -$1 -o `mktemp -t /tmp` -L/lib -L/usr/lib -L/usr/X11R6/lib -lX11 -lz -lm > /dev/null 2>&1 } fi if IS_LIB "lgif" then NGIF=GIF else if IS_LIB "lungif" then NGIF=YES else NGIF=NO fi fi if IS_LIB "ljpeg" then NJPEG=YES else NJPEG=NO fi if IS_LIB "ltiff" then NTIFF=YES else NTIFF=NO fi for A in "$@" do case "$A" in "flush" ) echo Clearing out directory to original state echo make clean echo rm _conf.txt rm po/mtpaint.pot rm src/graphics/*.xpm src/graphics/*.xbm rm -rf slack rm -f *.tgz exit;; "staticpng" ) STATIC_PNG=PNG;; "GIF" ) NGIF=GIF;; "gif" ) NGIF=YES;; "nogif" ) NGIF=NO;; "staticgif" ) STATIC_GIF=GIF;; "jpeg" ) NJPEG=YES;; "nojpeg" ) NJPEG=NO;; "staticjpeg" ) STATIC_JPEG=JPEG;; "tiff" ) NTIFF=YES;; "notiff" ) NTIFF=NO;; "statictiff" ) STATIC_TIFF=TIFF;; "--libdir="* ) IMAGE_LIBDIR="`echo "$A" | sed -e "s/--libdir=//"`";; "slow" ) OPTS=NO;; "asneeded" ) AS_NEEDED=-Wl,--as-needed;; "debug" ) DEBUG=YES;; "gtk1" ) GTK=1;; "gtk2" ) GTK=2;; "win" ) OS="MinGW/MSYS" GTK=2;; "intl" ) MT_LANG=YES;; "merge" ) xgettext src/*.c src/*.h --keyword=_ -o po/mtpaint.pot cd po NEW_DIR=trans_ mkdir $NEW_DIR`date +%d-%m-%Y-%H-%M-%S` ls *.po | while read file do echo New file = $file-a mv $file $file-a msgmerge -N $file-a mtpaint.pot > $file-b perl xtend.pl $file-b $file mv $file-* $NEW_DIR* done rm mtpaint.pot mv $NEW_DIR* ../../old_trans exit;; "newpo" ) xgettext src/*.c src/*.h --keyword=_ -o po/mtpaint.pot exit;; "man" ) MT_MAN=YES;; "pod" ) MT_POD=YES;; "--help" ) HELP=0;; "--bindir="* ) LIN_BIN_INSTALL="`echo "$A" | sed -e "s/--bindir=//"`" WIN_BIN_INSTALL=$LIN_BIN_INSTALL;; "--locale="* ) MT_LANG_DEST="`echo "$A" | sed -e "s/--locale=//"`" MT_PO_DEST=$MT_LANG_DEST;; "--mandir="* ) MT_MAN_DEST="`echo "$A" | sed -e "s/--mandir=//"`";; "cflags" ) CFLAG=${CFLAGS};; "--cpu="* ) MARCH='-march='"`echo "$A" | sed -e "s/--cpu=//"`";; "icons"* ) ICON_SET=$A;; "386" ) MARCH='-march=i386';; "486" ) MARCH='-march=i486';; "586" ) MARCH='-march=i586';; "686" ) MARCH='-march=i686';; "--prefix="* ) MT_PREFIX="`echo "$A" | sed -e "s/--prefix=//"`" WIN_BIN_INSTALL="$MT_PREFIX/bin" LIN_BIN_INSTALL="$MT_PREFIX/bin" MT_LANG_DEST="$MT_PREFIX/share/locale" MT_PO_DEST=$MT_LANG_DEST MT_MAN_DEST="$MT_PREFIX/man/man1";; "--po="* ) MT_PO_DEST="`echo "$A" | sed -e "s/--po=//"`";; "guada" ) MARCH='-march=i386' MT_LANG=YES MT_MAN=YES MT_POD=YES LIN_BIN_INSTALL=/usr/bin MT_CUSTOM=GUADALINEX;; "build" ) ./configure flush I_DIR=/home/mark/sf cd .. zip -r $I_DIR/mtpaint-$MT_V.zip mtpaint-$MT_V*/ tar cjvf $I_DIR/mtpaint-$MT_V.tar.bz2 mtpaint-$MT_V*/ cd mtpaint-$MT_V* ./configure --prefix=`pwd`/slack/usr --bindir=`pwd`/slack/usr/local/bin --po=/usr/share/locale intl man asneeded staticgif make mkdir -p slack/install/ mkdir -p slack/usr/doc/mtpaint/ cp -r ../docs-mtpaint3/mtpaint_*/docs/* slack/usr/doc/mtpaint/ make install cp doc/slack-desc slack/install/ cd slack GTK_V=gtk2 makepkg --chown n $I_DIR/mtpaint-$MT_V$GTK_V-i486-1.tgz cd .. ./configure flush ./configure --prefix=`pwd`/slack/usr --bindir=`pwd`/slack/usr/local/bin --po=/usr/share/locale intl man gtk1 asneeded staticgif make mkdir -p slack/install/ mkdir -p slack/usr/doc/mtpaint/ cp -r ../docs-mtpaint3/mtpaint_*/docs/* slack/usr/doc/mtpaint/ make install cp doc/slack-desc slack/install/ cd slack GTK_V=gtk1 makepkg --chown y $I_DIR/mtpaint-$MT_V$GTK_V-i486-1.tgz cd .. ./configure flush ./configure --prefix=`pwd`/slack/usr --bindir=`pwd`/slack/usr/bin --po=/usr/share/locale intl man GIF staticgif --libdir=$I_DIR/ubuntulib make mkdir -p slack/install/ mkdir -p slack/usr/share/doc/mtpaint/ cp -r ../docs-mtpaint3/mtpaint_*/docs/* slack/usr/share/doc/mtpaint/ make install cp doc/slack-desc slack/install/ cd slack makepkg --chown y $I_DIR/mtpaint-$MT_V.tgz cd .. ./configure flush cp doc/alien-desc "$I_DIR" cd "$I_DIR" export EMAIL="mtpaint-user@lists.sourceforge.net" alien -d --version=$MT_V --description="`cat alien-desc`" mtpaint-$MT_V.tgz rename -2_all _i486 *.deb chown mark * chgrp users * exit;; esac done if [ "$HELP" = 0 ] then echo "Usage: ./configure [OPTION] ... " echo echo "Options:" echo echo "win ............. Configure for Windows MinGW / MSYS" echo "gtk1 ............ Configure for GTK+1" echo "gtk2 ............ Configure for GTK+2" echo echo "cflags .......... Use CFLAGS environment variable" echo "--cpu= .......... Target a specific CPU, e.g. athlon-xp, x86-64" echo "686 ............. Target 686 machines" echo "586 ............. Target 586 machines" echo "486 ............. Target 486 machines" echo "386 ............. Target 386 machines" echo "slow ............ Don't use compiler optimizations" echo "asneeded ........ Use linker optimization --as-needed" echo echo "staticpng ....... Statically link PNG library" echo "GIF ............. Use libgif" echo "gif ............. Use libungif" echo "nogif ........... Don't use libgif and libungif" echo "staticgif ....... Statically link GIF library" echo "jpeg ............ Use libjpeg" echo "nojpeg .......... Don't use libjpeg" echo "staticjpeg ...... Statically link JPEG library" echo "tiff ............ Use libtiff" echo "notiff .......... Don't use libtiff" echo "statictiff ...... Statically link TIFF library" echo "--libdir=DIR .... DIR = location of image library files to use for cross-compilation" echo echo "flush ........... Flush directories to initial state" echo "debug ........... Include debugging info in binary" echo "--bindir=DIR .... DIR = location of bin file to install, /usr/local/bin by default" echo echo "intl ............ Use internationalized po files" echo "newpo ........... Create ./po/mtpaint.pot" echo "merge ........... Update all po files with new strings - developers only" echo "--locale=DIR .... DIR = location of locale files to install, /usr/share/locale by default" echo echo "man ............. Install the mtPaint man page" echo "pod ............. Compile new man page - see ./doc/README for details" echo "--mandir=DIR .... DIR = location of man page to install, /usr/local/man/man1 by default" echo echo "--prefix=DIR .... DIR = prefix location of all installs, e.g. /usr or /usr/local" echo echo "icons ........... Compile with alternative icon set - see ./src/icons1/README for details" echo echo "Default settings: GNU/Linux system, O2 optimizations, English only version" echo "pkg-config gtk+-2.0 is checked to determine GTK+2 availability in GNU/Linux" else cp src/$ICON_SET/*.xpm src/$ICON_SET/*.xbm src/graphics echo CC = gcc -Wall > $GTK_FILE echo "MT_VERSION=$MT_VERSION" >> $GTK_FILE echo "MT_DATE=$MT_DATE" >> $GTK_FILE if [ "$OS" = "GNU/Linux" ] then BIN_INSTALL=$LIN_BIN_INSTALL if [ "$GTK" = "1" ] then if gtk-config --cflags > /dev/null then GTK_INCLUDE=`gtk-config --cflags` GTK_LIB=`gtk-config --libs` else echo echo I have not been able to find gtk-config so I am assuming the following: echo GTK_INCLUDE="-I/opt/gnome/include/gtk-1.2 -I/opt/gnome/include/glib-1.2 -I/opt/gnome/lib/glib/include -I/usr/X11R6/include" GTK_LIB="-L/usr/lib -L/usr/X11R6/lib -L/opt/gnome/lib -lgtk -lgdk -rdynamic -lgmodule -lglib -ldl -lXext -lX11 -lm" echo GTK_INCLUDE = $GTK_INCLUDE echo GTK_LIB = $GTK_LIB echo echo If these values are not right for your system, edit the configure script echo fi else GTK_INCLUDE=`pkg-config gtk+-2.0 --cflags` GTK_LIB=`pkg-config gtk+-2.0 --libs` fi else BIN_INSTALL=$WIN_BIN_INSTALL MT_LANG_DEST=locale MT_PO_DEST=locale if [ "$GTK" = "1" ] then GTK_INCLUDE="-I/include -I/include/glib-2.0 -I/lib/gtk+/include -I/lib/glib-2.0/include -mms-bitfields" GTK_LIB="-L/lib -lgtk -lgdk -lglib-2.0 -lm -mwindows" else 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" 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" fi fi if [ "$IMAGE_LIBDIR" ] then AS_NEEDED="-Wl,--as-needed -Wl,--unresolved-symbols=ignore-in-shared-libs" fi L_EX=$AS_NEEDED I_EX= if [ "$NGIF" != "NO" ] then if [ "$NGIF" = "GIF" ] then LIB_NAME gif "$STATIC_GIF" else LIB_NAME ungif "$STATIC_GIF" fi I_EX="$I_EX -DU_GIF" fi if [ "$NJPEG" = "YES" ] then LIB_NAME jpeg "$STATIC_JPEG" I_EX="$I_EX -DU_JPEG" fi if [ "$NTIFF" = "YES" ] then LIB_NAME tiff "$STATIC_TIFF" I_EX="$I_EX -DU_TIFF" fi LIB_NAME png "$STATIC_PNG" LIB_NAME z "$STATIC_PNG" if [ "$STATIC_LAST" ] && [ -z "$IMAGE_LIBDIR" ] then L_EX="$L_EX -Wl,-dy" fi if [ "$DEBUG" = NO ] then GTK_LIB="$GTK_LIB -s" fi if [ "$MT_CUSTOM" ] then I_EX="$I_EX -DU_$MT_CUSTOM" fi if [ "$MT_LANG" = YES ] then I_EX="$I_EX -DU_NLS -DMT_LANG_DEST=\"\\\"$MT_PO_DEST\"\\\"" MAKE_DIRS="$MAKE_DIRS po" if [ "$OS" = "MinGW/MSYS" ] then L_EX="$L_EX -lintl" echo "MT_LANG_DEST=\"$BIN_INSTALL/$MT_LANG_DEST\"" >> $GTK_FILE else echo "MT_LANG_DEST=\"$MT_LANG_DEST\"" >> $GTK_FILE fi fi if [ "$MT_MAN" = YES ] then MAKE_DIRS="$MAKE_DIRS doc" echo "MT_MAN_DEST=\"$MT_MAN_DEST\"" >> $GTK_FILE fi I_EX="$I_EX -DVERSION=\"\\\"$MT_VERSION\"\\\"" GTK_INCLUDE="$GTK_INCLUDE $I_EX" echo "LDFLAG = $L_EX $GTK_LIB" >> $GTK_FILE if [ "$CFLAG" ] then echo "CFLAG = $CFLAG $GTK_INCLUDE" >> $GTK_FILE else if [ "$OPTS" = "YES" ] then echo "CFLAG = -O2 $MARCH $GTK_INCLUDE" >> $GTK_FILE else echo "CFLAG = $MARCH $GTK_INCLUDE" >> $GTK_FILE fi fi echo "subdirs = $MAKE_DIRS" >> $GTK_FILE echo "BIN_INSTALL=\"$BIN_INSTALL\"" >> $GTK_FILE if [ "$MT_POD" = "YES" ] then cd doc make pod cd .. fi if [ "$OSTYPE" = "msys" ] then rm ____3742.tmp fi echo echo echo -------------------------- echo $MT_VERSION configuration echo -------------------------- echo echo "System $OS" echo echo "GTK+ version $GTK" echo if [ "$CFLAG" ] then echo "CFLAGS $CFLAG" else if [ "$MARCH" ] then echo "MARCH target $MARCH" echo fi echo "Optimizations $OPTS $AS_NEEDED" fi echo echo "Debug info $DEBUG" echo echo "Use GIF $NGIF" echo echo "Use JPEG $NJPEG" echo echo "Use TIFF $NTIFF" echo echo "Binary install $BIN_INSTALL" echo echo "Internationalized $MT_LANG" echo if [ "$MT_LANG" = YES ] then echo "Locale install $MT_LANG_DEST" echo echo "Locale program $MT_PO_DEST" echo fi echo "Install man page $MT_MAN" echo if [ "$MT_MAN" = YES ] then echo "Man page install $MT_MAN_DEST" echo fi if [ "$MT_CUSTOM" ] then echo "Customized for $MT_CUSTOM" echo fi if [ "$STATIC_PNG" ] || [ "$STATIC_GIF" ] || [ "$STATIC_JPEG" ] || [ "$STATIC_TIFF" ] then echo -n "Static libraries " if [ "$STATIC_PNG" ] then echo -n "$STATIC_PNG " fi if [ "$STATIC_GIF" ] then echo -n "$STATIC_GIF " fi if [ "$STATIC_JPEG" ] then echo -n "$STATIC_JPEG " fi if [ "$STATIC_TIFF" ] then echo -n "$STATIC_TIFF " fi echo echo fi echo "Icon set $ICON_SET" echo fi echo