项目上要使用ZIP格式的压缩包,但是busybox自带的unzip工具不支持,移植了标准的unzip工具。
1.下载地址是:
%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