How to build giflib in the MSYS?

How to build giflib in the MSYS?

 

Where to download the source codes?

 

giflib-4.1.4.tar.bz2

 

How to extract it?

 

$ tar xvjf ./giflib-4.1.4.tar.bz2

 

How to build and install it?

 

Step1: Edit /etc/profile and add three entries.

export perllibdir=.:/usr/share/aclocal:/usr/share/aclocal-1.9:/usr/share/automake-1.9:$perllibdir

alias aclocal='aclocal --acdir=/usr/share/aclocal -I /usr/share/aclocal-1.9 -I /usr/share/automake-1.9'

alias automake='automake --libdir=/usr/share/automake-1.9'

My system use automake-1.9. If readers are different, please revise this version.

 

Step2: Edit giflib-4.1.4/autogen.sh

#!/bin/sh

 

# This script runs commands necessary to generate a Makefile for libgif.

 

echo "Warning: This script will run configure for you -- if you need to pass"

echo "  arguments to configure, please give them as arguments to this script."

 

srcdir=`dirname $0`

test -z "$srcdir" && srcdir=.

 

THEDIR="`pwd`"

 

source /etc/profile

cd $THEDIR

 

cd $srcdir

 

aclocal

autoheader

libtoolize --automake

automake --add-missing

autoconf

automake

 

cd $THEDIR

 

$srcdir/configure $*

 

exit 0

 

Step3: Build and Install it

$ ./autogen.sh --prefix=/mingw --disable-shared --enable-static

$ MY_CURR_PATH=`pwd`

$ make CFLAGS="-Du_int32_t=uint32_t -I$MY_CURR_PATH/lib $CFLAGS"

$ cd ./util

$ gcc -Du_int32_t=uint32_t -I$MY_CURR_PATH/lib -Du_int32_t=uint32_t -I/lib     gifclrmp.c   -o gifclrmp –L$MY_CURR_PATH/lib -L$MY_CURR_PATH/lib/.libs –lgif –lgetarg

$ gcc -Du_int32_t=uint32_t -I$MY_CURR_PATH/lib -Du_int32_t=uint32_t -I/lib     gifrotat.c   -o gifrotat -L$MY_CURR_PATH/lib -L$MY_CURR_PATH/lib/.libs -lgif –lgetarg

$ cd ..

$ make install

 

[Summarization]

1. u_int32_t has not been defined in the source codes, so I use MACRO to replace it with ease.

2. The configure file utilizes relative path to indicates where the header files locate, and it will lead to compiler error. As a result, the absolute path is adopted.

3. Both gifclrmp and gifrotat don’t have a proper compiling rules, it will fail to compile lack of the relative libraries. It should be a bug of configure.ac in the MSYS! As a result, I do with it manually:- (.

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章