From 35f57d15ffc68ce74fbb4408c939173f080ee4cc Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Tue, 4 Sep 2007 19:04:48 +0000 Subject: [PATCH] Support for compiling unzip as a build tool. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22170 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/tools/Jamfile | 1 + src/tools/unzip/Jamfile | 36 +++++++++++++++++++++++++++++++++++ src/tools/unzip/unix/unxcfg.h | 31 ++++++++++++++++++++++++++++++ 3 files changed, 68 insertions(+) create mode 100644 src/tools/unzip/Jamfile create mode 100644 src/tools/unzip/unix/unxcfg.h diff --git a/src/tools/Jamfile b/src/tools/Jamfile index d61420d287..cc167002cd 100644 --- a/src/tools/Jamfile +++ b/src/tools/Jamfile @@ -86,6 +86,7 @@ SubInclude HAIKU_TOP src tools remote_disk_server ; SubInclude HAIKU_TOP src tools resattr ; SubInclude HAIKU_TOP src tools rman ; SubInclude HAIKU_TOP src tools translation ; +SubInclude HAIKU_TOP src tools unzip ; SubInclude HAIKU_TOP src tools vmdkheader ; SubInclude HAIKU_TOP src tools unflatten ; diff --git a/src/tools/unzip/Jamfile b/src/tools/unzip/Jamfile new file mode 100644 index 0000000000..66ebda38a0 --- /dev/null +++ b/src/tools/unzip/Jamfile @@ -0,0 +1,36 @@ +SubDir HAIKU_TOP src tools unzip ; + +SEARCH_SOURCE += [ FDirName $(HAIKU_TOP) src bin unzip ] ; + +if ! $(HOST_PLATFORM_BEOS_COMPATIBLE) { + DEFINES += HAVE_TERMIOS_H=1 HAS_JUNK_EXTRA_FIELD_OPTION=1 ; +} + +USES_BE_API on libunzip.a unzip = true ; + +BuildPlatformStaticLibrary libunzip.a : + crc32.c + ttyio.c + crctab.c + crypt.c + envargs.c + explode.c + extract.c + fileio.c + globals.c + inflate.c + list.c + match.c + process.c + zipinfo.c + beos.c + beosmain.cpp +; + +BuildPlatformMain unzip : + unzip.c + unreduce.c + unshrink.c + : libunzip.a $(HOST_LIBBE) +; + diff --git a/src/tools/unzip/unix/unxcfg.h b/src/tools/unzip/unix/unxcfg.h new file mode 100644 index 0000000000..6c231d41c3 --- /dev/null +++ b/src/tools/unzip/unix/unxcfg.h @@ -0,0 +1,31 @@ +// That's exactly the BeOS configuration. +#ifndef __BEOS__ +# include /* [cjh]: This is pretty much a generic */ +# include /* POSIX 1003.1 system; see beos/ for */ +# include /* extra code to deal with our extra file */ +# include /* attributes. */ +# include +# include +# define DIRENT +# include +# ifndef DATE_FORMAT +# define DATE_FORMAT DF_MDY /* GRR: customize with locale.h somehow? */ +# endif +# define lenEOL 1 +# define PutNativeEOL *q++ = native(LF); +# define SCREENSIZE(ttrows, ttcols) screensize(ttrows, ttcols) +# define SCREENWIDTH 80 +# define USE_EF_UT_TIME +# define SET_DIR_ATTRIB +# if (!defined(NOTIMESTAMP) && !defined(TIMESTAMP)) +# define TIMESTAMP +# endif +# define RESTORE_UIDGID +# define NO_STRNICMP /* not in the x86 headers at least */ +# define INT_SPRINTF +# define SYMLINKS +# define MAIN main_stub /* now that we're using a wrapper... */ +# ifndef EOK +# define EOK B_OK +# endif +#endif // __BEOS__