--- rzip-2.0/Makefile.in +++ rzip-2.0/Makefile.in @@ -3,8 +3,8 @@ prefix=@prefix@ exec_prefix=@exec_prefix@ -INSTALL_BIN=$(exec_prefix)/bin -INSTALL_MAN=$(prefix)/man +INSTALL_BIN=$(DESTDIR)/@bindir@ +INSTALL_MAN=$(DESTDIR)/@mandir@ LIBS=@LIBS@ CC=@CC@ @@ -20,7 +20,7 @@ .SUFFIXES: .SUFFIXES: .c .o -OBJS= rzip.o runzip.o main.o stream.o util.o crc32.o +OBJS= rzip.o runzip.o strutils.o main.o stream.o util.o crc32.o # note that the -I. is needed to handle config.h when using VPATH .c.o: @@ -35,6 +35,7 @@ ${INSTALLCMD} -m 755 rzip ${INSTALL_BIN} -mkdir -p ${INSTALL_MAN}/man1 ${INSTALLCMD} -m 644 $(srcdir)/rzip.1 ${INSTALL_MAN}/man1/ + ln -s rzip $(INSTALL_BIN)/runzip rzip: $(OBJS) $(CC) $(CFLAGS) -o rzip $(OBJS) $(LIBS) --- rzip-2.0/configure.in +++ rzip-2.0/configure.in @@ -2,6 +2,12 @@ AC_INIT(main.c) AC_CONFIG_HEADER(config.h) +# test prior to AC_PROG_CC, since it sets cflags on it's own. +if test x"CFLAGS" = x +then + DEFAULT_CFLAGS="-g -Wall -O3" +fi + dnl Checks for programs. AC_PROG_CC AC_PROG_INSTALL @@ -9,10 +15,10 @@ AC_SYS_LARGEFILE # Thanks to Martin Pool -if test x"$GCC" = xyes +if test x"$GCC" = xyes && test x"$DEFAULT_CFLAGS" != x then CFLAGS="-g -Wall -O3" - AC_MSG_NOTICE([Setting gcc options: $CFLAGS]) + AC_MSG_RESULT([Setting default cflags: $CFLAGS]) fi AC_CHECK_HEADERS(fcntl.h sys/time.h sys/unistd.h unistd.h) @@ -26,31 +32,15 @@ AC_CHECK_SIZEOF(long) AC_CHECK_SIZEOF(short) -AC_CACHE_CHECK([for large file support],rzip_cv_HAVE_LARGE_FILES,[ -AC_TRY_RUN([ -#include -#include -main() { return (sizeof(off_t) == 4); }], -rzip_cv_HAVE_LARGE_FILES=yes, -rzip_cv_HAVE_LARGE_FILES=no, -rzip_cv_HAVE_LARGE_FILES=cross)]) -if test x"$rzip_cv_HAVE_LARGE_FILES" = x"yes"; then - AC_DEFINE(HAVE_LARGE_FILES, 1, [ ]) -fi - - +AC_SYS_LARGEFILE AC_C_INLINE AC_CHECK_LIB(bz2, BZ2_bzBuffToBuffCompress, , AC_MSG_ERROR([Could not find bz2 library - please install libbz2-devel])) -echo $ac_n "checking for errno in errno.h... $ac_c" -AC_TRY_COMPILE([#include ],[int i = errno], -echo yes; AC_DEFINE(HAVE_ERRNO_DECL), -echo no) - AC_CHECK_FUNCS(mmap strerror) AC_CHECK_FUNCS(getopt_long) +AC_CHECK_FUNCS(strndup) AC_OUTPUT(Makefile) --- rzip-2.0/main.c +++ rzip-2.0/main.c @@ -18,6 +18,7 @@ /* rzip compression - main program */ #include "rzip.h" +#include "strutils.h" static void usage(void) { @@ -58,7 +59,7 @@ fatal("bad magic file descriptor!?\n"); } -#if HAVE_LARGE_FILES +#if _LARGE_FILES v = htonl(st.st_size & 0xFFFFFFFF); memcpy(&magic[6], &v, 4); v = htonl(st.st_size >> 32); --- rzip-2.0/rzip.h +++ rzip-2.0/rzip.h @@ -94,7 +94,7 @@ #define strerror(i) sys_errlist[i] #endif -#ifndef HAVE_ERRNO_DECL +#if !defined(errno) extern int errno; #endif --- rzip-2.0/strutils.c +++ rzip-2.0/strutils.c @@ -0,0 +1,29 @@ +/* + Copyright (C) 2005 Gentoo Foundation + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +/* string utilities that may be missing on various platforms */ + +#include "strutils.h" + +#ifndef HAVE_STRNDUP +char* strndup(const char* s, size_t n) { + char* ret = malloc(n + 1); + if (ret == NULL) return(ret); + ret[n] = '\0'; + return(memcpy(ret, s, n)); +} +#endif --- rzip-2.0/strutils.h +++ rzip-2.0/strutils.h @@ -0,0 +1,31 @@ +/* + Copyright (C) 2005 Gentoo Foundation + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +/* string utilities that may be missing on various platforms */ + +#ifndef _HEADER_STRUTIL +#define _HEADER_STRUTIL 1 + +#include +#include +#include "config.h" + +# ifndef HAVE_STRNDUP +char* strndup(const char* s, size_t n); +# endif + +#endif