首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
Linux资讯 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>postgre>正文

ucLinux下sqlite数据库移植全攻略

http://www.oklinux.cn  2006-11-29  来源: Yesky    会员收藏  游客收藏  【 】 

  本文讨论的是比较流行的嵌入式开发组合ARM+uclinux,即目标开发板为三星S3C4510,完成sqlite在其uclinux上的移植。

  本文假设你已经具备正确编译uclinux的kernel的能力,即有能力完成make menuconfig;make dep;make lib_only;make user_only;make romfs;make image;make。而且还能将自己写的类似helloworld程序加到“用户自定义应用程序”中,即你能完成“uClinux-dist/Documentation/Adding-User-Apps-HOWTO”中所描述的“用户程序的订制”。

  大多数需要移植sqlite到uclinux的开发者,应该已经具备上面的能力,而只是不清楚如何修改sqlite来完成其在uclinux下的编译。如果你还不能完成上面的要求,那么请先做一定的准备工作,因为本范例所涉及到的内容主要是跟sqlite在uclinux下的移植有关,其他的在这个过程中出现的问题,开发者需要自行处理。

  本范例使用的uclinux是uClinux-dist-20030522.tar.gz,你可以从www.uclinux.org得到适合你的软件包。

  交叉编译工具是arm-elf-tools-20030314.sh,你也可以在http://www.uclinux.org找到它。

  本范例使用的sqlite是sqlite-2.8.15.tar.gz,本文的方法也适合于2.8.x系列的sqlite;可能有部分内容不适用于3.0.x系列的sqlite,因为3.0.x中源代码有较大的变化。

  1、 下载sqlite:你可以到www.sqlite.org/download.html,下载sqlite-2.8.15.tar.gz软件包;

  2、 将下载的软件包解压缩到uClinux-dist/user目录下;

  命令:

  $tar zxvf sqlite-2.8.15.tar.gz -C uClinux-dist/user/

  现在在uclinux的user目录下,你应该可以看到sqlite目录了。解压缩到这个user目录主要是要将sqlite编译成一个普通的用户应用程序。

  3、 用户应用程序的有关设置:

  按uClinux-dist/Documentation/Adding-User-Apps-HOWTO文档中说提到的,来添加sqlite作为一个用户应用程序,将其做成一个shell,这样就类似于uclinux自己的ps命令。

  编辑文件

  uClinux-dist/user/Makefile

  uClinux-dist/config/Configure.help

  uClinux-dist/config/config.in

  我是在这些文件里查找“cpu”有关的项,然后在它的下面,加上自己的sqlite项,这个过程并不复杂。

  通过上面的修改后,你现在就可以运行uclinux的make menuconfig,选中“CustomizeVendor/User Settings”,再选中“Miscellaneous Applications”,可以看到它现在出现了一个新的“sqlite (NEW)”,这个就是我们刚添加进去的sqlite项。

  在稍后的make romfs中,uclinux会将你的sqlite编译进来,做成romfs的一部分,因为你在uClinux-dist/user/Makefile中已经加上要编译sqlite项了。这样在移植后的uclinux的/bin中将会有sqlite命令可以让你来执行。

  好,现在我们就要对sqlite进行修改,来做移植工作。

  在下面的描述中,我们将对以下几个文件进行一定的添加、修改,从而来完成sqlite在uclinux下的编译:

  sqlite/main.mk 修改

  sqlite/Makefile 添加

  sqlite/src/os.c 修改

  sqlite/src/shell.c 修改

  对这几个文件进行修改时,请自己做好这些文件的备份,比如你可以将它们拷贝一份,改名成文件名后面带.bak。这个很重要,可以避免你在修改的过程出现问题而无法还原。

  一、修改sqlite/main.mk

  1、TCCX

  将

  TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src

  修改为

  TCCX = $(TCC) $(OPTS) $(THREADSAFE) $(USLEEP) -I. -I$(TOP)/src $(CFLAGS)

  即加上$(CFLAGS)标记。

  2、 LIBOBJ

  找到 # Object files for the SQLite library.

  将其中的tclsqlite.o去掉。即去掉tcl有关的东西。

  如果没有tclsqlite.o,那么不用处理它。

  3、 sqlite$(EXE)

  找到类似sqlite$(EXE)的一句,将:

  sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h

  $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \

  libsqlite.a $(LIBREADLINE) $(THREADLIB)

  替换为:

  shell.o: $(TOP)/src/shell.c sqlite.h

  $(TCCX) $(READLINE_FLAGS) -c $(TOP)/src/shell.c

  sqlite$(EXE): shell.o libsqlite.a

  $(TCC) $(LDFLAGS) -o $@ shell.o \

  libsqlite.a $(LIBREADLINE) $(THREADLIB) $(LDLIBS)

  即在sqlite$(EXE)上一行加上shell.o,及在其后加上$(LDLIBS)标记。这个是对/src/shell.c的编译方法的修改。

 

 


上一篇:PostgreSQL介绍及安装指南   下一篇:将你的网站从MySQL改为PostgreSQL


收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·将你的网站从MySQL改为PostgreSQL
·PostgreSQL介绍及安装指南
·PostgreSQL 最新8.2版发布
·Linux下免费数据库PostgreSQL开发入门
·OpenBSD4.0 PostgreSQL8.1.5数据库的安装
·PostgreSql服务器的配置
·源码安装Postgresql8.1.3+PostGIS1.1.2
·PostgreSQL 的热备和恢复
·Linux实时内存数据库eXtremeDB性能
·在Red Hat 7.0上安装和配置PostgreSQL
·Linux下mySQL数据库开发技术
·Linux下缓存服务器的应用
·在Linux上安装postgresql的全过程
·PostgreSQL 7.2 教程 (2)
·PostgreSQL 7.2 教程 (1)
·postgresql访问认证设置
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·在Ubuntu和Debian系统下安装PostgreSQL
·如何从网络上登录其它计算机的PostgreS
·Ubuntu系统下安装和配置PostgreSQL 8.1
·在RedHat7.0上安装和配置PostgreSQL
·PostgreSQL7.2教程(2)
·PostgreSQL7.2教程(1)
·Python入门第十章 进一步学习
·Python入门第九章 类
·Python入门第八章 错误与例外
·Python入门第七章 输入输出
·Python入门第六章 模块
·Python入门第五章 Python数据结构
  阅读排行
·Python入门第七章 输入输出
·PostgreSQL 最新8.2版发布
·PostgreSQL介绍及安装指南
·PostgreSQL 的热备和恢复
·PostgreSQL 7.2 教程 (1)
·在Linux上安装postgresql的全过程
·PostgreSQL入门,V0.9.3+++
·源码安装Postgresql8.1.3+PostGIS1.1.2
·Sqlite中文排序研究
·Linux实时内存数据库eXtremeDB性能
·将你的网站从MySQL改为PostgreSQL
·Linux下mySQL数据库开发技术
·postgresql访问认证设置
·PostgreSQL7.2教程(1)
·四个命令整合apache2.0+php4+postgreSQ
网摘收藏: