miniGUI移植过程大致如下
移植过程大致如下(由于存在依赖关系,顺序不能错):
–prefix 为生成库文件目录;
–host 指定目标板编译器;
LDFLAGS 为动态库路径
CFLAGS 为头文件路径
CC=arm-hisiv200-linux-gcc
CPP=arm-hisiv200-linux-cpp
CXX=arm-hisiv200-linux-g++
LD=arm-hisiv200-linux-ld
AR=arm-hisiv200-linux-ar
RANLIB=arm-hisiv200-linux-ranlib
STRIP=arm-hisiv200-linux-strip
1、zlib-1.2.2——–
source /etc/profile
export CC=arm-hisiv200-linux-gcc CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar
./configure –prefix=$PWD/_install
make & make install
sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/
2、libpng-1.2.37—–
./configure –prefix=$PWD/_install –host=arm-hisiv200-linux
make & make install
sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/
3、jpeg-7————
./configure –prefix=$PWD/_install –host=arm-hisiv200-linux
make;make install
sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/
/**************freetype-1.3.1**************/
4、freetype-1.3.1
./configure –prefix=
PWD/install–host=arm−hisiv200−linuxvimconfig.cache修改accvpathLD=
P
W
D
/
i
n
s
t
a
l
l
–
h
o
s
t
=
a
r
m
−
h
i
s
i
v
200
−
l
i
n
u
x
v
i
m
c
o
n
f
i
g
.
c
a
c
h
e
修
改
a
c
c
v
p
a
t
h
L
D
=
{ac_cv_path_LD=arm-hisiv200-linux-ld}
ac_cv_prog_CC=
accvprogCC=arm−hisiv200−linux−gccaccvprogCPP=
a
c
c
v
p
r
o
g
C
C
=
a
r
m
−
h
i
s
i
v
200
−
l
i
n
u
x
−
g
c
c
a
c
c
v
p
r
o
g
C
P
P
=
{ac_cv_prog_CPP=’arm-hisiv200-linux-gcc -E’}
重新运行
./configure –prefix=$PWD/_install –host=arm-hisiv200-linux
修改Makefile文件,以跳过编译test目录。
去掉“all:”后的变量“tttest”
注释掉“install:”下的第二行:“cd (FTTESTDIR); ( F T T E S T D I R ) ; (MAKE) –f$(MAKEFILE) install”
make & make install
sudo cp -r _install/* /opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi/
/****************************/
4、freetype-2.3.9-fm20100818 miniGui修改后的库
./configure –prefix=$PWD/_install –host=arm-hisiv200-linux
make;make install
出现 rmdir: ‘/usr/local/modules/freetype/include/freetype2/freetype/internal’: 没有那个文件或目录
make: [install] 错误 1 (忽略)
解决办法:
mkdir usr/local/modules/freetype/include/freetype2/freetype/internal
make install
/**********************************/
交叉移植完zlib,png,jpeg,freetype后将上述生成的库文件拷贝至/opt/hisi-linux/x86-arm/arm-hisiv200-linux/arm-hisiv200-linux-gnueabi相应目录下,此为HI3531的编译环境,
5、libminigui-gpl-3.0.12
./configure –disable-screensaver –disable-splash –disable-jpgsupport –with-osname=linux –with-targetname=fbcon –enable-autoial –build=i686-linux –target=arm-unknown-linux –host=arm-hisiv200-linux –prefix=$PWD/_install CC=arm-hisiv200-linux-gcc CPP=arm-hisiv200-linux-cpp CXX=arm-hisiv200-linux-g++ LD=arm-hisiv200-linux-ld AR=arm-hisiv200-linux-ar RANLIB=arm-hisiv200-linux-ranlib STRIP=arm-hisiv200-linux-strip
./configure –prefix=$PWD/_install –disable-screensaver –disable-splash –disable-jpgsupport –with-osname=linux –with-targetname=fbcon –enable-autoial –enable-ttfcache –with-ttfsupport=ft2 –host=arm-hisiv400-linux
make;make install
/******************************************************************************************************/
Installation directories:
–prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
–exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, make install' will install all the files in
/usr/local/bin’,
/usr/local/lib' etc. You can specify
/usr/local’ using
an installation prefix other than--prefix',
–prefix=$HOME’.
for instance
For better control, use the options below.
Fine tuning of the installation directories:
–bindir=DIR user executables [EPREFIX/bin]
–sbindir=DIR system admin executables [EPREFIX/sbin]
–libexecdir=DIR program executables [EPREFIX/libexec]
–sysconfdir=DIR read-only single-machine data [PREFIX/etc]
–sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
–localstatedir=DIR modifiable single-machine data [PREFIX/var]
–libdir=DIR object code libraries [EPREFIX/lib]
–includedir=DIR C header files [PREFIX/include]
–oldincludedir=DIR C header files for non-gcc [/usr/include]
–datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
–datadir=DIR read-only architecture-independent data [DATAROOTDIR]
–infodir=DIR info documentation [DATAROOTDIR/info]
–localedir=DIR locale-dependent data [DATAROOTDIR/locale]
–mandir=DIR man documentation [DATAROOTDIR/man]
–docdir=DIR documentation root [DATAROOTDIR/doc/libminigui]
–htmldir=DIR html documentation [DOCDIR]
–dvidir=DIR dvi documentation [DOCDIR]
–pdfdir=DIR pdf documentation [DOCDIR]
–psdir=DIR ps documentation [DOCDIR]
Program names:
–program-prefix=PREFIX prepend PREFIX to installed program names
–program-suffix=SUFFIX append SUFFIX to installed program names
–program-transform-name=PROGRAM run sed PROGRAM on installed program names
System types:
–build=BUILD configure for building on BUILD [guessed]
–host=HOST cross-compile to build programs to run on HOST [BUILD]
–target=TARGET configure for building compilers for TARGET [HOST]
Optional Features:
–disable-option-checking ignore unrecognized –enable/–with options
–disable-FEATURE do not include FEATURE (same as –enable-FEATURE=no)
–enable-FEATURE[=ARG] include FEATURE [ARG=yes]
–enable-shared=PKGS build shared libraries default=yes
–enable-static=PKGS build static libraries default=yes
–enable-fast-install=PKGS optimize for fast installation default=yes
–disable-dependency-tracking speeds up one-time build
–enable-dependency-tracking do not reject slow dependency extractors
–disable-libtool-lock avoid locking (might break parallel builds)
–enable-videost7167 include st7167 platform dfb video driver