Autoconf类项目移植

来源:互联网 发布:编程输入一个空的菱形 编辑:程序博客网 时间:2024/05/22 11:34

Autoconf类项目移植

Andrew Huang <bluedrum@163.com>


这一类开源项目是没有Makefile,一般只带configure.由configure检测编译环境来生成Makefile.
如果x86,一般用./configure 即可生成X86 Makefile.
如果ARM,需要加入 --host=arm-linux,让configure生成针对ARM-Linux的Makefile
需要configure支持--host参数,可以用./configure --help 来检查是否支持


关于安装

Autoconf的Makfile 的安装都执行make install。
Make install.默认安装/usr/local下
头文件是安装/usr/local/include
库是安装/usr/local/lib
执行程序安装/usr/local/bin
文档安装在/usr/local/man
ARM-Linux的项目要指向一个自己目录,防止冲掉X86同名文件。
用--prefix 这个参数来指定的。


ARM-Linux移植

./configure --host=arm-linux --prefix=$PWD/../../ouput/arm-linux


多个项目的组织

建立一个基准项目 rootfs/linux
所有第三方的源码放解压在lib
调用库的程序放在app
最终输出目录是 output/arm-linux


Libraries have been installed in:
   /home/hxy/ut6410/rootfs/test/linux/lib/SDL_ttf-2.0.9/../../output/arm-linux/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.