移植 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

<script>window._bd_share_config={"common":{"bdsnskey":{},"bdtext":"","bdmini":"2","bdminilist":false,"bdpic":"","bdstyle":"0","bdsize":"16"},"share":{}};with(document)0[(getelementsbytagname('head')[0]||body).appendchild(createelement('script')).src='http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion='+~(-new date()/36e5)];</script>
阅读(1182) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值