software package name |
configure 方法 |
補充 |
e2fsprogs-1.35 |
CC=arm-linux-gcc ./configure --build=i386-linux --host=arm-linux --target=arm-linux --prefix=/build_package/ipaq/e2fsprogs-1.35-arm --disable-nls --enable-elf-shlibs |
--enable-elf-shlibs 可以產生 so library make make install // 安裝 library make install-libs 這些均由 INSTALL 得知
|
jpeg-6b |
./configure --target=arm-linux --host=arm-linux --build=i386-linux --enable-shared --enable-static --prefix=/build_package/ipaq/jpeg-6b-arm |
make CC=arm-linux-gcc make install when make install, 必須要自己建立目錄, 因為 make install 的 script 不會自己建立目錄。 |
pcmcia-cs |
./Configure --kernel=/build_package/glibc-2.2.4/linux-2.4.16-rmk1-hh12 --noprompt --arch=arm --nocardbus --ucc=arm-linux-gcc --ld=arm-linux-ld --target=/build_package/myroot |
需要 linux kernel source |
lrzsz |
CFLAGS=-Wstrict-prototypes CC=arm-linux-gcc ./configure --disable-nls --disable-timesync --prefix="dir" arm-linux perl -i -p -e "s/-lnsl//;" src/Makefile perl -i -p -e "s~(#define ENABLE_SYSLOG.*)~/* \1 */~;" config.h
|
make make install // will install lrz lsz l* file this build method form tuxscreen
|
lrzsz-0.12.21 |
CFLAGS=-Wstrict-prototypes CC=arm-linux-gcc ./configure --disable-nls --disable-timesync --prefix="dir" arm-linux perl -i -p -e "s/-lnsl//;" src/Makefile perl -i -p -e "s~(#define ENABLE_SYSLOG.*)~/* \1 */~;" config.h
|
cd lib and type make cd src and type make perl -i -p -e "s/-lnsl//;" src/Makefile, mean don't link nsl library make install // will install lrz lsz l* file this build method form tuxscreen
|
freetype-2.1.5 |
CC=/arm_tools/bin/arm-linux-gcc ./configure --host=arm-linux --target=arm-linux --prefix=/arm_tools/freetype-2.1.1-arm new configure: emacs include/freetype/config/ftoption.h ./configure --host=strongarm-linux OBJ_DIR=. LIBTOOL=libtool make
|
new configure ref : http://emmie.koka-in.org/~kensyu/zaurus/diary/20030419.html |
konqueror |
CXX=arm-linux-g++ /usr/bin/xconfigure --disable-debug --enable-static --disable-shared --enable-qt-embedded --enable-qpe --with-extra-libs=$PWD/../lib/ --with-extra-includes=$PWD/../include -without-ssl --prefix=$PWD/../konqueror-embedded-snapshot-20030705-arm
./configure --host=arm-linux --target=arm-linux --disable-mt --disable-threading --without-ssl --with-extra-includes=/arm-develop/zlib-1.1.3-arm/include/ --with-extra-libs=/arm-develop/zlib-1.1.3-arm/lib --enable-qt-embedded --enable-embedded --enable-qtopia --with-qt-dir=$QTDIR --enable-qpe --with-qtopia-dir=$QPEDIR --with-gui=qpe --prefix=$PWD/../konqueror-embedded-snapshot-20030705-arm
CC=arm-linux-gcc CXX=arm-linux-g++ ./configure --host=arm-linux --target=arm-linux --disable-mt --disable-threading --without-ssl --with-extra-includes=/arm-develop/zlib-1.1.3-arm/include/ --with-extra-libs=/arm-develop/zlib-1.1.3-arm/lib --enable-qt-embedded --enable-embedded --enable-qtopia --with-qt-dir=/arm-develop/qtopia-1.5/ipaq/qt-2.3.3 --enable-qpe --with-qtopia-dir=/arm-develop/qtopia-1.5/ipaq/qtopia-free-1.5.0 --with-gui=qpe
CC=arm-linux-gcc CXX=arm-linux-g++ ./configure --host=arm-linux \ --target=arm-linux --disable-mt --disable-threading --without-ssl \ --with-extra-includes=/arm_dep/zlib-1.1.4-arm/include/ \ --with-extra-libs=/arm_dep/zlib-1.1.4-arm/lib/ --enable-qt-embedded \ --enable-embedded --enable-qtopia \ --with-qt-dir=/home/descent/arm_dep/qtopia-1.6/arm/qt-2.3.4 \ --enable-qpe \ --with-qtopia-dir=/home/descent/arm_dep/qtopia-1.6/arm/qtopia-free-1.6.0 \ --with-gui=qpe --prefix=/arm_dep/qtopia-1.6/arm CC=arm-linux-gcc CXX=arm-linux-g++ ./configure --host=arm-linux \ --target=arm-linux --disable-mt --disable-threading --without-ssl \ --enable-qt-embedded --enable-embedded --enable-qtopia \ --with-qt-dir=$QTDIR --enable-qpe --with-qtopia-dir=$QPEDIR \ --with-gui=qpe --prefix=$PWD/../konqueror-embedded-snapshot_20020127-arm
// 這是作者的 configure method
There are tons of special configure options and the like. I'm getting confused. How does your configuration look like?
Here's what I use for cross-compiling for the iPAQ: Qt:
./configure -gif -qt-libpng -no-jpeg -no-mng -no-thread -no-opengl -release -shared -no-g++-exceptions -I/usr/local/arm-linux/include -depths 16 -qconfig local -no-qvfb -xplatform linux-ipaq-g++
Konq/E:
../xconfigure --disable-debug --enable-static --disable-shared --enable-qt-embedded --enable-qpe --with-extra-libs=$PWD/../lib/ --with-extra-includes=$PWD/../include -without-ssl --prefix=$PWD/../install
xconfigure is a configure wrapper script I found on the net. It's handy when cross-compiling for ARM-Linux, as it sets up all necessary special configure switches to get things right. I put up a copy of it here .
|
需要 libz 及 jpeg library depend package: zlib KDEDIR=/arm_tools/arm-linux/lib/ 此變數看情形而使用 xconfigure 請到 http://developer.kde.org/~hausmann/xconfigure 下載 第一組 configure 可以 build konqueror-embedded-snapshot-20030705 for arm /win/opie_sdk/arm/opie/include/qpe/version.h #define QPE_VENDOR "Project Opie" #define QPE_VERSION "1.1.6" #define SUB_VERSION "" if configure check qtopia version is 1.1.6 and don't continue, I modify 1.1.6 to 1.5.6 let configure can work. Then change to 1.1.6 and make for opie 1.1.6 . need set QPEDIR to opie dir or qtopia dir suggest symbolic link $QPEDIR/lib/* to $QTDIR/lib maybe avoid some configure error 若是遇到以 opie 來 configure 時發生 check qtopia 版本不合, 改 opie/include/qpe/version.h 其中的 #define QPE_VERSION "1.1.6" 1.1.6 -> 1.5.6 即可通過 configure check。通過檢察在改回來即可。 在做 configure 時, 最好把 $OPIEDIR/lib 或是 $QPEDIR/lib 所有 library link 到 $QTDIR/lib 下, 在檢查 libqpe 時才會過。
|
libpcap-0.8.1 |
./configure --build=i386-linux --target=arm-linux --prefix=$PWD/../libpcap-0.8.1-arm |
need flex to configure need byacc to compile
|
libpng-1.2.5 |
copy scripts/makefile.linux to ./Makefile or symbolic link, modify Makefile zlib include, lib variable, and prefix variable to install, type make install CC=arm-linux-gcc
|
depend: zlib |
zlib-1.1.4 |
|
ref: http://www.ailis.de/~k/docs/crosscompiling/zlib.php |
sqlite 2.8.15 |
I modify makefile to build it. ./configure --target=arm-linux --host=arm-linux --prefix=$PWD/../sqlite-2.8.15-arm This configure I get a Makefile and I modify it to build sqlite. TCC (in Makefile) I change gcc to arm-linux-gcc, and I remove libtool to build sqlite and use arm-linux-ar to build libsqlite.a. |
dep ncurses library if you want sqlite command. If you only need library and include file, you don't need ncurses library. |
ncruses 5.2 |
需要 tic 來產生 terinfo file, make install 時要用到 tic, 必須要是 host version, in my pc, it is x86 format and static link which I build from source code. Tic (x86) is in this tar ball. arm version tic, I delete it. |
|
fam-2.7.0 |
./configure -target=arm-linux --host=arm-linux --prefix=$PWD/../fam-2.7.0-arm |
modify some source code (fam.h, src/NetConnection.h) #i nclude <limits.h> to #i nclude <linux/limits.h> in my toolchain. |
esound-0.2.29 |
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PWD/../esound-0.2.29-arm |
modify Makefile: audiofile-config 在 libaudiofile/bin AUDIOFILE_CONFIG = ./audiofile-0.2.3-arm/bin/audiofile-config AUDIOFILE_LIBS = `./audiofile-0.2.3-arm/bin/audiofile-config --libs` make make install |
libid3tag-0.15.1b |
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PWD/../libid3tag-0.15.1b-arm |
read mp3 id3 tag |
libmad-0.15.1b-arm |
CC=arm-linux-gcc ./configure --host=arm-linux --prefix=$PWD/../libmad-0.15.1b-arm |
mp3 library |
bluez-libs-2.15 |
./configure --build=i386-linux --host=arm-linux --target=arm-linux --prefix=$PWD/../bluez-libs-2.15-arm |
bluetooth library |
rsync-2.6.3 |
CC=arm-linux-gcc ./configure --build=i386-linux --host=arm-linux --prefix=$PWD/../rsync-2.6.3-arm |
modify rsync.h add #define uint64 unsigned long and remove all uint64 macro |
module-init-tools-3.2-pre1 |
./configure --build=i386-linux --host=arm-linux --target=arm-linux --prefix=/home/descent/module-init-tools-3.2-pre1/upstream/tarballs/module-init-tools-3.2-pre1/../module-init-tools-3.2-pre1-arm |
|
bash-3.0 |
./configure --build=i386-linux --host=arm-linux --enable-readline --prefix=$PWD/../bash-3.0-arm |
|
/util-linux-2.12r |
CC=arm-linux-gcc ./configure --build=i386-linux --host=arm-linux --target=arm-linux --prefix=$PWD/../util-linux-2.12r-arm |
只有編譯其中的 fdisk 程式。 modify util-linux-2.12r/MCONFIG ARCH 改成 ARCH=arm, cd fdisk make CC=arm-linux-gcc
|