移植 unzip 工具

项目上要使用ZIP格式的压缩包,但是busybox自带的unzip工具不支持,移植了标准的unzip工具。
1.下载地址是:
http://sourceforge.net/projects/infozip/files/UnZip%206.x%20%28latest%29/UnZip%206.0/unzip60.tar.gz/download
2.在察看根目录下的文件,configure Makefile 文件。有一个INSTALL文件,打开:
root@wang:/work/3716C/release/tools/unzip# head INSTALL -n 40
__________________________________________________________________________

  This is the Info-ZIP file INSTALL (for UnZip), last updated 16 Apr 2009.
__________________________________________________________________________

  Yes, this is a rather long file, but don't be intimidated:  much of its
  length is due to coverage of multiple operating systems and of optional
  customization features, large portions of which may be skipped.
__________________________________________________________________________
To compile UnZip, UnZipSFX and/or fUnZip (quick-start instructions):
========================================

(1) Unpack everything into a work directory somewhere, and make sure you're
    in the main UnZip directory (the one with this file in it).
    * (See note below concerning line termination format used in the source
       distribution)

(2) Copy the appropriate makefile into the current directory, except under
    OS/2.

(3) Run your "make" utility on the makefile (e.g., "nmake -f makefile.msc").

(4) Try out your new UnZip the way you would any new utility:  read the
    docs first.

    Ah ha ha ha!!  Oh, that kills me.  But seriously...  For VMS, see the
    Install section below or [.vms]README. for details.

    For DOS and other OSes without explicit timezone support (i.e., everybody
    but Unix, Windows 95 and NT), make sure the "TZ" environment variable is
    set to a valid and reasonable value; see your compiler docs for details.

(*) The unzip sources as well as other Info-ZIP source archives are packaged
    in Unix format. All text files use single LF (Ascii 0x0a) characters as
    line terminators.  On systems that use different conventions for plain text
    files (e.g.:DOS,Win9x,WinNT,OS/2 -> combined CR+LF; MacOS -> single CR),
    some utilities (editors, compilers, etc.) may not accept source files
3. 有编译说明,就按照步骤来。
root@wang:/work/b500_hi3716/release/tools/unzip60# cd unix/
root@wang:/work/b500_hi3716/release/tools/unzip60/unix# ls
configure  Contents  Makefile  Packaging  unix.c  unxcfg.h  zipgrep

root@wang:/work/b500_hi3716/release/tools/unzip60# cp unix/Makefile  . ./
修改Makefile ,使用工具链:
# UnZip flags
CC = cc# try using "gcc" target rather than changing this (CC and LD
LD = $(CC)# must match, else "unresolved symbol:  ___main" is possible)
AS = as
LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
AF = $(LOC)
CFLAGS = -O


# UnZip flags
CC = arm-hisiv200-linux-cc# try using "gcc" target rather than changing this (CC and LD
LD = $(CC)# must match, else "unresolved symbol:  ___main" is possible)
AS = arm-hisiv200-linux-as
LOC = $(D_USE_BZ2) $(LOCAL_UNZIP)
AF = $(LOC)
CFLAGS = -O


4。编译
root@wang:/work/b500_hi3716/release/tools/unzip60# make

  If you're not sure about the characteristics of your system, try typing
  "make generic".  This is new and uses the configure script, though it is
  still being worked on.

  If that does not do it, try the original generic which is "make generic1".

  If the compiler barfs and says something unpleasant about "timezone redefined",
  try typing "make clean" followed by "make generic2".  If, on the other
  hand, it complains about an undefined symbol _ftime, try typing "make clean"
  followed by "make generic3".

  One of these actions should produce a working copy of unzip on most Unix
  systems.  If you know a bit more about the machine on which you work, you
  might try "make list" for a list of the specific systems supported herein.
  (Many of them do exactly the same thing, so don't agonize too much over
  which to pick if two or more sound equally likely.)  Also check out the
  INSTALL file for notes on compiling various targets.  As a last resort,
  feel free to read the numerous comments within the Makefile itself.

  Have a mostly pretty good day.

直接make有错误,看说明:
root@wang:/work/b500_hi3716/release/tools/unzip60# make generic
OK

阅读(1182) | 评论(0) | 转发(0) |
0

上一篇:vim中如何用鼠标跨窗口粘贴复制。

下一篇:7405 平台移植华为EC122上网卡

相关热门文章
  • linux 常见服务端口
  • xmanager 2.0 for linux配置
  • 【ROOTFS搭建】busybox的httpd...
  • openwrt中luci学习笔记
  • 什么是shell
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
给主人留下些什么吧!~~
评论热议

你可能感兴趣的:(LINUX)